@trycourier/react-designer 0.0.0-canary-20250424162557 → 0.0.2
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/README.md +106 -11
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.css.map +2 -2
- package/dist/cjs/index.js +30 -31
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/styles.css +14 -11
- package/dist/components/Providers/Providers.types.d.ts +0 -1
- package/dist/components/Providers/store.d.ts +0 -3
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.css.map +2 -2
- package/dist/esm/index.js +30 -31
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/styles.css +14 -11
- package/dist/lib/api/uploadImage.d.ts +0 -1
- package/dist/styles.css +14 -11
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -43,13 +43,13 @@ if (typeof require !== "undefined") {
|
|
|
43
43
|
console.warn('Unable to setup tippy imports polyfill');
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
var
|
|
47
|
-
`);for(let n=0;n<r.length;n++)
|
|
48
|
-
`:
|
|
49
|
-
`;let
|
|
50
|
-
`:
|
|
51
|
-
`;let
|
|
52
|
-
`;
|
|
46
|
+
var td=Object.defineProperty;var a=(e,t)=>td(e,"name",{value:t,configurable:!0});import{useCallback as rd,useEffect as od,useRef as xn,useState as nd}from"react";function Cn({onSave:e,debounceMs:t=200,enabled:r=!0,onError:n,initialContent:o}){let[i,s]=nd(!1),u=xn(null),c=xn(),l=xn(0),d=xn();od(()=>{o&&(c.current=JSON.stringify(o))},[o]);let f=rd(async m=>{if(!r)return;u.current=m,d.current&&(clearTimeout(d.current),d.current=void 0);let h=a(async()=>{let C=u.current;if(u.current=null,!!C){try{let A=JSON.stringify(C);if(A===c.current)return;s(!0),c.current=A,l.current=Date.now(),await e(C)}catch(A){n==null||n(A),s(!1);return}s(!1),u.current&&f(u.current)}},"processPendingContent");if(i)return;let b=Date.now()-l.current,y=Math.max(0,t-b);d.current=setTimeout(()=>{d.current=void 0,h()},y)},[t,r,i,n,e]);return{handleAutoSave:f,isSaving:i}}a(Cn,"useAutoSave");import{clsx as ld}from"clsx";import{twMerge as ud}from"tailwind-merge";import{v4 as ao}from"uuid";function ws(e){let t=[],r=e.replace(/\n$/,"").split(`
|
|
47
|
+
`);for(let n=0;n<r.length;n++)id(r[n],t),n<r.length-1&&t.push({type:"hardBreak"});return t}a(ws,"parseMDContent");function id(e,t){ad(e,t)}a(id,"parseTextLine");function Ts(e,t){t.length!==0&&e.forEach(r=>{r.marks=r.marks||[],t.forEach(n=>{var o,i;(o=r.marks)!=null&&o.some(s=>s.type===n.type)||(i=r.marks)==null||i.push({type:n.type,...n.href&&{attrs:{href:n.href}}})}),r.marks.length===0&&delete r.marks})}a(Ts,"applyMarks");function ad(e,t){if(!e)return;let r=[],n=/\[([^\]]+)\]\(([^)]+)\)/g,o,i=0;for(;(o=n.exec(e))!==null;)o.index>i&&r.push({type:"text",text:e.substring(i,o.index),start:i,end:o.index}),r.push({type:"link",text:o[1],start:o.index,end:o.index+o[1].length,attrs:{href:o[2]}}),i=o.index+o[0].length;i<e.length&&r.push({type:"text",text:e.substring(i),start:i,end:e.length});let s=[];for(let l of r){if(l.type==="link"){s.push(l);continue}let d=0,f=/(\*\*|\*|__|_|~|\+|\{\{[^}]+\}\}|\{\}[^{}]+\{\})/g,m=l.text,h;for(;(h=f.exec(m))!==null;){let g=h.index,b=h[0],y=g+b.length;if(g>d&&s.push({type:"text",text:m.substring(d,g),start:l.start+d,end:l.start+g}),b.startsWith("{{")||b.startsWith("{}")){let C=b.startsWith("{{")?b.slice(2,-2):b.substring(2,b.length-2);s.push({type:"variable",text:b,start:l.start+g,end:l.start+y,attrs:{id:C}})}else s.push({type:"marker",text:b,start:l.start+g,end:l.start+y});d=y}d<m.length&&s.push({type:"text",text:m.substring(d),start:l.start+d,end:l.start+m.length})}s.sort((l,d)=>l.start-d.start);let u=[],c=[];for(let l of s)if(l.type==="text"){let d=[];ks(l.text,[],d),Ts(d,u),c.push(...d)}else if(l.type==="variable"){let d={type:"variable",attrs:l.attrs};Ts([d],u),c.push(d)}else if(l.type==="link"){let d=[];ks(l.text,[],d),d.forEach(f=>{var m;f.marks=f.marks||[],f.marks.push({type:"link",attrs:{href:(m=l.attrs)==null?void 0:m.href}})}),c.push(...d)}else if(l.type==="marker"){let d=l.text;if(["**","*","__","_","~","+"].includes(d)){let f=d==="**"||d==="__"?"bold":d==="*"||d==="_"?"italic":d==="~"?"strike":"underline",m=u.findLastIndex(h=>h.text===d);m!==-1?u.splice(m,1):u.push({type:f,text:d,start:l.start})}}t.length=0,t.push(...c)}a(ad,"processMarkdownFormatting");function ks(e,t,r){if(!e)return;let n=/(\{\{[^}]+\}\}\|\{\}[^{}]+\{\})/g,o,i=0;for(;(o=n.exec(e))!==null;){if(o.index>i){let c=e.substring(i,o.index);r.push({type:"text",text:c,...t.length>0&&{marks:t}})}let s=o[0].startsWith("{{")?o[0].slice(2,-2):o[0].substring(2,o[0].length-2),u=t.some(c=>c.type==="link");r.push({type:"variable",attrs:{id:s,...u&&{inUrlContext:!0}},...t.length>0&&{marks:t}}),i=o.index+o[0].length}if(i<e.length){let s=e.substring(i);r.push({type:"text",text:s,...t.length>0&&{marks:t}})}}a(ks,"parseTextWithVariables");function so(e){var n,o;let t=a(i=>{var s,u,c;if(i.type==="meta")return[];switch(i.type){case"text":if("content"in i){let l=i.text_style==="h1"?1:i.text_style==="h2"?2:null,d={};if(i.padding){let[h,g]=i.padding.replace(/px/g,"").split(" "),b=parseInt(h),y=parseInt(g);!isNaN(b)&&!isNaN(y)&&(d={paddingVertical:b,paddingHorizontal:y})}let f={};(s=i.border)!=null&&s.enabled&&(f={...i.border.color&&{borderColor:i.border.color},...i.border.size&&{borderWidth:parseInt(i.border.size)},...i.border.radius&&{borderRadius:i.border.radius}});let m=i.content.trim()?ws(i.content):[];return[{type:l?"heading":"paragraph",attrs:{textAlign:i.align||"left",level:l,id:`node-${ao()}`,...d,...i.color&&{textColor:i.color},...i.background_color&&{backgroundColor:i.background_color},...f},content:m}]}return[];case"action":return[{type:"button",attrs:{label:i.content,link:i.href,alignment:i.align==="full"?"center":i.align||"center",size:i.align==="full"?"full":"default",style:i.style,id:`node-${ao()}`,...i.background_color&&{backgroundColor:i.background_color},...i.color&&{textColor:i.color},...i.padding&&{padding:parseInt(i.padding)},...((u=i.border)==null?void 0:u.enabled)&&{...i.border.color&&{borderColor:i.border.color},...i.border.size&&{borderWidth:parseInt(i.border.size)},...i.border.radius&&{borderRadius:i.border.radius}}}}];case"quote":return[{type:"blockquote",attrs:{textAlign:i.align||"left",id:`node-${ao()}`,...i.border_color&&{borderColor:i.border_color}},content:[{type:"paragraph",attrs:{textAlign:i.align||"left",id:`node-${ao()}`},content:ws(i.content)}]}];case"image":return[{type:"imageBlock",attrs:{sourcePath:i.src,id:`node-${ao()}`,...i.href&&{link:i.href},...i.align&&{alignment:i.align},...i.alt_text&&{alt:i.alt_text},...i.width&&{width:parseInt(i.width.replace(/%|px/,""))},...((c=i.border)==null?void 0:c.enabled)&&{...i.border.color&&{borderColor:i.border.color},...i.border.size&&{borderWidth:parseInt(i.border.size)},...i.border.radius&&{borderRadius:parseInt(i.border.radius)}}}}];case"divider":return[{type:"divider",attrs:{id:`node-${ao()}`,...i.dividerColor&&{color:i.dividerColor},...i.borderWidth&&{size:parseInt(i.borderWidth)},...i.padding&&{padding:parseInt(i.padding)},variant:i.dividerColor==="transparent"?"spacer":"divider"}}];default:return[]}},"convertNode"),r=e!=null&&e.elements?e.elements.find(i=>i.type==="channel"&&i.channel==="email"):void 0;return!r||!("elements"in r)||!Array.isArray(r.elements)?{type:"doc",content:(n=e==null?void 0:e.elements)==null?void 0:n.flatMap(t)}:{type:"doc",content:(o=r==null?void 0:r.elements)==null?void 0:o.flatMap(t)}}a(so,"convertElementalToTiptap");var sd=a(e=>{switch(e.type){case"bold":return"**";case"italic":return"*";case"strike":return"~";case"underline":return"+";default:return""}},"markToMD"),Si=a(e=>{var n,o,i,s;if(e.type==="variable")return`{{${(n=e.attrs)==null?void 0:n.id}}}`;let t=e.text||"";if((o=e.marks)!=null&&o.length){let u=e.marks.map(sd).filter(Boolean);t=u.join("")+t+u.reverse().join("")}let r=(i=e.marks)==null?void 0:i.find(u=>u.type==="link");return r&&(t=`[${t}](${(s=r.attrs)==null?void 0:s.href})`),t},"convertTextToMarkdown");function co(e,t){let r=a(o=>{var i,s,u,c,l,d,f,m,h,g,b,y,C,A,N,p,v,x,S,R,T,P,B,k,M,D,$,W,L,Y,ee,le,X,ne,be,fe,K,ve,Je,Be,Le,Xe,Ue,Pt,gt,Mt,Ye,ht,bt,Nt,vt,He,I,te,ie,me;switch(o.type){case"paragraph":{let H="",de=o.content||[];for(let Q=0;Q<de.length;Q++)de[Q].type==="hardBreak"?H+=`
|
|
48
|
+
`:H+=Si(de[Q]);H+=`
|
|
49
|
+
`;let U={type:"text",align:((i=o.attrs)==null?void 0:i.textAlign)||"left",content:H};return((s=o.attrs)==null?void 0:s.paddingVertical)!==void 0&&((u=o.attrs)==null?void 0:u.paddingHorizontal)!==void 0&&(U.padding=`${o.attrs.paddingVertical}px ${o.attrs.paddingHorizontal}px`),(c=o.attrs)!=null&&c.textColor&&(U.color=o.attrs.textColor),(l=o.attrs)!=null&&l.backgroundColor&&(U.background_color=o.attrs.backgroundColor),((d=o.attrs)!=null&&d.borderWidth||(f=o.attrs)!=null&&f.borderColor||(m=o.attrs)!=null&&m.borderRadius)&&(U.border={enabled:!0},(h=o.attrs)!=null&&h.borderColor&&(U.border.color=o.attrs.borderColor),(g=o.attrs)!=null&&g.borderWidth&&(U.border.size=`${o.attrs.borderWidth}px`),(b=o.attrs)!=null&&b.borderRadius&&(U.border.radius=o.attrs.borderRadius)),[U]}case"heading":{let H="",de=o.content||[];for(let Q=0;Q<de.length;Q++)de[Q].type==="hardBreak"?H+=`
|
|
50
|
+
`:H+=Si(de[Q]);H+=`
|
|
51
|
+
`;let U={type:"text",align:((y=o.attrs)==null?void 0:y.textAlign)||"left",content:H,text_style:((C=o.attrs)==null?void 0:C.level)===1?"h1":"h2"};return((A=o.attrs)==null?void 0:A.paddingVertical)!==void 0&&((N=o.attrs)==null?void 0:N.paddingHorizontal)!==void 0&&(U.padding=`${o.attrs.paddingVertical}px ${o.attrs.paddingHorizontal}px`),(p=o.attrs)!=null&&p.textColor&&(U.color=o.attrs.textColor),(v=o.attrs)!=null&&v.backgroundColor&&(U.background_color=o.attrs.backgroundColor),((x=o.attrs)!=null&&x.borderWidth||(S=o.attrs)!=null&&S.borderColor||(R=o.attrs)!=null&&R.borderRadius)&&(U.border={enabled:!0},(T=o.attrs)!=null&&T.borderColor&&(U.border.color=o.attrs.borderColor),(P=o.attrs)!=null&&P.borderWidth&&(U.border.size=`${o.attrs.borderWidth}px`),(B=o.attrs)!=null&&B.borderRadius&&(U.border.radius=o.attrs.borderRadius)),[U]}case"blockquote":{let H="";if(o.content)for(let U of o.content)U.content&&(H+=U.content.map(Si).join("")),H+=`
|
|
52
|
+
`;H=H.trim();let de={type:"quote",content:H};return((k=o.attrs)==null?void 0:k.textAlign)!=="left"&&(de.align=(M=o.attrs)==null?void 0:M.textAlign),(D=o.attrs)!=null&&D.borderColor&&(de.border_color=o.attrs.borderColor),[de]}case"imageBlock":{let H={type:"image",src:(($=o.attrs)==null?void 0:$.sourcePath)||""};return(W=o.attrs)!=null&&W.link&&(H.href=o.attrs.link),(L=o.attrs)!=null&&L.alignment&&(H.align=o.attrs.alignment),(Y=o.attrs)!=null&&Y.alt&&(H.alt_text=o.attrs.alt),(ee=o.attrs)!=null&&ee.width&&(H.width=`${o.attrs.width}%`),((le=o.attrs)!=null&&le.borderWidth||(X=o.attrs)!=null&&X.borderColor||(ne=o.attrs)!=null&&ne.borderRadius)&&(H.border={enabled:!0},(be=o.attrs)!=null&&be.borderColor&&(H.border.color=o.attrs.borderColor),(fe=o.attrs)!=null&&fe.borderWidth&&(H.border.size=`${o.attrs.borderWidth}px`),(K=o.attrs)!=null&&K.borderRadius&&(H.border.radius=`${o.attrs.borderRadius}px`)),[H]}case"divider":{let H={type:"divider"};return(ve=o.attrs)!=null&&ve.color&&(H.dividerColor=o.attrs.color),(Je=o.attrs)!=null&&Je.size&&(H.borderWidth=`${o.attrs.size}px`),(Be=o.attrs)!=null&&Be.padding&&(H.padding=`${o.attrs.padding}px`),[H]}case"button":{let H={type:"action",content:(Xe=(Le=o.attrs)==null?void 0:Le.label)!=null?Xe:"",href:(Pt=(Ue=o.attrs)==null?void 0:Ue.link)!=null?Pt:"#"};return(gt=o.attrs)!=null&>.style&&(H.style=o.attrs.style),H.align=((Mt=o.attrs)==null?void 0:Mt.size)==="full"?"full":((Ye=o.attrs)==null?void 0:Ye.alignment)||"center",(ht=o.attrs)!=null&&ht.backgroundColor&&(H.background_color=o.attrs.backgroundColor),(bt=o.attrs)!=null&&bt.textColor&&(H.color=o.attrs.textColor),(Nt=o.attrs)!=null&&Nt.padding&&(H.padding=`${o.attrs.padding}px`),((vt=o.attrs)!=null&&vt.borderWidth||(He=o.attrs)!=null&&He.borderColor||(I=o.attrs)!=null&&I.borderRadius)&&(H.border={enabled:!0},(te=o.attrs)!=null&&te.borderColor&&(H.border.color=o.attrs.borderColor),(ie=o.attrs)!=null&&ie.borderWidth&&(H.border.size=`${o.attrs.borderWidth}px`),(me=o.attrs)!=null&&me.borderRadius&&(H.border.radius=o.attrs.borderRadius)),[H]}default:return o.content?o.content.flatMap(r):[]}},"convertNode"),n={type:"channel",channel:"email",elements:[]};return t!=null&&t.trim()&&n.elements.push({type:"meta",title:t}),n.elements.push(...e.content.flatMap(r)),{version:"2022-01-01",elements:[n]}}a(co,"convertTiptapToElemental");function Ps(e,t){t.length!==0&&e.forEach(r=>{r.marks=r.marks||[],t.forEach(n=>{var o,i;(o=r.marks)!=null&&o.some(s=>s.type===n.type)||(i=r.marks)==null||i.push({type:n.type,...n.href&&{attrs:{href:n.href}}})}),r.marks.length===0&&delete r.marks})}a(Ps,"applyMarks");function Ms(e,t,r){if(!e)return;let n=/{{([^}]+)}}/g,o,i=0;for(;(o=n.exec(e))!==null;){if(o.index>i){let s=e.substring(i,o.index);r.push({type:"text",text:s,...t.length>0&&{marks:t}})}r.push({type:"variable",attrs:{id:o[1]},...t.length>0&&{marks:t}}),i=o.index+o[0].length}if(i<e.length){let s=e.substring(i);r.push({type:"text",text:s,...t.length>0&&{marks:t}})}}a(Ms,"parseTextWithVariables");function Ri(e){if(!e)return[];let t=[],r=/\[([^\]]+)\]\(([^)]+)\)/g,n,o=0;for(;(n=r.exec(e))!==null;)n.index>o&&t.push({type:"text",text:e.substring(o,n.index),start:o,end:n.index}),t.push({type:"link",text:n[1],start:n.index,end:n.index+n[1].length,attrs:{href:n[2]}}),o=n.index+n[0].length;o<e.length&&t.push({type:"text",text:e.substring(o),start:o,end:e.length});let i=[];for(let c of t){if(c.type==="link"){i.push(c);continue}let l=0,d=/(\*\*|\*|__|_|~|\+|{{[^}]+}})/g,f=c.text,m;for(;(m=d.exec(f))!==null;){let h=m.index,g=m[0],b=h+g.length;if(h>l&&i.push({type:"text",text:f.substring(l,h),start:c.start+l,end:c.start+h}),g.startsWith("{{")){let y=g.slice(2,-2);i.push({type:"variable",text:g,start:c.start+h,end:c.start+b,attrs:{id:y}})}else i.push({type:"marker",text:g,start:c.start+h,end:c.start+b});l=b}l<f.length&&i.push({type:"text",text:f.substring(l),start:c.start+l,end:c.start+f.length})}i.sort((c,l)=>c.start-l.start);let s=[],u=[];for(let c of i)if(c.type==="text"){let l=[];Ms(c.text,[],l),Ps(l,s),u.push(...l)}else if(c.type==="variable"){let l={type:"variable",attrs:c.attrs};Ps([l],s),u.push(l)}else if(c.type==="link"){let l=[];Ms(c.text,[],l),l.forEach(d=>{var f;d.marks=d.marks||[],d.marks.push({type:"link",attrs:{href:(f=c.attrs)==null?void 0:f.href}})}),u.push(...l)}else if(c.type==="marker"){let l=c.text;if(["**","*","__","_","~","+"].includes(l)){let d=l==="**"||l==="__"?"bold":l==="*"||l==="_"?"italic":l==="~"?"strike":"underline",f=s.findLastIndex(m=>m.text===l);f!==-1?s.splice(f,1):s.push({type:d,text:l,start:c.start})}}return u}a(Ri,"processMarkdownFormatting");function cd(e){let t=[],r=e.split(/\n/);for(let n of r){if(!n.trim())continue;let o=n.match(/^(#{1,6})\s+(.*)$/);if(o){t.push({type:"heading",attrs:{level:o[1].length,textAlign:"left"},content:Ri(o[2])});continue}if(n.startsWith(">")){let s=n.slice(1).trim();t.push({type:"blockquote",attrs:{textAlign:"left"},content:[{type:"paragraph",attrs:{textAlign:"left"},content:Ri(s)}]});continue}if(n.match(/^-{3,}$/)){t.push({type:"divider"});continue}let i=n.match(/^!\[(.*?)\]\((.*?)(?:\s+"(.*?)")?\)$/);if(i){t.push({type:"imageBlock",attrs:{sourcePath:i[2],alt:i[1]||"",...i[3]&&{title:i[3]}}});continue}t.push({type:"paragraph",attrs:{textAlign:"left"},content:Ri(n)})}return t}a(cd,"parseBlockContent");function Bi(e){return{type:"doc",content:cd(e)}}a(Bi,"convertMarkdownToTiptap");function E(...e){return ud(ld(e))}a(E,"cn");import{useAtom as us,useAtomValue as vn,useSetAtom as Ii}from"jotai";import{memo as X5,useCallback as Y5,useEffect as lr,useMemo as Xu,useRef as ds,useState as Q5}from"react";import{toast as eh}from"sonner";import{Doc as th}from"yjs";import{atom as dd}from"jotai";var lo=dd("template");import{Provider as fd,useAtom as Wr,useAtomValue as Do}from"jotai";import{useEffect as gd,memo as hd}from"react";import{atom as Is}from"jotai";import{toast as Nr}from"sonner";import{atom as Dt,createStore as pd}from"jotai";var wn=pd(),Qe=Dt("https://api.courier.com/client/q"),et=Dt(""),Ce=Dt(""),fr=Dt(""),Ne=Dt(null),Ze=Dt(null),tt=Dt(null),Et=Dt(null),he=Dt(null),Ns=Dt(!0),Tn=Dt(null);var Es=Is(null,async(e,t,r)=>{var s;let n=e(Qe),o=e(et),i=e(Ce);if(!n){t(he,"Missing API URL"),Nr.error("Missing API URL");return}t(tt,!0),t(he,null);try{let c=await(await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${o}`,"x-courier-client-key":`Bearer ${o}`,"Content-Type":"application/json"},body:JSON.stringify({query:`
|
|
53
53
|
mutation SaveTenantBrand($input: SaveBrandSettingsInput!) {
|
|
54
54
|
tenant {
|
|
55
55
|
brand {
|
|
@@ -59,8 +59,8 @@ var cd=Object.defineProperty;var a=(e,t)=>cd(e,"name",{value:t,configurable:!0})
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
`,variables:{input:{tenantId:i,settings:r}}})})).json();return
|
|
63
|
-
`)):
|
|
62
|
+
`,variables:{input:{tenantId:i,settings:r}}})})).json();return c.data||(c.errors?Nr.error((s=c.errors)==null?void 0:s.map(l=>l.message).join(`
|
|
63
|
+
`)):Nr.error("Error saving brand settings")),c}catch(u){throw Nr.error("Error saving brand settings"),t(he,u instanceof Error?u.message:"Unknown error"),u}finally{t(tt,!1)}}),Ls=Is(null,async(e,t)=>{let r=e(Qe),n=e(et),o=e(Ce);if(!r){t(he,"Missing API URL"),Nr.error("Missing API URL");return}t(Et,!0),t(he,null);try{let i=await fetch(r,{method:"POST",headers:{Authorization:`Bearer ${n}`,"x-courier-client-key":`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({query:`
|
|
64
64
|
mutation PublishNotification($input: PublishBrandInput!) {
|
|
65
65
|
tenant {
|
|
66
66
|
brand {
|
|
@@ -70,7 +70,7 @@ var cd=Object.defineProperty;var a=(e,t)=>cd(e,"name",{value:t,configurable:!0})
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
`,variables:{input:{tenantId:o}}})}),s=await i.json();return i.status===200?
|
|
73
|
+
`,variables:{input:{tenantId:o}}})}),s=await i.json();return i.status===200?Nr.success("Brand published"):Nr.error("Error publishing brand"),s}catch(i){throw Nr.error("Error publishing brand"),t(he,i instanceof Error?i.message:"Unknown error"),i}finally{t(Et,!1)}});import{atom as md}from"jotai";import{toast as Ho}from"sonner";var kn=md(null,async(e,t,r)=>{var c,l,d;let n=e(Qe),o=e(et),i=e(Ce),s=e(fr),u=(c=r==null?void 0:r.includeBrand)!=null?c:!0;if(!n||!o||!i){t(he,"Missing configuration"),Ho.error("Missing configuration: "+JSON.stringify({apiUrl:n,token:o,tenantId:i}));return}t(Ze,!0),t(he,null);try{let f=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${o}`,"x-courier-client-key":`Bearer ${o}`},body:JSON.stringify({query:`
|
|
74
74
|
query GetTenant($tenantId: String!, $input: GetNotificationInput!, $brandInput: GetTenantBrandInput!, $includeBrand: Boolean!) {
|
|
75
75
|
tenant(tenantId: $tenantId) {
|
|
76
76
|
tenantId
|
|
@@ -127,8 +127,8 @@ var cd=Object.defineProperty;var a=(e,t)=>cd(e,"name",{value:t,configurable:!0})
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
`,variables:{tenantId:i,input:{notificationId:s,version:"latest"},brandInput:{version:"latest"},includeBrand:u}})}),m=await f.json(),h=f.status;(
|
|
131
|
-
`)):h===401?
|
|
130
|
+
`,variables:{tenantId:i,input:{notificationId:s,version:"latest"},brandInput:{version:"latest"},includeBrand:u}})}),m=await f.json(),h=f.status;(l=m.data)!=null&&l.tenant?t(Ne,m):m.errors?Ho.error((d=m.errors)==null?void 0:d.map(g=>g.message).join(`
|
|
131
|
+
`)):h===401?Ho.error("Unauthorized"):Ho.error("Error fetching template")}catch(f){Ho.error("Error fetching template"),t(he,f instanceof Error?f.message:"Unknown error")}finally{t(Ze,!1)}});import{atom as Ss}from"jotai";import{toast as Er}from"sonner";import{atom as As}from"jotai";var Ir=As(null),Pn=As(null);var Rs=Ss(null,async(e,t)=>{var l;let r=e(Qe),n=e(et),o=e(Ce),i=e(fr),s=e(Tn),u=e(Ir);if(!r){t(he,"Missing API URL"),Er.error("Missing API URL");return}t(tt,!0),t(he,null);let c={content:co(s==null?void 0:s.getJSON(),u!=null?u:void 0),routing:{method:"single",channels:["email"]}};try{let f=await(await fetch(r,{method:"POST",headers:{Authorization:`Bearer ${n}`,"x-courier-client-key":`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({query:`
|
|
132
132
|
mutation SaveNotification($input: SaveNotificationInput!) {
|
|
133
133
|
tenant {
|
|
134
134
|
notification {
|
|
@@ -138,8 +138,8 @@ var cd=Object.defineProperty;var a=(e,t)=>cd(e,"name",{value:t,configurable:!0})
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
`,variables:{input:{tenantId:o,notificationId:i,name:i,data:
|
|
142
|
-
`)):
|
|
141
|
+
`,variables:{input:{tenantId:o,notificationId:i,name:i,data:c}}})})).json();return f.data||(f.errors?Er.error((l=f.errors)==null?void 0:l.map(m=>m.message).join(`
|
|
142
|
+
`)):Er.error("Error saving template")),f}catch(d){throw Er.error("Error saving template"),t(he,d instanceof Error?d.message:"Unknown error"),d}finally{t(tt,!1)}}),Bs=Ss(null,async(e,t)=>{var c,l,d;let r=e(Qe),n=e(et),o=e(Ce),i=e(fr),s=e(Ne),u=(d=(l=(c=s==null?void 0:s.data)==null?void 0:c.tenant)==null?void 0:l.notification)==null?void 0:d.version;if(!u){Er.error("Version not defined");return}if(!r){t(he,"Missing API URL");return}t(Et,!0),t(he,null);try{let f=await fetch(r,{method:"POST",headers:{Authorization:`Bearer ${n}`,"x-courier-client-key":`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({query:`
|
|
143
143
|
mutation PublishNotification($input: PublishNotificationInput!) {
|
|
144
144
|
tenant {
|
|
145
145
|
notification {
|
|
@@ -149,9 +149,9 @@ var cd=Object.defineProperty;var a=(e,t)=>cd(e,"name",{value:t,configurable:!0})
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
`,variables:{input:{tenantId:o,notificationId:i,version:u}}})}),m=await f.json();return f.status===200?Nr.success("Template published"):Nr.error("Error publishing template"),m}catch(f){throw Nr.error("Error publishing template"),t(xe,f instanceof Error?f.message:"Unknown error"),f}finally{t(At,!1)}});import{Fragment as Md,jsx as zi}from"react/jsx-runtime";function Wo(){let[,e]=Er(Mn),[,t]=Er(Ds),[,r]=Er(Vs),n=Oo(Ge),o=Oo(ot),i=Oo(At),s=Oo(xe),u=Oo(He);return{getTenant:e,saveTemplate:t,publishTemplate:r,isTenantLoading:n,isTenantSaving:o,isTenantPublishing:i,tenantError:s,tenantData:u}}a(Wo,"useTemplateActions");var Pd=a(({children:e,templateId:t,tenantId:r,token:n,clientKey:o,apiUrl:i})=>{let[,s]=Er(tt),[,u]=Er(rt),[,l]=Er(Ee),[,c]=Er(dr),[,d]=Er(Tr);return Td(()=>{u(n),l(r),c(t),d(o),i&&s(i)},[n,r,t,o,i,s,u,l,c,d]),zi(Md,{children:e})},"TemplateProviderContext"),Nd=a(e=>zi(wd,{store:Nn,children:zi(Pd,{...e})}),"TemplateProviderComponent"),Ed=kd(Nd);import{Provider as Id,useAtom as $r,useAtomValue as zo}from"jotai";import{useEffect as Ad,memo as Ld}from"react";import{Fragment as Hd,jsx as $i}from"react/jsx-runtime";function $o(){let[,e]=$r(Mn),[,t]=$r(Ss),[,r]=$r(Rs),n=zo(Ge),o=zo(ot),i=zo(At),s=zo(xe),u=zo(He);return{getTenant:e,saveBrand:t,publishBrand:r,isTenantLoading:n,isTenantSaving:o,isTenantPublishing:i,tenantError:s,tenantData:u}}a($o,"useBrandActions");var Sd=a(({children:e,tenantId:t,token:r,clientKey:n,apiUrl:o})=>{let[,i]=$r(tt),[,s]=$r(rt),[,u]=$r(Ee),[,l]=$r(Tr);return Ad(()=>{s(r),u(t),l(n),o&&i(o)},[r,t,n,o,i,s,u,l]),$i(Hd,{children:e})},"BrandProviderContext"),Rd=a(e=>$i(Id,{store:Nn,children:$i(Sd,{...e})}),"BrandProviderComponent"),Bd=Ld(Rd);import{mergeAttributes as sg}from"@tiptap/core";import{Node as Dd,mergeAttributes as Vd,wrappingInputRule as Fd}from"@tiptap/core";var Od=/^\s*>\s$/,Fs=Dd.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",Vd(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[Fd({find:Od,type:this.type})]}});import{ReactNodeViewRenderer as lg}from"@tiptap/react";import{v4 as Wd}from"uuid";function Lt(e,t){let r=e.state.tr,n=!1;e.state.doc.descendants((o,i)=>{if(o.type.name===t&&!o.attrs.id){let s=`node-${Wd()}`;r.setNodeMarkup(i,void 0,{...o.attrs,id:s}),n=!0}return!1}),n&&e.view.dispatch(r)}a(Lt,"generateNodeIds");import{Slot as zd}from"@radix-ui/react-slot";import{cva as $d}from"class-variance-authority";import{forwardRef as Ud}from"react";import{jsx as _d}from"react/jsx-runtime";var Zd=$d("courier-flex courier-group courier-items-center courier-justify-center courier-border courier-border-transparent courier-gap-2 courier-text-sm courier-font-semibold courier-rounded-md disabled:courier-opacity-50 courier-whitespace-nowrap courier-outline-none",{variants:{variant:{primary:"courier-text-white courier-bg-[#3B82F6] courier-border-[#3B82F6] dark:courier-text-foreground dark:courier-bg-white dark:courier-border-white",secondary:"courier-text-foreground courier-bg-[#F5F5F5]",tertiary:"courier-bg-neutral-50 courier-text-foreground dark:courier-bg-foreground dark:courier-text-white dark:courier-border-foreground",quaternary:"courier-bg-transparent courier-border-transparent courier-text-neutral-500 dark:courier-text-neutral-400",ghost:"hover:courier-bg-accent hover:courier-text-accent-foreground",link:"courier-text-foreground !courier-font-normal hover:courier-text-accent-foreground !courier-p-0 courier-border-none",outline:"!courier-border-border courier-text-foreground dark:courier-text-white dark:courier-border-foreground hover:courier-bg-neutral-100 dark:hover:courier-bg-neutral-800"},size:{medium:"courier-py-2 courier-px-3",small:"courier-py-1 courier-px-2",icon:"courier-w-8 courier-h-8",iconSmall:"courier-w-6 courier-h-6"},active:{true:"",false:""},disabled:{true:"",false:""}},compoundVariants:[{variant:"primary",disabled:!1,active:!1,class:"hover:courier-bg-neutral-800 active:courier-bg-neutral-900 dark:hover:courier-bg-neutral-200 dark:active:courier-bg-neutral-300"},{variant:"primary",active:!0,class:"courier-bg-neutral-900 dark:courier-bg-neutral-300"},{variant:"secondary",disabled:!1,active:!1,class:"hover:courier-bg-neutral-100 active:courier-bg-neutral-200 dark:hover:courier-bg-neutral-900 dark:active:courier-bg-neutral-800"},{variant:"secondary",active:!0,class:"courier-bg-neutral-200 dark:courier-bg-neutral-800"},{variant:"tertiary",disabled:!1,active:!1,class:"hover:courier-bg-neutral-100 active:courier-bg-neutral-200 dark:hover:courier-bg-neutral-800 dark:active:courier-bg-neutral-700"},{variant:"tertiary",active:!0,class:"courier-bg-neutral-200 dark:courier-bg-neutral-800"},{variant:"ghost",disabled:!1,active:!1,class:"hover:courier-bg-black/5 hover:courier-text-neutral-700 active:courier-bg-black/10 active:courier-text-neutral-800 dark:hover:courier-bg-white/10 dark:hover:courier-text-neutral-300 dark:active:courier-text-neutral-200"},{variant:"ghost",active:!0,class:"courier-bg-accent courier-text-accent-foreground [&_svg]:courier-text-accent-foreground dark:courier-bg-white/20 dark:courier-text-neutral-200"}]}),Me=Ud(({active:e,buttonSize:t="medium",disabled:r,variant:n="primary",className:o,asChild:i=!1,...s},u)=>_d(i?zd:"button",{ref:u,disabled:r,className:M(Zd({variant:n,size:t,disabled:r,active:e}),o),...s}));Me.displayName="Button";import{forwardRef as qd}from"react";import{jsx as jd}from"react/jsx-runtime";var fe=qd((e,t)=>jd("hr",{...e,ref:t,className:M("courier-my-1 courier-border-border dark:courier-border-neutral-800",e.className)}));fe.displayName="Divider";import*as pr from"react";import*as le from"@radix-ui/react-dropdown-menu";import{Check as Gd,ChevronRight as Kd,Circle as Jd}from"lucide-react";import{jsx as ft,jsxs as _i}from"react/jsx-runtime";var Os=le.Root,Ws=le.Trigger;var Xd=pr.forwardRef(({className:e,inset:t,children:r,...n},o)=>_i(le.SubTrigger,{ref:o,className:M("courier-flex courier-cursor-default courier-gap-2 courier-select-none courier-items-center courier-rounded-sm courier-px-2 courier-py-1.5 courier-text-sm courier-outline-none focus:courier-bg-accent data-[state=open]:courier-bg-accent [&_svg]:courier-pointer-events-none [&_svg]:courier-size-4 [&_svg]:courier-shrink-0",t&&"courier-pl-8",e),...n,children:[r,ft(Kd,{className:"courier-ml-auto"})]}));Xd.displayName=le.SubTrigger.displayName;var Yd=pr.forwardRef(({className:e,...t},r)=>ft(le.SubContent,{ref:r,className:M("courier-z-50 courier-min-w-[8rem] courier-overflow-hidden courier-rounded-md courier-border courier-bg-popover courier-p-1 courier-text-popover-foreground courier-shadow-lg data-[state=open]:courier-animate-in data-[state=closed]:courier-animate-out data-[state=closed]:courier-fade-out-0 data-[state=open]:courier-fade-in-0 data-[state=closed]:courier-zoom-out-95 data-[state=open]:courier-zoom-in-95 data-[side=bottom]:courier-slide-in-from-top-2 data-[side=left]:courier-slide-in-from-right-2 data-[side=right]:courier-slide-in-from-left-2 data-[side=top]:courier-slide-in-from-bottom-2",e),...t}));Yd.displayName=le.SubContent.displayName;var Ui=pr.forwardRef(({className:e,sideOffset:t=4,portalProps:r,...n},o)=>ft(le.Portal,{...r,children:ft(le.Content,{ref:o,sideOffset:t,className:M("courier-z-50 courier-min-w-[8rem] courier-overflow-hidden courier-rounded-md courier-border courier-bg-popover courier-p-1 courier-text-popover-foreground courier-shadow-md","data-[state=open]:courier-animate-in data-[state=closed]:courier-animate-out data-[state=closed]:courier-fade-out-0 data-[state=open]:courier-fade-in-0 data-[state=closed]:courier-zoom-out-95 data-[state=open]:courier-zoom-in-95 data-[side=bottom]:courier-slide-in-from-top-2 data-[side=left]:courier-slide-in-from-right-2 data-[side=right]:courier-slide-in-from-left-2 data-[side=top]:courier-slide-in-from-bottom-2",e),...n})}));Ui.displayName=le.Content.displayName;var Zi=pr.forwardRef(({className:e,inset:t,...r},n)=>ft(le.Item,{ref:n,className:M("courier-relative courier-flex courier-cursor-default courier-select-none courier-items-center courier-gap-2 courier-rounded-sm courier-px-2 courier-py-1.5 courier-text-sm courier-outline-none focus:courier-bg-accent focus:courier-text-foreground data-[disabled]:courier-pointer-events-none data-[disabled]:courier-opacity-50 [&>svg]:courier-size-4 [&>svg]:courier-shrink-0",t&&"courier-pl-8",e),...r}));Zi.displayName=le.Item.displayName;var Qd=pr.forwardRef(({className:e,children:t,checked:r,...n},o)=>_i(le.CheckboxItem,{ref:o,className:M("courier-relative courier-flex courier-cursor-default courier-select-none courier-items-center courier-rounded-sm courier-py-1.5 courier-pl-8 courier-pr-2 courier-text-sm courier-outline-none focus:courier-bg-accent focus:courier-text-accent-foreground data-[disabled]:courier-pointer-events-none data-[disabled]:courier-opacity-50",e),checked:r,...n,children:[ft("span",{className:"courier-absolute courier-left-2 courier-flex courier-h-3.5 courier-w-3.5 courier-items-center courier-justify-center",children:ft(le.ItemIndicator,{children:ft(Gd,{className:"courier-h-4 courier-w-4"})})}),t]}));Qd.displayName=le.CheckboxItem.displayName;var ep=pr.forwardRef(({className:e,children:t,...r},n)=>_i(le.RadioItem,{ref:n,className:M("courier-relative courier-flex courier-cursor-default courier-select-none courier-items-center courier-rounded-sm courier-py-1.5 courier-pl-8 courier-pr-2 courier-text-sm courier-outline-none focus:courier-bg-accent focus:courier-text-accent-foreground data-[disabled]:courier-pointer-events-none data-[disabled]:courier-opacity-50",e),...r,children:[ft("span",{className:"courier-absolute courier-left-2 courier-flex courier-h-3.5 courier-w-3.5 courier-items-center courier-justify-center",children:ft(le.ItemIndicator,{children:ft(Jd,{className:"courier-h-2 courier-w-2 courier-fill-current"})})}),t]}));ep.displayName=le.RadioItem.displayName;var tp=pr.forwardRef(({className:e,inset:t,...r},n)=>ft(le.Label,{ref:n,className:M("courier-px-2 courier-py-1.5 courier-text-sm courier-font-semibold",t&&"courier-pl-8",e),...r}));tp.displayName=le.Label.displayName;var rp=pr.forwardRef(({className:e,...t},r)=>ft(le.Separator,{ref:r,className:M("courier-mx-1 courier-my-1 courier-h-px courier-bg-muted",e),...t}));rp.displayName=le.Separator.displayName;var op=a(({className:e,...t})=>ft("span",{className:M("courier-ml-auto courier-text-xs courier-tracking-widest courier-opacity-60",e),...t}),"DropdownMenuShortcut");op.displayName="DropdownMenuShortcut";import{Slot as sp}from"@radix-ui/react-slot";import*as gt from"react";import{Controller as lp,FormProvider as cp,useFormContext as up}from"react-hook-form";import*as qi from"@radix-ui/react-label";import{cva as np}from"class-variance-authority";import*as zs from"react";import{jsx as ap}from"react/jsx-runtime";var ip=np("courier-text-sm courier-font-medium courier-leading-none peer-disabled:courier-cursor-not-allowed peer-disabled:courier-opacity-70"),ji=zs.forwardRef(({className:e,...t},r)=>ap(qi.Root,{ref:r,className:M(ip(),e),...t}));ji.displayName=qi.Root.displayName;import{jsx as Mr}from"react/jsx-runtime";var ht=cp,$s=gt.createContext({}),j=a(({...e})=>Mr($s.Provider,{value:{name:e.name},children:Mr(lp,{...e})}),"FormField"),An=a(()=>{let e=gt.useContext($s),t=gt.useContext(Us),{getFieldState:r,formState:n}=up(),o=r(e.name,n);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...o}},"useFormField"),Us=gt.createContext({}),Z=gt.forwardRef(({className:e,...t},r)=>{let n=gt.useId();return Mr(Us.Provider,{value:{id:n},children:Mr("div",{ref:r,className:M("courier-space-y-2",e),...t})})});Z.displayName="FormItem";var Uo=gt.forwardRef(({className:e,...t},r)=>{let{error:n,formItemId:o}=An();return Mr(ji,{ref:r,className:M(n&&"courier-text-destructive",e),htmlFor:o,...t})});Uo.displayName="FormLabel";var _=gt.forwardRef(({...e},t)=>{let{error:r,formItemId:n,formDescriptionId:o,formMessageId:i}=An();return Mr(sp,{ref:t,id:n,"aria-describedby":r?`${o} ${i}`:`${o}`,"aria-invalid":!!r,...e})});_.displayName="FormControl";var dp=gt.forwardRef(({className:e,...t},r)=>{let{formDescriptionId:n}=An();return Mr("p",{ref:r,id:n,className:M("courier-text-[0.8rem] courier-text-muted-foreground",e),...t})});dp.displayName="FormDescription";var q=gt.forwardRef(({className:e,children:t,...r},n)=>{let{error:o,formMessageId:i}=An(),s=o?String(o==null?void 0:o.message):t;return s?Mr("p",{ref:n,id:i,className:M("courier-text-[0.8rem] courier-font-medium courier-text-destructive",e),...r,children:s}):null});q.displayName="FormMessage";import*as Zs from"react";import{jsx as Gi,jsxs as pp}from"react/jsx-runtime";var de=Zs.forwardRef(({className:e,type:t,startAdornment:r,endAdornment:n,...o},i)=>pp("div",{className:"courier-relative courier-flex courier-w-full courier-items-center",children:[r&&Gi("div",{className:"courier-absolute courier-left-2 courier-flex courier-items-center courier-pointer-events-none",children:r}),Gi("input",{type:t,className:M("courier-flex courier-w-full courier-rounded-md courier-border-none courier-bg-secondary courier-text-secondary-foreground courier-p-1.5 courier-text-base file:courier-border-0 file:courier-bg-transparent file:courier-text-sm file:courier-font-medium file:courier-text-foreground placeholder:courier-text-muted-foreground focus-visible:courier-outline-none disabled:courier-cursor-not-allowed disabled:courier-opacity-50 md:courier-text-sm",r&&"courier-pl-8",n&&"courier-pr-8",e),ref:i,...o}),n&&Gi("div",{className:"courier-absolute courier-right-2 courier-flex courier-items-center courier-pointer-events-none",children:n})]}));de.displayName="Input";import{forwardRef as hp,useRef as bp,useMemo as vp}from"react";import{useCallback as Ki,useEffect as _s,useRef as Ln,useState as qs}from"react";import{CircleX as mp}from"lucide-react";import{jsx as Jt,jsxs as js}from"react/jsx-runtime";var fp=a(e=>e==="transparent"||/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e),"isValidHex"),Gs=a(({color:e,onChange:t,className:r,presetColors:n,defaultValue:o="transparent"})=>{let[i,s]=qs(()=>Zo(e)),[u,l]=qs(e),c=Ln(null),d=Ln(null),f=Ln(null),m=Ln(!1),h=e!==o,g=Ki(I=>{m.current=!0;let p=gp(I);l(p),t(p),m.current=!1},[t]),y=a(I=>p=>{f.current=I,b(p)},"handleMouseDown"),b=Ki(I=>{if(f.current){if(f.current==="gradient"&&c.current){let p=c.current.getBoundingClientRect(),v=Math.max(0,Math.min(1,(I.clientX-p.left)/p.width)),w=Math.max(0,Math.min(1,(I.clientY-p.top)/p.height)),R={...i,s:v*100,v:(1-w)*100};s(R),g(R)}else if(f.current==="hue"&&d.current){let p=d.current.getBoundingClientRect(),v=Math.max(0,Math.min(1,(I.clientX-p.left)/p.width)),w={...i,h:v*360};s(w),g(w)}}},[i,g]),x=Ki(()=>{f.current=null},[]);_s(()=>{if(f.current)return window.addEventListener("mousemove",b),window.addEventListener("mouseup",x),()=>{window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",x)}},[b,x]),_s(()=>{m.current||(s(Zo(e)),l(e))},[e]);let E=a(I=>{let p=I.target.value;if(l(p),fp(p)){let v=Zo(p);s(v),g(v)}},"handleInputChange");return js("div",{className:M("w-full",r),children:[Jt("div",{ref:c,className:"courier-relative courier-h-[160px] courier-w-full courier-cursor-crosshair courier-rounded-lg",style:{backgroundColor:`hsl(${i.h}, 100%, 50%)`,backgroundImage:"linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent)"},onMouseDown:y("gradient"),children:Jt("div",{className:"courier-absolute courier-h-3 courier-w-3 courier-translate-x-[-50%] courier-translate-y-[-50%] courier-rounded-full courier-border-2 courier-border-white",style:{left:`${i.s}%`,top:`${100-i.v}%`}})}),Jt("div",{ref:d,className:"courier-relative courier-mt-2 courier-h-3 courier-w-full courier-cursor-pointer courier-rounded",style:{background:"linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00)"},onMouseDown:y("hue"),children:Jt("div",{className:"courier-absolute courier-h-full courier-w-1 courier-translate-x-[-50%] courier-rounded courier-border courier-border-input courier-bg-background",style:{left:`${i.h/360*100}%`}})}),js("div",{className:"courier-mt-3 courier-relative courier-flex courier-items-center",children:[Jt(de,{value:u,onChange:E,placeholder:"#000000",className:"courier-flex-1"}),h&&Jt("button",{onClick:I=>{if(I.preventDefault(),o==="transparent"){t("transparent"),l("transparent"),s({h:0,s:0,v:0});return}let p=Zo(o);s(p),g(p)},className:"courier-absolute courier-right-3 courier-flex courier-cursor-pointer courier-items-center courier-justify-center courier-transition-colors",children:Jt(mp,{size:14,strokeWidth:1.25})})]}),Jt(fe,{className:"courier-my-3"}),Jt("div",{className:"courier-flex courier-flex-wrap courier-gap-1",children:n.map(I=>Jt("button",{className:M("courier-h-6 courier-w-6 courier-rounded-md courier-border courier-border-input courier-shrink-0",I==="transparent"&&Ji),style:{backgroundColor:I==="transparent"?void 0:I},onClick:p=>{if(p.preventDefault(),I==="transparent"){t("transparent"),l("transparent"),s({h:0,s:0,v:0});return}let v=Zo(I);s(v),g(v)}},I))})]})},"ColorPicker");function Zo(e){if(e==="transparent")return{h:0,s:0,v:0};let t=parseInt(e.slice(1,3),16)/255,r=parseInt(e.slice(3,5),16)/255,n=parseInt(e.slice(5,7),16)/255,o=Math.max(t,r,n),i=Math.min(t,r,n),s=o-i,u=0,l=o===0?0:s/o,c=o;if(o!==i){switch(o){case t:u=(r-n)/s+(r<n?6:0);break;case r:u=(n-t)/s+2;break;case n:u=(t-r)/s+4;break}u/=6}return{h:u*360,s:l*100,v:c*100}}a(Zo,"hexToHsv");function gp({h:e,s:t,v:r}){t/=100,r/=100,e=e%360/360;let n=a(u=>{let l=(u+e*6)%6;return r-r*t*Math.max(0,Math.min(l,4-l,1))},"f"),o=Math.round(n(5)*255),i=Math.round(n(3)*255),s=Math.round(n(1)*255);return`#${[o,i,s].map(u=>u.toString(16).padStart(2,"0")).join("")}`}a(gp,"hsvToHex");import*as Xt from"@radix-ui/react-popover";import*as Js from"react";import{jsx as Ks}from"react/jsx-runtime";var Xs=Xt.Root,Ys=Xt.Trigger;var Xi=Js.forwardRef(({className:e,align:t="center",sideOffset:r=4,portalProps:n,...o},i)=>Ks(Xt.Portal,{...n,children:Ks(Xt.Content,{ref:i,align:t,sideOffset:r,className:M("courier-z-50 courier-w-72 courier-rounded-md courier-border courier-bg-popover courier-p-4 courier-text-popover-foreground courier-shadow-md courier-outline-none data-[state=open]:courier-animate-in data-[state=closed]:courier-animate-out data-[state=closed]:courier-fade-out-0 data-[state=open]:courier-fade-in-0 data-[state=closed]:courier-zoom-out-95 data-[state=open]:courier-zoom-in-95 data-[side=bottom]:courier-slide-in-from-top-2 data-[side=left]:courier-slide-in-from-right-2 data-[side=right]:courier-slide-in-from-left-2 data-[side=top]:courier-slide-in-from-bottom-2",e),...o})}));Xi.displayName=Xt.Content.displayName;import{jsx as _o,jsxs as Qs}from"react/jsx-runtime";var Ji="bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAwSDBWOEg4VjBaIiBmaWxsPSIjRDlEOUQ5Ii8+PHBhdGggZD0iTTE2IDhIOFYxNkgxNlY4WiIgZmlsbD0iI0Q5RDlEOSIvPjwvc3ZnPg==')]",yp=["#ef4444","#f97316","#eab308","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#000000","#525252","#a3a3a3","#ffffff","transparent"],De=hp(({className:e,value:t="",onChange:r,defaultValue:n,transparent:o=!0,presetColors:i=yp,...s},u)=>{let l=t!=="transparent",c=bp(null),d=vp(()=>o?i:i.filter(f=>f!=="transparent"),[i,o]);return Qs(Xs,{children:[_o(Ys,{asChild:!0,children:Qs("div",{className:"courier-relative courier-flex courier-items-center",ref:c,children:[_o("div",{className:M("courier-absolute courier-left-2 courier-flex courier-h-4 courier-w-4 courier-cursor-pointer courier-items-center courier-justify-center courier-rounded-md courier-border courier-border-input courier-transition-colors courier-z-10",l?"":Ji),style:{backgroundColor:l?t:void 0}}),_o(de,{...s,ref:u,readOnly:!0,type:"text",value:t==="transparent"?"Transparent":t,className:M("courier-relative courier-cursor-pointer courier-pl-8",e)})]})}),_o(Xi,{portalProps:{container:(c==null?void 0:c.current)||void 0},className:"courier-w-[230px]",children:_o(Gs,{color:t,onChange:r,presetColors:d,defaultValue:n})})]})});De.displayName="InputColor";import*as el from"react";import*as mr from"@radix-ui/react-slider";import{jsx as Yi,jsxs as xp}from"react/jsx-runtime";var Qi=el.forwardRef(({className:e,...t},r)=>xp(mr.Root,{ref:r,className:M("courier-relative courier-flex courier-w-full courier-touch-none courier-select-none courier-items-center",e),...t,children:[Yi(mr.Track,{className:"courier-relative courier-h-1.5 courier-w-full courier-grow courier-overflow-hidden courier-rounded-full courier-bg-secondary",children:Yi(mr.Range,{className:"courier-absolute courier-h-full courier-bg-accent-foreground"})}),Yi(mr.Thumb,{className:"courier-block courier-h-4 courier-w-4 courier-rounded-full courier-bg-accent-foreground courier-shadow courier-transition-colors focus-visible:courier-outline-none focus-visible:courier-ring-1 focus-visible:courier-ring-ring disabled:courier-pointer-events-none disabled:courier-opacity-50"})]}));Qi.displayName=mr.Root.displayName;import*as rl from"react";import*as qo from"@radix-ui/react-switch";import{jsx as tl}from"react/jsx-runtime";var ea=rl.forwardRef(({className:e,...t},r)=>tl(qo.Root,{className:M("courier-peer courier-inline-flex courier-h-5 courier-w-9 courier-shrink-0 courier-cursor-pointer courier-items-center courier-rounded-full courier-border-2 courier-border-transparent courier-shadow-sm courier-transition-colors focus-visible:courier-outline-none focus-visible:courier-ring-2 focus-visible:courier-ring-ring focus-visible:courier-ring-offset-2 focus-visible:courier-ring-offset-background disabled:courier-cursor-not-allowed disabled:courier-opacity-50 data-[state=checked]:courier-bg-accent-foreground data-[state=unchecked]:courier-bg-input",e),...t,ref:r,children:tl(qo.Thumb,{className:M("courier-pointer-events-none courier-block courier-h-4 courier-w-4 courier-rounded-full courier-bg-background courier-shadow-lg courier-ring-0 courier-transition-transform data-[state=checked]:courier-translate-x-4 data-[state=unchecked]:courier-translate-x-0")})}));ea.displayName=qo.Root.displayName;import*as Sn from"react";import*as Dt from"@radix-ui/react-tabs";import{jsx as ra}from"react/jsx-runtime";var ol=Dt.Root,ta=Sn.forwardRef(({className:e,...t},r)=>ra(Dt.List,{ref:r,className:M("courier-inline-flex courier-h-9 courier-items-center courier-justify-center courier-rounded-md courier-border courier-border-border courier-bg-background courier-p-[3px] courier-text-muted-foreground",e),...t}));ta.displayName=Dt.List.displayName;var Rn=Sn.forwardRef(({className:e,...t},r)=>ra(Dt.Trigger,{ref:r,className:M("courier-inline-flex courier-items-center courier-justify-center courier-whitespace-nowrap courier-rounded-sm courier-px-3 courier-py-1 courier-text-sm courier-font-medium courier-ring-offset-background courier-transition-all focus-visible:courier-outline-none disabled:courier-pointer-events-none disabled:courier-opacity-50 data-[state=active]:courier-bg-accent data-[state=active]:courier-text-accent-foreground",e),...t}));Rn.displayName=Dt.Trigger.displayName;var Bn=Sn.forwardRef(({className:e,...t},r)=>ra(Dt.Content,{ref:r,className:M("courier-mt-2 courier-ring-offset-background focus-visible:courier-outline-none focus-visible:courier-ring-2 focus-visible:courier-ring-ring focus-visible:courier-ring-offset-2",e),...t}));Bn.displayName=Dt.Content.displayName;import*as fo from"react";import{jsx as Cp}from"react/jsx-runtime";var oa=fo.forwardRef(({className:e,autoResize:t=!1,...r},n)=>{let o=fo.useRef(null),i=a(s=>{o.current=s,typeof n=="function"?n(s):n&&(n.current=s)},"combinedRef");return fo.useEffect(()=>{if(!t)return;let s=o.current;if(!s)return;let u=a(()=>{s.style.height="auto",s.style.height=`${s.scrollHeight}px`},"adjustHeight");return u(),s.addEventListener("input",u),()=>{s.removeEventListener("input",u)}},[t]),Cp("textarea",{className:M("courier-flex 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 courier-placeholder:courier-text-muted-foreground focus-visible:courier-outline-none disabled:courier-cursor-not-allowed disabled:courier-opacity-50 md:courier-text-sm",t&&"courier-resize-none",e),ref:i,...r})});oa.displayName="Textarea";import{useContext as mv}from"react";import{createContext as wp}from"react";var go={background:"#ffffff",foreground:"#292929",muted:"#D9D9D9",mutedForeground:"#A3A3A3",popover:"#ffffff",popoverForeground:"#292929",border:"#DCDEE4",input:"#DCDEE4",card:"#FAF9F8",cardForeground:"#292929",primary:"#ffffff",primaryForeground:"#696F8C",secondary:"#F5F5F5",secondaryForeground:"#171717",accent:"#E5F3FF",accentForeground:"#1D4ED8",destructive:"#292929",destructiveForeground:"#FF3363",ring:"#80849D",radius:"6px"};var nl=wp(go);import{jsx as il}from"react/jsx-runtime";var al=a(({children:e,theme:t=go})=>{let r=typeof t=="string"?go:{...go,...t},n=typeof t=="string"?{}:Object.entries(t).reduce((o,[i,s])=>{let u=i.replace(/[A-Z]/g,l=>`-${l.toLowerCase()}`);return{...o,[`--${u}`]:s}},{});return il(nl.Provider,{value:r,children:il("div",{style:n,className:M(typeof t=="string"?t:"","lightTheme"),children:e})})},"ThemeProvider");import*as sl from"react";import*as na from"@radix-ui/react-toggle";import{cva as Tp}from"class-variance-authority";import{jsx as Pp}from"react/jsx-runtime";var ia=Tp("courier-inline-flex courier-items-center courier-justify-center courier-gap-2 courier-rounded-md courier-text-sm courier-font-medium courier-transition-colors hover:courier-bg-secondary hover:courier-text-foreground focus-visible:courier-outline-none focus-visible:courier-ring-1 focus-visible:courier-ring-ring disabled:courier-pointer-events-none disabled:courier-opacity-50 data-[state=on]:courier-bg-accent data-[state=on]:courier-text-accent-foreground [&_svg]:courier-pointer-events-none [&_svg]:courier-size-[30px] [&_svg]:courier-shrink-0",{variants:{variant:{default:"courier-bg-transparent",outline:"courier-border courier-border-input courier-bg-transparent courier-shadow-sm hover:courier-bg-accent hover:courier-text-accent-foreground"},size:{default:"courier-h-9 courier-min-w-9",sm:"courier-h-8 courier-px-1.5 courier-min-w-8",lg:"courier-h-10 courier-px-2.5 courier-min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),kp=sl.forwardRef(({className:e,variant:t,size:r,...n},o)=>Pp(na.Root,{ref:o,className:M(ia({variant:t,size:r,className:e})),...n}));kp.displayName=na.Root.displayName;import*as ho from"@radix-ui/react-toggle-group";import*as Ur from"react";import{jsx as aa}from"react/jsx-runtime";var ll=Ur.createContext({size:"default",variant:"default"}),fr=Ur.forwardRef(({className:e,variant:t,size:r,children:n,...o},i)=>aa(ho.Root,{ref:i,className:M("courier-flex courier-items-center courier-justify-center courier-gap-1",e),...o,children:aa(ll.Provider,{value:{variant:t,size:r},children:n})}));fr.displayName=ho.Root.displayName;var ct=Ur.forwardRef(({className:e,children:t,variant:r,size:n,...o},i)=>{let s=Ur.useContext(ll);return aa(ho.Item,{ref:i,className:M(ia({variant:s.variant||r,size:s.size||n}),e),...o,children:t})});ct.displayName=ho.Item.displayName;import{jsx as sa}from"react/jsx-runtime";var nt=a(({colorProp:e,color:t,active:r,className:n,...o})=>e==="stroke"?sa("path",{className:M(!t&&(r?"courier-stroke-accent-foreground":"courier-stroke-ring"),n),...o}):sa("path",{className:M(!t&&(r?"courier-fill-accent-foreground":"courier-fill-ring"),n),...o}),"Path"),me=a(({width:e=28,height:t=28,...r})=>sa("svg",{width:e,height:t,viewBox:`0 0 ${e} ${t}`,fill:"none",...r}),"Icon");import{jsx as cl}from"react/jsx-runtime";var la=a(({color:e="#DC2626",width:t=13,height:r=13,...n})=>cl(me,{...n,fill:"none",width:t,height:r,children:cl("path",{d:"M4.89844 1.625C4.82812 1.625 4.78125 1.67188 4.73438 1.71875L4.28906 2.375H7.6875L7.24219 1.71875C7.21875 1.67188 7.14844 1.625 7.07812 1.625H4.89844ZM9.04688 2.375H9.35156H10.5H10.6875C10.9922 2.375 11.25 2.63281 11.25 2.9375C11.25 3.26562 10.9922 3.5 10.6875 3.5H10.4062L9.84375 11.1172C9.77344 11.9141 9.14062 12.5 8.34375 12.5H3.63281C2.83594 12.5 2.20312 11.9141 2.13281 11.1172L1.57031 3.5H1.3125C0.984375 3.5 0.75 3.26562 0.75 2.9375C0.75 2.63281 0.984375 2.375 1.3125 2.375H1.5H2.625H2.92969L3.79688 1.08594C4.03125 0.734375 4.45312 0.5 4.89844 0.5H7.07812C7.52344 0.5 7.94531 0.734375 8.17969 1.08594L9.04688 2.375ZM9.28125 3.5H2.69531L3.25781 11.0469C3.28125 11.2344 3.44531 11.375 3.63281 11.375H8.34375C8.53125 11.375 8.69531 11.2344 8.71875 11.0469L9.28125 3.5Z",fill:e})}),"BinIcon");import{jsx as ul}from"react/jsx-runtime";var Zr=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>ul(me,{...o,width:r,height:n,children:ul(nt,{active:t,colorProp:"stroke",stroke:e,strokeWidth:"1.5",strokeLinecap:"round",d:"M1 15V11C1 5.47715 5.47715 1 11 1H15"})}),"BorderRadiusIcon");import{jsx as ca,jsxs as Np}from"react/jsx-runtime";var Vt=a(({color:e="#A3A3A3",width:t=16,height:r=16,...n})=>Np(me,{...n,width:t,height:r,children:[ca("rect",{y:"2.25",width:"16",height:"1.5",rx:"0.75",fill:e}),ca("rect",{y:"5.75",width:"16",height:"2.5",rx:"1.25",fill:e}),ca("rect",{y:"10.25",width:"16",height:"3.5",rx:"1.75",fill:e})]}),"BorderWidthIcon");import{jsx as dl}from"react/jsx-runtime";var ua=a(({color:e,width:t=21,height:r=16,...n})=>dl(me,{...n,width:t,height:r,children:dl("path",{d:"M2.5 1.5C2.21875 1.5 2 1.75 2 2V11C2 11.2812 2.21875 11.5 2.5 11.5H18.5C18.75 11.5 19 11.2812 19 11V2C19 1.75 18.75 1.5 18.5 1.5H2.5ZM0.5 2C0.5 0.90625 1.375 0 2.5 0H18.5C19.5938 0 20.5 0.90625 20.5 2V11C20.5 12.125 19.5938 13 18.5 13H2.5C1.375 13 0.5 12.125 0.5 11V2ZM4.25 14.5H16.75C17.1562 14.5 17.5 14.8438 17.5 15.25C17.5 15.6875 17.1562 16 16.75 16H4.25C3.8125 16 3.5 15.6875 3.5 15.25C3.5 14.8438 3.8125 14.5 4.25 14.5Z",fill:e})}),"DesktopIcon");import{jsx as pl}from"react/jsx-runtime";var da=a(({color:e="#171717",width:t=12,height:r=13,...n})=>pl(me,{...n,fill:"none",width:t,height:r,children:pl("path",{d:"M1.5 11.375H6.75C6.9375 11.375 7.125 11.2109 7.125 11V9.5H8.25V11C8.25 11.8438 7.57031 12.5 6.75 12.5H1.5C0.65625 12.5 0 11.8438 0 11V5.75C0 4.92969 0.65625 4.25 1.5 4.25H3V5.375H1.5C1.28906 5.375 1.125 5.5625 1.125 5.75V11C1.125 11.2109 1.28906 11.375 1.5 11.375ZM5.25 7.625H10.5C10.6875 7.625 10.875 7.46094 10.875 7.25V2C10.875 1.8125 10.6875 1.625 10.5 1.625H5.25C5.03906 1.625 4.875 1.8125 4.875 2V7.25C4.875 7.46094 5.03906 7.625 5.25 7.625ZM3.75 7.25V2C3.75 1.17969 4.40625 0.5 5.25 0.5H10.5C11.3203 0.5 12 1.17969 12 2V7.25C12 8.09375 11.3203 8.75 10.5 8.75H5.25C4.40625 8.75 3.75 8.09375 3.75 7.25Z",fill:e})}),"DuplicateIcon");import{jsx as ml}from"react/jsx-runtime";var jo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>ml(me,{...o,width:r,height:n,children:ml(nt,{d:"M16 8C16 12.0938 12.9062 15.4688 8.96875 15.9688V10.4688H11.125L11.5625 8H8.96875V7.15625C8.96875 5.84375 9.46875 5.34375 10.7812 5.34375C11.1875 5.34375 11.5 5.375 11.6875 5.375V3.1875C11.3438 3.0625 10.4688 2.96875 9.96875 2.96875C7.28125 2.96875 6.0625 4.25 6.0625 6.96875V8H4.40625V10.4688H6.0625V15.7812C2.5625 14.9062 0 11.75 0 8C0 3.59375 3.5625 0 8 0C12.4062 0 16 3.59375 16 8Z",active:t,fill:e})}),"FacebookIcon");import{jsx as fl}from"react/jsx-runtime";var Go=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>fl(me,{...o,width:r,height:n,children:fl(nt,{d:"M8 4.40625C9.96875 4.40625 11.5938 6.03125 11.5938 8C11.5938 10 9.96875 11.5938 8 11.5938C6 11.5938 4.40625 10 4.40625 8C4.40625 6.03125 6 4.40625 8 4.40625ZM8 10.3438C9.28125 10.3438 10.3125 9.3125 10.3125 8C10.3125 6.71875 9.28125 5.6875 8 5.6875C6.6875 5.6875 5.65625 6.71875 5.65625 8C5.65625 9.3125 6.71875 10.3438 8 10.3438ZM12.5625 4.28125C12.5625 3.8125 12.1875 3.4375 11.7188 3.4375C11.25 3.4375 10.875 3.8125 10.875 4.28125C10.875 4.75 11.25 5.125 11.7188 5.125C12.1875 5.125 12.5625 4.75 12.5625 4.28125ZM14.9375 5.125C15 6.28125 15 9.75 14.9375 10.9062C14.875 12.0312 14.625 13 13.8125 13.8438C13 14.6562 12 14.9062 10.875 14.9688C9.71875 15.0312 6.25 15.0312 5.09375 14.9688C3.96875 14.9062 3 14.6562 2.15625 13.8438C1.34375 13 1.09375 12.0312 1.03125 10.9062C0.96875 9.75 0.96875 6.28125 1.03125 5.125C1.09375 4 1.34375 3 2.15625 2.1875C3 1.375 3.96875 1.125 5.09375 1.0625C6.25 1 9.71875 1 10.875 1.0625C12 1.125 13 1.375 13.8125 2.1875C14.625 3 14.875 4 14.9375 5.125ZM13.4375 12.125C13.8125 11.2188 13.7188 9.03125 13.7188 8C13.7188 7 13.8125 4.8125 13.4375 3.875C13.1875 3.28125 12.7188 2.78125 12.125 2.5625C11.1875 2.1875 9 2.28125 8 2.28125C6.96875 2.28125 4.78125 2.1875 3.875 2.5625C3.25 2.8125 2.78125 3.28125 2.53125 3.875C2.15625 4.8125 2.25 7 2.25 8C2.25 9.03125 2.15625 11.2188 2.53125 12.125C2.78125 12.75 3.25 13.2188 3.875 13.4688C4.78125 13.8438 6.96875 13.75 8 13.75C9 13.75 11.1875 13.8438 12.125 13.4688C12.7188 13.2188 13.2188 12.75 13.4375 12.125Z",active:t,fill:e})}),"InstagramIcon");import{jsx as gl}from"react/jsx-runtime";var Ko=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>gl(me,{...o,width:r,height:n,children:gl(nt,{d:"M14 1C14.5312 1 15 1.46875 15 2.03125V14C15 14.5625 14.5312 15 14 15H1.96875C1.4375 15 1 14.5625 1 14V2.03125C1 1.46875 1.4375 1 1.96875 1H14ZM5.21875 13V6.34375H3.15625V13H5.21875ZM4.1875 5.40625C4.84375 5.40625 5.375 4.875 5.375 4.21875C5.375 3.5625 4.84375 3 4.1875 3C3.5 3 2.96875 3.5625 2.96875 4.21875C2.96875 4.875 3.5 5.40625 4.1875 5.40625ZM13 13V9.34375C13 7.5625 12.5938 6.15625 10.5 6.15625C9.5 6.15625 8.8125 6.71875 8.53125 7.25H8.5V6.34375H6.53125V13H8.59375V9.71875C8.59375 8.84375 8.75 8 9.84375 8C10.9062 8 10.9062 9 10.9062 9.75V13H13Z",active:t,fill:e})}),"LinkedinIcon");import{jsx as hl}from"react/jsx-runtime";var Jo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>hl(me,{...o,width:r,height:n,children:hl(nt,{d:"M5.625 2.34375C8.75 2.34375 11.2812 4.875 11.2812 8C11.2812 11.1562 8.75 13.6875 5.625 13.6875C2.5 13.6875 0 11.1562 0 8C0 4.875 2.5 2.34375 5.625 2.34375ZM14.625 2.65625C16.1875 2.65625 17.4688 5.0625 17.4688 8.03125C17.4688 10.9688 16.1875 13.375 14.625 13.375C13.0625 13.375 11.8125 10.9688 11.8125 8.03125C11.8125 5.0625 13.0625 2.65625 14.625 2.65625ZM19 3.21875C19.5312 3.21875 20 5.375 20 8C20 10.6562 19.5312 12.8125 19 12.8125C18.4375 12.8125 18 10.6562 18 8.03125C18 5.375 18.4375 3.21875 19 3.21875Z",active:t,fill:e})}),"MediumIcon");import{jsx as pa}from"react/jsx-runtime";var ma=a(({color:e,width:t=21,height:r=16,...n})=>pa(me,{...n,width:t,height:r,children:pa("g",{transform:"translate(4, 0)",children:pa("path",{d:"M8.5 1.5V2C8.5 2.28125 8.25 2.5 8 2.5H5C4.71875 2.5 4.5 2.28125 4.5 2V1.5H3.5C2.9375 1.5 2.5 1.96875 2.5 2.5V13.5C2.5 14.0625 2.9375 14.5 3.5 14.5H9.5C10.0312 14.5 10.5 14.0625 10.5 13.5V2.5C10.5 1.96875 10.0312 1.5 9.5 1.5H8.5ZM1 2.5C1 1.125 2.09375 0 3.5 0H9.5C10.875 0 12 1.125 12 2.5V13.5C12 14.9062 10.875 16 9.5 16H3.5C2.09375 16 1 14.9062 1 13.5V2.5Z",fill:e})})}),"MobileIcon");import{jsx as bl}from"react/jsx-runtime";var Xo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>bl(me,{...o,width:r,height:n,children:bl(nt,{d:"M14.25 0C14.6562 0 15 0.34375 15 0.75V15.25C15 15.6875 14.6562 16 14.25 16C13.8125 16 13.5 15.6875 13.5 15.25V0.75C13.5 0.34375 13.8125 0 14.25 0ZM9.5 11.5V4.5H6.5V11.5H9.5ZM11 4.5V11.5C11 12.3438 10.3125 13 9.5 13H6.5C5.65625 13 5 12.3438 5 11.5V4.5C5 3.6875 5.65625 3 6.5 3H9.5C10.3125 3 11 3.6875 11 4.5ZM2.5 0.75V15.25C2.5 15.6875 2.15625 16 1.75 16C1.3125 16 1 15.6875 1 15.25V0.75C1 0.34375 1.3125 0 1.75 0C2.15625 0 2.5 0.34375 2.5 0.75Z",active:t,fill:e})}),"PaddingHorizontalIcon");import{jsx as vl}from"react/jsx-runtime";var _r=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>vl(me,{...o,width:r,height:n,children:vl(nt,{d:"M0 1.75C0 1.34375 0.3125 1 0.75 1H15.25C15.6562 1 16 1.34375 16 1.75C16 2.1875 15.6562 2.5 15.25 2.5H0.75C0.3125 2.5 0 2.1875 0 1.75ZM11.5 6.5H4.5V9.5H11.5V6.5ZM4.5 5H11.5C12.3125 5 13 5.6875 13 6.5V9.5C13 10.3438 12.3125 11 11.5 11H4.5C3.65625 11 3 10.3438 3 9.5V6.5C3 5.6875 3.65625 5 4.5 5ZM0.75 13.5H15.25C15.6562 13.5 16 13.8438 16 14.25C16 14.6875 15.6562 15 15.25 15H0.75C0.3125 15 0 14.6875 0 14.25C0 13.8438 0.3125 13.5 0.75 13.5Z",active:t,fill:e})}),"PaddingVerticalIcon");import{jsx as yl}from"react/jsx-runtime";var fa=a(({color:e="#171717",width:t=16,height:r=13,...n})=>yl(me,{...n,fill:"none",width:t,height:r,children:yl("path",{d:"M1.39062 0.640625L4.01562 2.67969L4.17969 1.97656C4.29688 1.55469 4.67188 1.25 5.09375 1.25H12.9453C13.5547 1.25 14 1.83594 13.8594 2.42188L13.6016 3.45312C13.5312 3.75781 13.2266 3.94531 12.9219 3.875C12.6172 3.80469 12.4297 3.5 12.5 3.19531L12.7109 2.375H9.78125L8.65625 6.33594L15.2656 11.5156C15.5234 11.7031 15.5703 12.0547 15.3594 12.2891C15.1719 12.5469 14.8203 12.5938 14.5859 12.3828L0.710938 1.50781C0.453125 1.32031 0.40625 0.96875 0.617188 0.734375C0.804688 0.476562 1.15625 0.429688 1.39062 0.640625ZM4.97656 3.42969L7.71875 5.58594L8.60938 2.375H5.23438L4.97656 3.42969ZM8 8.67969L7.4375 10.625H8.75C9.05469 10.625 9.3125 10.8828 9.3125 11.1875C9.3125 11.5156 9.05469 11.75 8.75 11.75H5C4.67188 11.75 4.4375 11.5156 4.4375 11.1875C4.4375 10.8828 4.67188 10.625 5 10.625H6.28906L6.3125 10.4844L7.03906 7.92969L8 8.67969Z",fill:e})}),"RemoveFormattingIcon");import{jsx as xl}from"react/jsx-runtime";var Yo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>xl(me,{...o,width:r,height:n,children:xl(nt,{d:"M12.1562 1.5H14.3438L9.53125 7.03125L15.2188 14.5H10.7812L7.28125 9.96875L3.3125 14.5H1.09375L6.25 8.625L0.8125 1.5H5.375L8.5 5.65625L12.1562 1.5ZM11.375 13.1875H12.5938L4.71875 2.75H3.40625L11.375 13.1875Z",active:t,fill:e})}),"XIcon");import{useSortable as G1}from"@dnd-kit/sortable";import{NodeViewWrapper as K1}from"@tiptap/react";import{useSetAtom as J1}from"jotai";import{forwardRef as X1,useCallback as mn,useEffect as pu,useState as Y1}from"react";import{v4 as Q1}from"uuid";import{Color as eu}from"@tiptap/extension-color";import{Extension as Ep}from"@tiptap/core";import{dropCursor as Mp}from"@tiptap/pm/dropcursor";var ga=Ep.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[Mp(this.options)]}});import{HardBreak as tu}from"@tiptap/extension-hard-break";import{Extension as Ip}from"@tiptap/core";import{undo as Ap,redo as Lp,history as Sp}from"@tiptap/pm/history";var Rp=Ip.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>Ap(e,t),redo:()=>({state:e,dispatch:t})=>Lp(e,t)}},addProseMirrorPlugins(){return[Sp(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});import{Placeholder as ru}from"@tiptap/extension-placeholder";import{TextAlign as ou}from"@tiptap/extension-text-align";import{Typography as nu}from"@tiptap/extension-typography";import{Underline as iu}from"@tiptap/extension-underline";import{StarterKit as au}from"@tiptap/starter-kit";import{mergeAttributes as Op,Node as Wp}from"@tiptap/core";import{ReactNodeViewRenderer as zp}from"@tiptap/react";import{useSetAtom as Dp}from"jotai";import{useCallback as Vp}from"react";import{atom as Tt}from"jotai";var Hn={contentType:{state:"enabled"},bold:{state:"enabled"},italic:{state:"enabled"},underline:{state:"enabled"},strike:{state:"enabled"},alignLeft:{state:"enabled"},alignCenter:{state:"enabled"},alignRight:{state:"enabled"},alignJustify:{state:"enabled"},quote:{state:"enabled"},link:{state:"enabled"},variable:{state:"enabled"}},Cl=a(e=>{switch(e){case"button":return{bold:{state:"enabled"},italic:{state:"enabled"},underline:{state:"enabled"},strike:{state:"enabled"}};case"paragraph":case"heading":case"blockquote":return Hn;default:return{contentType:{state:"hidden"},bold:{state:"hidden"},italic:{state:"hidden"},underline:{state:"hidden"},strike:{state:"hidden"},alignLeft:{state:"hidden"},alignCenter:{state:"hidden"},alignRight:{state:"hidden"},alignJustify:{state:"hidden"},quote:{state:"hidden"},link:{state:"hidden"},variable:{state:"hidden"}}}},"getTextMenuConfigForNode");var Bp={paragraph:Hn,heading:Hn},Qo=Tt(Bp),Ke=Tt(null),bt=Tt(null,(e,t,r)=>{t(Ke,r)}),Hp=Tt({ref:null,caretPosition:null}),Dn=Tt({ref:null,caretPosition:null}),en=Tt({isFocused:!1,hasVariables:!1,showVariablePopup:!1}),wl=Tt(e=>t=>{let r=e(Qo),n=e(en),o=r[t]||{bold:{state:"hidden"},italic:{state:"hidden"},underline:{state:"hidden"},strike:{state:"hidden"},alignLeft:{state:"hidden"},alignCenter:{state:"hidden"},alignRight:{state:"hidden"},alignJustify:{state:"hidden"},quote:{state:"hidden"},link:{state:"hidden"},variable:{state:"hidden"}};return n.isFocused&&n.hasVariables?{...o,variable:{state:"enabled"}}:o}),Tl=Tt(null,(e,t,{nodeName:r,config:n})=>{let o=e(Qo);t(Qo,{...o,[r]:{...o[r],...Object.fromEntries(Object.entries(n).map(([i,s])=>[i,{state:(s==null?void 0:s.state)||"hidden"}]))}})}),n3=Tt(null,(e,t,r)=>{let n=e(Qo),{[r]:o,...i}=n;t(Qo,i)}),kl=Tt(null,(e,t,{ref:r,caretPosition:n})=>{t(Hp,{ref:r,caretPosition:n})}),i3=Tt(null,(e,t,r)=>{let n=e(en);t(en,{...n,showVariablePopup:r})}),ha=Tt(null),bo=Tt(null,(e,t,r)=>{t(ha,r)});import{jsx as Ir}from"react/jsx-runtime";var Fp=a(({label:e,alignment:t,size:r,backgroundColor:n,textColor:o,borderWidth:i,borderRadius:s,borderColor:u,padding:l,fontWeight:c,fontStyle:d,isUnderline:f,isStrike:m})=>Ir("div",{className:"courier-w-full node-element",children:Ir("div",{className:"courier-flex",style:{marginTop:`${l}px`,marginBottom:`${l}px`},children:Ir("div",{className:M("courier-inline-flex courier-justify-center courier-px-4 courier-py-2 courier-cursor-pointer courier-text-base",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[t],r==="full"&&"courier-w-full"),style:{backgroundColor:n,color:o,borderWidth:`${i}px`,borderRadius:`${s}px`,borderColor:u,borderStyle:i>0?"solid":"none",caretColor:"#ff0000",fontWeight:c,fontStyle:d},children:m?Ir("s",{children:f?Ir("u",{children:e}):e}):f?Ir("u",{children:e}):e})})}),"ButtonComponent"),Pl=a(e=>{let t=Dp(bt),r=Vp(()=>{if(!e.editor.isEditable)return;let n=e.getPos(),o=e.editor.state.doc.nodeAt(n);if(o){e.editor.commands.blur();let i=o.attrs.id;e.editor.state.doc.descendants(s=>s.type.name==="button"&&s.attrs.id===i?(t(s),!1):!0)}},[e,t]);return Ir(Yt,{id:e.node.attrs.id,className:M(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,"data-node-type":"button",children:Ir(Fp,{...e.node.attrs})})},"ButtonComponentNode");import{v4 as $p}from"uuid";var Se={label:"Button",link:"",alignment:"center",size:"default",backgroundColor:"#0085FF",textColor:"#ffffff",borderWidth:0,borderRadius:0,borderColor:"#000000",padding:6,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1},Vn=Wp.create({name:"button",group:"block",atom:!0,onCreate(){Lt(this.editor,this.name)},addAttributes(){return{label:{default:Se.label,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>({"data-label":e.label})},link:{default:Se.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alignment:{default:Se.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},size:{default:Se.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},backgroundColor:{default:Se.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},textColor:{default:Se.textColor,parseHTML:e=>e.getAttribute("data-text-color"),renderHTML:e=>({"data-text-color":e.textColor})},borderWidth:{default:Se.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:Se.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Se.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},padding:{default:Se.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.padding})},fontWeight:{default:Se.fontWeight,parseHTML:e=>e.getAttribute("data-font-weight"),renderHTML:e=>({"data-font-weight":e.fontWeight})},fontStyle:{default:Se.fontStyle,parseHTML:e=>e.getAttribute("data-font-style"),renderHTML:e=>({"data-font-style":e.fontStyle})},isUnderline:{default:Se.isUnderline,parseHTML:e=>e.getAttribute("data-is-underline"),renderHTML:e=>({"data-is-underline":e.isUnderline})},isStrike:{default:Se.isStrike,parseHTML:e=>e.getAttribute("data-is-strike"),renderHTML:e=>({"data-is-strike":e.isStrike})},id:{default:()=>`node-${$p()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})}}},parseHTML(){return[{tag:'div[data-type="button"]'}]},renderHTML({HTMLAttributes:e}){return["div",Op(this.options.HTMLAttributes,e,{"data-type":"button"}),0]},addNodeView(){return zp(Pl)},addCommands(){return{toggleBold:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=n.attrs.fontWeight==="bold"?"normal":"bold";return t().updateAttributes(n.type,{fontWeight:o}).run()}return t().focus().toggleMark("bold").run()},toggleItalic:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=n.attrs.fontStyle==="italic"?"normal":"italic";return t().updateAttributes(n.type,{fontStyle:o}).run()}return t().focus().toggleMark("italic").run()},toggleUnderline:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=!n.attrs.isUnderline;return t().updateAttributes(n.type,{isUnderline:o}).run()}return t().focus().toggleMark("underline").run()},toggleStrike:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=!n.attrs.isStrike;return t().updateAttributes(n.type,{isStrike:o}).run()}return t().focus().toggleMark("strike").run()}}}});import{z as ut}from"zod";var Nl=ut.object({label:ut.string(),link:ut.string().optional(),alignment:ut.enum(["left","center","right"]),size:ut.enum(["default","full"]),backgroundColor:ut.string(),textColor:ut.string(),borderWidth:ut.number(),borderRadius:ut.number(),borderColor:ut.string(),padding:ut.number(),fontWeight:ut.enum(["normal","bold"]),fontStyle:ut.enum(["normal","italic"]),isUnderline:ut.boolean(),isStrike:ut.boolean()});import{zodResolver as em}from"@hookform/resolvers/zod";import{useForm as tm}from"react-hook-form";import{useEffect as Up,useRef as El}from"react";var Qt=a(({editor:e,element:t,form:r,nodeType:n})=>{let o=El(null),i=El(null);return Up(()=>{if(!e||!t)return;let u=a(()=>{let l=null;if(e.state.doc.descendants((c,d)=>c.attrs.id===t.attrs.id?(l=d,!1):!0),l!==null){let c=e.state.doc.nodeAt(l);(c==null?void 0:c.type.name)===n&&(o.current=c,i.current=l,Object.entries(c.attrs).forEach(([d,f])=>{r.getValues(d)!==f&&r.setValue(d,f)}))}},"updateCurrentNode");return u(),e.on("update",u),()=>{e.off("update",u)}},[e,t,r,n]),{updateNodeAttributes:a(u=>{!e||i.current===null||e.commands.command(({tr:l})=>{let c=l.doc.nodeAt(i.current);if((c==null?void 0:c.type.name)===n){let d={...c.attrs,...u,id:c.attrs.id};return l.setNodeMarkup(i.current,c.type,d),!0}return!1})},"updateNodeAttributes")}},"useNodeAttributes");import{useSetAtom as Yp}from"jotai";import{jsx as Ml,jsxs as Zp}from"react/jsx-runtime";var vt=a(({draggable:e=!1,icon:t,draggableLabel:r,label:n})=>Zp("div",{className:"courier-flex courier-flex-row courier-items-center courier-gap-2",children:[Ml("div",{className:M("courier-w-8 courier-h-8 courier-rounded-md courier-flex courier-items-center courier-justify-center",e?"courier-cursor-grab courier-bg-[#F5F5F5]":"courier-border"),children:t}),Ml("span",{className:"courier-text-sm courier-font-medium",children:e?r:n})]}),"BlockBase");import{Quote as _p}from"lucide-react";import{jsx as Il}from"react/jsx-runtime";var Al=a(({draggable:e=!1})=>Il(vt,{draggable:e,icon:Il(_p,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),draggableLabel:"Blockquote",label:"Blockquote block"}),"BlockquoteBlock");import{jsx as Fn}from"react/jsx-runtime";var qp=a(()=>Fn("svg",{width:"20",height:"12",viewBox:"0 0 20 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Fn("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:"#171717"})}),"ButtonBlockIcon"),vo=a(({draggable:e=!1})=>Fn(vt,{draggable:e,icon:Fn(qp,{}),draggableLabel:"Button",label:"Button block"}),"ButtonBlock");import{jsx as On}from"react/jsx-runtime";var jp=a(()=>On("svg",{width:"16",height:"2",viewBox:"0 0 16 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:On("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:"#171717"})}),"DividerBlockIcon"),yo=a(({draggable:e=!1})=>On(vt,{draggable:e,icon:On(jp,{}),draggableLabel:"Divider",label:"Divider block"}),"DividerBlock");import{jsx as Wn}from"react/jsx-runtime";var Gp=a(()=>Wn("svg",{width:"18",height:"13",viewBox:"0 0 18 13",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Wn("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:"#171717"})}),"HeadingBlockIcon"),xo=a(({draggable:e=!1})=>Wn(vt,{draggable:e,icon:Wn(Gp,{}),draggableLabel:"Heading",label:"Heading block"}),"HeadingBlock");import{jsx as zn}from"react/jsx-runtime";var Kp=a(()=>zn("svg",{width:"16",height:"14",viewBox:"0 0 16 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:zn("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:"#171717"})}),"ImageBlockIcon"),Co=a(({draggable:e=!1})=>zn(vt,{draggable:e,icon:zn(Kp,{}),draggableLabel:"Image",label:"Image block"}),"ImageBlock");import{AlignVerticalSpaceAround as Jp}from"lucide-react";import{jsx as Ll}from"react/jsx-runtime";var wo=a(({draggable:e=!1})=>Ll(vt,{draggable:e,icon:Ll(Jp,{className:"courier-w-4 courier-h-4"}),draggableLabel:"Spacer",label:"Spacer block"}),"SpacerBlock");import{jsx as $n}from"react/jsx-runtime";var Xp=a(()=>$n("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:$n("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:"#171717"})}),"TextBlockIcon"),To=a(({draggable:e=!1})=>$n(vt,{draggable:e,icon:$n(Xp,{}),draggableLabel:"Text",label:"Text block"}),"TextBlock");import{jsx as gr,jsxs as Qp}from"react/jsx-runtime";var er=a(({type:e})=>{let t=Yp(bt);return Qp("div",{className:"courier-flex courier-gap-4 courier-flex-col",children:[gr(Me,{className:"courier-w-fit",variant:"secondary",buttonSize:"small",onClick:()=>{t(null)},children:"Close"}),e==="heading"&&gr(xo,{}),e==="text"&&gr(To,{}),e==="image"&&gr(Co,{}),e==="spacer"&&gr(wo,{}),e==="divider"&&gr(yo,{}),e==="button"&&gr(vo,{}),e==="blockquote"&&gr(Al,{}),gr(fe,{className:"courier-m-0"})]})},"FormHeader");import{useSetAtom as ba}from"jotai";import*as qr from"react";import{useRef as Rl,useState as va}from"react";import{jsx as Sl}from"react/jsx-runtime";var tn=a(({items:e,command:t,selected:r=0})=>Sl("div",{className:"courier-bg-white courier-rounded-md courier-shadow-lg courier-border courier-border-border courier-max-h-60 courier-overflow-y-auto",children:e.map((n,o)=>Sl("button",{className:M("courier-w-full courier-px-4 courier-py-2 courier-text-left hover:courier-bg-gray-100 focus:courier-bg-gray-100 focus:courier-outline-none",o===r?"courier-bg-gray-100":""),onClick:()=>t(n),children:n},o))}),"VariableSuggestions");import{jsx as ko,jsxs as Bl}from"react/jsx-runtime";var kt=qr.forwardRef(({as:e="Input",variables:t=[],autoResize:r,onChange:n,...o},i)=>{let[s,u]=va(!1),[l,c]=va(null),[d,f]=va(0),m=Rl(null),h=Rl(null),g=ba(en),y=ba(kl),b=ba(Dn),x=qr.useCallback(()=>{if(!h.current)return;let T={ref:h.current,caretPosition:h.current.selectionStart};y(T),b(T);let N={isFocused:!0,hasVariables:t.length>0,showVariablePopup:!1};g(N)},[g,y,b,t]),E=qr.useCallback(T=>{var D,P;let N=T.relatedTarget&&((D=m.current)==null?void 0:D.contains(T.relatedTarget)),H=(P=T.relatedTarget)==null?void 0:P.closest("[data-variable-button]");!N&&!H&&(y({ref:null,caretPosition:null}),g({isFocused:!1,hasVariables:!1,showVariablePopup:!1}))},[g,y]),I=a(T=>{let N=T.target,H={ref:N,caretPosition:N.selectionStart};y(H),b(H)},"handleSelect"),p=a(T=>{var N;if(s)switch(T.key){case"ArrowUp":T.preventDefault(),f(H=>H>0?H-1:t.length-1);break;case"ArrowDown":T.preventDefault(),f(H=>H<t.length-1?H+1:0);break;case"Enter":if(t[d]){T.preventDefault(),T.stopPropagation(),v(t[d]);return}break;case"Escape":u(!1),T.preventDefault(),T.stopPropagation();break}(N=o.onKeyDown)==null||N.call(o,T)},"handleKeyDown"),v=a(T=>{let N=h.current;if(!N)return;let H=N.value,D=N.selectionStart||0,P=H.substring(0,D-2),A=H.substring(D),L=`${P}{{${T}}}${A}`,W=D+T.length+3;if(n){let V={target:{...N,value:L}};n(V)}setTimeout(()=>{N.value=L,N.setSelectionRange(W,W)},0),u(!1)},"insertVariable"),w=a(T=>{var P;let N=T.target,H=N.value,D=N.selectionStart||0;if(H.slice(D-2,D)==="{{"&&((P=m.current)==null?void 0:P.getBoundingClientRect())){let L=H.slice(0,D),W=document.createElement("span");W.style.font=window.getComputedStyle(N).font,W.style.whiteSpace="pre-wrap",W.textContent=L,document.body.appendChild(W);let V=W.offsetWidth;document.body.removeChild(W);let J=parseInt(window.getComputedStyle(N).lineHeight),U=L.split(`
|
|
153
|
-
`).length-1;
|
|
154
|
-
`).length-1;c({left:Math.min(V%N.offsetWidth,N.offsetWidth-200),top:U*J+30}),u(!0),f(0)}n&&n({target:N,currentTarget:N,type:"change",preventDefault:()=>{},stopPropagation:()=>{}})},"handleInput");if(qr.useEffect(()=>{let T=h.current;if(!T)return;let N=a(H=>{c(H.detail.cursorPosition),u(!0),f(0)},"handleShowSuggestions");return T.addEventListener("showVariableSuggestions",N),()=>{T.removeEventListener("showVariableSuggestions",N)}},[]),e==="Input"){let T={...o,ref:N=>{h.current=N,typeof i=="function"?i(N):i&&(i.current=N)},onChange:w,onInput:R,onKeyDown:p,onFocus:x,onBlur:E,onSelect:I};return Bl("div",{ref:m,className:"courier-relative",children:[ko(de,{...T}),s&&l&&ko("div",{style:{position:"absolute",left:`${l.left}px`,top:`${l.top}px`,zIndex:50},children:ko(tn,{items:t,command:v,selected:d})})]})}let B={...o,ref:T=>{h.current=T,typeof i=="function"?i(T):i&&(i.current=T)},onChange:w,onInput:R,onKeyDown:p,onFocus:x,onBlur:E,autoResize:r,onSelect:I};return Bl("div",{ref:m,className:"courier-relative",children:[ko(oa,{...B}),s&&l&&ko("div",{style:{position:"absolute",left:`${l.left}px`,top:`${l.top}px`,zIndex:50},children:ko(tn,{items:t,command:v,selected:d})})]})});kt.displayName="TextInput";var Ft=a((e={},t="")=>Object.entries(e).reduce((r,[n,o])=>{let i=t?`${t}.${n}`:n;return o&&typeof o=="object"&&!Array.isArray(o)?[...r,...Ft(o,i)]:[...r,i]},[]),"getFlattenedVariables");import{jsx as rr,jsxs as Vl}from"react/jsx-runtime";var rn="#80849D",tr=30,Un=a(({color:e=rn,width:t=tr,height:r=tr,...n})=>rr(me,{...n,width:t,height:r,children:rr("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"),Zn=a(({color:e=rn,width:t=tr,height:r=tr,...n})=>rr(me,{...n,width:t,height:r,children:rr("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"),_n=a(({color:e=rn,width:t=tr,height:r=tr,...n})=>rr(me,{...n,width:t,height:r,children:rr("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"),Hl=a(({color:e=rn,width:t=tr,height:r=tr,...n})=>Vl(me,{...n,width:t,height:r,children:[rr("path",{d:"M10.3007 18.8007C10.0566 19.0448 10.0566 19.4405 10.3007 19.6846C10.5448 19.9287 10.9405 19.9287 11.1846 19.6846L10.3007 18.8007ZM11.1846 10.3154C10.9405 10.0713 10.5448 10.0713 10.3007 10.3154C10.0566 10.5595 10.0566 10.9552 10.3007 11.1993L11.1846 10.3154ZM8.11464 14.375C7.76946 14.375 7.48964 14.6548 7.48964 15C7.48964 15.3452 7.76946 15.625 8.11464 15.625L8.11464 14.375ZM13.5092 15.625C13.8544 15.625 14.1342 15.3452 14.1342 15C14.1342 14.6548 13.8544 14.375 13.5092 14.375L13.5092 15.625ZM11.1846 19.6846L13.9512 16.918L13.0673 16.0341L10.3007 18.8007L11.1846 19.6846ZM13.9512 13.082L11.1846 10.3154L10.3007 11.1993L13.0673 13.9659L13.9512 13.082ZM13.9512 16.918C14.2866 16.5826 14.5836 16.2875 14.7889 16.0183C15.0053 15.7347 15.178 15.4078 15.178 15L13.928 15C13.928 15.0246 13.9267 15.0877 13.7951 15.2601C13.6526 15.4469 13.4277 15.6737 13.0673 16.0341L13.9512 16.918ZM13.0673 13.9659C13.4277 14.3263 13.6526 14.5531 13.7951 14.7399C13.9267 14.9123 13.928 14.9754 13.928 15L15.178 15C15.178 14.5922 15.0053 14.2653 14.7889 13.9817C14.5836 13.7125 14.2866 13.4174 13.9512 13.082L13.0673 13.9659ZM8.11464 15.625L13.5092 15.625L13.5092 14.375L8.11464 14.375L8.11464 15.625Z",fill:e}),rr("path",{d:"M21.6993 18.8007C21.9434 19.0448 21.9434 19.4405 21.6993 19.6846C21.4552 19.9287 21.0595 19.9287 20.8154 19.6846L21.6993 18.8007ZM20.8154 10.3154C21.0595 10.0713 21.4552 10.0713 21.6993 10.3154C21.9434 10.5595 21.9434 10.9552 21.6993 11.1993L20.8154 10.3154ZM23.8854 14.375C24.2305 14.375 24.5104 14.6548 24.5104 15C24.5104 15.3452 24.2305 15.625 23.8854 15.625L23.8854 14.375ZM18.4908 15.625C18.1456 15.625 17.8658 15.3452 17.8658 15C17.8658 14.6548 18.1456 14.375 18.4908 14.375L18.4908 15.625ZM20.8154 19.6846L18.0488 16.918L18.9327 16.0341L21.6993 18.8007L20.8154 19.6846ZM18.0488 13.082L20.8154 10.3154L21.6993 11.1993L18.9327 13.9659L18.0488 13.082ZM18.0488 16.918C17.7134 16.5826 17.4164 16.2875 17.2111 16.0183C16.9947 15.7347 16.822 15.4078 16.822 15L18.072 15C18.072 15.0246 18.0733 15.0877 18.2049 15.2601C18.3474 15.4469 18.5723 15.6737 18.9327 16.0341L18.0488 16.918ZM18.9327 13.9659C18.5723 14.3263 18.3474 14.5531 18.2049 14.7399C18.0733 14.9123 18.072 14.9754 18.072 15L16.822 15C16.822 14.5922 16.9947 14.2653 17.2111 13.9817C17.4164 13.7125 17.7134 13.4174 18.0488 13.082L18.9327 13.9659ZM23.8854 15.625L18.4908 15.625L18.4908 14.375L23.8854 14.375L23.8854 15.625Z",fill:e})]}),"ButtonSizeDefaultIcon"),Dl=a(({color:e=rn,width:t=tr,height:r=tr,...n})=>Vl(me,{...n,width:t,height:r,children:[rr("path",{d:"M9.18459 18.8007C9.42867 19.0448 9.42867 19.4405 9.18459 19.6846C8.94051 19.9287 8.54479 19.9287 8.30071 19.6846L9.18459 18.8007ZM8.30071 10.3154C8.54479 10.0713 8.94051 10.0713 9.18459 10.3154C9.42867 10.5595 9.42867 10.9552 9.18459 11.1993L8.30071 10.3154ZM11.3707 14.375C11.7158 14.375 11.9957 14.6548 11.9957 15C11.9957 15.3452 11.7158 15.625 11.3707 15.625L11.3707 14.375ZM5.97605 15.625C5.63087 15.625 5.35105 15.3452 5.35105 15C5.35105 14.6548 5.63087 14.375 5.97605 14.375L5.97605 15.625ZM8.30071 19.6846L5.5341 16.918L6.41799 16.0341L9.18459 18.8007L8.30071 19.6846ZM5.5341 13.082L8.30071 10.3154L9.18459 11.1993L6.41799 13.9659L5.5341 13.082ZM5.5341 16.918C5.19869 16.5826 4.90174 16.2875 4.69637 16.0183C4.48 15.7347 4.30733 15.4078 4.30733 15L5.55733 15C5.55733 15.0246 5.55861 15.0877 5.69015 15.2601C5.83269 15.4469 6.05759 15.6737 6.41799 16.0341L5.5341 16.918ZM6.41799 13.9659C6.05759 14.3263 5.83269 14.5531 5.69015 14.7399C5.55861 14.9123 5.55733 14.9754 5.55733 15L4.30733 15C4.30733 14.5922 4.48 14.2653 4.69637 13.9817C4.90174 13.7125 5.19869 13.4174 5.5341 13.082L6.41799 13.9659ZM11.3707 15.625L5.97605 15.625L5.97605 14.375L11.3707 14.375L11.3707 15.625Z",fill:e}),rr("path",{d:"M22.8154 18.8007C22.5713 19.0448 22.5713 19.4405 22.8154 19.6846C23.0595 19.9287 23.4552 19.9287 23.6993 19.6846L22.8154 18.8007ZM23.6993 10.3154C23.4552 10.0713 23.0595 10.0713 22.8154 10.3154C22.5713 10.5595 22.5713 10.9552 22.8154 11.1993L23.6993 10.3154ZM20.6293 14.375C20.2842 14.375 20.0043 14.6548 20.0043 15C20.0043 15.3452 20.2842 15.625 20.6293 15.625L20.6293 14.375ZM26.024 15.625C26.3691 15.625 26.649 15.3452 26.649 15C26.649 14.6548 26.3691 14.375 26.024 14.375L26.024 15.625ZM23.6993 19.6846L26.4659 16.918L25.582 16.0341L22.8154 18.8007L23.6993 19.6846ZM26.4659 13.082L23.6993 10.3154L22.8154 11.1993L25.582 13.9659L26.4659 13.082ZM26.4659 16.918C26.8013 16.5826 27.0983 16.2875 27.3036 16.0183C27.52 15.7347 27.6927 15.4078 27.6927 15L26.4427 15C26.4427 15.0246 26.4414 15.0877 26.3099 15.2601C26.1673 15.4469 25.9424 15.6737 25.582 16.0341L26.4659 16.918ZM25.582 13.9659C25.9424 14.3263 26.1673 14.5531 26.3099 14.7399C26.4414 14.9123 26.4427 14.9754 26.4427 15L27.6927 15C27.6927 14.5922 27.52 14.2653 27.3036 13.9817C27.0983 13.7125 26.8013 13.4174 26.4659 13.082L25.582 13.9659ZM20.6293 15.625L26.024 15.625L26.024 14.375L20.6293 14.375L20.6293 15.625Z",fill:e})]}),"ButtonSizeFullIcon");import{jsx as z,jsxs as it}from"react/jsx-runtime";var Fl=a(({element:e,editor:t})=>{var s,u;let r=tm({resolver:em(Nl),defaultValues:{...Se,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=Qt({editor:t,element:e,form:r,nodeType:"button"}),o=((u=(s=t==null?void 0:t.extensionManager.extensions.find(l=>l.name==="variableSuggestion"))==null?void 0:s.options)==null?void 0:u.variables)||{},i=Ft(o);return e?it(ht,{...r,children:[z(er,{type:"button"}),it("form",{onChange:()=>{n(r.getValues())},children:[z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Link"}),z(j,{control:r.control,name:"link",render:({field:l})=>it(Z,{children:[z(_,{children:z(kt,{as:"Textarea",...l,variables:i,onChange:c=>{l.onChange(c),n({...r.getValues(),link:c.target.value})}})}),z(q,{})]})}),z(fe,{className:"courier-mt-6 courier-mb-4"}),z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Text"}),z(j,{control:r.control,name:"label",render:({field:l})=>it(Z,{className:"courier-mb-2",children:[z(_,{children:z(kt,{...l,variables:i,onChange:c=>{l.onChange(c),n({...r.getValues(),label:c.target.value})}})}),z(q,{})]})}),z(j,{control:r.control,name:"textColor",render:({field:l})=>it(Z,{className:"courier-mb-4",children:[z(_,{children:z(De,{...l,defaultValue:Se.textColor,onChange:c=>{l.onChange(c),n({...r.getValues(),[l.name]:c})}})}),z(q,{})]})}),z(fe,{className:"courier-mt-6 courier-mb-4"}),z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Background"}),z(j,{control:r.control,name:"backgroundColor",render:({field:l})=>it(Z,{className:"courier-mb-4",children:[z(_,{children:z(De,{...l,defaultValue:Se.backgroundColor,onChange:c=>{l.onChange(c),n({...r.getValues(),[l.name]:c})}})}),z(q,{})]})}),z(fe,{className:"courier-mt-6 courier-mb-4"}),z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),z(j,{control:r.control,name:"padding",render:({field:l})=>it(Z,{className:"courier-mb-2",children:[z(_,{children:z(de,{type:"number",min:0,...l})}),z(q,{})]})}),it("div",{className:"courier-flex courier-flex-row courier-gap-6",children:[z(j,{control:r.control,name:"alignment",render:({field:l})=>it(Z,{children:[z(_,{children:it(fr,{type:"single",value:l.value,onValueChange:c=>{l.onChange(c),n({...r.getValues(),alignment:c})},children:[z(ct,{value:"left",children:z(Un,{})}),z(ct,{value:"center",children:z(Zn,{})}),z(ct,{value:"right",children:z(_n,{})})]})}),z(q,{})]})}),z(j,{control:r.control,name:"size",render:({field:l})=>it(Z,{children:[z(_,{children:it(fr,{type:"single",value:l.value,onValueChange:c=>{l.onChange(c),n({...r.getValues(),size:c})},children:[z(ct,{value:"default",children:z(Hl,{})}),z(ct,{value:"full",children:z(Dl,{})})]})}),z(q,{})]})})]}),z(fe,{className:"courier-mt-6 courier-mb-4"}),z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),it("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[z(j,{control:r.control,name:"borderWidth",render:({field:l})=>it(Z,{children:[z(_,{children:z(de,{startAdornment:z(Vt,{}),type:"number",min:0,...l})}),z(q,{})]})}),z(j,{control:r.control,name:"borderRadius",render:({field:l})=>it(Z,{children:[z(_,{children:z(de,{startAdornment:z(Zr,{}),type:"number",min:0,...l})}),z(q,{})]})})]}),z(j,{control:r.control,name:"borderColor",render:({field:l})=>it(Z,{className:"courier-mb-4",children:[z(_,{children:z(De,{...l,defaultValue:Se.borderColor,onChange:c=>{l.onChange(c),n({...r.getValues(),[l.name]:c})}})}),z(q,{})]})})]})]}):null},"ButtonForm");import{mergeAttributes as um}from"@tiptap/core";import{Node as rm,mergeAttributes as om,isNodeSelection as nm,nodeInputRule as im}from"@tiptap/core";import{TextSelection as ya,NodeSelection as am}from"@tiptap/pm/state";var Ol=rm.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:e}){return["hr",om(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:t})=>{let{selection:r}=t,{$from:n,$to:o}=r,i=e();return n.parentOffset===0?i.insertContentAt({from:Math.max(n.pos-1,0),to:o.pos},{type:this.name}):nm(r)?i.insertContentAt(o.pos,{type:this.name}):i.insertContent({type:this.name}),i.command(({tr:s,dispatch:u})=>{var l;if(u){let{$to:c}=s.selection,d=c.end();if(c.nodeAfter)c.nodeAfter.isTextblock?s.setSelection(ya.create(s.doc,c.pos+1)):c.nodeAfter.isBlock?s.setSelection(am.create(s.doc,c.pos)):s.setSelection(ya.create(s.doc,c.pos));else{let f=(l=c.parent.type.contentMatch.defaultType)===null||l===void 0?void 0:l.create();f&&(s.insert(d,f),s.setSelection(ya.create(s.doc,d+1)))}s.scrollIntoView()}return!0}).run()}}},addInputRules(){return[im({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}});import{ReactNodeViewRenderer as dm}from"@tiptap/react";import{v4 as pm}from"uuid";import{useSetAtom as sm}from"jotai";import{useCallback as lm}from"react";import{jsx as qn}from"react/jsx-runtime";var cm=a(({padding:e,color:t,size:r,radius:n,variant:o="divider"})=>qn("div",{className:"courier-w-full node-element",children:qn("hr",{style:{marginTop:`${e}px`,marginBottom:`${e}px`,backgroundColor:o==="spacer"?"transparent":t,height:`${r}px`,borderRadius:`${n}px`,border:"none"},"data-variant":o})}),"DividerComponent"),Wl=a(e=>{let t=sm(bt),r=lm(()=>{if(!e.editor.isEditable)return;let n=e.getPos(),o=e.editor.state.doc.nodeAt(n);o&&(e.editor.commands.blur(),t(o))},[e,t]);return qn(Yt,{id:e.node.attrs.id,className:M(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,children:qn(cm,{...e.node.attrs})})},"DividerComponentNode");var Ot={padding:6,color:"#000000",size:1,radius:0,variant:"divider"},zl={padding:6,color:"transparent",size:1,radius:0,variant:"spacer"},xa=Ol.extend({name:"divider",atom:!0,onCreate(){Lt(this.editor,this.name)},addAttributes(){return{padding:{default:Ot.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.margin})},size:{default:Ot.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},color:{default:Ot.color,parseHTML:e=>e.getAttribute("data-color"),renderHTML:e=>({"data-color":e.color})},width:{default:Ot.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},radius:{default:Ot.radius,parseHTML:e=>e.getAttribute("data-radius"),renderHTML:e=>({"data-radius":e.radius})},variant:{default:Ot.variant,parseHTML:e=>e.getAttribute("data-variant"),renderHTML:e=>({"data-variant":e.variant})},id:{default:()=>`node-${pm()}`,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",um(e,{"data-type":"divider"}),["hr"]]},addNodeView(){return dm(Wl)}});import{z as Po}from"zod";var $l=Po.object({padding:Po.number(),color:Po.string(),size:Po.number(),radius:Po.number(),variant:Po.enum(["divider","spacer"]).default("divider")});import{zodResolver as mm}from"@hookform/resolvers/zod";import{useForm as fm}from"react-hook-form";import{Fragment as gm,jsx as Ue,jsxs as No}from"react/jsx-runtime";var Ul=a(({element:e,editor:t})=>{let r=fm({resolver:mm($l),defaultValues:{...Ot,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=Qt({editor:t,element:e,form:r,nodeType:"divider"});if(!e)return null;let o=r.watch("variant");return No(ht,{...r,children:[Ue(er,{type:o}),No("form",{onChange:()=>{n(r.getValues())},children:[Ue("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),Ue(j,{control:r.control,name:"padding",render:({field:i})=>No(Z,{children:[Ue(_,{children:Ue(de,{startAdornment:Ue(_r,{}),type:"number",...i,onChange:s=>{i.onChange(s),n({...r.getValues(),margin:s.target.value})}})}),Ue(q,{})]})}),o==="divider"&&No(gm,{children:[Ue(fe,{className:"courier-mt-6 courier-mb-4"}),Ue("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Line"}),Ue(j,{control:r.control,name:"size",render:({field:i})=>No(Z,{className:"courier-mb-4",children:[Ue(_,{children:Ue(de,{startAdornment:Ue(Vt,{}),type:"number",min:0,...i,onChange:s=>{i.onChange(s),n({...r.getValues(),width:s.target.value})}})}),Ue(q,{})]})}),Ue(j,{control:r.control,name:"color",render:({field:i})=>No(Z,{className:"courier-mb-4",children:[Ue(_,{children:Ue(De,{...i,defaultValue:Ot.color,onChange:s=>{i.onChange(s),n({...r.getValues(),[i.name]:s})}})}),Ue(q,{})]})})]})]})]})},"DividerForm");import{Node as hm}from"@tiptap/core";var Zl=hm.create({name:"doc",topNode:!0,content:"block+"});var Ca=Zl.extend({content:"(block)+"});import{Node as Tm}from"@tiptap/core";import{ReactNodeViewRenderer as km}from"@tiptap/react";import{useSortable as bm}from"@dnd-kit/sortable";import{NodeViewWrapper as vm}from"@tiptap/react";import{forwardRef as ym,useEffect as _l,useState as xm}from"react";import{jsx as jn}from"react/jsx-runtime";function Cm(){let[e,t]=xm(!1);return _l(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}a(Cm,"useMountStatus");var wm=ym(({children:e,className:t,dragOverlay:r,id:n},o)=>(_l(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]),jn(vm,{ref:o,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":n,className:M("courier-flex courier-items-start courier-gap-2 courier-pl-6",t),children:e}))),ql=a(({node:e})=>{let t=e.attrs.type,r=e.attrs.id,{setNodeRef:n,setActivatorNodeRef:o,listeners:i,isDragging:s,transform:u,transition:l}=bm({id:r}),c=Cm();return jn(wm,{ref:n,id:r,transition:l,transform:u,fadeIn:s&&!c,listeners:i,handleProps:{ref:o},children:jn("div",{className:M("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-primary/30 courier-rounded-md","courier-animate-pulse"),children:jn("div",{className:"courier-text-muted-foreground",children:t==="text"?"Text":t==="heading"?"Heading":t==="spacer"?"Spacer":t==="divider"?"Divider":t==="button"?"Button":t==="image"?"Image":t})})})},"DragPlaceholderComponent");var jl=Tm.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 n=this.type.create(e);typeof e.pos=="number"?t.insert(e.pos,n):t.replaceSelectionWith(n)}return!0},removeDragPlaceholder:()=>({tr:e,state:t,dispatch:r})=>{let n=!1;return t.doc.descendants((o,i)=>o.type.name===this.name?(r&&(o!=null&&o.nodeSize)&&(e.delete(i,i+o.nodeSize),n=!0),!1):!0),n}}},addNodeView(){return km(ql,{as:"div",className:"drag-placeholder-wrapper"})}});import{Extension as Pm}from"@tiptap/core";import{Plugin as Nm,PluginKey as Em}from"@tiptap/pm/state";var Mm=new Em("file-handler"),Im=Pm.create({name:"fileHandler",addOptions(){return{allowedMimeTypes:[],onDrop:()=>{},onPaste:()=>{}}},addProseMirrorPlugins(){let{allowedMimeTypes:e,onDrop:t,onPaste:r}=this.options;return[new Nm({key:Mm,props:{handleDrop:(n,o,i,s)=>{var d;if(!((d=o.dataTransfer)!=null&&d.files)||s)return!1;let{files:u}=o.dataTransfer,l=n.posAtCoords({left:o.clientX,top:o.clientY});if(!l)return!1;let c=Array.from(u).filter(f=>e==null?void 0:e.includes(f.type));return c.length===0?!1:(o.preventDefault(),t&&t(this.editor,c,l.pos),!0)},handlePaste:(n,o)=>{var u;if(!((u=o.clipboardData)!=null&&u.files))return!1;let{files:i}=o.clipboardData,s=Array.from(i).filter(l=>e==null?void 0:e.includes(l.type));return s.length===0?!1:(o.preventDefault(),r&&r(this.editor,s),!0)}}})]}}),Gn=Im;import{mergeAttributes as Om}from"@tiptap/core";import{Node as Am,mergeAttributes as Lm,textblockTypeInputRule as Sm}from"@tiptap/core";var Gl=Am.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]}`,Lm(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=>Sm({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}});import{z as Wt}from"zod";var Kl=Wt.object({paddingVertical:Wt.number(),paddingHorizontal:Wt.number(),backgroundColor:Wt.string(),borderWidth:Wt.number(),borderRadius:Wt.number(),borderColor:Wt.string(),textColor:Wt.string(),textAlign:Wt.enum(["left","center","right","justify"]).default("left"),selected:Wt.boolean().default(!1),id:Wt.string().optional()}),Y={paddingVertical:6,paddingHorizontal:0,backgroundColor:"transparent",borderWidth:0,borderRadius:0,borderColor:"#000000",textColor:"#292929",textAlign:"left",selected:!1};import{NodeViewContent as Rm,NodeViewWrapper as Bm}from"@tiptap/react";import{useSetAtom as Hm}from"jotai";import{useCallback as Dm}from"react";import{jsx as jr}from"react/jsx-runtime";var Jl=a(({paddingVertical:e,paddingHorizontal:t,textAlign:r,backgroundColor:n,borderWidth:o,borderRadius:i,borderColor:s,textColor:u,level:l,type:c})=>{let d=c==="heading"?`h${l}`:"p";return jr("div",{className:"courier-w-full node-element",children:jr("div",{className:M(!u&&"is-empty"),style:{padding:`${e}px ${t}px`,textAlign:r,backgroundColor:n,borderWidth:`${o}px`,borderRadius:`${i}px`,borderColor:s,borderStyle:o>0?"solid":"none",color:u},children:jr(Rm,{as:d})})})},"TextBlockComponent"),Kn=a(e=>{let t=Hm(bt),r=Dm(()=>{if(!e.editor.isEditable)return;let s=e.getPos(),u=e.editor.state.doc.nodeAt(s);u&&t(u)},[e,t]),n=!e.node.content||e.node.content.size===0;return e.editor.state.doc.resolve(e.getPos()).parent.type.name==="blockquote"?jr(Bm,{className:M(e.node.attrs.isSelected&&"selected-element"),onClick:r,children:jr(Jl,{...e.node.attrs,type:e.node.type.name})}):jr(Yt,{id:e.node.attrs.id,className:M(e.node.attrs.isSelected&&"selected-element",n&&"is-empty"),onClick:r,editor:e.editor,children:jr(Jl,{...e.node.attrs,type:e.node.type.name})})},"TextBlockComponentNode");import{zodResolver as Vm}from"@hookform/resolvers/zod";import{useForm as Fm}from"react-hook-form";import{jsx as oe,jsxs as zt}from"react/jsx-runtime";var Xl=a(({element:e,editor:t})=>{let r=Fm({resolver:Vm(Kl),defaultValues:{...Y,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=Qt({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"paragraph"});return e?zt(ht,{...r,children:[oe(er,{type:"text"}),zt("form",{onChange:()=>{n(r.getValues())},children:[oe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),zt("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[oe(j,{control:r.control,name:"paddingHorizontal",render:({field:o})=>zt(Z,{children:[oe(_,{children:oe(de,{startAdornment:oe(Xo,{}),type:"number",min:0,...o})}),oe(q,{})]})}),oe(j,{control:r.control,name:"paddingVertical",render:({field:o})=>zt(Z,{children:[oe(_,{children:oe(de,{startAdornment:oe(_r,{}),type:"number",min:0,...o})}),oe(q,{})]})})]}),oe(j,{control:r.control,name:"backgroundColor",render:({field:o})=>zt(Z,{className:"courier-mb-4",children:[oe(_,{children:oe(De,{...o,defaultValue:Y.backgroundColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),oe(q,{})]})}),oe(fe,{className:"courier-mb-4"}),oe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Text"}),oe(j,{control:r.control,name:"textColor",render:({field:o})=>zt(Z,{className:"courier-mb-4",children:[oe(_,{children:oe(De,{...o,transparent:!1,defaultValue:Y.textColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),oe(q,{})]})}),oe(fe,{className:"courier-mb-4"}),oe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),zt("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[oe(j,{control:r.control,name:"borderWidth",render:({field:o})=>zt(Z,{children:[oe(_,{children:oe(de,{startAdornment:oe(Vt,{}),type:"number",min:0,...o})}),oe(q,{})]})}),oe(j,{control:r.control,name:"borderRadius",render:({field:o})=>zt(Z,{children:[oe(_,{children:oe(de,{startAdornment:oe(Zr,{}),type:"number",min:0,...o})}),oe(q,{})]})})]}),oe(j,{control:r.control,name:"borderColor",render:({field:o})=>zt(Z,{className:"courier-mb-4",children:[oe(_,{children:oe(De,{...o,defaultValue:Y.borderColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),oe(q,{})]})})]})]}):null},"TextBlockForm");import{ReactNodeViewRenderer as Wm}from"@tiptap/react";var wa=Gl.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Lt(this.editor,this.name)},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),paddingVertical:{default:Y.paddingVertical,parseHTML:t=>t.style.paddingTop?parseInt(t.style.paddingTop):Y.paddingVertical,renderHTML:t=>({style:`padding-top: ${t.paddingVertical}px; padding-bottom: ${t.paddingVertical}px;`})},paddingHorizontal:{default:Y.paddingHorizontal,parseHTML:t=>t.style.paddingLeft?parseInt(t.style.paddingLeft):Y.paddingHorizontal,renderHTML:t=>({style:`padding-left: ${t.paddingHorizontal}px; padding-right: ${t.paddingHorizontal}px;`})},textAlign:{default:Y.textAlign,parseHTML:t=>t.style.textAlign||Y.textAlign,renderHTML:t=>({style:`text-align: ${t.textAlign}`})},backgroundColor:{default:Y.backgroundColor,parseHTML:t=>t.style.backgroundColor||Y.backgroundColor,renderHTML:t=>({style:`background-color: ${t.backgroundColor}`})},borderWidth:{default:Y.borderWidth,parseHTML:t=>t.style.borderWidth?parseInt(t.style.borderWidth):Y.borderWidth,renderHTML:t=>({style:`border-width: ${t.borderWidth}px`})},borderRadius:{default:Y.borderRadius,parseHTML:t=>t.style.borderRadius?parseInt(t.style.borderRadius):Y.borderRadius,renderHTML:t=>({style:`border-radius: ${t.borderRadius}px`})},borderColor:{default:Y.borderColor,parseHTML:t=>t.style.borderColor||Y.borderColor,renderHTML:t=>({style:`border-color: ${t.borderColor}`})},textColor:{default:Y.textColor,parseHTML:t=>t.style.color||Y.textColor,renderHTML:t=>({style:`color: ${t.textColor}`})},id:{default:()=>null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>({"data-id":t.id})}}},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]}`,Om(this.options.HTMLAttributes,t),0]},addNodeView(){return Wm(Kn)}});import{mergeAttributes as _m,Node as qm}from"@tiptap/core";import{ReactNodeViewRenderer as jm}from"@tiptap/react";var Jn=a(async(e,t)=>{let{apiUrl:r,token:n,clientKey:o}=t;if(!e.type.startsWith("image/"))throw new Error(`Invalid file type: ${e.type}. Only image files are supported.`);let i=e.name.split(".").pop()||"",s=`image_${Date.now()}_${Math.random().toString(36).substring(2,10)}.${i}`,l=(await new Promise((c,d)=>{let f=new FileReader;f.onload=()=>{typeof f.result=="string"?c(f.result):d(new Error("Failed to read file as data URL"))},f.onerror=()=>d(f.error),f.readAsDataURL(e)})).split(",")[1];try{let d=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`,"X-COURIER-CLIENT-KEY":o},body:JSON.stringify({query:`
|
|
152
|
+
`,variables:{input:{tenantId:o,notificationId:i,version:u}}})}),m=await f.json();return f.status===200?Er.success("Template published"):Er.error("Error publishing template"),m}catch(f){throw Er.error("Error publishing template"),t(he,f instanceof Error?f.message:"Unknown error"),f}finally{t(Et,!1)}});import{Fragment as xd,jsx as Hi}from"react/jsx-runtime";function Vo(){let[,e]=Wr(kn),[,t]=Wr(Rs),[,r]=Wr(Bs),n=Do(Ze),o=Do(tt),i=Do(Et),s=Do(he),u=Do(Ne);return{getTenant:e,saveTemplate:t,publishTemplate:r,isTenantLoading:n,isTenantSaving:o,isTenantPublishing:i,tenantError:s,tenantData:u}}a(Vo,"useTemplateActions");var bd=a(({children:e,templateId:t,tenantId:r,token:n,apiUrl:o})=>{let[,i]=Wr(Qe),[,s]=Wr(et),[,u]=Wr(Ce),[,c]=Wr(fr);return gd(()=>{s(n),u(r),c(t),o&&i(o)},[n,r,t,o,i,s,u,c]),Hi(xd,{children:e})},"TemplateProviderContext"),vd=a(e=>Hi(fd,{store:wn,children:Hi(bd,{...e})}),"TemplateProviderComponent"),yd=hd(vd);import{Provider as Cd,useAtom as uo,useAtomValue as Fo}from"jotai";import{useEffect as wd,memo as Td}from"react";import{Fragment as Nd,jsx as Di}from"react/jsx-runtime";function Oo(){let[,e]=uo(kn),[,t]=uo(Es),[,r]=uo(Ls),n=Fo(Ze),o=Fo(tt),i=Fo(Et),s=Fo(he),u=Fo(Ne);return{getTenant:e,saveBrand:t,publishBrand:r,isTenantLoading:n,isTenantSaving:o,isTenantPublishing:i,tenantError:s,tenantData:u}}a(Oo,"useBrandActions");var kd=a(({children:e,tenantId:t,token:r,apiUrl:n})=>{let[,o]=uo(Qe),[,i]=uo(et),[,s]=uo(Ce);return wd(()=>{i(r),s(t),n&&o(n)},[r,t,n,o,i,s]),Di(Nd,{children:e})},"BrandProviderContext"),Pd=a(e=>Di(Cd,{store:wn,children:Di(kd,{...e})}),"BrandProviderComponent"),Md=Td(Pd);import{mergeAttributes as Q1}from"@tiptap/core";import{Node as Id,mergeAttributes as Ed,wrappingInputRule as Ld}from"@tiptap/core";var Ad=/^\s*>\s$/,Hs=Id.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",Ed(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[Ld({find:Ad,type:this.type})]}});import{ReactNodeViewRenderer as eg}from"@tiptap/react";import{v4 as Sd}from"uuid";function Lt(e,t){let r=e.state.tr,n=!1;e.state.doc.descendants((o,i)=>{if(o.type.name===t&&!o.attrs.id){let s=`node-${Sd()}`;r.setNodeMarkup(i,void 0,{...o.attrs,id:s}),n=!0}return!1}),n&&e.view.dispatch(r)}a(Lt,"generateNodeIds");import{Slot as Rd}from"@radix-ui/react-slot";import{cva as Bd}from"class-variance-authority";import{forwardRef as Hd}from"react";import{jsx as Vd}from"react/jsx-runtime";var Dd=Bd("courier-flex courier-group courier-items-center courier-justify-center courier-border courier-border-transparent courier-gap-2 courier-text-sm courier-font-semibold courier-rounded-md disabled:courier-opacity-50 courier-whitespace-nowrap courier-outline-none",{variants:{variant:{primary:"courier-text-white courier-bg-[#3B82F6] courier-border-[#3B82F6] dark:courier-text-foreground dark:courier-bg-white dark:courier-border-white",secondary:"courier-text-foreground courier-bg-[#F5F5F5]",tertiary:"courier-bg-neutral-50 courier-text-foreground dark:courier-bg-foreground dark:courier-text-white dark:courier-border-foreground",quaternary:"courier-bg-transparent courier-border-transparent courier-text-neutral-500 dark:courier-text-neutral-400",ghost:"hover:courier-bg-accent hover:courier-text-accent-foreground",link:"courier-text-foreground !courier-font-normal hover:courier-text-accent-foreground !courier-p-0 courier-border-none",outline:"!courier-border-border courier-text-foreground dark:courier-text-white dark:courier-border-foreground hover:courier-bg-neutral-100 dark:hover:courier-bg-neutral-800"},size:{medium:"courier-py-2 courier-px-3",small:"courier-py-1 courier-px-2",icon:"courier-w-8 courier-h-8",iconSmall:"courier-w-6 courier-h-6"},active:{true:"",false:""},disabled:{true:"",false:""}},compoundVariants:[{variant:"primary",disabled:!1,active:!1,class:"hover:courier-bg-neutral-800 active:courier-bg-neutral-900 dark:hover:courier-bg-neutral-200 dark:active:courier-bg-neutral-300"},{variant:"primary",active:!0,class:"courier-bg-neutral-900 dark:courier-bg-neutral-300"},{variant:"secondary",disabled:!1,active:!1,class:"hover:courier-bg-neutral-100 active:courier-bg-neutral-200 dark:hover:courier-bg-neutral-900 dark:active:courier-bg-neutral-800"},{variant:"secondary",active:!0,class:"courier-bg-neutral-200 dark:courier-bg-neutral-800"},{variant:"tertiary",disabled:!1,active:!1,class:"hover:courier-bg-neutral-100 active:courier-bg-neutral-200 dark:hover:courier-bg-neutral-800 dark:active:courier-bg-neutral-700"},{variant:"tertiary",active:!0,class:"courier-bg-neutral-200 dark:courier-bg-neutral-800"},{variant:"ghost",disabled:!1,active:!1,class:"hover:courier-bg-black/5 hover:courier-text-neutral-700 active:courier-bg-black/10 active:courier-text-neutral-800 dark:hover:courier-bg-white/10 dark:hover:courier-text-neutral-300 dark:active:courier-text-neutral-200"},{variant:"ghost",active:!0,class:"courier-bg-accent courier-text-accent-foreground [&_svg]:courier-text-accent-foreground dark:courier-bg-white/20 dark:courier-text-neutral-200"}]}),we=Hd(({active:e,buttonSize:t="medium",disabled:r,variant:n="primary",className:o,asChild:i=!1,...s},u)=>Vd(i?Rd:"button",{ref:u,disabled:r,className:E(Dd({variant:n,size:t,disabled:r,active:e}),o),...s}));we.displayName="Button";import{forwardRef as Fd}from"react";import{jsx as Od}from"react/jsx-runtime";var pe=Fd((e,t)=>Od("hr",{...e,ref:t,className:E("courier-my-1 courier-border-border dark:courier-border-neutral-800",e.className)}));pe.displayName="Divider";import*as gr from"react";import*as ae from"@radix-ui/react-dropdown-menu";import{Check as Wd,ChevronRight as zd,Circle as $d}from"lucide-react";import{jsx as ct,jsxs as Oi}from"react/jsx-runtime";var Ds=ae.Root,Vs=ae.Trigger;var Ud=gr.forwardRef(({className:e,inset:t,children:r,...n},o)=>Oi(ae.SubTrigger,{ref:o,className:E("courier-flex courier-cursor-default courier-gap-2 courier-select-none courier-items-center courier-rounded-sm courier-px-2 courier-py-1.5 courier-text-sm courier-outline-none focus:courier-bg-accent data-[state=open]:courier-bg-accent [&_svg]:courier-pointer-events-none [&_svg]:courier-size-4 [&_svg]:courier-shrink-0",t&&"courier-pl-8",e),...n,children:[r,ct(zd,{className:"courier-ml-auto"})]}));Ud.displayName=ae.SubTrigger.displayName;var qd=gr.forwardRef(({className:e,...t},r)=>ct(ae.SubContent,{ref:r,className:E("courier-z-50 courier-min-w-[8rem] courier-overflow-hidden courier-rounded-md courier-border courier-bg-popover courier-p-1 courier-text-popover-foreground courier-shadow-lg data-[state=open]:courier-animate-in data-[state=closed]:courier-animate-out data-[state=closed]:courier-fade-out-0 data-[state=open]:courier-fade-in-0 data-[state=closed]:courier-zoom-out-95 data-[state=open]:courier-zoom-in-95 data-[side=bottom]:courier-slide-in-from-top-2 data-[side=left]:courier-slide-in-from-right-2 data-[side=right]:courier-slide-in-from-left-2 data-[side=top]:courier-slide-in-from-bottom-2",e),...t}));qd.displayName=ae.SubContent.displayName;var Vi=gr.forwardRef(({className:e,sideOffset:t=4,portalProps:r,...n},o)=>ct(ae.Portal,{...r,children:ct(ae.Content,{ref:o,sideOffset:t,className:E("courier-z-50 courier-min-w-[8rem] courier-overflow-hidden courier-rounded-md courier-border courier-bg-popover courier-p-1 courier-text-popover-foreground courier-shadow-md","data-[state=open]:courier-animate-in data-[state=closed]:courier-animate-out data-[state=closed]:courier-fade-out-0 data-[state=open]:courier-fade-in-0 data-[state=closed]:courier-zoom-out-95 data-[state=open]:courier-zoom-in-95 data-[side=bottom]:courier-slide-in-from-top-2 data-[side=left]:courier-slide-in-from-right-2 data-[side=right]:courier-slide-in-from-left-2 data-[side=top]:courier-slide-in-from-bottom-2",e),...n})}));Vi.displayName=ae.Content.displayName;var Fi=gr.forwardRef(({className:e,inset:t,...r},n)=>ct(ae.Item,{ref:n,className:E("courier-relative courier-flex courier-cursor-default courier-select-none courier-items-center courier-gap-2 courier-rounded-sm courier-px-2 courier-py-1.5 courier-text-sm courier-outline-none focus:courier-bg-accent focus:courier-text-foreground data-[disabled]:courier-pointer-events-none data-[disabled]:courier-opacity-50 [&>svg]:courier-size-4 [&>svg]:courier-shrink-0",t&&"courier-pl-8",e),...r}));Fi.displayName=ae.Item.displayName;var Zd=gr.forwardRef(({className:e,children:t,checked:r,...n},o)=>Oi(ae.CheckboxItem,{ref:o,className:E("courier-relative courier-flex courier-cursor-default courier-select-none courier-items-center courier-rounded-sm courier-py-1.5 courier-pl-8 courier-pr-2 courier-text-sm courier-outline-none focus:courier-bg-accent focus:courier-text-accent-foreground data-[disabled]:courier-pointer-events-none data-[disabled]:courier-opacity-50",e),checked:r,...n,children:[ct("span",{className:"courier-absolute courier-left-2 courier-flex courier-h-3.5 courier-w-3.5 courier-items-center courier-justify-center",children:ct(ae.ItemIndicator,{children:ct(Wd,{className:"courier-h-4 courier-w-4"})})}),t]}));Zd.displayName=ae.CheckboxItem.displayName;var _d=gr.forwardRef(({className:e,children:t,...r},n)=>Oi(ae.RadioItem,{ref:n,className:E("courier-relative courier-flex courier-cursor-default courier-select-none courier-items-center courier-rounded-sm courier-py-1.5 courier-pl-8 courier-pr-2 courier-text-sm courier-outline-none focus:courier-bg-accent focus:courier-text-accent-foreground data-[disabled]:courier-pointer-events-none data-[disabled]:courier-opacity-50",e),...r,children:[ct("span",{className:"courier-absolute courier-left-2 courier-flex courier-h-3.5 courier-w-3.5 courier-items-center courier-justify-center",children:ct(ae.ItemIndicator,{children:ct($d,{className:"courier-h-2 courier-w-2 courier-fill-current"})})}),t]}));_d.displayName=ae.RadioItem.displayName;var jd=gr.forwardRef(({className:e,inset:t,...r},n)=>ct(ae.Label,{ref:n,className:E("courier-px-2 courier-py-1.5 courier-text-sm courier-font-semibold",t&&"courier-pl-8",e),...r}));jd.displayName=ae.Label.displayName;var Gd=gr.forwardRef(({className:e,...t},r)=>ct(ae.Separator,{ref:r,className:E("courier-mx-1 courier-my-1 courier-h-px courier-bg-muted",e),...t}));Gd.displayName=ae.Separator.displayName;var Kd=a(({className:e,...t})=>ct("span",{className:E("courier-ml-auto courier-text-xs courier-tracking-widest courier-opacity-60",e),...t}),"DropdownMenuShortcut");Kd.displayName="DropdownMenuShortcut";import{Slot as Qd}from"@radix-ui/react-slot";import*as lt from"react";import{Controller as ep,FormProvider as tp,useFormContext as rp}from"react-hook-form";import*as Wi from"@radix-ui/react-label";import{cva as Jd}from"class-variance-authority";import*as Fs from"react";import{jsx as Yd}from"react/jsx-runtime";var Xd=Jd("courier-text-sm courier-font-medium courier-leading-none peer-disabled:courier-cursor-not-allowed peer-disabled:courier-opacity-70"),zi=Fs.forwardRef(({className:e,...t},r)=>Yd(Wi.Root,{ref:r,className:E(Xd(),e),...t}));zi.displayName=Wi.Root.displayName;import{jsx as Lr}from"react/jsx-runtime";var ut=tp,Os=lt.createContext({}),G=a(({...e})=>Lr(Os.Provider,{value:{name:e.name},children:Lr(ep,{...e})}),"FormField"),Mn=a(()=>{let e=lt.useContext(Os),t=lt.useContext(Ws),{getFieldState:r,formState:n}=rp(),o=r(e.name,n);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...o}},"useFormField"),Ws=lt.createContext({}),Z=lt.forwardRef(({className:e,...t},r)=>{let n=lt.useId();return Lr(Ws.Provider,{value:{id:n},children:Lr("div",{ref:r,className:E("courier-space-y-2",e),...t})})});Z.displayName="FormItem";var Wo=lt.forwardRef(({className:e,...t},r)=>{let{error:n,formItemId:o}=Mn();return Lr(zi,{ref:r,className:E(n&&"courier-text-destructive",e),htmlFor:o,...t})});Wo.displayName="FormLabel";var _=lt.forwardRef(({...e},t)=>{let{error:r,formItemId:n,formDescriptionId:o,formMessageId:i}=Mn();return Lr(Qd,{ref:t,id:n,"aria-describedby":r?`${o} ${i}`:`${o}`,"aria-invalid":!!r,...e})});_.displayName="FormControl";var op=lt.forwardRef(({className:e,...t},r)=>{let{formDescriptionId:n}=Mn();return Lr("p",{ref:r,id:n,className:E("courier-text-[0.8rem] courier-text-muted-foreground",e),...t})});op.displayName="FormDescription";var j=lt.forwardRef(({className:e,children:t,...r},n)=>{let{error:o,formMessageId:i}=Mn(),s=o?String(o==null?void 0:o.message):t;return s?Lr("p",{ref:n,id:i,className:E("courier-text-[0.8rem] courier-font-medium courier-text-destructive",e),...r,children:s}):null});j.displayName="FormMessage";import*as zs from"react";import{jsx as $i,jsxs as np}from"react/jsx-runtime";var ce=zs.forwardRef(({className:e,type:t,startAdornment:r,endAdornment:n,...o},i)=>np("div",{className:"courier-relative courier-flex courier-w-full courier-items-center",children:[r&&$i("div",{className:"courier-absolute courier-left-2 courier-flex courier-items-center courier-pointer-events-none",children:r}),$i("input",{type:t,className:E("courier-flex courier-w-full courier-rounded-md courier-border-none courier-bg-secondary courier-text-secondary-foreground courier-p-1.5 courier-text-base file:courier-border-0 file:courier-bg-transparent file:courier-text-sm file:courier-font-medium file:courier-text-foreground placeholder:courier-text-muted-foreground focus-visible:courier-outline-none disabled:courier-cursor-not-allowed disabled:courier-opacity-50 md:courier-text-sm",r&&"courier-pl-8",n&&"courier-pr-8",e),ref:i,...o}),n&&$i("div",{className:"courier-absolute courier-right-2 courier-flex courier-items-center courier-pointer-events-none",children:n})]}));ce.displayName="Input";import{forwardRef as cp,useRef as lp,useMemo as up}from"react";import{useCallback as Ui,useEffect as $s,useRef as Nn,useState as Us}from"react";import{CircleX as ip}from"lucide-react";import{jsx as Xt,jsxs as qs}from"react/jsx-runtime";var ap=a(e=>e==="transparent"||/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e),"isValidHex"),Zs=a(({color:e,onChange:t,className:r,presetColors:n,defaultValue:o="transparent"})=>{let[i,s]=Us(()=>zo(e)),[u,c]=Us(e),l=Nn(null),d=Nn(null),f=Nn(null),m=Nn(!1),h=e!==o,g=Ui(N=>{m.current=!0;let p=sp(N);c(p),t(p),m.current=!1},[t]),b=a(N=>p=>{f.current=N,y(p)},"handleMouseDown"),y=Ui(N=>{if(f.current){if(f.current==="gradient"&&l.current){let p=l.current.getBoundingClientRect(),v=Math.max(0,Math.min(1,(N.clientX-p.left)/p.width)),x=Math.max(0,Math.min(1,(N.clientY-p.top)/p.height)),S={...i,s:v*100,v:(1-x)*100};s(S),g(S)}else if(f.current==="hue"&&d.current){let p=d.current.getBoundingClientRect(),v=Math.max(0,Math.min(1,(N.clientX-p.left)/p.width)),x={...i,h:v*360};s(x),g(x)}}},[i,g]),C=Ui(()=>{f.current=null},[]);$s(()=>{if(f.current)return window.addEventListener("mousemove",y),window.addEventListener("mouseup",C),()=>{window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",C)}},[y,C]),$s(()=>{m.current||(s(zo(e)),c(e))},[e]);let A=a(N=>{let p=N.target.value;if(c(p),ap(p)){let v=zo(p);s(v),g(v)}},"handleInputChange");return qs("div",{className:E("w-full",r),children:[Xt("div",{ref:l,className:"courier-relative courier-h-[160px] courier-w-full courier-cursor-crosshair courier-rounded-lg",style:{backgroundColor:`hsl(${i.h}, 100%, 50%)`,backgroundImage:"linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent)"},onMouseDown:b("gradient"),children:Xt("div",{className:"courier-absolute courier-h-3 courier-w-3 courier-translate-x-[-50%] courier-translate-y-[-50%] courier-rounded-full courier-border-2 courier-border-white",style:{left:`${i.s}%`,top:`${100-i.v}%`}})}),Xt("div",{ref:d,className:"courier-relative courier-mt-2 courier-h-3 courier-w-full courier-cursor-pointer courier-rounded",style:{background:"linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00)"},onMouseDown:b("hue"),children:Xt("div",{className:"courier-absolute courier-h-full courier-w-1 courier-translate-x-[-50%] courier-rounded courier-border courier-border-input courier-bg-background",style:{left:`${i.h/360*100}%`}})}),qs("div",{className:"courier-mt-3 courier-relative courier-flex courier-items-center",children:[Xt(ce,{value:u,onChange:A,placeholder:"#000000",className:"courier-flex-1"}),h&&Xt("button",{onClick:N=>{if(N.preventDefault(),o==="transparent"){t("transparent"),c("transparent"),s({h:0,s:0,v:0});return}let p=zo(o);s(p),g(p)},className:"courier-absolute courier-right-3 courier-flex courier-cursor-pointer courier-items-center courier-justify-center courier-transition-colors",children:Xt(ip,{size:14,strokeWidth:1.25})})]}),Xt(pe,{className:"courier-my-3"}),Xt("div",{className:"courier-flex courier-flex-wrap courier-gap-1",children:n.map(N=>Xt("button",{className:E("courier-h-6 courier-w-6 courier-rounded-md courier-border courier-border-input courier-shrink-0",N==="transparent"&&qi),style:{backgroundColor:N==="transparent"?void 0:N},onClick:p=>{if(p.preventDefault(),N==="transparent"){t("transparent"),c("transparent"),s({h:0,s:0,v:0});return}let v=zo(N);s(v),g(v)}},N))})]})},"ColorPicker");function zo(e){if(e==="transparent")return{h:0,s:0,v:0};let t=parseInt(e.slice(1,3),16)/255,r=parseInt(e.slice(3,5),16)/255,n=parseInt(e.slice(5,7),16)/255,o=Math.max(t,r,n),i=Math.min(t,r,n),s=o-i,u=0,c=o===0?0:s/o,l=o;if(o!==i){switch(o){case t:u=(r-n)/s+(r<n?6:0);break;case r:u=(n-t)/s+2;break;case n:u=(t-r)/s+4;break}u/=6}return{h:u*360,s:c*100,v:l*100}}a(zo,"hexToHsv");function sp({h:e,s:t,v:r}){t/=100,r/=100,e=e%360/360;let n=a(u=>{let c=(u+e*6)%6;return r-r*t*Math.max(0,Math.min(c,4-c,1))},"f"),o=Math.round(n(5)*255),i=Math.round(n(3)*255),s=Math.round(n(1)*255);return`#${[o,i,s].map(u=>u.toString(16).padStart(2,"0")).join("")}`}a(sp,"hsvToHex");import*as Yt from"@radix-ui/react-popover";import*as js from"react";import{jsx as _s}from"react/jsx-runtime";var Gs=Yt.Root,Ks=Yt.Trigger;var Zi=js.forwardRef(({className:e,align:t="center",sideOffset:r=4,portalProps:n,...o},i)=>_s(Yt.Portal,{...n,children:_s(Yt.Content,{ref:i,align:t,sideOffset:r,className:E("courier-z-50 courier-w-72 courier-rounded-md courier-border courier-bg-popover courier-p-4 courier-text-popover-foreground courier-shadow-md courier-outline-none data-[state=open]:courier-animate-in data-[state=closed]:courier-animate-out data-[state=closed]:courier-fade-out-0 data-[state=open]:courier-fade-in-0 data-[state=closed]:courier-zoom-out-95 data-[state=open]:courier-zoom-in-95 data-[side=bottom]:courier-slide-in-from-top-2 data-[side=left]:courier-slide-in-from-right-2 data-[side=right]:courier-slide-in-from-left-2 data-[side=top]:courier-slide-in-from-bottom-2",e),...o})}));Zi.displayName=Yt.Content.displayName;import{jsx as $o,jsxs as Js}from"react/jsx-runtime";var qi="bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAwSDBWOEg4VjBaIiBmaWxsPSIjRDlEOUQ5Ii8+PHBhdGggZD0iTTE2IDhIOFYxNkgxNlY4WiIgZmlsbD0iI0Q5RDlEOSIvPjwvc3ZnPg==')]",dp=["#ef4444","#f97316","#eab308","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#000000","#525252","#a3a3a3","#ffffff","transparent"],Ve=cp(({className:e,value:t="",onChange:r,defaultValue:n,transparent:o=!0,presetColors:i=dp,...s},u)=>{let c=t!=="transparent",l=lp(null),d=up(()=>o?i:i.filter(f=>f!=="transparent"),[i,o]);return Js(Gs,{children:[$o(Ks,{asChild:!0,children:Js("div",{className:"courier-relative courier-flex courier-items-center",ref:l,children:[$o("div",{className:E("courier-absolute courier-left-2 courier-flex courier-h-4 courier-w-4 courier-cursor-pointer courier-items-center courier-justify-center courier-rounded-md courier-border courier-border-input courier-transition-colors courier-z-10",c?"":qi),style:{backgroundColor:c?t:void 0}}),$o(ce,{...s,ref:u,readOnly:!0,type:"text",value:t==="transparent"?"Transparent":t,className:E("courier-relative courier-cursor-pointer courier-pl-8",e)})]})}),$o(Zi,{portalProps:{container:(l==null?void 0:l.current)||void 0},className:"courier-w-[230px]",children:$o(Zs,{color:t,onChange:r,presetColors:d,defaultValue:n})})]})});Ve.displayName="InputColor";import*as Xs from"react";import*as hr from"@radix-ui/react-slider";import{jsx as _i,jsxs as pp}from"react/jsx-runtime";var ji=Xs.forwardRef(({className:e,...t},r)=>pp(hr.Root,{ref:r,className:E("courier-relative courier-flex courier-w-full courier-touch-none courier-select-none courier-items-center",e),...t,children:[_i(hr.Track,{className:"courier-relative courier-h-1.5 courier-w-full courier-grow courier-overflow-hidden courier-rounded-full courier-bg-secondary",children:_i(hr.Range,{className:"courier-absolute courier-h-full courier-bg-accent-foreground"})}),_i(hr.Thumb,{className:"courier-block courier-h-4 courier-w-4 courier-rounded-full courier-bg-accent-foreground courier-shadow courier-transition-colors focus-visible:courier-outline-none focus-visible:courier-ring-1 focus-visible:courier-ring-ring disabled:courier-pointer-events-none disabled:courier-opacity-50"})]}));ji.displayName=hr.Root.displayName;import*as Qs from"react";import*as Uo from"@radix-ui/react-switch";import{jsx as Ys}from"react/jsx-runtime";var Gi=Qs.forwardRef(({className:e,...t},r)=>Ys(Uo.Root,{className:E("courier-peer courier-inline-flex courier-h-5 courier-w-9 courier-shrink-0 courier-cursor-pointer courier-items-center courier-rounded-full courier-border-2 courier-border-transparent courier-shadow-sm courier-transition-colors focus-visible:courier-outline-none focus-visible:courier-ring-2 focus-visible:courier-ring-ring focus-visible:courier-ring-offset-2 focus-visible:courier-ring-offset-background disabled:courier-cursor-not-allowed disabled:courier-opacity-50 data-[state=checked]:courier-bg-accent-foreground data-[state=unchecked]:courier-bg-input",e),...t,ref:r,children:Ys(Uo.Thumb,{className:E("courier-pointer-events-none courier-block courier-h-4 courier-w-4 courier-rounded-full courier-bg-background courier-shadow-lg courier-ring-0 courier-transition-transform data-[state=checked]:courier-translate-x-4 data-[state=unchecked]:courier-translate-x-0")})}));Gi.displayName=Uo.Root.displayName;import*as In from"react";import*as Vt from"@radix-ui/react-tabs";import{jsx as Ji}from"react/jsx-runtime";var ec=Vt.Root,Ki=In.forwardRef(({className:e,...t},r)=>Ji(Vt.List,{ref:r,className:E("courier-inline-flex courier-h-9 courier-items-center courier-justify-center courier-rounded-md courier-border courier-border-border courier-bg-background courier-p-[3px] courier-text-muted-foreground",e),...t}));Ki.displayName=Vt.List.displayName;var En=In.forwardRef(({className:e,...t},r)=>Ji(Vt.Trigger,{ref:r,className:E("courier-inline-flex courier-items-center courier-justify-center courier-whitespace-nowrap courier-rounded-sm courier-px-3 courier-py-1 courier-text-sm courier-font-medium courier-ring-offset-background courier-transition-all focus-visible:courier-outline-none disabled:courier-pointer-events-none disabled:courier-opacity-50 data-[state=active]:courier-bg-accent data-[state=active]:courier-text-accent-foreground",e),...t}));En.displayName=Vt.Trigger.displayName;var Ln=In.forwardRef(({className:e,...t},r)=>Ji(Vt.Content,{ref:r,className:E("courier-mt-2 courier-ring-offset-background focus-visible:courier-outline-none focus-visible:courier-ring-2 focus-visible:courier-ring-ring focus-visible:courier-ring-offset-2",e),...t}));Ln.displayName=Vt.Content.displayName;import*as po from"react";import{jsx as mp}from"react/jsx-runtime";var Xi=po.forwardRef(({className:e,autoResize:t=!1,...r},n)=>{let o=po.useRef(null),i=a(s=>{o.current=s,typeof n=="function"?n(s):n&&(n.current=s)},"combinedRef");return po.useEffect(()=>{if(!t)return;let s=o.current;if(!s)return;let u=a(()=>{s.style.height="auto",s.style.height=`${s.scrollHeight}px`},"adjustHeight");return u(),s.addEventListener("input",u),()=>{s.removeEventListener("input",u)}},[t]),mp("textarea",{className:E("courier-flex 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 courier-placeholder:courier-text-muted-foreground focus-visible:courier-outline-none disabled:courier-cursor-not-allowed disabled:courier-opacity-50 md:courier-text-sm",t&&"courier-resize-none",e),ref:i,...r})});Xi.displayName="Textarea";import{useContext as Vb}from"react";import{createContext as fp}from"react";var mo={background:"#ffffff",foreground:"#292929",muted:"#D9D9D9",mutedForeground:"#A3A3A3",popover:"#ffffff",popoverForeground:"#292929",border:"#DCDEE4",input:"#DCDEE4",card:"#FAF9F8",cardForeground:"#292929",primary:"#ffffff",primaryForeground:"#696F8C",secondary:"#F5F5F5",secondaryForeground:"#171717",accent:"#E5F3FF",accentForeground:"#1D4ED8",destructive:"#292929",destructiveForeground:"#FF3363",ring:"#80849D",radius:"6px"};var tc=fp(mo);import{jsx as rc}from"react/jsx-runtime";var oc=a(({children:e,theme:t=mo})=>{let r=typeof t=="string"?mo:{...mo,...t},n=typeof t=="string"?{}:Object.entries(t).reduce((o,[i,s])=>{let u=i.replace(/[A-Z]/g,c=>`-${c.toLowerCase()}`);return{...o,[`--${u}`]:s}},{});return rc(tc.Provider,{value:r,children:rc("div",{style:n,className:E(typeof t=="string"?t:"","lightTheme"),children:e})})},"ThemeProvider");import*as nc from"react";import*as Yi from"@radix-ui/react-toggle";import{cva as gp}from"class-variance-authority";import{jsx as bp}from"react/jsx-runtime";var Qi=gp("courier-inline-flex courier-items-center courier-justify-center courier-gap-2 courier-rounded-md courier-text-sm courier-font-medium courier-transition-colors hover:courier-bg-secondary hover:courier-text-foreground focus-visible:courier-outline-none focus-visible:courier-ring-1 focus-visible:courier-ring-ring disabled:courier-pointer-events-none disabled:courier-opacity-50 data-[state=on]:courier-bg-accent data-[state=on]:courier-text-accent-foreground [&_svg]:courier-pointer-events-none [&_svg]:courier-size-[30px] [&_svg]:courier-shrink-0",{variants:{variant:{default:"courier-bg-transparent",outline:"courier-border courier-border-input courier-bg-transparent courier-shadow-sm hover:courier-bg-accent hover:courier-text-accent-foreground"},size:{default:"courier-h-9 courier-min-w-9",sm:"courier-h-8 courier-px-1.5 courier-min-w-8",lg:"courier-h-10 courier-px-2.5 courier-min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),hp=nc.forwardRef(({className:e,variant:t,size:r,...n},o)=>bp(Yi.Root,{ref:o,className:E(Qi({variant:t,size:r,className:e})),...n}));hp.displayName=Yi.Root.displayName;import*as fo from"@radix-ui/react-toggle-group";import*as zr from"react";import{jsx as ea}from"react/jsx-runtime";var ic=zr.createContext({size:"default",variant:"default"}),br=zr.forwardRef(({className:e,variant:t,size:r,children:n,...o},i)=>ea(fo.Root,{ref:i,className:E("courier-flex courier-items-center courier-justify-center courier-gap-1",e),...o,children:ea(ic.Provider,{value:{variant:t,size:r},children:n})}));br.displayName=fo.Root.displayName;var it=zr.forwardRef(({className:e,children:t,variant:r,size:n,...o},i)=>{let s=zr.useContext(ic);return ea(fo.Item,{ref:i,className:E(Qi({variant:s.variant||r,size:s.size||n}),e),...o,children:t})});it.displayName=fo.Item.displayName;import{jsx as ta}from"react/jsx-runtime";var rt=a(({colorProp:e,color:t,active:r,className:n,...o})=>e==="stroke"?ta("path",{className:E(!t&&(r?"courier-stroke-accent-foreground":"courier-stroke-ring"),n),...o}):ta("path",{className:E(!t&&(r?"courier-fill-accent-foreground":"courier-fill-ring"),n),...o}),"Path"),ue=a(({width:e=28,height:t=28,...r})=>ta("svg",{width:e,height:t,viewBox:`0 0 ${e} ${t}`,fill:"none",...r}),"Icon");import{jsx as ac}from"react/jsx-runtime";var ra=a(({color:e="#DC2626",width:t=13,height:r=13,...n})=>ac(ue,{...n,fill:"none",width:t,height:r,children:ac("path",{d:"M4.89844 1.625C4.82812 1.625 4.78125 1.67188 4.73438 1.71875L4.28906 2.375H7.6875L7.24219 1.71875C7.21875 1.67188 7.14844 1.625 7.07812 1.625H4.89844ZM9.04688 2.375H9.35156H10.5H10.6875C10.9922 2.375 11.25 2.63281 11.25 2.9375C11.25 3.26562 10.9922 3.5 10.6875 3.5H10.4062L9.84375 11.1172C9.77344 11.9141 9.14062 12.5 8.34375 12.5H3.63281C2.83594 12.5 2.20312 11.9141 2.13281 11.1172L1.57031 3.5H1.3125C0.984375 3.5 0.75 3.26562 0.75 2.9375C0.75 2.63281 0.984375 2.375 1.3125 2.375H1.5H2.625H2.92969L3.79688 1.08594C4.03125 0.734375 4.45312 0.5 4.89844 0.5H7.07812C7.52344 0.5 7.94531 0.734375 8.17969 1.08594L9.04688 2.375ZM9.28125 3.5H2.69531L3.25781 11.0469C3.28125 11.2344 3.44531 11.375 3.63281 11.375H8.34375C8.53125 11.375 8.69531 11.2344 8.71875 11.0469L9.28125 3.5Z",fill:e})}),"BinIcon");import{jsx as sc}from"react/jsx-runtime";var $r=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>sc(ue,{...o,width:r,height:n,children:sc(rt,{active:t,colorProp:"stroke",stroke:e,strokeWidth:"1.5",strokeLinecap:"round",d:"M1 15V11C1 5.47715 5.47715 1 11 1H15"})}),"BorderRadiusIcon");import{jsx as oa,jsxs as vp}from"react/jsx-runtime";var Ft=a(({color:e="#A3A3A3",width:t=16,height:r=16,...n})=>vp(ue,{...n,width:t,height:r,children:[oa("rect",{y:"2.25",width:"16",height:"1.5",rx:"0.75",fill:e}),oa("rect",{y:"5.75",width:"16",height:"2.5",rx:"1.25",fill:e}),oa("rect",{y:"10.25",width:"16",height:"3.5",rx:"1.75",fill:e})]}),"BorderWidthIcon");import{jsx as cc}from"react/jsx-runtime";var na=a(({color:e,width:t=21,height:r=16,...n})=>cc(ue,{...n,width:t,height:r,children:cc("path",{d:"M2.5 1.5C2.21875 1.5 2 1.75 2 2V11C2 11.2812 2.21875 11.5 2.5 11.5H18.5C18.75 11.5 19 11.2812 19 11V2C19 1.75 18.75 1.5 18.5 1.5H2.5ZM0.5 2C0.5 0.90625 1.375 0 2.5 0H18.5C19.5938 0 20.5 0.90625 20.5 2V11C20.5 12.125 19.5938 13 18.5 13H2.5C1.375 13 0.5 12.125 0.5 11V2ZM4.25 14.5H16.75C17.1562 14.5 17.5 14.8438 17.5 15.25C17.5 15.6875 17.1562 16 16.75 16H4.25C3.8125 16 3.5 15.6875 3.5 15.25C3.5 14.8438 3.8125 14.5 4.25 14.5Z",fill:e})}),"DesktopIcon");import{jsx as lc}from"react/jsx-runtime";var ia=a(({color:e="#171717",width:t=12,height:r=13,...n})=>lc(ue,{...n,fill:"none",width:t,height:r,children:lc("path",{d:"M1.5 11.375H6.75C6.9375 11.375 7.125 11.2109 7.125 11V9.5H8.25V11C8.25 11.8438 7.57031 12.5 6.75 12.5H1.5C0.65625 12.5 0 11.8438 0 11V5.75C0 4.92969 0.65625 4.25 1.5 4.25H3V5.375H1.5C1.28906 5.375 1.125 5.5625 1.125 5.75V11C1.125 11.2109 1.28906 11.375 1.5 11.375ZM5.25 7.625H10.5C10.6875 7.625 10.875 7.46094 10.875 7.25V2C10.875 1.8125 10.6875 1.625 10.5 1.625H5.25C5.03906 1.625 4.875 1.8125 4.875 2V7.25C4.875 7.46094 5.03906 7.625 5.25 7.625ZM3.75 7.25V2C3.75 1.17969 4.40625 0.5 5.25 0.5H10.5C11.3203 0.5 12 1.17969 12 2V7.25C12 8.09375 11.3203 8.75 10.5 8.75H5.25C4.40625 8.75 3.75 8.09375 3.75 7.25Z",fill:e})}),"DuplicateIcon");import{jsx as uc}from"react/jsx-runtime";var qo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>uc(ue,{...o,width:r,height:n,children:uc(rt,{d:"M16 8C16 12.0938 12.9062 15.4688 8.96875 15.9688V10.4688H11.125L11.5625 8H8.96875V7.15625C8.96875 5.84375 9.46875 5.34375 10.7812 5.34375C11.1875 5.34375 11.5 5.375 11.6875 5.375V3.1875C11.3438 3.0625 10.4688 2.96875 9.96875 2.96875C7.28125 2.96875 6.0625 4.25 6.0625 6.96875V8H4.40625V10.4688H6.0625V15.7812C2.5625 14.9062 0 11.75 0 8C0 3.59375 3.5625 0 8 0C12.4062 0 16 3.59375 16 8Z",active:t,fill:e})}),"FacebookIcon");import{jsx as dc}from"react/jsx-runtime";var Zo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>dc(ue,{...o,width:r,height:n,children:dc(rt,{d:"M8 4.40625C9.96875 4.40625 11.5938 6.03125 11.5938 8C11.5938 10 9.96875 11.5938 8 11.5938C6 11.5938 4.40625 10 4.40625 8C4.40625 6.03125 6 4.40625 8 4.40625ZM8 10.3438C9.28125 10.3438 10.3125 9.3125 10.3125 8C10.3125 6.71875 9.28125 5.6875 8 5.6875C6.6875 5.6875 5.65625 6.71875 5.65625 8C5.65625 9.3125 6.71875 10.3438 8 10.3438ZM12.5625 4.28125C12.5625 3.8125 12.1875 3.4375 11.7188 3.4375C11.25 3.4375 10.875 3.8125 10.875 4.28125C10.875 4.75 11.25 5.125 11.7188 5.125C12.1875 5.125 12.5625 4.75 12.5625 4.28125ZM14.9375 5.125C15 6.28125 15 9.75 14.9375 10.9062C14.875 12.0312 14.625 13 13.8125 13.8438C13 14.6562 12 14.9062 10.875 14.9688C9.71875 15.0312 6.25 15.0312 5.09375 14.9688C3.96875 14.9062 3 14.6562 2.15625 13.8438C1.34375 13 1.09375 12.0312 1.03125 10.9062C0.96875 9.75 0.96875 6.28125 1.03125 5.125C1.09375 4 1.34375 3 2.15625 2.1875C3 1.375 3.96875 1.125 5.09375 1.0625C6.25 1 9.71875 1 10.875 1.0625C12 1.125 13 1.375 13.8125 2.1875C14.625 3 14.875 4 14.9375 5.125ZM13.4375 12.125C13.8125 11.2188 13.7188 9.03125 13.7188 8C13.7188 7 13.8125 4.8125 13.4375 3.875C13.1875 3.28125 12.7188 2.78125 12.125 2.5625C11.1875 2.1875 9 2.28125 8 2.28125C6.96875 2.28125 4.78125 2.1875 3.875 2.5625C3.25 2.8125 2.78125 3.28125 2.53125 3.875C2.15625 4.8125 2.25 7 2.25 8C2.25 9.03125 2.15625 11.2188 2.53125 12.125C2.78125 12.75 3.25 13.2188 3.875 13.4688C4.78125 13.8438 6.96875 13.75 8 13.75C9 13.75 11.1875 13.8438 12.125 13.4688C12.7188 13.2188 13.2188 12.75 13.4375 12.125Z",active:t,fill:e})}),"InstagramIcon");import{jsx as pc}from"react/jsx-runtime";var _o=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>pc(ue,{...o,width:r,height:n,children:pc(rt,{d:"M14 1C14.5312 1 15 1.46875 15 2.03125V14C15 14.5625 14.5312 15 14 15H1.96875C1.4375 15 1 14.5625 1 14V2.03125C1 1.46875 1.4375 1 1.96875 1H14ZM5.21875 13V6.34375H3.15625V13H5.21875ZM4.1875 5.40625C4.84375 5.40625 5.375 4.875 5.375 4.21875C5.375 3.5625 4.84375 3 4.1875 3C3.5 3 2.96875 3.5625 2.96875 4.21875C2.96875 4.875 3.5 5.40625 4.1875 5.40625ZM13 13V9.34375C13 7.5625 12.5938 6.15625 10.5 6.15625C9.5 6.15625 8.8125 6.71875 8.53125 7.25H8.5V6.34375H6.53125V13H8.59375V9.71875C8.59375 8.84375 8.75 8 9.84375 8C10.9062 8 10.9062 9 10.9062 9.75V13H13Z",active:t,fill:e})}),"LinkedinIcon");import{jsx as mc}from"react/jsx-runtime";var jo=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>mc(ue,{...o,width:r,height:n,children:mc(rt,{d:"M5.625 2.34375C8.75 2.34375 11.2812 4.875 11.2812 8C11.2812 11.1562 8.75 13.6875 5.625 13.6875C2.5 13.6875 0 11.1562 0 8C0 4.875 2.5 2.34375 5.625 2.34375ZM14.625 2.65625C16.1875 2.65625 17.4688 5.0625 17.4688 8.03125C17.4688 10.9688 16.1875 13.375 14.625 13.375C13.0625 13.375 11.8125 10.9688 11.8125 8.03125C11.8125 5.0625 13.0625 2.65625 14.625 2.65625ZM19 3.21875C19.5312 3.21875 20 5.375 20 8C20 10.6562 19.5312 12.8125 19 12.8125C18.4375 12.8125 18 10.6562 18 8.03125C18 5.375 18.4375 3.21875 19 3.21875Z",active:t,fill:e})}),"MediumIcon");import{jsx as aa}from"react/jsx-runtime";var sa=a(({color:e,width:t=21,height:r=16,...n})=>aa(ue,{...n,width:t,height:r,children:aa("g",{transform:"translate(4, 0)",children:aa("path",{d:"M8.5 1.5V2C8.5 2.28125 8.25 2.5 8 2.5H5C4.71875 2.5 4.5 2.28125 4.5 2V1.5H3.5C2.9375 1.5 2.5 1.96875 2.5 2.5V13.5C2.5 14.0625 2.9375 14.5 3.5 14.5H9.5C10.0312 14.5 10.5 14.0625 10.5 13.5V2.5C10.5 1.96875 10.0312 1.5 9.5 1.5H8.5ZM1 2.5C1 1.125 2.09375 0 3.5 0H9.5C10.875 0 12 1.125 12 2.5V13.5C12 14.9062 10.875 16 9.5 16H3.5C2.09375 16 1 14.9062 1 13.5V2.5Z",fill:e})})}),"MobileIcon");import{jsx as fc}from"react/jsx-runtime";var Go=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>fc(ue,{...o,width:r,height:n,children:fc(rt,{d:"M14.25 0C14.6562 0 15 0.34375 15 0.75V15.25C15 15.6875 14.6562 16 14.25 16C13.8125 16 13.5 15.6875 13.5 15.25V0.75C13.5 0.34375 13.8125 0 14.25 0ZM9.5 11.5V4.5H6.5V11.5H9.5ZM11 4.5V11.5C11 12.3438 10.3125 13 9.5 13H6.5C5.65625 13 5 12.3438 5 11.5V4.5C5 3.6875 5.65625 3 6.5 3H9.5C10.3125 3 11 3.6875 11 4.5ZM2.5 0.75V15.25C2.5 15.6875 2.15625 16 1.75 16C1.3125 16 1 15.6875 1 15.25V0.75C1 0.34375 1.3125 0 1.75 0C2.15625 0 2.5 0.34375 2.5 0.75Z",active:t,fill:e})}),"PaddingHorizontalIcon");import{jsx as gc}from"react/jsx-runtime";var Ur=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>gc(ue,{...o,width:r,height:n,children:gc(rt,{d:"M0 1.75C0 1.34375 0.3125 1 0.75 1H15.25C15.6562 1 16 1.34375 16 1.75C16 2.1875 15.6562 2.5 15.25 2.5H0.75C0.3125 2.5 0 2.1875 0 1.75ZM11.5 6.5H4.5V9.5H11.5V6.5ZM4.5 5H11.5C12.3125 5 13 5.6875 13 6.5V9.5C13 10.3438 12.3125 11 11.5 11H4.5C3.65625 11 3 10.3438 3 9.5V6.5C3 5.6875 3.65625 5 4.5 5ZM0.75 13.5H15.25C15.6562 13.5 16 13.8438 16 14.25C16 14.6875 15.6562 15 15.25 15H0.75C0.3125 15 0 14.6875 0 14.25C0 13.8438 0.3125 13.5 0.75 13.5Z",active:t,fill:e})}),"PaddingVerticalIcon");import{jsx as hc}from"react/jsx-runtime";var ca=a(({color:e="#171717",width:t=16,height:r=13,...n})=>hc(ue,{...n,fill:"none",width:t,height:r,children:hc("path",{d:"M1.39062 0.640625L4.01562 2.67969L4.17969 1.97656C4.29688 1.55469 4.67188 1.25 5.09375 1.25H12.9453C13.5547 1.25 14 1.83594 13.8594 2.42188L13.6016 3.45312C13.5312 3.75781 13.2266 3.94531 12.9219 3.875C12.6172 3.80469 12.4297 3.5 12.5 3.19531L12.7109 2.375H9.78125L8.65625 6.33594L15.2656 11.5156C15.5234 11.7031 15.5703 12.0547 15.3594 12.2891C15.1719 12.5469 14.8203 12.5938 14.5859 12.3828L0.710938 1.50781C0.453125 1.32031 0.40625 0.96875 0.617188 0.734375C0.804688 0.476562 1.15625 0.429688 1.39062 0.640625ZM4.97656 3.42969L7.71875 5.58594L8.60938 2.375H5.23438L4.97656 3.42969ZM8 8.67969L7.4375 10.625H8.75C9.05469 10.625 9.3125 10.8828 9.3125 11.1875C9.3125 11.5156 9.05469 11.75 8.75 11.75H5C4.67188 11.75 4.4375 11.5156 4.4375 11.1875C4.4375 10.8828 4.67188 10.625 5 10.625H6.28906L6.3125 10.4844L7.03906 7.92969L8 8.67969Z",fill:e})}),"RemoveFormattingIcon");import{jsx as bc}from"react/jsx-runtime";var Ko=a(({color:e="#A3A3A3",active:t,width:r=16,height:n=16,...o})=>bc(ue,{...o,width:r,height:n,children:bc(rt,{d:"M12.1562 1.5H14.3438L9.53125 7.03125L15.2188 14.5H10.7812L7.28125 9.96875L3.3125 14.5H1.09375L6.25 8.625L0.8125 1.5H5.375L8.5 5.65625L12.1562 1.5ZM11.375 13.1875H12.5938L4.71875 2.75H3.40625L11.375 13.1875Z",active:t,fill:e})}),"XIcon");import{useSortable as W1}from"@dnd-kit/sortable";import{NodeViewWrapper as z1}from"@tiptap/react";import{useSetAtom as $1}from"jotai";import{forwardRef as U1,useCallback as un,useEffect as lu,useState as q1}from"react";import{v4 as Z1}from"uuid";import{Color as Xl}from"@tiptap/extension-color";import{Extension as yp}from"@tiptap/core";import{dropCursor as xp}from"@tiptap/pm/dropcursor";var la=yp.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[xp(this.options)]}});import{HardBreak as Yl}from"@tiptap/extension-hard-break";import{Extension as Cp}from"@tiptap/core";import{undo as wp,redo as Tp,history as kp}from"@tiptap/pm/history";var Pp=Cp.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>wp(e,t),redo:()=>({state:e,dispatch:t})=>Tp(e,t)}},addProseMirrorPlugins(){return[kp(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});import{Placeholder as Ql}from"@tiptap/extension-placeholder";import{TextAlign as eu}from"@tiptap/extension-text-align";import{Typography as tu}from"@tiptap/extension-typography";import{Underline as ru}from"@tiptap/extension-underline";import{StarterKit as ou}from"@tiptap/starter-kit";import{mergeAttributes as Ap,Node as Sp}from"@tiptap/core";import{ReactNodeViewRenderer as Rp}from"@tiptap/react";import{useSetAtom as Ip}from"jotai";import{useCallback as Ep}from"react";import{atom as Ct}from"jotai";var An={contentType:{state:"enabled"},bold:{state:"enabled"},italic:{state:"enabled"},underline:{state:"enabled"},strike:{state:"enabled"},alignLeft:{state:"enabled"},alignCenter:{state:"enabled"},alignRight:{state:"enabled"},alignJustify:{state:"enabled"},quote:{state:"enabled"},link:{state:"enabled"},variable:{state:"enabled"}},vc=a(e=>{switch(e){case"button":return{bold:{state:"enabled"},italic:{state:"enabled"},underline:{state:"enabled"},strike:{state:"enabled"}};case"paragraph":case"heading":case"blockquote":return An;default:return{contentType:{state:"hidden"},bold:{state:"hidden"},italic:{state:"hidden"},underline:{state:"hidden"},strike:{state:"hidden"},alignLeft:{state:"hidden"},alignCenter:{state:"hidden"},alignRight:{state:"hidden"},alignJustify:{state:"hidden"},quote:{state:"hidden"},link:{state:"hidden"},variable:{state:"hidden"}}}},"getTextMenuConfigForNode");var Mp={paragraph:An,heading:An},Jo=Ct(Mp),_e=Ct(null),dt=Ct(null,(e,t,r)=>{t(_e,r)}),Np=Ct({ref:null,caretPosition:null}),Sn=Ct({ref:null,caretPosition:null}),Xo=Ct({isFocused:!1,hasVariables:!1,showVariablePopup:!1}),yc=Ct(e=>t=>{let r=e(Jo),n=e(Xo),o=r[t]||{bold:{state:"hidden"},italic:{state:"hidden"},underline:{state:"hidden"},strike:{state:"hidden"},alignLeft:{state:"hidden"},alignCenter:{state:"hidden"},alignRight:{state:"hidden"},alignJustify:{state:"hidden"},quote:{state:"hidden"},link:{state:"hidden"},variable:{state:"hidden"}};return n.isFocused&&n.hasVariables?{...o,variable:{state:"enabled"}}:o}),xc=Ct(null,(e,t,{nodeName:r,config:n})=>{let o=e(Jo);t(Jo,{...o,[r]:{...o[r],...Object.fromEntries(Object.entries(n).map(([i,s])=>[i,{state:(s==null?void 0:s.state)||"hidden"}]))}})}),I3=Ct(null,(e,t,r)=>{let n=e(Jo),{[r]:o,...i}=n;t(Jo,i)}),Cc=Ct(null,(e,t,{ref:r,caretPosition:n})=>{t(Np,{ref:r,caretPosition:n})}),E3=Ct(null,(e,t,r)=>{let n=e(Xo);t(Xo,{...n,showVariablePopup:r})}),ua=Ct(null),go=Ct(null,(e,t,r)=>{t(ua,r)});import{jsx as Ar}from"react/jsx-runtime";var Lp=a(({label:e,alignment:t,size:r,backgroundColor:n,textColor:o,borderWidth:i,borderRadius:s,borderColor:u,padding:c,fontWeight:l,fontStyle:d,isUnderline:f,isStrike:m})=>Ar("div",{className:"courier-w-full node-element",children:Ar("div",{className:"courier-flex",style:{marginTop:`${c}px`,marginBottom:`${c}px`},children:Ar("div",{className:E("courier-inline-flex courier-justify-center courier-px-4 courier-py-2 courier-cursor-pointer courier-text-base",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[t],r==="full"&&"courier-w-full"),style:{backgroundColor:n,color:o,borderWidth:`${i}px`,borderRadius:`${s}px`,borderColor:u,borderStyle:i>0?"solid":"none",caretColor:"#ff0000",fontWeight:l,fontStyle:d},children:m?Ar("s",{children:f?Ar("u",{children:e}):e}):f?Ar("u",{children:e}):e})})}),"ButtonComponent"),wc=a(e=>{let t=Ip(dt),r=Ep(()=>{if(!e.editor.isEditable)return;let n=e.getPos(),o=e.editor.state.doc.nodeAt(n);if(o){e.editor.commands.blur();let i=o.attrs.id;e.editor.state.doc.descendants(s=>s.type.name==="button"&&s.attrs.id===i?(t(s),!1):!0)}},[e,t]);return Ar(Qt,{id:e.node.attrs.id,className:E(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,"data-node-type":"button",children:Ar(Lp,{...e.node.attrs})})},"ButtonComponentNode");import{v4 as Bp}from"uuid";var Pe={label:"Button",link:"",alignment:"center",size:"default",backgroundColor:"#0085FF",textColor:"#ffffff",borderWidth:0,borderRadius:0,borderColor:"#000000",padding:6,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1},Rn=Sp.create({name:"button",group:"block",atom:!0,onCreate(){Lt(this.editor,this.name)},addAttributes(){return{label:{default:Pe.label,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>({"data-label":e.label})},link:{default:Pe.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alignment:{default:Pe.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},size:{default:Pe.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},backgroundColor:{default:Pe.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},textColor:{default:Pe.textColor,parseHTML:e=>e.getAttribute("data-text-color"),renderHTML:e=>({"data-text-color":e.textColor})},borderWidth:{default:Pe.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:Pe.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Pe.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},padding:{default:Pe.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.padding})},fontWeight:{default:Pe.fontWeight,parseHTML:e=>e.getAttribute("data-font-weight"),renderHTML:e=>({"data-font-weight":e.fontWeight})},fontStyle:{default:Pe.fontStyle,parseHTML:e=>e.getAttribute("data-font-style"),renderHTML:e=>({"data-font-style":e.fontStyle})},isUnderline:{default:Pe.isUnderline,parseHTML:e=>e.getAttribute("data-is-underline"),renderHTML:e=>({"data-is-underline":e.isUnderline})},isStrike:{default:Pe.isStrike,parseHTML:e=>e.getAttribute("data-is-strike"),renderHTML:e=>({"data-is-strike":e.isStrike})},id:{default:()=>`node-${Bp()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})}}},parseHTML(){return[{tag:'div[data-type="button"]'}]},renderHTML({HTMLAttributes:e}){return["div",Ap(this.options.HTMLAttributes,e,{"data-type":"button"}),0]},addNodeView(){return Rp(wc)},addCommands(){return{toggleBold:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=n.attrs.fontWeight==="bold"?"normal":"bold";return t().updateAttributes(n.type,{fontWeight:o}).run()}return t().focus().toggleMark("bold").run()},toggleItalic:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=n.attrs.fontStyle==="italic"?"normal":"italic";return t().updateAttributes(n.type,{fontStyle:o}).run()}return t().focus().toggleMark("italic").run()},toggleUnderline:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=!n.attrs.isUnderline;return t().updateAttributes(n.type,{isUnderline:o}).run()}return t().focus().toggleMark("underline").run()},toggleStrike:()=>({editor:e,chain:t})=>{let{selection:r}=e.state,n=e.state.doc.nodeAt(r.$anchor.pos);if((n==null?void 0:n.type.name)==="button"){let o=!n.attrs.isStrike;return t().updateAttributes(n.type,{isStrike:o}).run()}return t().focus().toggleMark("strike").run()}}}});import{z as at}from"zod";var Tc=at.object({label:at.string(),link:at.string().optional(),alignment:at.enum(["left","center","right"]),size:at.enum(["default","full"]),backgroundColor:at.string(),textColor:at.string(),borderWidth:at.number(),borderRadius:at.number(),borderColor:at.string(),padding:at.number(),fontWeight:at.enum(["normal","bold"]),fontStyle:at.enum(["normal","italic"]),isUnderline:at.boolean(),isStrike:at.boolean()});import{zodResolver as _p}from"@hookform/resolvers/zod";import{useForm as jp}from"react-hook-form";import{useEffect as Hp,useRef as kc}from"react";var er=a(({editor:e,element:t,form:r,nodeType:n})=>{let o=kc(null),i=kc(null);return Hp(()=>{if(!e||!t)return;let u=a(()=>{let c=null;if(e.state.doc.descendants((l,d)=>l.attrs.id===t.attrs.id?(c=d,!1):!0),c!==null){let l=e.state.doc.nodeAt(c);(l==null?void 0:l.type.name)===n&&(o.current=l,i.current=c,Object.entries(l.attrs).forEach(([d,f])=>{r.getValues(d)!==f&&r.setValue(d,f)}))}},"updateCurrentNode");return u(),e.on("update",u),()=>{e.off("update",u)}},[e,t,r,n]),{updateNodeAttributes:a(u=>{!e||i.current===null||e.commands.command(({tr:c})=>{let l=c.doc.nodeAt(i.current);if((l==null?void 0:l.type.name)===n){let d={...l.attrs,...u,id:l.attrs.id};return c.setNodeMarkup(i.current,l.type,d),!0}return!1})},"updateNodeAttributes")}},"useNodeAttributes");import{useSetAtom as qp}from"jotai";import{jsx as Pc,jsxs as Dp}from"react/jsx-runtime";var pt=a(({draggable:e=!1,icon:t,draggableLabel:r,label:n})=>Dp("div",{className:"courier-flex courier-flex-row courier-items-center courier-gap-2",children:[Pc("div",{className:E("courier-w-8 courier-h-8 courier-rounded-md courier-flex courier-items-center courier-justify-center",e?"courier-cursor-grab courier-bg-[#F5F5F5]":"courier-border"),children:t}),Pc("span",{className:"courier-text-sm courier-font-medium",children:e?r:n})]}),"BlockBase");import{Quote as Vp}from"lucide-react";import{jsx as Mc}from"react/jsx-runtime";var Nc=a(({draggable:e=!1})=>Mc(pt,{draggable:e,icon:Mc(Vp,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),draggableLabel:"Blockquote",label:"Blockquote block"}),"BlockquoteBlock");import{jsx as Bn}from"react/jsx-runtime";var Fp=a(()=>Bn("svg",{width:"20",height:"12",viewBox:"0 0 20 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Bn("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:"#171717"})}),"ButtonBlockIcon"),ho=a(({draggable:e=!1})=>Bn(pt,{draggable:e,icon:Bn(Fp,{}),draggableLabel:"Button",label:"Button block"}),"ButtonBlock");import{jsx as Hn}from"react/jsx-runtime";var Op=a(()=>Hn("svg",{width:"16",height:"2",viewBox:"0 0 16 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Hn("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:"#171717"})}),"DividerBlockIcon"),bo=a(({draggable:e=!1})=>Hn(pt,{draggable:e,icon:Hn(Op,{}),draggableLabel:"Divider",label:"Divider block"}),"DividerBlock");import{jsx as Dn}from"react/jsx-runtime";var Wp=a(()=>Dn("svg",{width:"18",height:"13",viewBox:"0 0 18 13",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Dn("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:"#171717"})}),"HeadingBlockIcon"),vo=a(({draggable:e=!1})=>Dn(pt,{draggable:e,icon:Dn(Wp,{}),draggableLabel:"Heading",label:"Heading block"}),"HeadingBlock");import{jsx as Vn}from"react/jsx-runtime";var zp=a(()=>Vn("svg",{width:"16",height:"14",viewBox:"0 0 16 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Vn("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:"#171717"})}),"ImageBlockIcon"),yo=a(({draggable:e=!1})=>Vn(pt,{draggable:e,icon:Vn(zp,{}),draggableLabel:"Image",label:"Image block"}),"ImageBlock");import{AlignVerticalSpaceAround as $p}from"lucide-react";import{jsx as Ic}from"react/jsx-runtime";var xo=a(({draggable:e=!1})=>Ic(pt,{draggable:e,icon:Ic($p,{className:"courier-w-4 courier-h-4"}),draggableLabel:"Spacer",label:"Spacer block"}),"SpacerBlock");import{jsx as Fn}from"react/jsx-runtime";var Up=a(()=>Fn("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Fn("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:"#171717"})}),"TextBlockIcon"),Co=a(({draggable:e=!1})=>Fn(pt,{draggable:e,icon:Fn(Up,{}),draggableLabel:"Text",label:"Text block"}),"TextBlock");import{jsx as vr,jsxs as Zp}from"react/jsx-runtime";var tr=a(({type:e})=>{let t=qp(dt);return Zp("div",{className:"courier-flex courier-gap-4 courier-flex-col",children:[vr(we,{className:"courier-w-fit",variant:"secondary",buttonSize:"small",onClick:()=>{t(null)},children:"Close"}),e==="heading"&&vr(vo,{}),e==="text"&&vr(Co,{}),e==="image"&&vr(yo,{}),e==="spacer"&&vr(xo,{}),e==="divider"&&vr(bo,{}),e==="button"&&vr(ho,{}),e==="blockquote"&&vr(Nc,{}),vr(pe,{className:"courier-m-0"})]})},"FormHeader");import{useSetAtom as da}from"jotai";import*as qr from"react";import{useRef as Lc,useState as pa}from"react";import{jsx as Ec}from"react/jsx-runtime";var Yo=a(({items:e,command:t,selected:r=0})=>Ec("div",{className:"courier-bg-white courier-rounded-md courier-shadow-lg courier-border courier-border-border courier-max-h-60 courier-overflow-y-auto",children:e.map((n,o)=>Ec("button",{className:E("courier-w-full courier-px-4 courier-py-2 courier-text-left hover:courier-bg-gray-100 focus:courier-bg-gray-100 focus:courier-outline-none",o===r?"courier-bg-gray-100":""),onClick:()=>t(n),children:n},o))}),"VariableSuggestions");import{jsx as wo,jsxs as Ac}from"react/jsx-runtime";var wt=qr.forwardRef(({as:e="Input",variables:t=[],autoResize:r,onChange:n,...o},i)=>{let[s,u]=pa(!1),[c,l]=pa(null),[d,f]=pa(0),m=Lc(null),h=Lc(null),g=da(Xo),b=da(Cc),y=da(Sn),C=qr.useCallback(()=>{if(!h.current)return;let T={ref:h.current,caretPosition:h.current.selectionStart};b(T),y(T);let P={isFocused:!0,hasVariables:t.length>0,showVariablePopup:!1};g(P)},[g,b,y,t]),A=qr.useCallback(T=>{var k,M;let P=T.relatedTarget&&((k=m.current)==null?void 0:k.contains(T.relatedTarget)),B=(M=T.relatedTarget)==null?void 0:M.closest("[data-variable-button]");!P&&!B&&(b({ref:null,caretPosition:null}),g({isFocused:!1,hasVariables:!1,showVariablePopup:!1}))},[g,b]),N=a(T=>{let P=T.target,B={ref:P,caretPosition:P.selectionStart};b(B),y(B)},"handleSelect"),p=a(T=>{var P;if(s)switch(T.key){case"ArrowUp":T.preventDefault(),f(B=>B>0?B-1:t.length-1);break;case"ArrowDown":T.preventDefault(),f(B=>B<t.length-1?B+1:0);break;case"Enter":if(t[d]){T.preventDefault(),T.stopPropagation(),v(t[d]);return}break;case"Escape":u(!1),T.preventDefault(),T.stopPropagation();break}(P=o.onKeyDown)==null||P.call(o,T)},"handleKeyDown"),v=a(T=>{let P=h.current;if(!P)return;let B=P.value,k=P.selectionStart||0,M=B.substring(0,k-2),D=B.substring(k),$=`${M}{{${T}}}${D}`,W=k+T.length+3;if(n){let L={target:{...P,value:$}};n(L)}setTimeout(()=>{P.value=$,P.setSelectionRange(W,W)},0),u(!1)},"insertVariable"),x=a(T=>{var M;let P=T.target,B=P.value,k=P.selectionStart||0;if(B.slice(k-2,k)==="{{"&&((M=m.current)==null?void 0:M.getBoundingClientRect())){let $=B.slice(0,k),W=document.createElement("span");W.style.font=window.getComputedStyle(P).font,W.style.whiteSpace="pre-wrap",W.textContent=$,document.body.appendChild(W);let L=W.offsetWidth;document.body.removeChild(W);let Y=parseInt(window.getComputedStyle(P).lineHeight),ee=$.split(`
|
|
153
|
+
`).length-1;l({left:Math.min(L%P.offsetWidth,P.offsetWidth-200),top:ee*Y+30}),u(!0),f(0)}n&&n({target:P,currentTarget:P,type:"change",preventDefault:()=>{},stopPropagation:()=>{}})},"handleChange"),S=a(T=>{var M;let P=T.target,B=P.value,k=P.selectionStart||0;if(B.slice(k-2,k)==="{{"&&((M=m.current)==null?void 0:M.getBoundingClientRect())){let $=B.slice(0,k),W=document.createElement("span");W.style.font=window.getComputedStyle(P).font,W.style.whiteSpace="pre-wrap",W.textContent=$,document.body.appendChild(W);let L=W.offsetWidth;document.body.removeChild(W);let Y=parseInt(window.getComputedStyle(P).lineHeight),ee=$.split(`
|
|
154
|
+
`).length-1;l({left:Math.min(L%P.offsetWidth,P.offsetWidth-200),top:ee*Y+30}),u(!0),f(0)}n&&n({target:P,currentTarget:P,type:"change",preventDefault:()=>{},stopPropagation:()=>{}})},"handleInput");if(qr.useEffect(()=>{let T=h.current;if(!T)return;let P=a(B=>{l(B.detail.cursorPosition),u(!0),f(0)},"handleShowSuggestions");return T.addEventListener("showVariableSuggestions",P),()=>{T.removeEventListener("showVariableSuggestions",P)}},[]),e==="Input"){let T={...o,ref:P=>{h.current=P,typeof i=="function"?i(P):i&&(i.current=P)},onChange:x,onInput:S,onKeyDown:p,onFocus:C,onBlur:A,onSelect:N};return Ac("div",{ref:m,className:"courier-relative",children:[wo(ce,{...T}),s&&c&&wo("div",{style:{position:"absolute",left:`${c.left}px`,top:`${c.top}px`,zIndex:50},children:wo(Yo,{items:t,command:v,selected:d})})]})}let R={...o,ref:T=>{h.current=T,typeof i=="function"?i(T):i&&(i.current=T)},onChange:x,onInput:S,onKeyDown:p,onFocus:C,onBlur:A,autoResize:r,onSelect:N};return Ac("div",{ref:m,className:"courier-relative",children:[wo(Xi,{...R}),s&&c&&wo("div",{style:{position:"absolute",left:`${c.left}px`,top:`${c.top}px`,zIndex:50},children:wo(Yo,{items:t,command:v,selected:d})})]})});wt.displayName="TextInput";var Ot=a((e={},t="")=>Object.entries(e).reduce((r,[n,o])=>{let i=t?`${t}.${n}`:n;return o&&typeof o=="object"&&!Array.isArray(o)?[...r,...Ot(o,i)]:[...r,i]},[]),"getFlattenedVariables");import{jsx as or,jsxs as Bc}from"react/jsx-runtime";var Qo="#80849D",rr=30,On=a(({color:e=Qo,width:t=rr,height:r=rr,...n})=>or(ue,{...n,width:t,height:r,children:or("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"),Wn=a(({color:e=Qo,width:t=rr,height:r=rr,...n})=>or(ue,{...n,width:t,height:r,children:or("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"),zn=a(({color:e=Qo,width:t=rr,height:r=rr,...n})=>or(ue,{...n,width:t,height:r,children:or("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"),Sc=a(({color:e=Qo,width:t=rr,height:r=rr,...n})=>Bc(ue,{...n,width:t,height:r,children:[or("path",{d:"M10.3007 18.8007C10.0566 19.0448 10.0566 19.4405 10.3007 19.6846C10.5448 19.9287 10.9405 19.9287 11.1846 19.6846L10.3007 18.8007ZM11.1846 10.3154C10.9405 10.0713 10.5448 10.0713 10.3007 10.3154C10.0566 10.5595 10.0566 10.9552 10.3007 11.1993L11.1846 10.3154ZM8.11464 14.375C7.76946 14.375 7.48964 14.6548 7.48964 15C7.48964 15.3452 7.76946 15.625 8.11464 15.625L8.11464 14.375ZM13.5092 15.625C13.8544 15.625 14.1342 15.3452 14.1342 15C14.1342 14.6548 13.8544 14.375 13.5092 14.375L13.5092 15.625ZM11.1846 19.6846L13.9512 16.918L13.0673 16.0341L10.3007 18.8007L11.1846 19.6846ZM13.9512 13.082L11.1846 10.3154L10.3007 11.1993L13.0673 13.9659L13.9512 13.082ZM13.9512 16.918C14.2866 16.5826 14.5836 16.2875 14.7889 16.0183C15.0053 15.7347 15.178 15.4078 15.178 15L13.928 15C13.928 15.0246 13.9267 15.0877 13.7951 15.2601C13.6526 15.4469 13.4277 15.6737 13.0673 16.0341L13.9512 16.918ZM13.0673 13.9659C13.4277 14.3263 13.6526 14.5531 13.7951 14.7399C13.9267 14.9123 13.928 14.9754 13.928 15L15.178 15C15.178 14.5922 15.0053 14.2653 14.7889 13.9817C14.5836 13.7125 14.2866 13.4174 13.9512 13.082L13.0673 13.9659ZM8.11464 15.625L13.5092 15.625L13.5092 14.375L8.11464 14.375L8.11464 15.625Z",fill:e}),or("path",{d:"M21.6993 18.8007C21.9434 19.0448 21.9434 19.4405 21.6993 19.6846C21.4552 19.9287 21.0595 19.9287 20.8154 19.6846L21.6993 18.8007ZM20.8154 10.3154C21.0595 10.0713 21.4552 10.0713 21.6993 10.3154C21.9434 10.5595 21.9434 10.9552 21.6993 11.1993L20.8154 10.3154ZM23.8854 14.375C24.2305 14.375 24.5104 14.6548 24.5104 15C24.5104 15.3452 24.2305 15.625 23.8854 15.625L23.8854 14.375ZM18.4908 15.625C18.1456 15.625 17.8658 15.3452 17.8658 15C17.8658 14.6548 18.1456 14.375 18.4908 14.375L18.4908 15.625ZM20.8154 19.6846L18.0488 16.918L18.9327 16.0341L21.6993 18.8007L20.8154 19.6846ZM18.0488 13.082L20.8154 10.3154L21.6993 11.1993L18.9327 13.9659L18.0488 13.082ZM18.0488 16.918C17.7134 16.5826 17.4164 16.2875 17.2111 16.0183C16.9947 15.7347 16.822 15.4078 16.822 15L18.072 15C18.072 15.0246 18.0733 15.0877 18.2049 15.2601C18.3474 15.4469 18.5723 15.6737 18.9327 16.0341L18.0488 16.918ZM18.9327 13.9659C18.5723 14.3263 18.3474 14.5531 18.2049 14.7399C18.0733 14.9123 18.072 14.9754 18.072 15L16.822 15C16.822 14.5922 16.9947 14.2653 17.2111 13.9817C17.4164 13.7125 17.7134 13.4174 18.0488 13.082L18.9327 13.9659ZM23.8854 15.625L18.4908 15.625L18.4908 14.375L23.8854 14.375L23.8854 15.625Z",fill:e})]}),"ButtonSizeDefaultIcon"),Rc=a(({color:e=Qo,width:t=rr,height:r=rr,...n})=>Bc(ue,{...n,width:t,height:r,children:[or("path",{d:"M9.18459 18.8007C9.42867 19.0448 9.42867 19.4405 9.18459 19.6846C8.94051 19.9287 8.54479 19.9287 8.30071 19.6846L9.18459 18.8007ZM8.30071 10.3154C8.54479 10.0713 8.94051 10.0713 9.18459 10.3154C9.42867 10.5595 9.42867 10.9552 9.18459 11.1993L8.30071 10.3154ZM11.3707 14.375C11.7158 14.375 11.9957 14.6548 11.9957 15C11.9957 15.3452 11.7158 15.625 11.3707 15.625L11.3707 14.375ZM5.97605 15.625C5.63087 15.625 5.35105 15.3452 5.35105 15C5.35105 14.6548 5.63087 14.375 5.97605 14.375L5.97605 15.625ZM8.30071 19.6846L5.5341 16.918L6.41799 16.0341L9.18459 18.8007L8.30071 19.6846ZM5.5341 13.082L8.30071 10.3154L9.18459 11.1993L6.41799 13.9659L5.5341 13.082ZM5.5341 16.918C5.19869 16.5826 4.90174 16.2875 4.69637 16.0183C4.48 15.7347 4.30733 15.4078 4.30733 15L5.55733 15C5.55733 15.0246 5.55861 15.0877 5.69015 15.2601C5.83269 15.4469 6.05759 15.6737 6.41799 16.0341L5.5341 16.918ZM6.41799 13.9659C6.05759 14.3263 5.83269 14.5531 5.69015 14.7399C5.55861 14.9123 5.55733 14.9754 5.55733 15L4.30733 15C4.30733 14.5922 4.48 14.2653 4.69637 13.9817C4.90174 13.7125 5.19869 13.4174 5.5341 13.082L6.41799 13.9659ZM11.3707 15.625L5.97605 15.625L5.97605 14.375L11.3707 14.375L11.3707 15.625Z",fill:e}),or("path",{d:"M22.8154 18.8007C22.5713 19.0448 22.5713 19.4405 22.8154 19.6846C23.0595 19.9287 23.4552 19.9287 23.6993 19.6846L22.8154 18.8007ZM23.6993 10.3154C23.4552 10.0713 23.0595 10.0713 22.8154 10.3154C22.5713 10.5595 22.5713 10.9552 22.8154 11.1993L23.6993 10.3154ZM20.6293 14.375C20.2842 14.375 20.0043 14.6548 20.0043 15C20.0043 15.3452 20.2842 15.625 20.6293 15.625L20.6293 14.375ZM26.024 15.625C26.3691 15.625 26.649 15.3452 26.649 15C26.649 14.6548 26.3691 14.375 26.024 14.375L26.024 15.625ZM23.6993 19.6846L26.4659 16.918L25.582 16.0341L22.8154 18.8007L23.6993 19.6846ZM26.4659 13.082L23.6993 10.3154L22.8154 11.1993L25.582 13.9659L26.4659 13.082ZM26.4659 16.918C26.8013 16.5826 27.0983 16.2875 27.3036 16.0183C27.52 15.7347 27.6927 15.4078 27.6927 15L26.4427 15C26.4427 15.0246 26.4414 15.0877 26.3099 15.2601C26.1673 15.4469 25.9424 15.6737 25.582 16.0341L26.4659 16.918ZM25.582 13.9659C25.9424 14.3263 26.1673 14.5531 26.3099 14.7399C26.4414 14.9123 26.4427 14.9754 26.4427 15L27.6927 15C27.6927 14.5922 27.52 14.2653 27.3036 13.9817C27.0983 13.7125 26.8013 13.4174 26.4659 13.082L25.582 13.9659ZM20.6293 15.625L26.024 15.625L26.024 14.375L20.6293 14.375L20.6293 15.625Z",fill:e})]}),"ButtonSizeFullIcon");import{jsx as F,jsxs as ot}from"react/jsx-runtime";var Hc=a(({element:e,editor:t})=>{var s,u;let r=jp({resolver:_p(Tc),defaultValues:{...Pe,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=er({editor:t,element:e,form:r,nodeType:"button"}),o=((u=(s=t==null?void 0:t.extensionManager.extensions.find(c=>c.name==="variableSuggestion"))==null?void 0:s.options)==null?void 0:u.variables)||{},i=Ot(o);return e?ot(ut,{...r,children:[F(tr,{type:"button"}),ot("form",{onChange:()=>{n(r.getValues())},children:[F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Link"}),F(G,{control:r.control,name:"link",render:({field:c})=>ot(Z,{children:[F(_,{children:F(wt,{as:"Textarea",...c,variables:i,onChange:l=>{c.onChange(l),n({...r.getValues(),link:l.target.value})}})}),F(j,{})]})}),F(pe,{className:"courier-mt-6 courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Text"}),F(G,{control:r.control,name:"label",render:({field:c})=>ot(Z,{className:"courier-mb-2",children:[F(_,{children:F(wt,{...c,variables:i,onChange:l=>{c.onChange(l),n({...r.getValues(),label:l.target.value})}})}),F(j,{})]})}),F(G,{control:r.control,name:"textColor",render:({field:c})=>ot(Z,{className:"courier-mb-4",children:[F(_,{children:F(Ve,{...c,defaultValue:Pe.textColor,onChange:l=>{c.onChange(l),n({...r.getValues(),[c.name]:l})}})}),F(j,{})]})}),F(pe,{className:"courier-mt-6 courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Background"}),F(G,{control:r.control,name:"backgroundColor",render:({field:c})=>ot(Z,{className:"courier-mb-4",children:[F(_,{children:F(Ve,{...c,defaultValue:Pe.backgroundColor,onChange:l=>{c.onChange(l),n({...r.getValues(),[c.name]:l})}})}),F(j,{})]})}),F(pe,{className:"courier-mt-6 courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),F(G,{control:r.control,name:"padding",render:({field:c})=>ot(Z,{className:"courier-mb-2",children:[F(_,{children:F(ce,{type:"number",min:0,...c})}),F(j,{})]})}),ot("div",{className:"courier-flex courier-flex-row courier-gap-6",children:[F(G,{control:r.control,name:"alignment",render:({field:c})=>ot(Z,{children:[F(_,{children:ot(br,{type:"single",value:c.value,onValueChange:l=>{c.onChange(l),n({...r.getValues(),alignment:l})},children:[F(it,{value:"left",children:F(On,{})}),F(it,{value:"center",children:F(Wn,{})}),F(it,{value:"right",children:F(zn,{})})]})}),F(j,{})]})}),F(G,{control:r.control,name:"size",render:({field:c})=>ot(Z,{children:[F(_,{children:ot(br,{type:"single",value:c.value,onValueChange:l=>{c.onChange(l),n({...r.getValues(),size:l})},children:[F(it,{value:"default",children:F(Sc,{})}),F(it,{value:"full",children:F(Rc,{})})]})}),F(j,{})]})})]}),F(pe,{className:"courier-mt-6 courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),ot("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[F(G,{control:r.control,name:"borderWidth",render:({field:c})=>ot(Z,{children:[F(_,{children:F(ce,{startAdornment:F(Ft,{}),type:"number",min:0,...c})}),F(j,{})]})}),F(G,{control:r.control,name:"borderRadius",render:({field:c})=>ot(Z,{children:[F(_,{children:F(ce,{startAdornment:F($r,{}),type:"number",min:0,...c})}),F(j,{})]})})]}),F(G,{control:r.control,name:"borderColor",render:({field:c})=>ot(Z,{className:"courier-mb-4",children:[F(_,{children:F(Ve,{...c,defaultValue:Pe.borderColor,onChange:l=>{c.onChange(l),n({...r.getValues(),[c.name]:l})}})}),F(j,{})]})})]})]}):null},"ButtonForm");import{mergeAttributes as rm}from"@tiptap/core";import{Node as Gp,mergeAttributes as Kp,isNodeSelection as Jp,nodeInputRule as Xp}from"@tiptap/core";import{TextSelection as ma,NodeSelection as Yp}from"@tiptap/pm/state";var Dc=Gp.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:e}){return["hr",Kp(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:t})=>{let{selection:r}=t,{$from:n,$to:o}=r,i=e();return n.parentOffset===0?i.insertContentAt({from:Math.max(n.pos-1,0),to:o.pos},{type:this.name}):Jp(r)?i.insertContentAt(o.pos,{type:this.name}):i.insertContent({type:this.name}),i.command(({tr:s,dispatch:u})=>{var c;if(u){let{$to:l}=s.selection,d=l.end();if(l.nodeAfter)l.nodeAfter.isTextblock?s.setSelection(ma.create(s.doc,l.pos+1)):l.nodeAfter.isBlock?s.setSelection(Yp.create(s.doc,l.pos)):s.setSelection(ma.create(s.doc,l.pos));else{let f=(c=l.parent.type.contentMatch.defaultType)===null||c===void 0?void 0:c.create();f&&(s.insert(d,f),s.setSelection(ma.create(s.doc,d+1)))}s.scrollIntoView()}return!0}).run()}}},addInputRules(){return[Xp({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}});import{ReactNodeViewRenderer as om}from"@tiptap/react";import{v4 as nm}from"uuid";import{useSetAtom as Qp}from"jotai";import{useCallback as em}from"react";import{jsx as $n}from"react/jsx-runtime";var tm=a(({padding:e,color:t,size:r,radius:n,variant:o="divider"})=>$n("div",{className:"courier-w-full node-element",children:$n("hr",{style:{marginTop:`${e}px`,marginBottom:`${e}px`,backgroundColor:o==="spacer"?"transparent":t,height:`${r}px`,borderRadius:`${n}px`,border:"none"},"data-variant":o})}),"DividerComponent"),Vc=a(e=>{let t=Qp(dt),r=em(()=>{if(!e.editor.isEditable)return;let n=e.getPos(),o=e.editor.state.doc.nodeAt(n);o&&(e.editor.commands.blur(),t(o))},[e,t]);return $n(Qt,{id:e.node.attrs.id,className:E(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,children:$n(tm,{...e.node.attrs})})},"DividerComponentNode");var Wt={padding:6,color:"#000000",size:1,radius:0,variant:"divider"},Fc={padding:6,color:"transparent",size:1,radius:0,variant:"spacer"},fa=Dc.extend({name:"divider",atom:!0,onCreate(){Lt(this.editor,this.name)},addAttributes(){return{padding:{default:Wt.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.margin})},size:{default:Wt.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},color:{default:Wt.color,parseHTML:e=>e.getAttribute("data-color"),renderHTML:e=>({"data-color":e.color})},width:{default:Wt.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},radius:{default:Wt.radius,parseHTML:e=>e.getAttribute("data-radius"),renderHTML:e=>({"data-radius":e.radius})},variant:{default:Wt.variant,parseHTML:e=>e.getAttribute("data-variant"),renderHTML:e=>({"data-variant":e.variant})},id:{default:()=>`node-${nm()}`,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",rm(e,{"data-type":"divider"}),["hr"]]},addNodeView(){return om(Vc)}});import{z as To}from"zod";var Oc=To.object({padding:To.number(),color:To.string(),size:To.number(),radius:To.number(),variant:To.enum(["divider","spacer"]).default("divider")});import{zodResolver as im}from"@hookform/resolvers/zod";import{useForm as am}from"react-hook-form";import{Fragment as sm,jsx as Fe,jsxs as ko}from"react/jsx-runtime";var Wc=a(({element:e,editor:t})=>{let r=am({resolver:im(Oc),defaultValues:{...Wt,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=er({editor:t,element:e,form:r,nodeType:"divider"});if(!e)return null;let o=r.watch("variant");return ko(ut,{...r,children:[Fe(tr,{type:o}),ko("form",{onChange:()=>{n(r.getValues())},children:[Fe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),Fe(G,{control:r.control,name:"padding",render:({field:i})=>ko(Z,{children:[Fe(_,{children:Fe(ce,{startAdornment:Fe(Ur,{}),type:"number",...i,onChange:s=>{i.onChange(s),n({...r.getValues(),margin:s.target.value})}})}),Fe(j,{})]})}),o==="divider"&&ko(sm,{children:[Fe(pe,{className:"courier-mt-6 courier-mb-4"}),Fe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Line"}),Fe(G,{control:r.control,name:"size",render:({field:i})=>ko(Z,{className:"courier-mb-4",children:[Fe(_,{children:Fe(ce,{startAdornment:Fe(Ft,{}),type:"number",min:0,...i,onChange:s=>{i.onChange(s),n({...r.getValues(),width:s.target.value})}})}),Fe(j,{})]})}),Fe(G,{control:r.control,name:"color",render:({field:i})=>ko(Z,{className:"courier-mb-4",children:[Fe(_,{children:Fe(Ve,{...i,defaultValue:Wt.color,onChange:s=>{i.onChange(s),n({...r.getValues(),[i.name]:s})}})}),Fe(j,{})]})})]})]})]})},"DividerForm");import{Node as cm}from"@tiptap/core";var zc=cm.create({name:"doc",topNode:!0,content:"block+"});var ga=zc.extend({content:"(block)+"});import{Node as gm}from"@tiptap/core";import{ReactNodeViewRenderer as hm}from"@tiptap/react";import{useSortable as lm}from"@dnd-kit/sortable";import{NodeViewWrapper as um}from"@tiptap/react";import{forwardRef as dm,useEffect as $c,useState as pm}from"react";import{jsx as Un}from"react/jsx-runtime";function mm(){let[e,t]=pm(!1);return $c(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}a(mm,"useMountStatus");var fm=dm(({children:e,className:t,dragOverlay:r,id:n},o)=>($c(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]),Un(um,{ref:o,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":n,className:E("courier-flex courier-items-start courier-gap-2 courier-pl-6",t),children:e}))),Uc=a(({node:e})=>{let t=e.attrs.type,r=e.attrs.id,{setNodeRef:n,setActivatorNodeRef:o,listeners:i,isDragging:s,transform:u,transition:c}=lm({id:r}),l=mm();return Un(fm,{ref:n,id:r,transition:c,transform:u,fadeIn:s&&!l,listeners:i,handleProps:{ref:o},children:Un("div",{className:E("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:Un("div",{className:"courier-text-accent-foreground",children:t==="text"?"Text":t==="heading"?"Heading":t==="spacer"?"Spacer":t==="divider"?"Divider":t==="button"?"Button":t==="image"?"Image":t})})})},"DragPlaceholderComponent");var qc=gm.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 n=this.type.create(e);typeof e.pos=="number"?t.insert(e.pos,n):t.replaceSelectionWith(n)}return!0},removeDragPlaceholder:()=>({tr:e,state:t,dispatch:r})=>{let n=!1;return t.doc.descendants((o,i)=>o.type.name===this.name?(r&&(o!=null&&o.nodeSize)&&(e.delete(i,i+o.nodeSize),n=!0),!1):!0),n}}},addNodeView(){return hm(Uc,{as:"div",className:"drag-placeholder-wrapper"})}});import{Extension as bm}from"@tiptap/core";import{Plugin as vm,PluginKey as ym}from"@tiptap/pm/state";var xm=new ym("file-handler"),Cm=bm.create({name:"fileHandler",addOptions(){return{allowedMimeTypes:[],onDrop:()=>{},onPaste:()=>{}}},addProseMirrorPlugins(){let{allowedMimeTypes:e,onDrop:t,onPaste:r}=this.options;return[new vm({key:xm,props:{handleDrop:(n,o,i,s)=>{var d;if(!((d=o.dataTransfer)!=null&&d.files)||s)return!1;let{files:u}=o.dataTransfer,c=n.posAtCoords({left:o.clientX,top:o.clientY});if(!c)return!1;let l=Array.from(u).filter(f=>e==null?void 0:e.includes(f.type));return l.length===0?!1:(o.preventDefault(),t&&t(this.editor,l,c.pos),!0)},handlePaste:(n,o)=>{var u;if(!((u=o.clipboardData)!=null&&u.files))return!1;let{files:i}=o.clipboardData,s=Array.from(i).filter(c=>e==null?void 0:e.includes(c.type));return s.length===0?!1:(o.preventDefault(),r&&r(this.editor,s),!0)}}})]}}),qn=Cm;import{mergeAttributes as Am}from"@tiptap/core";import{Node as wm,mergeAttributes as Tm,textblockTypeInputRule as km}from"@tiptap/core";var Zc=wm.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]}`,Tm(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=>km({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}});import{z as zt}from"zod";var _c=zt.object({paddingVertical:zt.number(),paddingHorizontal:zt.number(),backgroundColor:zt.string(),borderWidth:zt.number(),borderRadius:zt.number(),borderColor:zt.string(),textColor:zt.string(),textAlign:zt.enum(["left","center","right","justify"]).default("left"),selected:zt.boolean().default(!1),id:zt.string().optional()}),J={paddingVertical:6,paddingHorizontal:0,backgroundColor:"transparent",borderWidth:0,borderRadius:0,borderColor:"#000000",textColor:"#292929",textAlign:"left",selected:!1};import{NodeViewContent as Pm,NodeViewWrapper as Mm}from"@tiptap/react";import{useSetAtom as Nm}from"jotai";import{useCallback as Im}from"react";import{jsx as Zr}from"react/jsx-runtime";var jc=a(({paddingVertical:e,paddingHorizontal:t,textAlign:r,backgroundColor:n,borderWidth:o,borderRadius:i,borderColor:s,textColor:u,level:c,type:l})=>{let d=l==="heading"?`h${c}`:"p";return Zr("div",{className:"courier-w-full node-element",children:Zr("div",{className:E(!u&&"is-empty"),style:{padding:`${e}px ${t}px`,textAlign:r,backgroundColor:n,borderWidth:`${o}px`,borderRadius:`${i}px`,borderColor:s,borderStyle:o>0?"solid":"none",color:u},children:Zr(Pm,{as:d})})})},"TextBlockComponent"),Zn=a(e=>{let t=Nm(dt),r=Im(()=>{if(!e.editor.isEditable)return;let s=e.getPos(),u=e.editor.state.doc.nodeAt(s);u&&t(u)},[e,t]),n=!e.node.content||e.node.content.size===0;return e.editor.state.doc.resolve(e.getPos()).parent.type.name==="blockquote"?Zr(Mm,{className:E(e.node.attrs.isSelected&&"selected-element"),onClick:r,children:Zr(jc,{...e.node.attrs,type:e.node.type.name})}):Zr(Qt,{id:e.node.attrs.id,className:E(e.node.attrs.isSelected&&"selected-element",n&&"is-empty"),onClick:r,editor:e.editor,children:Zr(jc,{...e.node.attrs,type:e.node.type.name})})},"TextBlockComponentNode");import{zodResolver as Em}from"@hookform/resolvers/zod";import{useForm as Lm}from"react-hook-form";import{jsx as oe,jsxs as $t}from"react/jsx-runtime";var Gc=a(({element:e,editor:t})=>{let r=Lm({resolver:Em(_c),defaultValues:{...J,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=er({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"paragraph"});return e?$t(ut,{...r,children:[oe(tr,{type:"text"}),$t("form",{onChange:()=>{n(r.getValues())},children:[oe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),$t("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[oe(G,{control:r.control,name:"paddingHorizontal",render:({field:o})=>$t(Z,{children:[oe(_,{children:oe(ce,{startAdornment:oe(Go,{}),type:"number",min:0,...o})}),oe(j,{})]})}),oe(G,{control:r.control,name:"paddingVertical",render:({field:o})=>$t(Z,{children:[oe(_,{children:oe(ce,{startAdornment:oe(Ur,{}),type:"number",min:0,...o})}),oe(j,{})]})})]}),oe(G,{control:r.control,name:"backgroundColor",render:({field:o})=>$t(Z,{className:"courier-mb-4",children:[oe(_,{children:oe(Ve,{...o,defaultValue:J.backgroundColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),oe(j,{})]})}),oe(pe,{className:"courier-mb-4"}),oe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Text"}),oe(G,{control:r.control,name:"textColor",render:({field:o})=>$t(Z,{className:"courier-mb-4",children:[oe(_,{children:oe(Ve,{...o,transparent:!1,defaultValue:J.textColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),oe(j,{})]})}),oe(pe,{className:"courier-mb-4"}),oe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),$t("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[oe(G,{control:r.control,name:"borderWidth",render:({field:o})=>$t(Z,{children:[oe(_,{children:oe(ce,{startAdornment:oe(Ft,{}),type:"number",min:0,...o})}),oe(j,{})]})}),oe(G,{control:r.control,name:"borderRadius",render:({field:o})=>$t(Z,{children:[oe(_,{children:oe(ce,{startAdornment:oe($r,{}),type:"number",min:0,...o})}),oe(j,{})]})})]}),oe(G,{control:r.control,name:"borderColor",render:({field:o})=>$t(Z,{className:"courier-mb-4",children:[oe(_,{children:oe(Ve,{...o,defaultValue:J.borderColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),oe(j,{})]})})]})]}):null},"TextBlockForm");import{ReactNodeViewRenderer as Sm}from"@tiptap/react";var ha=Zc.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Lt(this.editor,this.name)},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),paddingVertical:{default:J.paddingVertical,parseHTML:t=>t.style.paddingTop?parseInt(t.style.paddingTop):J.paddingVertical,renderHTML:t=>({style:`padding-top: ${t.paddingVertical}px; padding-bottom: ${t.paddingVertical}px;`})},paddingHorizontal:{default:J.paddingHorizontal,parseHTML:t=>t.style.paddingLeft?parseInt(t.style.paddingLeft):J.paddingHorizontal,renderHTML:t=>({style:`padding-left: ${t.paddingHorizontal}px; padding-right: ${t.paddingHorizontal}px;`})},textAlign:{default:J.textAlign,parseHTML:t=>t.style.textAlign||J.textAlign,renderHTML:t=>({style:`text-align: ${t.textAlign}`})},backgroundColor:{default:J.backgroundColor,parseHTML:t=>t.style.backgroundColor||J.backgroundColor,renderHTML:t=>({style:`background-color: ${t.backgroundColor}`})},borderWidth:{default:J.borderWidth,parseHTML:t=>t.style.borderWidth?parseInt(t.style.borderWidth):J.borderWidth,renderHTML:t=>({style:`border-width: ${t.borderWidth}px`})},borderRadius:{default:J.borderRadius,parseHTML:t=>t.style.borderRadius?parseInt(t.style.borderRadius):J.borderRadius,renderHTML:t=>({style:`border-radius: ${t.borderRadius}px`})},borderColor:{default:J.borderColor,parseHTML:t=>t.style.borderColor||J.borderColor,renderHTML:t=>({style:`border-color: ${t.borderColor}`})},textColor:{default:J.textColor,parseHTML:t=>t.style.color||J.textColor,renderHTML:t=>({style:`color: ${t.textColor}`})},id:{default:()=>null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>({"data-id":t.id})}}},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]}`,Am(this.options.HTMLAttributes,t),0]},addNodeView(){return Sm(Zn)}});import{mergeAttributes as Vm,Node as Fm}from"@tiptap/core";import{ReactNodeViewRenderer as Om}from"@tiptap/react";var _n=a(async(e,t)=>{let{apiUrl:r,token:n}=t;if(!e.type.startsWith("image/"))throw new Error(`Invalid file type: ${e.type}. Only image files are supported.`);let o=e.name.split(".").pop()||"",i=`image_${Date.now()}_${Math.random().toString(36).substring(2,10)}.${o}`,u=(await new Promise((c,l)=>{let d=new FileReader;d.onload=()=>{typeof d.result=="string"?c(d.result):l(new Error("Failed to read file as data URL"))},d.onerror=()=>l(d.error),d.readAsDataURL(e)})).split(",")[1];try{let l=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({query:`
|
|
155
155
|
mutation UploadImage($input: UploadImageInput!) {
|
|
156
156
|
tenant {
|
|
157
157
|
notification {
|
|
@@ -161,27 +161,26 @@ var cd=Object.defineProperty;var a=(e,t)=>cd(e,"name",{value:t,configurable:!0})
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
`,variables:{input:{name:
|
|
165
|
-
`));return d.data.tenant.notification.uploadImage.url}catch(c){throw console.error("Error uploading image:",c),c}},"uploadImage");import{useAtomValue as Xn,useSetAtom as zm}from"jotai";import{useCallback as nr,useEffect as Pa,useMemo as $m,useRef as Yl,useState as Ql}from"react";import{toast as ec}from"sonner";import{jsx as Ta}from"react/jsx-runtime";var hr=a(({className:e})=>Ta("div",{className:M("courier-flex courier-flex-col courier-items-center courier-justify-center courier-text-ring",e),children:Ta("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"courier-w-6 courier-h-6 courier-animate-spin",children:Ta("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})})}),"Loader");import{Fragment as Zm,jsx as or,jsxs as ka}from"react/jsx-runtime";var Um=a(({sourcePath:e,alt:t,alignment:r,borderWidth:n,borderRadius:o,borderColor:i,isUploading:s,width:u,imageNaturalWidth:l,onFileSelect:c,editor:d})=>{let[f,m]=Ql(!1),[h,g]=Ql(!0),y=Yl(null),b=Yl(null);Pa(()=>{e&&g(!0)},[e]),Pa(()=>{if(e&&!l&&d){let T=new Image;T.onload=()=>{try{if(!d.view||!d.state)return;let N=d.view.state.selection.from;d.chain().setNodeSelection(N).updateAttributes("imageBlock",{imageNaturalWidth:T.naturalWidth}).run()}catch{}},T.src=e}},[e,l,d]);let x=nr(T=>{var P,A;let N=(A=(P=d==null?void 0:d.view)==null?void 0:P.dom)==null?void 0:A.closest(".ProseMirror"),H=(N==null?void 0:N.clientWidth)||1e3,D=Math.min(100,T/H*100);return Math.round(D)},[d]),E=$m(()=>x(l),[x,l]),I=nr(T=>{T.preventDefault(),T.stopPropagation(),T.dataTransfer.types.includes("Files")&&Array.from(T.dataTransfer.items).some(D=>D.type.startsWith("image/"))&&(m(!0),T.dataTransfer.dropEffect="copy")},[]),p=nr(T=>{T.preventDefault(),T.stopPropagation(),m(!1)},[]),v=nr(T=>{T.preventDefault(),T.stopPropagation(),T.dataTransfer.types.includes("Files")&&Array.from(T.dataTransfer.items).some(D=>D.type.startsWith("image/"))&&m(!0)},[]),w=nr(T=>{T.preventDefault(),T.stopPropagation(),m(!1);let H=Array.from(T.dataTransfer.files).find(D=>D.type.startsWith("image/"));H&&c&&c(H)},[c]),R=nr(T=>{var H;let N=(H=T.target.files)==null?void 0:H[0];N&&c&&c(N)},[c]),B=nr(()=>{var T;(T=y.current)==null||T.click()},[]);return e?or("div",{className:"courier-w-full node-element",children:ka("div",{className:M("courier-relative courier-p-1",(s||h)&&"courier-min-h-[200px] courier-min-w-[300px] courier-bg-gray-100"),children:[(s||h)&&or("div",{className:"courier-absolute courier-inset-0 courier-flex courier-items-center courier-justify-center",children:or(hr,{className:"courier-w-8 courier-h-8"})}),or("img",{ref:b,src:e,alt:t,className:M("courier-h-auto courier-inline-block courier-w-full",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[r],s&&"courier-opacity-50",(s||h)&&"courier-invisible"),style:{maxWidth:u===E?`${l}px`:`${u}%`,borderWidth:`${n}px`,borderRadius:`${o}px`,borderColor:i,borderStyle:n>0?"solid":"none",display:"block"},loading:"lazy",decoding:"async",draggable:!1,onLoad:T=>{if(g(!1),!l&&d)try{if(!d.view||!d.state)return;setTimeout(()=>{let N=d.view.state.selection.from;d.chain().setNodeSelection(N).updateAttributes("imageBlock",{imageNaturalWidth:T.target.naturalWidth}).run()},100)}catch(N){console.warn("Editor not ready for image update:",N)}},onError:()=>g(!1)})]})}):ka("div",{className:M("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",f&&"courier-border-primary courier-bg-gray-50"),onDragOver:I,onDragEnter:v,onDragLeave:p,onDrop:w,style:{pointerEvents:"all"},children:[s?or(hr,{className:"courier-w-8 courier-h-8"}):ka(Zm,{children:[or("span",{className:"courier-text-sm courier-pointer-events-none courier-inline-block",children:"Drag and drop image, or\xA0"}),or("button",{className:"courier-underline courier-font-medium courier-inline-block courier-text-sm",onClick:B,children:"Browse"})]}),or("input",{ref:y,type:"file",accept:"image/*",className:"courier-hidden",onChange:R})]})},"ImageBlockComponent"),tc=a(e=>{let t=zm(bt),r=Xn(tt),n=Xn(rt),o=Xn(Ee),i=Xn(Tr),s=nr(c=>{var h,g,y;let d=(y=(g=(h=e.editor)==null?void 0:h.view)==null?void 0:g.dom)==null?void 0:y.closest(".ProseMirror"),f=(d==null?void 0:d.clientWidth)||1e3,m=Math.min(100,c/f*100);return Math.round(m)},[e.editor]);Pa(()=>{var d,f;let c=e.editor.state.doc.nodeAt(e.getPos());if((d=c==null?void 0:c.attrs)!=null&&d.sourcePath&&!((f=c==null?void 0:c.attrs)!=null&&f.imageNaturalWidth)){let m=new Image;m.onload=()=>{let h=c.attrs.width||s(m.naturalWidth);e.editor.chain().focus().setNodeSelection(e.getPos()).updateAttributes("imageBlock",{width:h,imageNaturalWidth:m.naturalWidth}).run()},m.src=c.attrs.sourcePath}},[e,e.getPos,s]);let u=nr(()=>{if(!e.editor.isEditable)return;let c=e.getPos(),d=e.editor.state.doc.nodeAt(c);d&&(e.editor.commands.blur(),t(d))},[e,t]),l=nr(async c=>{if(!r||!n||!o){ec.error("Missing configuration for image upload");return}let d=e.getPos();e.editor.state.doc.nodeAt(d)&&e.editor.chain().focus().setNodeSelection(d).updateAttributes("imageBlock",{isUploading:!0}).run();try{if(!c.type.startsWith("image/"))throw new Error("Only image files are supported");let m=new FileReader;m.readAsDataURL(c),await new Promise((b,x)=>{m.onload=b,m.onerror=x});let h=await Jn(c,{apiUrl:r,token:n,tenantId:o,clientKey:i}),g=e.getPos();if(e.editor.state.doc.nodeAt(g)){let b=new Image;b.src=h,await new Promise(E=>{b.onload=E});let x=s(b.naturalWidth);e.editor.chain().focus().setNodeSelection(g).updateAttributes("imageBlock",{sourcePath:h,isUploading:!1,width:x,imageNaturalWidth:b.naturalWidth}).run()}}catch(m){console.error("Error uploading image:",m);let h="Failed to upload image";if(m instanceof Error){let b=m.message;b.includes("GraphQL error")?h="Server error: Could not process image":(b.includes("network")||b.includes("fetch"))&&(h="Network error: Could not upload image")}ec.error(h);let g=e.getPos();e.editor.state.doc.nodeAt(g)&&e.editor.chain().focus().setNodeSelection(g).updateAttributes("imageBlock",{isUploading:!1}).run()}},[e,s,r,n,o,i]);return or(Yt,{id:e.node.attrs.id,className:M(e.node.attrs.isSelected&&"selected-element"),onClick:u,editor:e.editor,children:or(Um,{...e.node.attrs,onFileSelect:l,editor:e.editor})})},"ImageBlockView");var Ze={sourcePath:"",link:"",alt:"",alignment:"center",width:1,borderWidth:0,borderRadius:0,borderColor:"#000000",isUploading:!1,imageNaturalWidth:0},Eo=qm.create({name:"imageBlock",group:"block",atom:!0,inline:!1,onCreate(){Lt(this.editor,this.name)},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),placeholder:""}},addAttributes(){return{sourcePath:{default:Ze.sourcePath,parseHTML:e=>e.getAttribute("data-source-path")||"",renderHTML:e=>({"data-source-path":e.sourcePath||""})},link:{default:Ze.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alt:{default:Ze.alt,parseHTML:e=>e.getAttribute("data-alt"),renderHTML:e=>({"data-alt":e.alt})},alignment:{default:Ze.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},width:{default:Ze.width,parseHTML:e=>e.getAttribute("data-width"),renderHTML:e=>({"data-width":e.width})},imageNaturalWidth:{default:Ze.imageNaturalWidth,parseHTML:e=>e.getAttribute("data-natural-width"),renderHTML:e=>({"data-natural-width":e.imageNaturalWidth})},borderWidth:{default:Ze.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:Ze.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Ze.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},isUploading:{default:Ze.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})}}},parseHTML(){return[{tag:'div[data-type="image-block"]'}]},renderHTML({HTMLAttributes:e}){return["div",_m(this.options.HTMLAttributes,e,{"data-type":"image-block"}),0]},addNodeView(){return jm(tc)},addCommands(){return{setImageBlock:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...Ze,...e}}).run(),setImageBlockAt:({pos:e,src:t})=>({chain:r})=>r().insertContentAt(e,{type:this.name,attrs:{...Ze,sourcePath:t||""}}).run(),setImageBlockAlign:e=>({commands:t})=>t.updateAttributes(this.name,{alignment:e}),setImageBlockWidth:e=>({commands:t})=>t.updateAttributes(this.name,{width:e}),uploadImage:e=>({chain:t})=>{let r=new FileReader;return r.onload=()=>{t().setImageBlock({sourcePath:r.result,isUploading:!0}).run()},r.readAsDataURL(e),!0}}}});import{z as $t}from"zod";var rc=$t.object({sourcePath:$t.string(),link:$t.string().optional(),alt:$t.string().optional(),alignment:$t.enum(["left","center","right"]),width:$t.number().min(1).max(100),borderWidth:$t.number(),borderRadius:$t.number(),borderColor:$t.string(),isUploading:$t.boolean().optional(),imageNaturalWidth:$t.number()});import{zodResolver as Gm}from"@hookform/resolvers/zod";import{ArrowUp as Km}from"lucide-react";import{useCallback as Yn,useEffect as Jm,useRef as oc,useState as Qn}from"react";import{useForm as Xm}from"react-hook-form";import{toast as ei}from"sonner";import{useAtomValue as ti}from"jotai";import{Fragment as nc,jsx as $,jsxs as _e}from"react/jsx-runtime";var ic=a(({element:e,editor:t})=>{var T,N,H,D;let r=oc(null),n=oc(null),[o,i]=Qn(""),[s,u]=Qn(!1),[l,c]=Qn(((T=e==null?void 0:e.attrs)==null?void 0:T.imageNaturalWidth)||0),[d,f]=Qn(!1),m=ti(tt),h=ti(rt),g=ti(Ee),y=ti(Tr),b=Xm({resolver:Gm(rc),defaultValues:{...Ze,...e==null?void 0:e.attrs},mode:"onChange"}),{updateNodeAttributes:x}=Qt({editor:t,element:e,form:b,nodeType:"imageBlock"});Jm(()=>{var A;let P=(A=e==null?void 0:e.attrs)==null?void 0:A.sourcePath;if(P&&!l){let L=new Image;L.onload=()=>{c(L.naturalWidth);let W={...b.getValues(),imageNaturalWidth:L.naturalWidth};b.setValue("imageNaturalWidth",L.naturalWidth),x(W)},L.src=P}},[(N=e==null?void 0:e.attrs)==null?void 0:N.sourcePath,l,b,x]);let E=Yn(P=>{var J,U;let A=(U=(J=t==null?void 0:t.view)==null?void 0:J.dom)==null?void 0:U.closest(".ProseMirror"),L=(A==null?void 0:A.clientWidth)||1e3;if(P||(P=l),!P)return 0;let W=Math.min(100,P/L*100);return Math.round(W)},[t,l]),I=Yn(P=>{var A;P.preventDefault(),(A=r.current)==null||A.click()},[]),p=Yn((P,A)=>{let L=E(P.naturalWidth);i(`${L}%`),u(!1),b.setValue("sourcePath",A),b.setValue("imageNaturalWidth",P.naturalWidth),b.setValue("width",L);let W={...b.getValues(),sourcePath:A,width:L,imageNaturalWidth:P.naturalWidth};x(W)},[b,x,E]),v=Yn(P=>{if(!P)return;let A=new Image;A.onload=()=>{let L=E(A.naturalWidth);b.setValue("sourcePath",P),b.setValue("imageNaturalWidth",A.naturalWidth),b.setValue("width",L);let W={...b.getValues(),sourcePath:P,width:L,imageNaturalWidth:A.naturalWidth};x(W)},A.src=P},[b,x,E]),w=((D=(H=t==null?void 0:t.extensionManager.extensions.find(P=>P.name==="variableSuggestion"))==null?void 0:H.options)==null?void 0:D.variables)||{},R=Ft(w),B=b.getValues().sourcePath;return e?_e(ht,{...b,children:[$(er,{type:"image"}),_e("form",{ref:n,onChange:()=>{let P=b.getValues();x(P)},children:[$("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Image"}),_e(ol,{defaultValue:"file",className:"courier-mb-3 courier-w-full",children:[_e(ta,{className:"courier-w-full courier-flex courier-justify-stretch courier-mb-3",children:[$(Rn,{value:"file",className:"courier-flex-1",children:"From file"}),$(Rn,{value:"url",className:"courier-flex-1",children:"From URL"})]}),$(Bn,{value:"file",children:_e("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[$(Me,{onClick:I,className:"courier-w-full",variant:"outline",type:"button",disabled:d,children:d?$(nc,{children:"Uploading..."}):_e(nc,{children:[$(Km,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-ml-2 courier-text-foreground"}),"Upload image"]})}),$("input",{ref:r,type:"file",accept:"image/*",className:"courier-hidden",onChange:P=>{var L;let A=(L=P.target.files)==null?void 0:L[0];if(A){f(!0);let W=new FileReader;W.onload=async()=>{try{if(!m||!h||!g){ei.error("Missing configuration for image upload"),f(!1);return}let V=await Jn(A,{apiUrl:m,token:h,tenantId:g,clientKey:y}),J=new Image;J.onload=()=>{p(J,V),f(!1)},J.onerror=()=>{ei.error("Failed to load uploaded image"),f(!1)},J.src=V}catch(V){console.error("Error uploading image:",V),ei.error("Failed to upload image"),f(!1)}},W.onerror=()=>{ei.error("Failed to read image file"),f(!1)},W.readAsDataURL(A)}}})]})}),$(Bn,{value:"url",children:$(j,{control:b.control,name:"sourcePath",render:({field:P})=>_e(Z,{className:"courier-mb-3",children:[$(_,{children:$(kt,{as:"Textarea",...P,autoResize:!0,className:"courier-max-h-[88px]",variables:R,onChange:A=>v(A.target.value)})}),$(q,{})]})})})]}),$(j,{control:b.control,name:"link",render:({field:P})=>_e(Z,{className:"courier-mb-3",children:[$(_,{children:$(kt,{as:"Textarea",placeholder:"Link",...P,variables:R,onChange:A=>{P.onChange(A),x({...b.getValues(),link:A.target.value})}})}),$(q,{})]})}),$(j,{control:b.control,name:"alt",render:({field:P})=>_e(Z,{className:"courier-mb-4",children:[$(_,{children:$(kt,{as:"Textarea",...P,placeholder:"Alt text...",variables:R,onChange:A=>{P.onChange(A),x({...b.getValues(),alt:A.target.value})}})}),$(q,{})]})}),$(fe,{className:"courier-mt-6 courier-mb-4"}),$("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Width"}),(()=>{let P=b.getValues().width,A=E(l),L=P===A,W=L?"original":"fill";return _e(fr,{type:"single",value:B?W:"original",onValueChange:V=>{if(!V||V===W)return;let J=V==="fill"?100:E(l);J>0&&(b.setValue("width",J),x({...b.getValues(),width:J}))},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5 courier-mb-3 courier-shadow-sm",disabled:!B,children:[$(ct,{size:"sm",value:"original",className:"courier-w-full courier-h-7",children:"Original"}),$(ct,{size:"sm",value:"fill",className:"courier-w-full courier-h-7",disabled:L||!B,children:"Fill"})]})})(),$(j,{control:b.control,name:"width",render:({field:P})=>_e(Z,{className:"courier-flex-1 courier-mb-3",children:[$(_,{children:$(de,{type:"text",inputMode:"numeric",pattern:"[0-9]*",min:1,max:100,...P,value:b.getValues().sourcePath?s?o:`${P.value}%`:"0%",className:"courier-text-2xl courier-font-normal",disabled:!b.getValues().sourcePath,onFocus:A=>{u(!0),i(A.target.value)},onChange:A=>{i(A.target.value)},onKeyDown:A=>{A.key==="Enter"&&(A.preventDefault(),A.currentTarget.blur())},onBlur:A=>{u(!1);let L=parseFloat(A.target.value.replace("%",""));if(!isNaN(L)){let W=Math.min(100,Math.max(1,L));P.onChange(W),x({...b.getValues(),width:Math.round(W)})}}})}),$(q,{})]})}),$(j,{control:b.control,name:"width",render:({field:P})=>_e(Z,{className:"courier-flex-1 courier-mb-3",children:[$(_,{children:$(Qi,{min:1,max:100,value:[B?P.value:0],disabled:!B,onValueChange:A=>{P.onChange(A[0]),x({...b.getValues(),width:A[0]})}})}),$(q,{})]})}),$(j,{control:b.control,name:"alignment",render:({field:P})=>_e(Z,{children:[$(_,{children:_e(fr,{disabled:!B,type:"single",value:P.value,onValueChange:A=>{P.onChange(A),x({...b.getValues(),alignment:A})},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5",children:[$(ct,{size:"sm",value:"left",className:"courier-w-full",children:$(Un,{className:"courier-h-4 courier-w-4"})}),$(ct,{size:"sm",value:"center",className:"courier-w-full",children:$(Zn,{className:"courier-h-4 courier-w-4"})}),$(ct,{size:"sm",value:"right",className:"courier-w-full",children:$(_n,{className:"courier-h-4 courier-w-4"})})]})}),$(q,{})]})}),$(fe,{className:"courier-mt-6 courier-mb-4"}),$("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),_e("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[$(j,{control:b.control,name:"borderWidth",render:({field:P})=>_e(Z,{children:[$(_,{children:$(de,{startAdornment:$(Vt,{}),type:"number",disabled:!B,min:0,...P,onChange:A=>{let L=parseInt(A.target.value)||0;P.onChange(L),x({...b.getValues(),borderWidth:L})}})}),$(q,{})]})}),$(j,{control:b.control,name:"borderRadius",render:({field:P})=>_e(Z,{children:[$(_,{children:$(de,{startAdornment:$(Zr,{}),type:"number",disabled:!B,min:0,...P,onChange:A=>{let L=parseInt(A.target.value)||0;P.onChange(L),x({...b.getValues(),borderRadius:L})}})}),$(q,{})]})})]}),$(j,{control:b.control,name:"borderColor",render:({field:P})=>_e(Z,{className:"courier-mb-4",children:[$(_,{children:$(De,{...P,disabled:!B,defaultValue:Ze.borderColor,onChange:A=>{P.onChange(A),x({...b.getValues(),[P.name]:A})}})}),$(q,{})]})})]})]}):null},"ImageBlockForm");import{getMarkRange as ac,mergeAttributes as Ym}from"@tiptap/core";import Qm from"@tiptap/extension-link";import{Plugin as sc,TextSelection as lc}from"@tiptap/pm/state";var Na=Qm.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",Ym(this.options.HTMLAttributes,e,{class:"link cursor-pointer"}),0]},addProseMirrorPlugins(){var t;return[...((t=this.parent)==null?void 0:t.call(this))||[],new sc({props:{handleClick:(r,n,o)=>{if(o.button!==0)return!1;let{state:i}=r,{doc:s}=i,u=s.resolve(n),l=u.marks().find(c=>c.type.name==="link");if(l||n>0&&(l=s.resolve(n-1).marks().find(d=>d.type.name==="link")),l||n<s.content.size&&(l=s.resolve(n+1).marks().find(d=>d.type.name==="link")),l){let c=ac(u,l.type);return c?(r.dispatch(i.tr.setSelection(lc.create(s,c.from,c.to))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:c.from,to:c.to,href:l.attrs.originalHref||l.attrs.href})),!0):(r.dispatch(i.tr.setSelection(lc.create(s,n,n+1))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:n,to:n+1,href:l.attrs.originalHref||l.attrs.href})),!0)}return!1}}}),new sc({appendTransaction(r,n,o){if(!r.some(u=>u.docChanged))return null;let i=o.tr,s=!1;return o.doc.descendants((u,l)=>(u.marks.forEach(c=>{if(c.type.name==="link"&&c.attrs.href){let d=c.attrs.href;if(d.includes("__VAR_")){let f=d.replace(/__VAR_([^_]+)__/g,"{{$1}}");if(f!==d){let m=ac(o.doc.resolve(l),c.type);m&&(i.removeMark(m.from,m.to,c.type),i.addMark(m.from,m.to,c.type.create({...c.attrs,href:f,hasVariables:!0,originalHref:f})),s=!0)}}}}),!0)),s?i:null}})]}});import{zodResolver as ef}from"@hookform/resolvers/zod";import{useSetAtom as tf}from"jotai";import{useRef as rf,useEffect as of}from"react";import{useForm as nf}from"react-hook-form";import{z as Ea}from"zod";import{jsx as Gr,jsxs as cc}from"react/jsx-runtime";var af=Ea.object({href:Ea.string(),openInNewTab:Ea.boolean().default(!1)}),uc=a(({editor:e,mark:t,pendingLink:r})=>{var c,d;let n=tf(bo),o=rf(null),i=nf({resolver:ef(af),defaultValues:{href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1}});of(()=>{i.reset({href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1})},[t,i]);let s=((d=(c=e==null?void 0:e.extensionManager.extensions.find(f=>f.name==="variableSuggestion"))==null?void 0:c.options)==null?void 0:d.variables)||{},u=Ft(s),l=a(async f=>{let m=f.href.trim();if(!m){r&&(e==null||e.commands.setTextSelection({from:r.from,to:r.to})),e==null||e.commands.unsetLink(),n(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:m,target:f.openInNewTab?"_blank":null}).run()),e==null||e.commands.setTextSelection((r==null?void 0:r.to)||0),n(null)},"updateLink");return cc(ht,{...i,children:[Gr("p",{className:"courier-font-medium courier-mb-4",children:"Link"}),Gr("div",{className:"courier-space-y-4",children:Gr(j,{control:i.control,name:"href",render:({field:f})=>cc(Z,{children:[Gr(Uo,{children:"URL"}),Gr(_,{children:Gr(kt,{as:"Textarea",autoResize:!0,...f,variables:u,ref:m=>{typeof f.ref=="function"&&f.ref(m),o.current=m},onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),m.stopPropagation(),i.handleSubmit(l)())},onBlur:()=>{f.onBlur(),i.handleSubmit(l)()}})}),Gr(q,{})]})})})]})},"LinkForm");import{Node as sf,mergeAttributes as lf}from"@tiptap/core";var dc=sf.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:e}){return["p",lf(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}});import{mergeAttributes as hf,ReactNodeViewRenderer as bf}from"@tiptap/react";import{TextSelection as vf}from"prosemirror-state";var br={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:"'"},oi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},cf=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),uf=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Ve=0;Ve<10;Ve++)br[48+Ve]=br[96+Ve]=String(Ve);var Ve;for(Ve=1;Ve<=24;Ve++)br[Ve+111]="F"+Ve;var Ve;for(Ve=65;Ve<=90;Ve++)br[Ve]=String.fromCharCode(Ve+32),oi[Ve]=String.fromCharCode(Ve);var Ve;for(ri in br)oi.hasOwnProperty(ri)||(oi[ri]=br[ri]);var ri;function pc(e){var t=cf&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||uf&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",r=!t&&e.key||(e.shiftKey?oi:br)[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}a(pc,"keyName");import{Plugin as df}from"prosemirror-state";var pf=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function mf(e){let t=e.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let n,o,i,s;for(let u=0;u<t.length-1;u++){let l=t[u];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))o=!0;else if(/^s(hift)?$/i.test(l))i=!0;else if(/^mod$/i.test(l))pf?s=!0:o=!0;else throw new Error("Unrecognized modifier name: "+l)}return n&&(r="Alt-"+r),o&&(r="Ctrl-"+r),s&&(r="Meta-"+r),i&&(r="Shift-"+r),r}a(mf,"normalizeKeyName");function ff(e){let t=Object.create(null);for(let r in e)t[mf(r)]=e[r];return t}a(ff,"normalize");function Ma(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}a(Ma,"modifiers");function mc(e){return new df({props:{handleKeyDown:gf(e)}})}a(mc,"keymap");function gf(e){let t=ff(e);return function(r,n){let o=pc(n),i,s=t[Ma(o,n)];if(s&&s(r.state,r.dispatch,r))return!0;if(o.length==1&&o!=" "){if(n.shiftKey){let u=t[Ma(o,n,!1)];if(u&&u(r.state,r.dispatch,r))return!0}if((n.shiftKey||n.altKey||n.metaKey||o.charCodeAt(0)>127)&&(i=br[n.keyCode])&&i!=o){let u=t[Ma(i,n)];if(u&&u(r.state,r.dispatch,r))return!0}}return!1}}a(gf,"keydownHandler");import{v4 as yf}from"uuid";var Ia=dc.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Lt(this.editor,this.name)},onTransaction(){let e=this.editor.state.tr,t=!1;this.editor.state.doc.descendants((r,n)=>{if(r.type.name===this.name&&!r.attrs.id){let o=`node-${yf()}`;e.setNodeMarkup(n,void 0,{...r.attrs,id:o}),t=!0}return!0}),t&&this.editor.view.dispatch(e)},addAttributes(){return{paddingVertical:{default:Y.paddingVertical,parseHTML:e=>e.style.paddingTop?parseInt(e.style.paddingTop):Y.paddingVertical,renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},paddingHorizontal:{default:Y.paddingHorizontal,parseHTML:e=>e.style.paddingLeft?parseInt(e.style.paddingLeft):Y.paddingHorizontal,renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},textAlign:{default:Y.textAlign,parseHTML:e=>e.style.textAlign||Y.textAlign,renderHTML:e=>({"data-text-align":e.textAlign})},backgroundColor:{default:Y.backgroundColor,parseHTML:e=>e.style.backgroundColor||Y.backgroundColor,renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:Y.borderWidth,parseHTML:e=>e.style.borderWidth?parseInt(e.style.borderWidth):Y.borderWidth,renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:Y.borderRadius,parseHTML:e=>e.style.borderRadius?parseInt(e.style.borderRadius):Y.borderRadius,renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Y.borderColor,parseHTML:e=>e.style.borderColor||Y.borderColor,renderHTML:e=>({"data-border-color":e.borderColor})},textColor:{default:Y.textColor,parseHTML:e=>e.style.color||Y.textColor,renderHTML:e=>({"data-text-color":e.textColor})},id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})}}},parseHTML(){return[{tag:'div[data-type="paragraph"]'}]},renderHTML({HTMLAttributes:e}){return["div",hf(this.options.HTMLAttributes,e,{"data-type":"paragraph"}),0]},addNodeView(){return bf(Kn)},addProseMirrorPlugins(){return[mc({"Mod-a":({selection:e,tr:t})=>{document.execCommand("selectAll");let{$from:r}=e,n=r.depth,o=null;for(;n>0;){let i=r.node(n);if(i.type.name==="paragraph"||i.type.name==="heading"){o=i;break}n--}if(o){let i=r.start(n),s=r.end(n);if(e.from!==i||e.to!==s)return t.setSelection(vf.create(t.doc,i,s)),!0}return!1}})]},addKeyboardShortcuts(){let e=a((t,r=!0)=>{let{empty:n,$anchor:o,$head:i}=t.state.selection,s=o.depth,u=null;for(;s>0;){let d=o.node(s);if(d.type.name==="paragraph"||d.type.name==="heading"){u=d;break}s--}if(!u)return!1;let l=r?o.pos===i.pos&&o.parentOffset===0:o.pos===i.pos&&o.parentOffset===u.textContent.length,c=u.textContent.length===0;return l||c?!0:n?!1:(t.commands.command(({tr:d,dispatch:f})=>f?(d.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:n,dispatch:o}=t.view,{tr:i}=n;return i.replaceSelectionWith(n.schema.nodes.hardBreak.create()).scrollIntoView(),o(i),!0},"Mod-a":({editor:t})=>{let{$from:r}=t.state.selection,n=r.depth;for(;n>0;){let o=r.node(n);if(o.type.name==="paragraph"||o.type.name==="heading"){let i=r.start(n),s=r.end(n);return t.commands.setTextSelection({from:i,to:s}),!0}n--}return!1},Backspace:({editor:t})=>e(t,!0),Delete:({editor:t})=>e(t,!1),Tab:()=>!0,"Shift-Tab":()=>!0}},addCommands(){return{setTextAlign:e=>({chain:t})=>t().updateAttributes(this.name,{textAlign:e}).run()}}});import{Extension as xf}from"@tiptap/core";import{Plugin as Cf,PluginKey as wf}from"@tiptap/pm/state";var Tf=new wf("selection"),Aa=xf.create({name:"selection",addOptions(){return{HTMLAttributes:{},setSelectedNode:()=>{}}},addGlobalAttributes(){return[{types:["paragraph","heading","button","spacer","divider","imageBlock","blockquote"],attributes:{isSelected:{default:!1,parseHTML:()=>!1,renderHTML:e=>e.isSelected?{class:"selected-element"}:{}}}}]},addCommands(){return{updateSelectionState:e=>({tr:t,dispatch:r})=>(r&&t.doc.descendants((n,o)=>{var i;return n.type.name!=="text"&&((i=n.type.spec.attrs)==null?void 0:i.isSelected)!==void 0&&(n===e?t.setNodeAttribute(o,"isSelected",!0):t.setNodeAttribute(o,"isSelected",!1)),!0}),!0)}},addProseMirrorPlugins(){return[new Cf({key:Tf,props:{handleClick:(e,t,r)=>{var u;let{state:n}=e;if(!this.editor.isEditable)return!1;try{let l=window.getSelection();if(l&&l.rangeCount>0){let d=l.getRangeAt(0).startContainer.parentElement;if(d&&(["P","H1","H2","H3","BLOCKQUOTE"].includes(d.tagName)||["P","H1","H2","H3","BLOCKQUOTE"].some(f=>d.closest(f)))){let f=e.posAtDOM(d,0),m=n.doc.resolve(f);if(((u=m.node(1))==null?void 0:u.type.name)==="blockquote")return this.options.setSelectedNode(m.node(1)),!0;let h=m.node();if(h&&["paragraph","heading","blockquote"].includes(h.type.name))return this.options.setSelectedNode(h),!0}}}catch(l){console.error("Error handling click:",l)}let o=r.target,i=e.posAtDOM(o,0),s=n.doc.resolve(i).node();return s&&["paragraph","heading","blockquote"].includes(s.type.name)?(this.options.setSelectedNode(s),!0):!1}}})]}});var Ie="top",Oe="bottom",Fe="right",Re="left",ni="auto",Ar=[Ie,Oe,Fe,Re],vr="start",Kr="end",fc="clippingParents",ii="viewport",Mo="popper",gc="reference",La=Ar.reduce(function(e,t){return e.concat([t+"-"+vr,t+"-"+Kr])},[]),ai=[].concat(Ar,[ni]).reduce(function(e,t){return e.concat([t,t+"-"+vr,t+"-"+Kr])},[]),kf="beforeRead",Pf="read",Nf="afterRead",Ef="beforeMain",Mf="main",If="afterMain",Af="beforeWrite",Lf="write",Sf="afterWrite",hc=[kf,Pf,Nf,Ef,Mf,If,Af,Lf,Sf];function qe(e){return e?(e.nodeName||"").toLowerCase():null}a(qe,"getNodeName");function Te(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}a(Te,"getWindow");function St(e){var t=Te(e).Element;return e instanceof t||e instanceof Element}a(St,"isElement");function We(e){var t=Te(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}a(We,"isHTMLElement");function Io(e){if(typeof ShadowRoot=="undefined")return!1;var t=Te(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}a(Io,"isShadowRoot");function Rf(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var n=t.styles[r]||{},o=t.attributes[r]||{},i=t.elements[r];!We(i)||!qe(i)||(Object.assign(i.style,n),Object.keys(o).forEach(function(s){var u=o[s];u===!1?i.removeAttribute(s):i.setAttribute(s,u===!0?"":u)}))})}a(Rf,"applyStyles");function Bf(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(n){var o=t.elements[n],i=t.attributes[n]||{},s=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:r[n]),u=s.reduce(function(l,c){return l[c]="",l},{});!We(o)||!qe(o)||(Object.assign(o.style,u),Object.keys(i).forEach(function(l){o.removeAttribute(l)}))})}}a(Bf,"effect");var on={name:"applyStyles",enabled:!0,phase:"write",fn:Rf,effect:Bf,requires:["computeStyles"]};function je(e){return e.split("-")[0]}a(je,"getBasePlacement");var Ut=Math.max,Jr=Math.min,yr=Math.round;function Ao(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}a(Ao,"getUAString");function nn(){return!/^((?!chrome|android).)*safari/i.test(Ao())}a(nn,"isLayoutViewport");function Rt(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var n=e.getBoundingClientRect(),o=1,i=1;t&&We(e)&&(o=e.offsetWidth>0&&yr(n.width)/e.offsetWidth||1,i=e.offsetHeight>0&&yr(n.height)/e.offsetHeight||1);var s=St(e)?Te(e):window,u=s.visualViewport,l=!nn()&&r,c=(n.left+(l&&u?u.offsetLeft:0))/o,d=(n.top+(l&&u?u.offsetTop:0))/i,f=n.width/o,m=n.height/i;return{width:f,height:m,top:d,right:c+f,bottom:d+m,left:c,x:c,y:d}}a(Rt,"getBoundingClientRect");function Xr(e){var t=Rt(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}a(Xr,"getLayoutRect");function an(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Io(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}a(an,"contains");function dt(e){return Te(e).getComputedStyle(e)}a(dt,"getComputedStyle");function Sa(e){return["table","td","th"].indexOf(qe(e))>=0}a(Sa,"isTableElement");function Je(e){return((St(e)?e.ownerDocument:e.document)||window.document).documentElement}a(Je,"getDocumentElement");function xr(e){return qe(e)==="html"?e:e.assignedSlot||e.parentNode||(Io(e)?e.host:null)||Je(e)}a(xr,"getParentNode");function bc(e){return!We(e)||dt(e).position==="fixed"?null:e.offsetParent}a(bc,"getTrueOffsetParent");function Hf(e){var t=/firefox/i.test(Ao()),r=/Trident/i.test(Ao());if(r&&We(e)){var n=dt(e);if(n.position==="fixed")return null}var o=xr(e);for(Io(o)&&(o=o.host);We(o)&&["html","body"].indexOf(qe(o))<0;){var i=dt(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}a(Hf,"getContainingBlock");function Zt(e){for(var t=Te(e),r=bc(e);r&&Sa(r)&&dt(r).position==="static";)r=bc(r);return r&&(qe(r)==="html"||qe(r)==="body"&&dt(r).position==="static")?t:r||Hf(e)||t}a(Zt,"getOffsetParent");function Yr(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}a(Yr,"getMainAxisFromPlacement");function Qr(e,t,r){return Ut(e,Jr(t,r))}a(Qr,"within");function vc(e,t,r){var n=Qr(e,t,r);return n>r?r:n}a(vc,"withinMaxClamp");function sn(){return{top:0,right:0,bottom:0,left:0}}a(sn,"getFreshSideObject");function ln(e){return Object.assign({},sn(),e)}a(ln,"mergePaddingObject");function cn(e,t){return t.reduce(function(r,n){return r[n]=e,r},{})}a(cn,"expandToHashMap");var Df=a(function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,ln(typeof t!="number"?t:cn(t,Ar))},"toPaddingObject");function Vf(e){var t,r=e.state,n=e.name,o=e.options,i=r.elements.arrow,s=r.modifiersData.popperOffsets,u=je(r.placement),l=Yr(u),c=[Re,Fe].indexOf(u)>=0,d=c?"height":"width";if(!(!i||!s)){var f=Df(o.padding,r),m=Xr(i),h=l==="y"?Ie:Re,g=l==="y"?Oe:Fe,y=r.rects.reference[d]+r.rects.reference[l]-s[l]-r.rects.popper[d],b=s[l]-r.rects.reference[l],x=Zt(i),E=x?l==="y"?x.clientHeight||0:x.clientWidth||0:0,I=y/2-b/2,p=f[h],v=E-m[d]-f[g],w=E/2-m[d]/2+I,R=Qr(p,w,v),B=l;r.modifiersData[n]=(t={},t[B]=R,t.centerOffset=R-w,t)}}a(Vf,"arrow");function Ff(e){var t=e.state,r=e.options,n=r.element,o=n===void 0?"[data-popper-arrow]":n;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||an(t.elements.popper,o)&&(t.elements.arrow=o))}a(Ff,"effect");var yc={name:"arrow",enabled:!0,phase:"main",fn:Vf,effect:Ff,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Bt(e){return e.split("-")[1]}a(Bt,"getVariation");var Of={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Wf(e,t){var r=e.x,n=e.y,o=t.devicePixelRatio||1;return{x:yr(r*o)/o||0,y:yr(n*o)/o||0}}a(Wf,"roundOffsetsByDPR");function xc(e){var t,r=e.popper,n=e.popperRect,o=e.placement,i=e.variation,s=e.offsets,u=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,m=s.x,h=m===void 0?0:m,g=s.y,y=g===void 0?0:g,b=typeof d=="function"?d({x:h,y}):{x:h,y};h=b.x,y=b.y;var x=s.hasOwnProperty("x"),E=s.hasOwnProperty("y"),I=Re,p=Ie,v=window;if(c){var w=Zt(r),R="clientHeight",B="clientWidth";if(w===Te(r)&&(w=Je(r),dt(w).position!=="static"&&u==="absolute"&&(R="scrollHeight",B="scrollWidth")),w=w,o===Ie||(o===Re||o===Fe)&&i===Kr){p=Oe;var T=f&&w===v&&v.visualViewport?v.visualViewport.height:w[R];y-=T-n.height,y*=l?1:-1}if(o===Re||(o===Ie||o===Oe)&&i===Kr){I=Fe;var N=f&&w===v&&v.visualViewport?v.visualViewport.width:w[B];h-=N-n.width,h*=l?1:-1}}var H=Object.assign({position:u},c&&Of),D=d===!0?Wf({x:h,y},Te(r)):{x:h,y};if(h=D.x,y=D.y,l){var P;return Object.assign({},H,(P={},P[p]=E?"0":"",P[I]=x?"0":"",P.transform=(v.devicePixelRatio||1)<=1?"translate("+h+"px, "+y+"px)":"translate3d("+h+"px, "+y+"px, 0)",P))}return Object.assign({},H,(t={},t[p]=E?y+"px":"",t[I]=x?h+"px":"",t.transform="",t))}a(xc,"mapToStyles");function zf(e){var t=e.state,r=e.options,n=r.gpuAcceleration,o=n===void 0?!0:n,i=r.adaptive,s=i===void 0?!0:i,u=r.roundOffsets,l=u===void 0?!0:u,c={placement:je(t.placement),variation:Bt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,xc(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,xc(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}a(zf,"computeStyles");var Cc={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:zf,data:{}};var si={passive:!0};function $f(e){var t=e.state,r=e.instance,n=e.options,o=n.scroll,i=o===void 0?!0:o,s=n.resize,u=s===void 0?!0:s,l=Te(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach(function(d){d.addEventListener("scroll",r.update,si)}),u&&l.addEventListener("resize",r.update,si),function(){i&&c.forEach(function(d){d.removeEventListener("scroll",r.update,si)}),u&&l.removeEventListener("resize",r.update,si)}}a($f,"effect");var wc={name:"eventListeners",enabled:!0,phase:"write",fn:a(function(){},"fn"),effect:$f,data:{}};var Uf={left:"right",right:"left",bottom:"top",top:"bottom"};function Lo(e){return e.replace(/left|right|bottom|top/g,function(t){return Uf[t]})}a(Lo,"getOppositePlacement");var Zf={start:"end",end:"start"};function li(e){return e.replace(/start|end/g,function(t){return Zf[t]})}a(li,"getOppositeVariationPlacement");function eo(e){var t=Te(e),r=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:r,scrollTop:n}}a(eo,"getWindowScroll");function to(e){return Rt(Je(e)).left+eo(e).scrollLeft}a(to,"getWindowScrollBarX");function Ra(e,t){var r=Te(e),n=Je(e),o=r.visualViewport,i=n.clientWidth,s=n.clientHeight,u=0,l=0;if(o){i=o.width,s=o.height;var c=nn();(c||!c&&t==="fixed")&&(u=o.offsetLeft,l=o.offsetTop)}return{width:i,height:s,x:u+to(e),y:l}}a(Ra,"getViewportRect");function Ba(e){var t,r=Je(e),n=eo(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=Ut(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=Ut(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-n.scrollLeft+to(e),l=-n.scrollTop;return dt(o||r).direction==="rtl"&&(u+=Ut(r.clientWidth,o?o.clientWidth:0)-i),{width:i,height:s,x:u,y:l}}a(Ba,"getDocumentRect");function ro(e){var t=dt(e),r=t.overflow,n=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+n)}a(ro,"isScrollParent");function ci(e){return["html","body","#document"].indexOf(qe(e))>=0?e.ownerDocument.body:We(e)&&ro(e)?e:ci(xr(e))}a(ci,"getScrollParent");function Lr(e,t){var r;t===void 0&&(t=[]);var n=ci(e),o=n===((r=e.ownerDocument)==null?void 0:r.body),i=Te(n),s=o?[i].concat(i.visualViewport||[],ro(n)?n:[]):n,u=t.concat(s);return o?u:u.concat(Lr(xr(s)))}a(Lr,"listScrollParents");function So(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}a(So,"rectToClientRect");function _f(e,t){var r=Rt(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}a(_f,"getInnerBoundingClientRect");function Tc(e,t,r){return t===ii?So(Ra(e,r)):St(t)?_f(t,r):So(Ba(Je(e)))}a(Tc,"getClientRectFromMixedType");function qf(e){var t=Lr(xr(e)),r=["absolute","fixed"].indexOf(dt(e).position)>=0,n=r&&We(e)?Zt(e):e;return St(n)?t.filter(function(o){return St(o)&&an(o,n)&&qe(o)!=="body"}):[]}a(qf,"getClippingParents");function Ha(e,t,r,n){var o=t==="clippingParents"?qf(e):[].concat(t),i=[].concat(o,[r]),s=i[0],u=i.reduce(function(l,c){var d=Tc(e,c,n);return l.top=Ut(d.top,l.top),l.right=Jr(d.right,l.right),l.bottom=Jr(d.bottom,l.bottom),l.left=Ut(d.left,l.left),l},Tc(e,s,n));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}a(Ha,"getClippingRect");function un(e){var t=e.reference,r=e.element,n=e.placement,o=n?je(n):null,i=n?Bt(n):null,s=t.x+t.width/2-r.width/2,u=t.y+t.height/2-r.height/2,l;switch(o){case Ie:l={x:s,y:t.y-r.height};break;case Oe:l={x:s,y:t.y+t.height};break;case Fe:l={x:t.x+t.width,y:u};break;case Re:l={x:t.x-r.width,y:u};break;default:l={x:t.x,y:t.y}}var c=o?Yr(o):null;if(c!=null){var d=c==="y"?"height":"width";switch(i){case vr:l[c]=l[c]-(t[d]/2-r[d]/2);break;case Kr:l[c]=l[c]+(t[d]/2-r[d]/2);break;default:}}return l}a(un,"computeOffsets");function _t(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=n===void 0?e.placement:n,i=r.strategy,s=i===void 0?e.strategy:i,u=r.boundary,l=u===void 0?fc:u,c=r.rootBoundary,d=c===void 0?ii:c,f=r.elementContext,m=f===void 0?Mo:f,h=r.altBoundary,g=h===void 0?!1:h,y=r.padding,b=y===void 0?0:y,x=ln(typeof b!="number"?b:cn(b,Ar)),E=m===Mo?gc:Mo,I=e.rects.popper,p=e.elements[g?E:m],v=Ha(St(p)?p:p.contextElement||Je(e.elements.popper),l,d,s),w=Rt(e.elements.reference),R=un({reference:w,element:I,strategy:"absolute",placement:o}),B=So(Object.assign({},I,R)),T=m===Mo?B:w,N={top:v.top-T.top+x.top,bottom:T.bottom-v.bottom+x.bottom,left:v.left-T.left+x.left,right:T.right-v.right+x.right},H=e.modifiersData.offset;if(m===Mo&&H){var D=H[o];Object.keys(N).forEach(function(P){var A=[Fe,Oe].indexOf(P)>=0?1:-1,L=[Ie,Oe].indexOf(P)>=0?"y":"x";N[P]+=D[L]*A})}return N}a(_t,"detectOverflow");function Da(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=r.boundary,i=r.rootBoundary,s=r.padding,u=r.flipVariations,l=r.allowedAutoPlacements,c=l===void 0?ai:l,d=Bt(n),f=d?u?La:La.filter(function(g){return Bt(g)===d}):Ar,m=f.filter(function(g){return c.indexOf(g)>=0});m.length===0&&(m=f);var h=m.reduce(function(g,y){return g[y]=_t(e,{placement:y,boundary:o,rootBoundary:i,padding:s})[je(y)],g},{});return Object.keys(h).sort(function(g,y){return h[g]-h[y]})}a(Da,"computeAutoPlacement");function jf(e){if(je(e)===ni)return[];var t=Lo(e);return[li(e),t,li(t)]}a(jf,"getExpandedFallbackPlacements");function Gf(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var o=r.mainAxis,i=o===void 0?!0:o,s=r.altAxis,u=s===void 0?!0:s,l=r.fallbackPlacements,c=r.padding,d=r.boundary,f=r.rootBoundary,m=r.altBoundary,h=r.flipVariations,g=h===void 0?!0:h,y=r.allowedAutoPlacements,b=t.options.placement,x=je(b),E=x===b,I=l||(E||!g?[Lo(b)]:jf(b)),p=[b].concat(I).reduce(function(Ce,X){return Ce.concat(je(X)===ni?Da(t,{placement:X,boundary:d,rootBoundary:f,padding:c,flipVariations:g,allowedAutoPlacements:y}):X)},[]),v=t.rects.reference,w=t.rects.popper,R=new Map,B=!0,T=p[0],N=0;N<p.length;N++){var H=p[N],D=je(H),P=Bt(H)===vr,A=[Ie,Oe].indexOf(D)>=0,L=A?"width":"height",W=_t(t,{placement:H,boundary:d,rootBoundary:f,altBoundary:m,padding:c}),V=A?P?Fe:Re:P?Oe:Ie;v[L]>w[L]&&(V=Lo(V));var J=Lo(V),U=[];if(i&&U.push(W[D]<=0),u&&U.push(W[V]<=0,W[J]<=0),U.every(function(Ce){return Ce})){T=H,B=!1;break}R.set(H,U)}if(B)for(var Q=g?3:1,ce=a(function(X){var we=p.find(function(pt){var ze=R.get(pt);if(ze)return ze.slice(0,X).every(function(Qe){return Qe})});if(we)return T=we,"break"},"_loop"),ge=Q;ge>0;ge--){var Pe=ce(ge);if(Pe==="break")break}t.placement!==T&&(t.modifiersData[n]._skip=!0,t.placement=T,t.reset=!0)}}a(Gf,"flip");var kc={name:"flip",enabled:!0,phase:"main",fn:Gf,requiresIfExists:["offset"],data:{_skip:!1}};function Pc(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}a(Pc,"getSideOffsets");function Nc(e){return[Ie,Fe,Oe,Re].some(function(t){return e[t]>=0})}a(Nc,"isAnySideFullyClipped");function Kf(e){var t=e.state,r=e.name,n=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,s=_t(t,{elementContext:"reference"}),u=_t(t,{altBoundary:!0}),l=Pc(s,n),c=Pc(u,o,i),d=Nc(l),f=Nc(c);t.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}a(Kf,"hide");var Ec={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kf};function Jf(e,t,r){var n=je(e),o=[Re,Ie].indexOf(n)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,s=i[0],u=i[1];return s=s||0,u=(u||0)*o,[Re,Fe].indexOf(n)>=0?{x:u,y:s}:{x:s,y:u}}a(Jf,"distanceAndSkiddingToXY");function Xf(e){var t=e.state,r=e.options,n=e.name,o=r.offset,i=o===void 0?[0,0]:o,s=ai.reduce(function(d,f){return d[f]=Jf(f,t.rects,i),d},{}),u=s[t.placement],l=u.x,c=u.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=s}a(Xf,"offset");var Mc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Xf};function Yf(e){var t=e.state,r=e.name;t.modifiersData[r]=un({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}a(Yf,"popperOffsets");var Ic={name:"popperOffsets",enabled:!0,phase:"read",fn:Yf,data:{}};function Va(e){return e==="x"?"y":"x"}a(Va,"getAltAxis");function Qf(e){var t=e.state,r=e.options,n=e.name,o=r.mainAxis,i=o===void 0?!0:o,s=r.altAxis,u=s===void 0?!1:s,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,f=r.padding,m=r.tether,h=m===void 0?!0:m,g=r.tetherOffset,y=g===void 0?0:g,b=_t(t,{boundary:l,rootBoundary:c,padding:f,altBoundary:d}),x=je(t.placement),E=Bt(t.placement),I=!E,p=Yr(x),v=Va(p),w=t.modifiersData.popperOffsets,R=t.rects.reference,B=t.rects.popper,T=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,N=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),H=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,D={x:0,y:0};if(w){if(i){var P,A=p==="y"?Ie:Re,L=p==="y"?Oe:Fe,W=p==="y"?"height":"width",V=w[p],J=V+b[A],U=V-b[L],Q=h?-B[W]/2:0,ce=E===vr?R[W]:B[W],ge=E===vr?-B[W]:-R[W],Pe=t.elements.arrow,Ce=h&&Pe?Xr(Pe):{width:0,height:0},X=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:sn(),we=X[A],pt=X[L],ze=Qr(0,R[W],Ce[W]),Qe=I?R[W]/2-Q-ze-we-N.mainAxis:ce-ze-we-N.mainAxis,et=I?-R[W]/2+Q+ze+pt+N.mainAxis:ge+ze+pt+N.mainAxis,lt=t.elements.arrow&&Zt(t.elements.arrow),xt=lt?p==="y"?lt.clientTop||0:lt.clientLeft||0:0,S=(P=H==null?void 0:H[p])!=null?P:0,pe=V+Qe-S-xt,ae=V+et-S,ee=Qr(h?Jr(J,pe):J,V,h?Ut(U,ae):U);w[p]=ee,D[p]=ee-V}if(u){var ne,he=p==="x"?Ie:Re,se=p==="x"?Oe:Fe,te=w[v],ie=v==="y"?"height":"width",ve=te+b[he],Ae=te-b[se],mt=[Ie,Re].indexOf(x)!==-1,G=(ne=H==null?void 0:H[v])!=null?ne:0,Ne=mt?ve:te-R[ie]-B[ie]-G+N.altAxis,be=mt?te+R[ie]+B[ie]-G-N.altAxis:Ae,Be=h&&mt?vc(Ne,te,be):Qr(h?Ne:ve,te,h?be:Ae);w[v]=Be,D[v]=Be-te}t.modifiersData[n]=D}}a(Qf,"preventOverflow");var Ac={name:"preventOverflow",enabled:!0,phase:"main",fn:Qf,requiresIfExists:["offset"]};function Fa(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}a(Fa,"getHTMLElementScroll");function Oa(e){return e===Te(e)||!We(e)?eo(e):Fa(e)}a(Oa,"getNodeScroll");function e1(e){var t=e.getBoundingClientRect(),r=yr(t.width)/e.offsetWidth||1,n=yr(t.height)/e.offsetHeight||1;return r!==1||n!==1}a(e1,"isElementScaled");function Wa(e,t,r){r===void 0&&(r=!1);var n=We(t),o=We(t)&&e1(t),i=Je(t),s=Rt(e,o,r),u={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!r)&&((qe(t)!=="body"||ro(i))&&(u=Oa(t)),We(t)?(l=Rt(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=to(i))),{x:s.left+u.scrollLeft-l.x,y:s.top+u.scrollTop-l.y,width:s.width,height:s.height}}a(Wa,"getCompositeRect");function t1(e){var t=new Map,r=new Set,n=[];e.forEach(function(i){t.set(i.name,i)});function o(i){r.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(u){if(!r.has(u)){var l=t.get(u);l&&o(l)}}),n.push(i)}return a(o,"sort"),e.forEach(function(i){r.has(i.name)||o(i)}),n}a(t1,"order");function za(e){var t=t1(e);return hc.reduce(function(r,n){return r.concat(t.filter(function(o){return o.phase===n}))},[])}a(za,"orderModifiers");function $a(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}a($a,"debounce");function Ua(e){var t=e.reduce(function(r,n){var o=r[n.name];return r[n.name]=o?Object.assign({},o,n,{options:Object.assign({},o.options,n.options),data:Object.assign({},o.data,n.data)}):n,r},{});return Object.keys(t).map(function(r){return t[r]})}a(Ua,"mergeByName");var Lc={placement:"bottom",modifiers:[],strategy:"absolute"};function Sc(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return!t.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}a(Sc,"areValidElements");function Rc(e){e===void 0&&(e={});var t=e,r=t.defaultModifiers,n=r===void 0?[]:r,o=t.defaultOptions,i=o===void 0?Lc:o;return a(function(u,l,c){c===void 0&&(c=i);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},Lc,i),modifiersData:{},elements:{reference:u,popper:l},attributes:{},styles:{}},f=[],m=!1,h={state:d,setOptions:a(function(x){var E=typeof x=="function"?x(d.options):x;y(),d.options=Object.assign({},i,d.options,E),d.scrollParents={reference:St(u)?Lr(u):u.contextElement?Lr(u.contextElement):[],popper:Lr(l)};var I=za(Ua([].concat(n,d.options.modifiers)));return d.orderedModifiers=I.filter(function(p){return p.enabled}),g(),h.update()},"setOptions"),forceUpdate:a(function(){if(!m){var x=d.elements,E=x.reference,I=x.popper;if(Sc(E,I)){d.rects={reference:Wa(E,Zt(I),d.options.strategy==="fixed"),popper:Xr(I)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(N){return d.modifiersData[N.name]=Object.assign({},N.data)});for(var p=0;p<d.orderedModifiers.length;p++){if(d.reset===!0){d.reset=!1,p=-1;continue}var v=d.orderedModifiers[p],w=v.fn,R=v.options,B=R===void 0?{}:R,T=v.name;typeof w=="function"&&(d=w({state:d,options:B,name:T,instance:h})||d)}}}},"forceUpdate"),update:$a(function(){return new Promise(function(b){h.forceUpdate(),b(d)})}),destroy:a(function(){y(),m=!0},"destroy")};if(!Sc(u,l))return h;h.setOptions(c).then(function(b){!m&&c.onFirstUpdate&&c.onFirstUpdate(b)});function g(){d.orderedModifiers.forEach(function(b){var x=b.name,E=b.options,I=E===void 0?{}:E,p=b.effect;if(typeof p=="function"){var v=p({state:d,name:x,instance:h,options:I}),w=a(function(){},"noopFn");f.push(v||w)}})}a(g,"runModifierEffects");function y(){f.forEach(function(b){return b()}),f=[]}return a(y,"cleanupModifierEffects"),h},"createPopper")}a(Rc,"popperGenerator");var r1=[wc,Ic,Cc,on,Mc,kc,Ac,yc,Ec],Za=Rc({defaultModifiers:r1});var o1="tippy-box",Uc="tippy-content",n1="tippy-backdrop",Zc="tippy-arrow",_c="tippy-svg-arrow",oo={passive:!0,capture:!0},qc=a(function(){return document.body},"TIPPY_DEFAULT_APPEND_TO");function _a(e,t,r){if(Array.isArray(e)){var n=e[t];return n==null?Array.isArray(r)?r[t]:r:n}return e}a(_a,"getValueAtIndexOrReturn");function Xa(e,t){var r={}.toString.call(e);return r.indexOf("[object")===0&&r.indexOf(t+"]")>-1}a(Xa,"isType");function jc(e,t){return typeof e=="function"?e.apply(void 0,t):e}a(jc,"invokeWithArgsOrReturn");function Bc(e,t){if(t===0)return e;var r;return function(n){clearTimeout(r),r=setTimeout(function(){e(n)},t)}}a(Bc,"debounce");function i1(e){return e.split(/\s+/).filter(Boolean)}a(i1,"splitBySpaces");function Ro(e){return[].concat(e)}a(Ro,"normalizeToArray");function Hc(e,t){e.indexOf(t)===-1&&e.push(t)}a(Hc,"pushIfUnique");function a1(e){return e.filter(function(t,r){return e.indexOf(t)===r})}a(a1,"unique");function s1(e){return e.split("-")[0]}a(s1,"getBasePlacement");function di(e){return[].slice.call(e)}a(di,"arrayFrom");function Dc(e){return Object.keys(e).reduce(function(t,r){return e[r]!==void 0&&(t[r]=e[r]),t},{})}a(Dc,"removeUndefinedProps");function dn(){return document.createElement("div")}a(dn,"div");function pi(e){return["Element","Fragment"].some(function(t){return Xa(e,t)})}a(pi,"isElement");function l1(e){return Xa(e,"NodeList")}a(l1,"isNodeList");function c1(e){return Xa(e,"MouseEvent")}a(c1,"isMouseEvent");function u1(e){return!!(e&&e._tippy&&e._tippy.reference===e)}a(u1,"isReferenceElement");function d1(e){return pi(e)?[e]:l1(e)?di(e):Array.isArray(e)?e:di(document.querySelectorAll(e))}a(d1,"getArrayOfElements");function qa(e,t){e.forEach(function(r){r&&(r.style.transitionDuration=t+"ms")})}a(qa,"setTransitionDuration");function Vc(e,t){e.forEach(function(r){r&&r.setAttribute("data-state",t)})}a(Vc,"setVisibilityState");function p1(e){var t,r=Ro(e),n=r[0];return n!=null&&(t=n.ownerDocument)!=null&&t.body?n.ownerDocument:document}a(p1,"getOwnerDocument");function m1(e,t){var r=t.clientX,n=t.clientY;return e.every(function(o){var i=o.popperRect,s=o.popperState,u=o.props,l=u.interactiveBorder,c=s1(s.placement),d=s.modifiersData.offset;if(!d)return!0;var f=c==="bottom"?d.top.y:0,m=c==="top"?d.bottom.y:0,h=c==="right"?d.left.x:0,g=c==="left"?d.right.x:0,y=i.top-n+f>l,b=n-i.bottom-m>l,x=i.left-r+h>l,E=r-i.right-g>l;return y||b||x||E})}a(m1,"isCursorOutsideInteractiveBorder");function ja(e,t,r){var n=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(o){e[n](o,r)})}a(ja,"updateTransitionEndListener");function Fc(e,t){for(var r=t;r;){var n;if(e.contains(r))return!0;r=r.getRootNode==null||(n=r.getRootNode())==null?void 0:n.host}return!1}a(Fc,"actualContains");var ir={isTouch:!1},Oc=0;function f1(){ir.isTouch||(ir.isTouch=!0,window.performance&&document.addEventListener("mousemove",Gc))}a(f1,"onDocumentTouchStart");function Gc(){var e=performance.now();e-Oc<20&&(ir.isTouch=!1,document.removeEventListener("mousemove",Gc)),Oc=e}a(Gc,"onDocumentMouseMove");function g1(){var e=document.activeElement;if(u1(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}a(g1,"onWindowBlur");function h1(){document.addEventListener("touchstart",f1,oo),window.addEventListener("blur",g1)}a(h1,"bindGlobalEventListeners");var b1=typeof window!="undefined"&&typeof document!="undefined",v1=b1?!!window.msCrypto:!1;var y1={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},x1={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},qt=Object.assign({appendTo:qc,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:a(function(){},"onAfterUpdate"),onBeforeUpdate:a(function(){},"onBeforeUpdate"),onCreate:a(function(){},"onCreate"),onDestroy:a(function(){},"onDestroy"),onHidden:a(function(){},"onHidden"),onHide:a(function(){},"onHide"),onMount:a(function(){},"onMount"),onShow:a(function(){},"onShow"),onShown:a(function(){},"onShown"),onTrigger:a(function(){},"onTrigger"),onUntrigger:a(function(){},"onUntrigger"),onClickOutside:a(function(){},"onClickOutside"),placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},y1,x1),C1=Object.keys(qt),w1=a(function(t){var r=Object.keys(t);r.forEach(function(n){qt[n]=t[n]})},"setDefaultProps");function Kc(e){var t=e.plugins||[],r=t.reduce(function(n,o){var i=o.name,s=o.defaultValue;if(i){var u;n[i]=e[i]!==void 0?e[i]:(u=qt[i])!=null?u:s}return n},{});return Object.assign({},e,r)}a(Kc,"getExtendedPassedProps");function T1(e,t){var r=t?Object.keys(Kc(Object.assign({},qt,{plugins:t}))):C1,n=r.reduce(function(o,i){var s=(e.getAttribute("data-tippy-"+i)||"").trim();if(!s)return o;if(i==="content")o[i]=s;else try{o[i]=JSON.parse(s)}catch{o[i]=s}return o},{});return n}a(T1,"getDataAttributeProps");function Wc(e,t){var r=Object.assign({},t,{content:jc(t.content,[e])},t.ignoreAttributes?{}:T1(e,t.plugins));return r.aria=Object.assign({},qt.aria,r.aria),r.aria={expanded:r.aria.expanded==="auto"?t.interactive:r.aria.expanded,content:r.aria.content==="auto"?t.interactive?null:"describedby":r.aria.content},r}a(Wc,"evaluateProps");var k1=a(function(){return"innerHTML"},"innerHTML");function Ka(e,t){e[k1()]=t}a(Ka,"dangerouslySetInnerHTML");function zc(e){var t=dn();return e===!0?t.className=Zc:(t.className=_c,pi(e)?t.appendChild(e):Ka(t,e)),t}a(zc,"createArrowElement");function $c(e,t){pi(t.content)?(Ka(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?Ka(e,t.content):e.textContent=t.content)}a($c,"setContent");function Ja(e){var t=e.firstElementChild,r=di(t.children);return{box:t,content:r.find(function(n){return n.classList.contains(Uc)}),arrow:r.find(function(n){return n.classList.contains(Zc)||n.classList.contains(_c)}),backdrop:r.find(function(n){return n.classList.contains(n1)})}}a(Ja,"getChildren");function Jc(e){var t=dn(),r=dn();r.className=o1,r.setAttribute("data-state","hidden"),r.setAttribute("tabindex","-1");var n=dn();n.className=Uc,n.setAttribute("data-state","hidden"),$c(n,e.props),t.appendChild(r),r.appendChild(n),o(e.props,e.props);function o(i,s){var u=Ja(t),l=u.box,c=u.content,d=u.arrow;s.theme?l.setAttribute("data-theme",s.theme):l.removeAttribute("data-theme"),typeof s.animation=="string"?l.setAttribute("data-animation",s.animation):l.removeAttribute("data-animation"),s.inertia?l.setAttribute("data-inertia",""):l.removeAttribute("data-inertia"),l.style.maxWidth=typeof s.maxWidth=="number"?s.maxWidth+"px":s.maxWidth,s.role?l.setAttribute("role",s.role):l.removeAttribute("role"),(i.content!==s.content||i.allowHTML!==s.allowHTML)&&$c(c,e.props),s.arrow?d?i.arrow!==s.arrow&&(l.removeChild(d),l.appendChild(zc(s.arrow))):l.appendChild(zc(s.arrow)):d&&l.removeChild(d)}return a(o,"onUpdate"),{popper:t,onUpdate:o}}a(Jc,"render");Jc.$$tippy=!0;var P1=1,ui=[],Ga=[];function N1(e,t){var r=Wc(e,Object.assign({},qt,Kc(Dc(t)))),n,o,i,s=!1,u=!1,l=!1,c=!1,d,f,m,h=[],g=Bc(pe,r.interactiveDebounce),y,b=P1++,x=null,E=a1(r.plugins),I={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},p={id:b,reference:e,popper:dn(),popperInstance:x,props:r,state:I,plugins:E,clearDelayTimeouts:Ne,setProps:be,setContent:Be,show:Dr,hide:Vr,hideWithInteractivity:Fr,enable:mt,disable:G,unmount:Or,destroy:Wr};if(!r.render)return p;var v=r.render(p),w=v.popper,R=v.onUpdate;w.setAttribute("data-tippy-root",""),w.id="tippy-"+p.id,p.popper=w,e._tippy=p,w._tippy=p;var B=E.map(function(C){return C.fn(p)}),T=e.hasAttribute("aria-expanded");return lt(),Q(),V(),J("onCreate",[p]),r.showOnCreate&&ve(),w.addEventListener("mouseenter",function(){p.props.interactive&&p.state.isVisible&&p.clearDelayTimeouts()}),w.addEventListener("mouseleave",function(){p.props.interactive&&p.props.trigger.indexOf("mouseenter")>=0&&A().addEventListener("mousemove",g)}),p;function N(){var C=p.props.touch;return Array.isArray(C)?C:[C,0]}a(N,"getNormalizedTouchSettings");function H(){return N()[0]==="hold"}a(H,"getIsCustomTouchBehavior");function D(){var C;return!!((C=p.props.render)!=null&&C.$$tippy)}a(D,"getIsDefaultRenderFn");function P(){return y||e}a(P,"getCurrentTarget");function A(){var C=P().parentNode;return C?p1(C):document}a(A,"getDocument");function L(){return Ja(w)}a(L,"getDefaultTemplateChildren");function W(C){return p.state.isMounted&&!p.state.isVisible||ir.isTouch||d&&d.type==="focus"?0:_a(p.props.delay,C?0:1,qt.delay)}a(W,"getDelay");function V(C){C===void 0&&(C=!1),w.style.pointerEvents=p.props.interactive&&!C?"":"none",w.style.zIndex=""+p.props.zIndex}a(V,"handleStyles");function J(C,O,K){if(K===void 0&&(K=!0),B.forEach(function(re){re[C]&&re[C].apply(re,O)}),K){var ue;(ue=p.props)[C].apply(ue,O)}}a(J,"invokeHook");function U(){var C=p.props.aria;if(C.content){var O="aria-"+C.content,K=w.id,ue=Ro(p.props.triggerTarget||e);ue.forEach(function(re){var Le=re.getAttribute(O);if(p.state.isVisible)re.setAttribute(O,Le?Le+" "+K:K);else{var $e=Le&&Le.replace(K,"").trim();$e?re.setAttribute(O,$e):re.removeAttribute(O)}})}}a(U,"handleAriaContentAttribute");function Q(){if(!(T||!p.props.aria.expanded)){var C=Ro(p.props.triggerTarget||e);C.forEach(function(O){p.props.interactive?O.setAttribute("aria-expanded",p.state.isVisible&&O===P()?"true":"false"):O.removeAttribute("aria-expanded")})}}a(Q,"handleAriaExpandedAttribute");function ce(){A().removeEventListener("mousemove",g),ui=ui.filter(function(C){return C!==g})}a(ce,"cleanupInteractiveMouseListeners");function ge(C){if(!(ir.isTouch&&(l||C.type==="mousedown"))){var O=C.composedPath&&C.composedPath()[0]||C.target;if(!(p.props.interactive&&Fc(w,O))){if(Ro(p.props.triggerTarget||e).some(function(K){return Fc(K,O)})){if(ir.isTouch||p.state.isVisible&&p.props.trigger.indexOf("click")>=0)return}else J("onClickOutside",[p,C]);p.props.hideOnClick===!0&&(p.clearDelayTimeouts(),p.hide(),u=!0,setTimeout(function(){u=!1}),p.state.isMounted||we())}}}a(ge,"onDocumentPress");function Pe(){l=!0}a(Pe,"onTouchMove");function Ce(){l=!1}a(Ce,"onTouchStart");function X(){var C=A();C.addEventListener("mousedown",ge,!0),C.addEventListener("touchend",ge,oo),C.addEventListener("touchstart",Ce,oo),C.addEventListener("touchmove",Pe,oo)}a(X,"addDocumentPress");function we(){var C=A();C.removeEventListener("mousedown",ge,!0),C.removeEventListener("touchend",ge,oo),C.removeEventListener("touchstart",Ce,oo),C.removeEventListener("touchmove",Pe,oo)}a(we,"removeDocumentPress");function pt(C,O){Qe(C,function(){!p.state.isVisible&&w.parentNode&&w.parentNode.contains(w)&&O()})}a(pt,"onTransitionedOut");function ze(C,O){Qe(C,O)}a(ze,"onTransitionedIn");function Qe(C,O){var K=L().box;function ue(re){re.target===K&&(ja(K,"remove",ue),O())}if(a(ue,"listener"),C===0)return O();ja(K,"remove",f),ja(K,"add",ue),f=ue}a(Qe,"onTransitionEnd");function et(C,O,K){K===void 0&&(K=!1);var ue=Ro(p.props.triggerTarget||e);ue.forEach(function(re){re.addEventListener(C,O,K),h.push({node:re,eventType:C,handler:O,options:K})})}a(et,"on");function lt(){H()&&(et("touchstart",S,{passive:!0}),et("touchend",ae,{passive:!0})),i1(p.props.trigger).forEach(function(C){if(C!=="manual")switch(et(C,S),C){case"mouseenter":et("mouseleave",ae);break;case"focus":et(v1?"focusout":"blur",ee);break;case"focusin":et("focusout",ee);break}})}a(lt,"addListeners");function xt(){h.forEach(function(C){var O=C.node,K=C.eventType,ue=C.handler,re=C.options;O.removeEventListener(K,ue,re)}),h=[]}a(xt,"removeListeners");function S(C){var O,K=!1;if(!(!p.state.isEnabled||ne(C)||u)){var ue=((O=d)==null?void 0:O.type)==="focus";d=C,y=C.currentTarget,Q(),!p.state.isVisible&&c1(C)&&ui.forEach(function(re){return re(C)}),C.type==="click"&&(p.props.trigger.indexOf("mouseenter")<0||s)&&p.props.hideOnClick!==!1&&p.state.isVisible?K=!0:ve(C),C.type==="click"&&(s=!K),K&&!ue&&Ae(C)}}a(S,"onTrigger");function pe(C){var O=C.target,K=P().contains(O)||w.contains(O);if(!(C.type==="mousemove"&&K)){var ue=ie().concat(w).map(function(re){var Le,$e=re._tippy,Mt=(Le=$e.popperInstance)==null?void 0:Le.state;return Mt?{popperRect:re.getBoundingClientRect(),popperState:Mt,props:r}:null}).filter(Boolean);m1(ue,C)&&(ce(),Ae(C))}}a(pe,"onMouseMove");function ae(C){var O=ne(C)||p.props.trigger.indexOf("click")>=0&&s;if(!O){if(p.props.interactive){p.hideWithInteractivity(C);return}Ae(C)}}a(ae,"onMouseLeave");function ee(C){p.props.trigger.indexOf("focusin")<0&&C.target!==P()||p.props.interactive&&C.relatedTarget&&w.contains(C.relatedTarget)||Ae(C)}a(ee,"onBlurOrFocusOut");function ne(C){return ir.isTouch?H()!==C.type.indexOf("touch")>=0:!1}a(ne,"isEventListenerStopped");function he(){se();var C=p.props,O=C.popperOptions,K=C.placement,ue=C.offset,re=C.getReferenceClientRect,Le=C.moveTransition,$e=D()?Ja(w).arrow:null,Mt=re?{getBoundingClientRect:re,contextElement:re.contextElement||P()}:e,wr={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:a(function(ur){var wt=ur.state;if(D()){var lo=L(),Vo=lo.box;["placement","reference-hidden","escaped"].forEach(function(co){co==="placement"?Vo.setAttribute("data-placement",wt.placement):wt.attributes.popper["data-popper-"+co]?Vo.setAttribute("data-"+co,""):Vo.removeAttribute("data-"+co)}),wt.attributes.popper={}}},"fn")},Ct=[{name:"offset",options:{offset:ue}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!Le}},wr];D()&&$e&&Ct.push({name:"arrow",options:{element:$e,padding:3}}),Ct.push.apply(Ct,(O==null?void 0:O.modifiers)||[]),p.popperInstance=Za(Mt,w,Object.assign({},O,{placement:K,onFirstUpdate:m,modifiers:Ct}))}a(he,"createPopperInstance");function se(){p.popperInstance&&(p.popperInstance.destroy(),p.popperInstance=null)}a(se,"destroyPopperInstance");function te(){var C=p.props.appendTo,O,K=P();p.props.interactive&&C===qc||C==="parent"?O=K.parentNode:O=jc(C,[K]),O.contains(w)||O.appendChild(w),p.state.isMounted=!0,he()}a(te,"mount");function ie(){return di(w.querySelectorAll("[data-tippy-root]"))}a(ie,"getNestedPopperTree");function ve(C){p.clearDelayTimeouts(),C&&J("onTrigger",[p,C]),X();var O=W(!0),K=N(),ue=K[0],re=K[1];ir.isTouch&&ue==="hold"&&re&&(O=re),O?n=setTimeout(function(){p.show()},O):p.show()}a(ve,"scheduleShow");function Ae(C){if(p.clearDelayTimeouts(),J("onUntrigger",[p,C]),!p.state.isVisible){we();return}if(!(p.props.trigger.indexOf("mouseenter")>=0&&p.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(C.type)>=0&&s)){var O=W(!1);O?o=setTimeout(function(){p.state.isVisible&&p.hide()},O):i=requestAnimationFrame(function(){p.hide()})}}a(Ae,"scheduleHide");function mt(){p.state.isEnabled=!0}a(mt,"enable");function G(){p.hide(),p.state.isEnabled=!1}a(G,"disable");function Ne(){clearTimeout(n),clearTimeout(o),cancelAnimationFrame(i)}a(Ne,"clearDelayTimeouts");function be(C){if(!p.state.isDestroyed){J("onBeforeUpdate",[p,C]),xt();var O=p.props,K=Wc(e,Object.assign({},O,Dc(C),{ignoreAttributes:!0}));p.props=K,lt(),O.interactiveDebounce!==K.interactiveDebounce&&(ce(),g=Bc(pe,K.interactiveDebounce)),O.triggerTarget&&!K.triggerTarget?Ro(O.triggerTarget).forEach(function(ue){ue.removeAttribute("aria-expanded")}):K.triggerTarget&&e.removeAttribute("aria-expanded"),Q(),V(),R&&R(O,K),p.popperInstance&&(he(),ie().forEach(function(ue){requestAnimationFrame(ue._tippy.popperInstance.forceUpdate)})),J("onAfterUpdate",[p,C])}}a(be,"setProps");function Be(C){p.setProps({content:C})}a(Be,"setContent");function Dr(){var C=p.state.isVisible,O=p.state.isDestroyed,K=!p.state.isEnabled,ue=ir.isTouch&&!p.props.touch,re=_a(p.props.duration,0,qt.duration);if(!(C||O||K||ue)&&!P().hasAttribute("disabled")&&(J("onShow",[p],!1),p.props.onShow(p)!==!1)){if(p.state.isVisible=!0,D()&&(w.style.visibility="visible"),V(),X(),p.state.isMounted||(w.style.transition="none"),D()){var Le=L(),$e=Le.box,Mt=Le.content;qa([$e,Mt],0)}m=a(function(){var Ct;if(!(!p.state.isVisible||c)){if(c=!0,w.offsetHeight,w.style.transition=p.props.moveTransition,D()&&p.props.animation){var cr=L(),ur=cr.box,wt=cr.content;qa([ur,wt],re),Vc([ur,wt],"visible")}U(),Q(),Hc(Ga,p),(Ct=p.popperInstance)==null||Ct.forceUpdate(),J("onMount",[p]),p.props.animation&&D()&&ze(re,function(){p.state.isShown=!0,J("onShown",[p])})}},"onFirstUpdate"),te()}}a(Dr,"show");function Vr(){var C=!p.state.isVisible,O=p.state.isDestroyed,K=!p.state.isEnabled,ue=_a(p.props.duration,1,qt.duration);if(!(C||O||K)&&(J("onHide",[p],!1),p.props.onHide(p)!==!1)){if(p.state.isVisible=!1,p.state.isShown=!1,c=!1,s=!1,D()&&(w.style.visibility="hidden"),ce(),we(),V(!0),D()){var re=L(),Le=re.box,$e=re.content;p.props.animation&&(qa([Le,$e],ue),Vc([Le,$e],"hidden"))}U(),Q(),p.props.animation?D()&&pt(ue,p.unmount):p.unmount()}}a(Vr,"hide");function Fr(C){A().addEventListener("mousemove",g),Hc(ui,g),g(C)}a(Fr,"hideWithInteractivity");function Or(){p.state.isVisible&&p.hide(),p.state.isMounted&&(se(),ie().forEach(function(C){C._tippy.unmount()}),w.parentNode&&w.parentNode.removeChild(w),Ga=Ga.filter(function(C){return C!==p}),p.state.isMounted=!1,J("onHidden",[p]))}a(Or,"unmount");function Wr(){p.state.isDestroyed||(p.clearDelayTimeouts(),p.unmount(),xt(),delete e._tippy,p.state.isDestroyed=!0,J("onDestroy",[p]))}a(Wr,"destroy")}a(N1,"createTippy");function pn(e,t){t===void 0&&(t={});var r=qt.plugins.concat(t.plugins||[]);h1();var n=Object.assign({},t,{plugins:r}),o=d1(e);if(0)var i,s;var u=o.reduce(function(l,c){var d=c&&N1(c,n);return d&&l.push(d),l},[]);return pi(e)?u[0]:u}a(pn,"tippy");pn.defaultProps=qt;pn.setDefaultProps=w1;pn.currentInput=ir;var Qw=Object.assign({},on,{effect:a(function(t){var r=t.state,n={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(r.elements.popper.style,n.popper),r.styles=n,r.elements.arrow&&Object.assign(r.elements.arrow.style,n.arrow)},"effect")});pn.setDefaultProps({render:Jc});var Xc=pn;import{forwardRef as E1}from"react";import{jsx as M1}from"react/jsx-runtime";var Ya=E1(({children:e,className:t,withShadow:r=!0,withBorder:n=!0,...o},i)=>{let s=M("courier-bg-white courier-rounded-lg dark:courier-bg-black",r?"courier-shadow-sm":"",n?"courier-border courier-border-border dark:courier-border-neutral-800":"",t);return M1("div",{className:s,...o,ref:i,children:e})});Ya.displayName="Surface";import{Extension as R1,Node as B1}from"@tiptap/core";import{ReactNodeViewRenderer as H1}from"@tiptap/react";import{Suggestion as D1}from"@tiptap/suggestion";import{ReactRenderer as I1}from"@tiptap/react";var jt={items:({query:e,editor:t})=>{var o,i;let r=((i=(o=t.extensionManager.extensions.find(s=>s.name==="variableSuggestion"))==null?void 0:o.options)==null?void 0:i.variables)||{};return Ft(r).filter(s=>s.toLowerCase().includes(e.toLowerCase()))},char:"{{",allowSpaces:!1,allowedPrefixes:null,startOfLine:!1,decorationTag:"span",decorationClass:"variable-suggestion",command:({editor:e,range:t,props:r})=>{e.chain().focus().deleteRange(t).insertContent([{type:"variable",attrs:{id:r}},{type:"text",text:" "}]).run()},render:()=>{let e=null,t=null,r=null,n=a((i,s)=>{e==null||e.updateProps({...i,selected:s})},"updateComponent"),o=a(i=>{var l,c;if(!r)return!1;let u=((l=jt.items)==null?void 0:l.call(jt,{query:(e==null?void 0:e.props).query||"",editor:(e==null?void 0:e.props).editor}))[i];return u?((c=jt.command)==null||c.call(jt,{editor:r.editor,range:r.range,props:u}),!0):!1},"selectItem");return{onStart:i=>{r=i,e=new I1(tn,{props:{...i,selected:0},editor:i.editor}),i.clientRect&&(t=Xc(i.editor.options.element,{getReferenceClientRect:()=>{var s;return((s=i.clientRect)==null?void 0:s.call(i))||new DOMRect},appendTo:()=>i.editor.options.element,content:e==null?void 0:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",theme:"variable"}),e!=null&&e.element&&e.element.focus())},onUpdate(i){r=i,e==null||e.updateProps({...i,selected:e.props.selected}),i.clientRect&&(t==null||t.setProps({getReferenceClientRect:()=>{var s;return((s=i.clientRect)==null?void 0:s.call(i))||new DOMRect}}))},onKeyDown(i){var l;if(!e||!r)return!1;let s=(l=jt.items)==null?void 0:l.call(jt,{query:e.props.query||"",editor:e.props.editor}),u=e.props.selected;if(i.event.key==="ArrowUp"){let c=(u-1+s.length)%s.length;return n(r,c),!0}if(i.event.key==="ArrowDown"){let c=(u+1)%s.length;return n(r,c),!0}return i.event.key==="Enter"?(i.event.preventDefault(),o(u)):i.event.key==="Escape"?(r.editor.chain().focus().deleteRange(r.range).run(),!0):!1},onExit(){t==null||t.destroy(),e==null||e.destroy(),r=null}}}};import{NodeViewWrapper as A1}from"@tiptap/react";import{Braces as L1}from"lucide-react";import{jsx as Yc,jsxs as S1}from"react/jsx-runtime";var Qc=a(({node:e})=>Yc(A1,{className:"courier-inline-block",children:S1("span",{className:"courier-group courier-text-sm courier-variable-node courier-bg-gray-200 courier-pl-2 courier-pr-3 courier-py-[1px] courier-rounded courier-border courier-border-gray-400 hover:courier-bg-accent-foreground hover:courier-border-accent-foreground hover:courier-text-secondary-foreground courier-flex courier-items-center courier-gap-1",children:[Yc(L1,{size:16,className:"courier-text-gray-500 group-hover:courier-stroke-primary"}),e.attrs.id]})}),"VariableView");var Qa=B1.create({name:"variable",group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})}}},parseHTML(){return[{tag:"span[data-variable]"}]},addNodeView(){return H1(Qc)}}),es=R1.create({name:"variableSuggestion",addOptions(){return{HTMLAttributes:{},suggestion:{char:"{{",...jt}}},addProseMirrorPlugins(){return[D1({editor:this.editor,...this.options.suggestion})]}});var V1=a(e=>{let t=e;for(;t&&!["TD","TH"].includes(t.tagName);)t=t.parentElement;let r=t&&t.querySelector&&t.querySelector("a.grip-column.selected"),n=t&&t.querySelector&&t.querySelector("a.grip-row.selected");return!!(r||n)},"isTableGripSelected"),su=a((e,t)=>[Eo.name].some(n=>e.isActive(n))||V1(t),"isCustomNodeSelected");import{isTextSelection as F1}from"@tiptap/core";var lu=a(({editor:e})=>{let{state:{doc:t,selection:r,selection:{empty:n,from:o,to:i}}}=e,s=!t.textBetween(o,i).length&&F1(r);return!(n||s||!e.isEditable)},"isTextSelected");import{v4 as O1}from"uuid";var W1=a((e,t)=>{let r=null;return e.state.doc.descendants((n,o)=>n.attrs.id===t?(r=o,!1):!0),r},"findNodePositionById"),mi=a((e,t,r,n,o,i)=>{let s=`node-${O1()}`,l={heading:()=>e.schema.nodes.heading.create({...Y,...n,id:s},i),paragraph:()=>e.schema.nodes.paragraph.create({...Y,...n,id:s},i),text:()=>e.schema.nodes.paragraph.create({...Y,...n,id:s},i),spacer:()=>e.schema.nodes.divider.create({...zl,...n,id:s}),divider:()=>e.schema.nodes.divider.create({...Ot,...n,id:s}),button:()=>e.schema.nodes.button.create({...Se,...n,id:s},i),imageBlock:()=>e.schema.nodes.imageBlock.create({...Ze,...n,id:s}),image:()=>e.schema.nodes.imageBlock.create({...Ze,...n,id:s})}[t];if(l)try{let c=e.state.tr,d=l();c.insert(r,d),e.view.dispatch(c),o&&o(d),(t==="text"||t==="paragraph"||t==="heading")&&setTimeout(()=>{let m=W1(e,s);m!==null&&e.commands.setTextSelection(m+1),e.view.focus()},50);let f=new CustomEvent("node-duplicated",{detail:{newNodeId:s}});document.dispatchEvent(f)}catch(c){console.error("Error creating node:",c)}else try{if(e.schema.nodes[t]){let c=e.state.tr,d=e.schema.nodes[t].create({...n,id:s},i);c.insert(r,d),e.view.dispatch(c),o&&o(d);let f=new CustomEvent("node-duplicated",{detail:{newNodeId:s}});document.dispatchEvent(f)}else console.error(`Cannot duplicate node: type "${t}" not found in schema`)}catch(c){console.error("Error creating fallback node:",c)}return s},"createOrDuplicateNode");import{closestCorners as z1,getFirstCollision as $1,KeyboardCode as Sr}from"@dnd-kit/core";var U1=[Sr.Down,Sr.Right,Sr.Up,Sr.Left],cu=a((e,{context:{active:t,droppableRects:r,droppableContainers:n,collisionRect:o}})=>{var i;if(U1.includes(e.code)){if(e.preventDefault(),!t||!o)return;let s=[];n.getEnabled().forEach(c=>{var m;if(!c||c!=null&&c.disabled)return;let d=r.get(c.id);if(!d)return;let f=c.data.current;if(f){let{type:h,children:g}=f;if(h==="container"&&(g==null?void 0:g.length)>0&&((m=t.data.current)==null?void 0:m.type)!=="container")return}switch(e.code){case Sr.Down:o.top<d.top&&s.push(c);break;case Sr.Up:o.top>d.top&&s.push(c);break;case Sr.Left:o.left>=d.left+d.width&&s.push(c);break;case Sr.Right:o.left+o.width<=d.left&&s.push(c);break}});let u=z1({active:t,collisionRect:o,droppableRects:r,droppableContainers:s,pointerCoordinates:null}),l=$1(u,"id");if(l!=null){let c=n.get(l),d=c==null?void 0:c.node.current,f=c==null?void 0:c.rect.current;if(d&&f)return c.id==="placeholder"?{x:f.left+(f.width-o.width)/2,y:f.top+(f.height-o.height)/2}:((i=c.data.current)==null?void 0:i.type)==="container"?{x:f.left+20,y:f.top+74}:{x:f.left,y:f.top}}}},"coordinateGetter");import{GripVertical as Z1}from"lucide-react";import{forwardRef as _1}from"react";import{jsx as uu}from"react/jsx-runtime";var du=_1((e,t)=>uu("button",{...e,ref:t,"data-cypress":"draggable-handle",className:M("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",e.className),children:uu(Z1,{strokeWidth:1,className:"courier-w-5 courier-stroke-ring courier-fill-ring"})}));import{useAtomValue as q1,useSetAtom as j1}from"jotai";import{useCallback as Pt}from"react";var fi=a(e=>{let t=j1(bt),r=q1(Ke),n=Pt(b=>{let x=-1;return e.state.doc.descendants((E,I)=>{var p;return((p=E.attrs)==null?void 0:p.id)===b?(x=I,!1):!0}),x},[e]),o=Pt((b,x)=>{var E,I,p;if(((E=r==null?void 0:r.type)==null?void 0:E.name)==="button"&&((I=r.attrs)!=null&&I.id)){let v=r.attrs.id,w=n(v);if(w>=0){let R=e.state.tr;return R.setNodeMarkup(w,void 0,{...(p=e.state.doc.nodeAt(w))==null?void 0:p.attrs,[b]:x}),e.view.dispatch(R),setTimeout(()=>{let B=n(v);if(B>=0){let T=e.state.doc.nodeAt(B);T&&t(T)}},0),!0}}return!1},[e,r,n,t]),i=Pt(()=>{var b,x;if(((b=r==null?void 0:r.type)==null?void 0:b.name)==="button"&&((x=r.attrs)!=null&&x.id)){let E=r.attrs.id,I=n(E);if(I>=0){let p=e.state.doc.nodeAt(I);if(!p)return!1;let v={...p.attrs,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1},w=e.state.tr;return w.setNodeMarkup(I,void 0,v),e.view.dispatch(w),setTimeout(()=>{let R=n(E);if(R>=0){let B=e.state.doc.nodeAt(R);B&&t(B)}},0),!0}}return!1},[e,r,n,t]),s=Pt(()=>{var b;if(((b=r==null?void 0:r.type)==null?void 0:b.name)==="button"){let x=r.attrs.fontWeight==="bold"?"normal":"bold";if(o("fontWeight",x))return!0}return e.chain().focus().toggleBold().run()},[e,r,o]),u=Pt(()=>{var b;if(((b=r==null?void 0:r.type)==null?void 0:b.name)==="button"){let x=r.attrs.fontStyle==="italic"?"normal":"italic";if(o("fontStyle",x))return!0}return e.chain().focus().toggleItalic().run()},[e,r,o]),l=Pt(()=>{var b;if(((b=r==null?void 0:r.type)==null?void 0:b.name)==="button"){let x=!r.attrs.isStrike;if(o("isStrike",x))return!0}return e.chain().focus().toggleMark("strike").run()},[e,r,o]),c=Pt(()=>{var b;if(((b=r==null?void 0:r.type)==null?void 0:b.name)==="button"){let x=!r.attrs.isUnderline;if(o("isUnderline",x))return!0}return e.chain().focus().toggleMark("underline").run()},[e,r,o]),d=Pt(()=>e.chain().focus().setTextAlign("left").run(),[e]),f=Pt(()=>e.chain().focus().setTextAlign("center").run(),[e]),m=Pt(()=>e.chain().focus().setTextAlign("right").run(),[e]),h=Pt(()=>e.chain().focus().setTextAlign("justify").run(),[e]),g=Pt((b,x)=>e.chain().focus().setLink({href:b,target:x?"_blank":""}).run(),[e]),y=Pt(()=>{let b=e.isActive("blockquote");if(e.chain().focus().toggleBlockquote().run()){let{selection:I}=e.state,p=I.$anchor;if(b){let v=p.node();(v.type.name==="paragraph"||v.type.name==="heading")&&t(v)}else for(let v=p.depth;v>0;v--){let w=p.node(v);if(w.type.name==="blockquote"){t(w);break}}}},[e,t]);return{onBold:s,onItalic:u,onStrike:l,onUnderline:c,onAlignLeft:d,onAlignCenter:f,onAlignRight:m,onAlignJustify:h,onLink:g,onQuote:y,resetButtonFormatting:i}},"useTextmenuCommands");import{Fragment as rg,jsx as ar,jsxs as rs}from"react/jsx-runtime";function eg(){let[e,t]=Y1(!1);return pu(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}a(eg,"useMountStatus");var Yt=a(({children:e,id:t,className:r,...n})=>{let{setNodeRef:o,setActivatorNodeRef:i,listeners:s,isDragging:u,transform:l,transition:c}=G1({id:t}),d=eg();return ar(tg,{ref:o,id:t,transition:c,transform:l,fadeIn:u&&!d,listeners:s,className:r,handleProps:{ref:i},...n,children:e})},"SortableItemWrapper"),tg=X1(({children:e,className:t,dragOverlay:r,handleProps:n,listeners:o,id:i,transition:s,transform:u,editor:l,fadeIn:c,...d},f)=>{pu(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]);let m=J1(Ke),{resetButtonFormatting:h}=fi(l),g=a((v,w)=>{let R=null;return v.doc.descendants((B,T)=>{var N;return R!==null?!1:((N=B.attrs)==null?void 0:N.id)===w?(R=T,!1):!0}),R},"findNodePositionById"),y=mn(()=>{if(!l||!i)return{node:null,pos:null};let v=g(l.state,i);return v===null?{node:null,pos:null}:{node:l.state.doc.nodeAt(v),pos:v}},[l,i]),b=mn(()=>{l.commands.blur(),m(null)},[l,m]),x=mn(()=>{if(!(!l||!i))try{b(),setTimeout(()=>{let{node:v,pos:w}=y();if(!v||w===null)return;let R=l.state.doc.childCount===1,B=l.state.tr;B.delete(w,w+(v==null?void 0:v.nodeSize)),B.setMeta("addToHistory",!0),l.view.dispatch(B),R&&setTimeout(()=>{let T=l.state.doc.nodeAt(0);if(T&&T.type.name==="paragraph"&&!T.attrs.id){let N=`node-${Q1()}`,H=l.state.tr;H.setNodeMarkup(0,void 0,{...T.attrs,id:N}),l.view.dispatch(H);let D=new CustomEvent("node-duplicated",{detail:{newNodeId:N}});document.dispatchEvent(D)}},50),m(null)},100)}catch(v){console.error("Error deleting node:",v)}},[l,i,y,b,m]),E=mn(()=>{if(!(!l||!i))try{let{node:v,pos:w}=y();if(!v||w===null)return;if(v.type.name==="button"){h();return}b(),setTimeout(()=>{let R=l.chain();R.setNodeSelection(w).unsetAllMarks(),v.type.name==="blockquote"&&v.content&&v.content.firstChild?v.content.firstChild.type.name!=="paragraph"&&R.setParagraph():v.type.name!=="paragraph"&&v.type.name!=="blockquote"&&R.setParagraph(),R.run()},100)}catch(v){console.error("Error removing formatting:",v)}},[l,i,y,b,h]),I=mn(()=>{if(!(!l||!i))try{b(),setTimeout(()=>{let{node:v,pos:w}=y();if(!v||w===null)return;let R=v.type.name,B={...v.attrs};delete B.id;let T=w+(v==null?void 0:v.nodeSize);mi(l,R,T,B,N=>m(N),v.content)},100)}catch(v){console.error("Error duplicating node:",v)}},[l,i,y,b,m]),{node:p}=y();return rs(K1,{ref:f,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":i,className:M("courier-flex courier-items-center courier-justify-center courier-gap-2 courier-pl-6 draggable-item",t),style:{transition:[s].filter(Boolean).join(", "),"--translate-x":u?`${Math.round(u.x)}px`:void 0,"--translate-y":u?`${Math.round(u.y)}px`:void 0,"--scale-x":u!=null&&u.scaleX?`${u.scaleX}`:void 0,"--scale-y":u!=null&&u.scaleY?`${u.scaleY}`:void 0,transform:"translate3d(var(--translate-x, 0), var(--translate-y, 0), 0) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1))"},...d,children:[ar(du,{className:"courier-absolute courier-left-[-20px]",tabIndex:-1,...n,...o}),e,rs("div",{className:"courier-actions-panel courier-absolute courier-right-[-50px] courier-rounded-md courier-border courier-border-border courier-bg-background courier-shadow-sm courier-flex courier-items-center courier-justify-center courier-hidden",children:[(p==null?void 0:p.type.name)!=="imageBlock"&&(p==null?void 0:p.type.name)!=="divider"&&(p==null?void 0:p.type.name)!=="spacer"&&rs(rg,{children:[ar("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center",onClick:E,tabIndex:-1,children:ar(fa,{})}),ar(fe,{className:"courier-m-0"})]}),ar("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center",onClick:I,tabIndex:-1,children:ar(da,{})}),ar(fe,{className:"courier-m-0"}),ar("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center",onClick:x,tabIndex:-1,children:ar(la,{})})]})]})});import{NodeViewContent as og}from"@tiptap/react";import{useSetAtom as ng}from"jotai";import{useCallback as ig}from"react";import{jsx as fn}from"react/jsx-runtime";var ag=a(({paddingHorizontal:e,paddingVertical:t,backgroundColor:r,borderLeftWidth:n,borderColor:o})=>fn("div",{className:"courier-w-full node-element",children:fn("div",{style:{zIndex:-15,position:"relative",padding:`${t}px ${e}px`,backgroundColor:r,borderLeftWidth:`${n}px`,borderColor:o,borderStyle:n>0?"solid":"none",whiteSpace:"pre-wrap"},children:fn(og,{})})}),"BlockquoteComponent"),mu=a(e=>{let t=ng(bt),r=ig(()=>{if(!e.editor.isEditable)return;let o=e.getPos(),i=e.editor.state.doc.nodeAt(o);i&&t(i)},[e,t]),n=!e.node.content||e.node.content.size===0;return fn(Yt,{id:e.node.attrs.id,className:M(e.node.attrs.isSelected&&"selected-element",n&&"is-empty"),onClick:r,editor:e.editor,children:fn(ag,{...e.node.attrs})})},"BlockquoteComponentNode");var Cr={paddingHorizontal:8,paddingVertical:6,backgroundColor:"transparent",borderLeftWidth:4,borderColor:"#e0e0e0"},ts=Fs.extend({content:"block+",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Lt(this.editor,this.name)},addAttributes(){return{id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},paddingHorizontal:{default:Cr.paddingHorizontal,parseHTML:e=>e.getAttribute("data-padding-horizontal"),renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},paddingVertical:{default:Cr.paddingVertical,parseHTML:e=>e.getAttribute("data-padding-vertical"),renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},backgroundColor:{default:Cr.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},borderLeftWidth:{default:Cr.borderLeftWidth,parseHTML:e=>e.getAttribute("data-border-left-width"),renderHTML:e=>({"data-border-left-width":e.borderLeftWidth})},borderColor:{default:Cr.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})}}},parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",sg(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 n=e.isActive("blockquote");return!e.isActive("paragraph")||!n?!1:e.chain().command(({tr:i})=>{i.split(t.from);let s=i.selection.from,u=i.doc.resolve(s);if(u.depth>1){let l=u.blockRange();l&&i.lift(l,0)}return!0}).focus().run()}}},addNodeView(){return lg(mu)}});import{zodResolver as cg}from"@hookform/resolvers/zod";import{useForm as ug}from"react-hook-form";import{z as no}from"zod";var fu=no.object({paddingHorizontal:no.coerce.number().min(0),paddingVertical:no.coerce.number().min(0),backgroundColor:no.string(),borderLeftWidth:no.coerce.number().min(0),borderColor:no.string(),id:no.string().optional()});import{jsx as ye,jsxs as Rr}from"react/jsx-runtime";var gu=a(({element:e,editor:t})=>{let r=ug({resolver:cg(fu),defaultValues:{...Cr,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=Qt({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"blockquote"});return e?Rr(ht,{...r,children:[ye(er,{type:"blockquote"}),Rr("form",{onChange:()=>{n(r.getValues())},children:[ye("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),Rr("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[ye(j,{control:r.control,name:"paddingHorizontal",render:({field:o})=>Rr(Z,{children:[ye(_,{children:ye(de,{startAdornment:ye(Xo,{}),type:"number",min:0,...o})}),ye(q,{})]})}),ye(j,{control:r.control,name:"paddingVertical",render:({field:o})=>Rr(Z,{children:[ye(_,{children:ye(de,{startAdornment:ye(_r,{}),type:"number",min:0,...o})}),ye(q,{})]})})]}),ye(j,{control:r.control,name:"backgroundColor",render:({field:o})=>Rr(Z,{className:"courier-mb-3",children:[ye(_,{children:ye(De,{...o,defaultValue:Cr.backgroundColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),ye(q,{})]})}),ye(fe,{className:"courier-mb-4"}),ye("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),ye(j,{control:r.control,name:"borderLeftWidth",render:({field:o})=>Rr(Z,{className:"courier-mb-3",children:[ye(_,{children:ye(de,{startAdornment:ye(Vt,{}),type:"number",min:0,...o})}),ye(q,{})]})}),ye(j,{control:r.control,name:"borderColor",render:({field:o})=>Rr(Z,{className:"courier-mb-3",children:[ye(_,{children:ye(De,{...o,defaultValue:Cr.borderColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),ye(q,{})]})})]})]}):null},"BlockquoteForm");import{useAtomValue as dg}from"jotai";import{jsx as Bo,jsxs as pg}from"react/jsx-runtime";var gi=a(({element:e,editor:t})=>{var i;let r=dg(ha);if(!e)return null;if(r!=null&&r.link||((i=r==null?void 0:r.mark)==null?void 0:i.type.name)==="link")return Bo(uc,{editor:t,mark:r==null?void 0:r.mark,pendingLink:r==null?void 0:r.link});let n=t==null?void 0:t.isActive("blockquote"),o=a(()=>{if(!t)return;let{$anchor:s}=t.state.selection,u=s.depth;for(;u>0;){let l=s.node(u);if(l.type.name==="blockquote")return l;u--}},"getBlockquoteElement");return pg("div",{className:"courier-flex courier-flex-col courier-gap-4",children:[e.type.name==="button"&&Bo(Fl,{element:e,editor:t},e.attrs.id),e.type.name==="divider"&&Bo(Ul,{element:e,editor:t},e.attrs.id),["paragraph","heading"].includes(e.type.name)&&!n&&Bo(Xl,{element:e,editor:t},e.attrs.id),e.type.name==="imageBlock"&&Bo(ic,{element:e,editor:t},e.attrs.id),(e.type.name==="blockquote"||e.type.name==="paragraph"&&n||e.type.name==="heading"&&n)&&Bo(gu,{element:o()||e,editor:t},e.attrs.id)]})},"SideBarItemDetails");import{useAtomValue as ns}from"jotai";import{AlignCenter as Ng,AlignJustify as Eg,AlignLeft as Mg,AlignRight as Ig,Bold as Ag,Braces as Lg,Italic as Sg,Link as Rg,Quote as Bg,Strikethrough as Hg,Underline as Dg}from"lucide-react";import{Fragment as Vg,memo as Nu,useMemo as Fg,useRef as Og}from"react";import{forwardRef as os}from"react";import mg from"@tippyjs/react";import{useCallback as fg}from"react";import{Fragment as bg,jsx as sr,jsxs as hg}from"react/jsx-runtime";var hu=typeof window!="undefined"?navigator.platform.toUpperCase().indexOf("MAC")>=0:!1,gg=a(({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-neutral-500 courier-border-b-2";return e==="Mod"?sr("kbd",{className:t,children:hu?"\u2318":"Ctrl"}):e==="Shift"?sr("kbd",{className:t,children:"\u21E7"}):e==="Alt"?sr("kbd",{className:t,children:hu?"\u2325":"Alt"}):sr("kbd",{className:t,children:e})},"ShortcutKey"),bu=a(({children:e,enabled:t=!0,title:r,shortcut:n,tippyOptions:o={}})=>{let i=fg(s=>hg("span",{className:"courier-flex courier-items-center courier-gap-2 courier-px-2.5 courier-py-1 courier-bg-white courier-border courier-border-neutral-100 courier-rounded-lg courier-shadow-sm courier-z-[999]",tabIndex:-1,"data-placement":s["data-placement"],"data-reference-hidden":s["data-reference-hidden"],"data-escaped":s["data-escaped"],children:[r&&sr("span",{className:"courier-text-xs courier-font-medium courier-text-neutral-500",children:r}),n&&sr("span",{className:"courier-flex courier-items-center courier-gap-0.5",children:n.map(u=>sr(gg,{children:u},u))})]}),[n,r]);return t?sr(mg,{delay:500,offset:[0,8],touch:!1,zIndex:99999,appendTo:document.body,...o,render:i,children:sr("span",{children:e})}):sr(bg,{children:e})},"Tooltip");import{jsx as hi}from"react/jsx-runtime";var vu=os(({shouldShowContent:e=!0,children:t,isVertical:r=!1,className:n,...o},i)=>{let s=M("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-1 courier-items-center",n);return e&&hi(Ya,{className:s,...o,ref:i,children:t})});vu.displayName="Toolbar";var yu=os(({horizontal:e,className:t,...r},n)=>{let o=M("courier-bg-neutral-200 dark:courier-bg-neutral-800",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 hi("div",{className:o,ref:n,...r})});yu.displayName="Toolbar.Divider";var xu=os(({children:e,buttonSize:t="icon",variant:r="ghost",className:n,tooltip:o,tooltipShortcut:i,...s},u)=>{let l=M("courier-gap-1 courier-min-w-[2rem] courier-w-auto",n),c=hi(Me,{className:l,variant:r,buttonSize:t,ref:u,...s,children:e});return o?hi(bu,{title:o,shortcut:i,children:c}):c});xu.displayName="ToolbarButton";var bi={Wrapper:vu,Divider:yu,Button:xu};import{ChevronDown as vg}from"lucide-react";import{useMemo as yg}from"react";import{Fragment as Cg,jsx as Br,jsxs as Cu}from"react/jsx-runtime";var xg=a(e=>e.type==="option","isOption"),wu=a(({options:e,containerRef:t})=>{let r=yg(()=>e.find(n=>n.type==="option"&&n.isActive()),[e]);return Cu(Os,{children:[Br(Ws,{asChild:!0,children:Cu(Me,{variant:"ghost",className:"courier-flex courier-items-center courier-justify-center courier-font-normal",children:[(r==null?void 0:r.label)||"Normal text",Br(vg,{className:"courier-w-3 courier-h-3"})]})}),Br(Ui,{portalProps:{container:(t==null?void 0:t.current)||void 0},children:e.map(n=>{if(xg(n))return Br(Zi,{onClick:n.onClick,className:n.isActive()?"courier-bg-accent courier-text-foreground":"",children:n.id.startsWith("heading")?Br(Cg,{children:n.id==="heading1"?Br("h1",{className:"courier-text-2xl courier-font-bold",children:n.label}):n.id==="heading2"?Br("h2",{className:"courier-text-xl courier-font-bold",children:n.label}):n.id==="heading3"?Br("h3",{className:"courier-text-lg courier-font-bold",children:n.label}):n.label}):n.label},n.id)})})]})},"ContentTypePicker");import{useEditorState as wg}from"@tiptap/react";var Tu=a(e=>wg({editor:e,selector:t=>[{label:"Normal text",onClick:()=>{t.editor.chain().focus().setNode("paragraph").run()},id:"paragraph",disabled:()=>!t.editor.can().setParagraph(),isActive:()=>t.editor.isActive("paragraph")&&!t.editor.isActive("heading"),type:"option"},{label:"Heading 1",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:1}).run()},id:"heading1",disabled:()=>!t.editor.can().setHeading({level:1}),isActive:()=>t.editor.isActive("heading",{level:1}),type:"option"},{label:"Heading 2",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:2}).run()},id:"heading2",disabled:()=>!t.editor.can().setHeading({level:2}),isActive:()=>t.editor.isActive("heading",{level:2}),type:"option"},{label:"Heading 3",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:3}).run()},id:"heading3",disabled:()=>!t.editor.can().setHeading({level:3}),isActive:()=>t.editor.isActive("heading",{level:3}),type:"option"}]}),"useTextmenuContentTypes");import{useAtomValue as Tg}from"jotai";import{useCallback as ku,useEffect as kg,useState as Pg}from"react";var Pu=a(e=>{let t=Tg(Ke),[r,n]=Pg({isBold:!1,isItalic:!1,isUnderline:!1,isStrike:!1,isAlignLeft:!1,isAlignCenter:!1,isAlignRight:!1,isAlignJustify:!1,isQuote:!1,isLink:!1}),o=ku(()=>{if(e){if((t==null?void 0:t.type.name)==="button"){n({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}n({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 kg(()=>{if(e)return o(),e.on("selectionUpdate",o),e.on("transaction",o),()=>{e.off("selectionUpdate",o),e.off("transaction",o)}},[e,o]),{shouldShow:ku(({view:s,from:u})=>{if(!s||e.view.dragging)return!1;let l=s.domAtPos(u||0).node,d=s.nodeDOM(u||0)||l;return su(e,d)?!1:lu({editor:e})},[e]),...r}},"useTextmenuStates");import{jsx as Xe,jsxs as $g}from"react/jsx-runtime";var Wg=Nu(bi.Button),zg=Nu(wu),vi=a(({editor:e})=>{var I;let t=fi(e),r=Pu(e),n=Tu(e),o=Og(null),i=ns(Dn),s=ns(Ke),u=s==null?void 0:s.type.name,l=ns(wl),c=Fg(()=>l(u||""),[l,u]),d=a(()=>{let{selection:p}=e.state;if(!(p.empty&&!r.isLink))if(r.isLink){let v=e.state.tr.setMeta("showLinkForm",{from:p.from,to:p.to});e.view.dispatch(v)}else{let v=e.state.tr.setMeta("showLinkForm",{from:p.from,to:p.to});e.view.dispatch(v)}},"handleLinkToggle"),f=a(()=>{if(i.ref){let B=i.ref,T=B.value,N=i.caretPosition||B.selectionStart||0,H=T.substring(0,N),D=T.substring(N),P=`${H}{{${D}`,A=N+2;B.focus();let L=new Event("input",{bubbles:!0,cancelable:!0});if(Object.defineProperty(L,"target",{writable:!1,value:{...B,value:P}}),B.value=P,B.dispatchEvent(L),B.setSelectionRange(A,A),B.getBoundingClientRect()){let V=P.slice(0,A),J=document.createElement("span");J.style.font=window.getComputedStyle(B).font,J.style.whiteSpace="pre-wrap",J.textContent=V,document.body.appendChild(J);let U=J.offsetWidth;document.body.removeChild(J);let Q=parseInt(window.getComputedStyle(B).lineHeight),ce=V.split(`
|
|
166
|
-
`).length-1,
|
|
167
|
-
`;case"paragraph":return(((i=e.content)==null?void 0:i.map(
|
|
164
|
+
`,variables:{input:{name:i,type:e.type,data:u}}})})).json();if(l.errors)throw new Error(l.errors.map(f=>f.message).join(`
|
|
165
|
+
`));return l.data.tenant.notification.uploadImage.url}catch(c){throw console.error("Error uploading image:",c),c}},"uploadImage");import{useAtomValue as va,useSetAtom as Rm}from"jotai";import{useCallback as ir,useEffect as xa,useMemo as Bm,useRef as Kc,useState as Jc}from"react";import{toast as Xc}from"sonner";import{jsx as ba}from"react/jsx-runtime";var yr=a(({className:e})=>ba("div",{className:E("courier-flex courier-flex-col courier-items-center courier-justify-center courier-text-ring",e),children:ba("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"courier-w-6 courier-h-6 courier-animate-spin",children:ba("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})})}),"Loader");import{Fragment as Dm,jsx as nr,jsxs as ya}from"react/jsx-runtime";var Hm=a(({sourcePath:e,alt:t,alignment:r,borderWidth:n,borderRadius:o,borderColor:i,isUploading:s,width:u,imageNaturalWidth:c,onFileSelect:l,editor:d})=>{let[f,m]=Jc(!1),[h,g]=Jc(!0),b=Kc(null),y=Kc(null);xa(()=>{e&&g(!0)},[e]),xa(()=>{if(e&&!c&&d){let T=new Image;T.onload=()=>{try{if(!d.view||!d.state)return;let P=d.view.state.selection.from;d.chain().setNodeSelection(P).updateAttributes("imageBlock",{imageNaturalWidth:T.naturalWidth}).run()}catch{}},T.src=e}},[e,c,d]);let C=ir(T=>{var M,D;let P=(D=(M=d==null?void 0:d.view)==null?void 0:M.dom)==null?void 0:D.closest(".ProseMirror"),B=(P==null?void 0:P.clientWidth)||1e3,k=Math.min(100,T/B*100);return Math.round(k)},[d]),A=Bm(()=>C(c),[C,c]),N=ir(T=>{T.preventDefault(),T.stopPropagation(),T.dataTransfer.types.includes("Files")&&Array.from(T.dataTransfer.items).some(k=>k.type.startsWith("image/"))&&(m(!0),T.dataTransfer.dropEffect="copy")},[]),p=ir(T=>{T.preventDefault(),T.stopPropagation(),m(!1)},[]),v=ir(T=>{T.preventDefault(),T.stopPropagation(),T.dataTransfer.types.includes("Files")&&Array.from(T.dataTransfer.items).some(k=>k.type.startsWith("image/"))&&m(!0)},[]),x=ir(T=>{T.preventDefault(),T.stopPropagation(),m(!1);let B=Array.from(T.dataTransfer.files).find(k=>k.type.startsWith("image/"));B&&l&&l(B)},[l]),S=ir(T=>{var B;let P=(B=T.target.files)==null?void 0:B[0];P&&l&&l(P)},[l]),R=ir(()=>{var T;(T=b.current)==null||T.click()},[]);return e?nr("div",{className:"courier-w-full node-element",children:ya("div",{className:E("courier-relative courier-p-1",(s||h)&&"courier-min-h-[200px] courier-min-w-[300px] courier-bg-gray-100"),children:[(s||h)&&nr("div",{className:"courier-absolute courier-inset-0 courier-flex courier-items-center courier-justify-center",children:nr(yr,{className:"courier-w-8 courier-h-8"})}),nr("img",{ref:y,src:e,alt:t,className:E("courier-h-auto courier-inline-block courier-w-full",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[r],s&&"courier-opacity-50",(s||h)&&"courier-invisible"),style:{maxWidth:u===A?`${c}px`:`${u}%`,borderWidth:`${n}px`,borderRadius:`${o}px`,borderColor:i,borderStyle:n>0?"solid":"none",display:"block"},loading:"lazy",decoding:"async",draggable:!1,onLoad:T=>{if(g(!1),!c&&d)try{if(!d.view||!d.state)return;setTimeout(()=>{let P=d.view.state.selection.from;d.chain().setNodeSelection(P).updateAttributes("imageBlock",{imageNaturalWidth:T.target.naturalWidth}).run()},100)}catch(P){console.warn("Editor not ready for image update:",P)}},onError:()=>g(!1)})]})}):ya("div",{className:E("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",f&&"courier-border-primary courier-bg-gray-50"),onDragOver:N,onDragEnter:v,onDragLeave:p,onDrop:x,style:{pointerEvents:"all"},children:[s?nr(yr,{className:"courier-w-8 courier-h-8"}):ya(Dm,{children:[nr("span",{className:"courier-text-sm courier-pointer-events-none courier-inline-block",children:"Drag and drop image, or\xA0"}),nr("button",{className:"courier-underline courier-font-medium courier-inline-block courier-text-sm",onClick:R,children:"Browse"})]}),nr("input",{ref:b,type:"file",accept:"image/*",className:"courier-hidden",onChange:S})]})},"ImageBlockComponent"),Yc=a(e=>{let t=Rm(dt),r=va(Qe),n=va(et),o=va(Ce),i=ir(c=>{var m,h,g;let l=(g=(h=(m=e.editor)==null?void 0:m.view)==null?void 0:h.dom)==null?void 0:g.closest(".ProseMirror"),d=(l==null?void 0:l.clientWidth)||1e3,f=Math.min(100,c/d*100);return Math.round(f)},[e.editor]);xa(()=>{var l,d;let c=e.editor.state.doc.nodeAt(e.getPos());if((l=c==null?void 0:c.attrs)!=null&&l.sourcePath&&!((d=c==null?void 0:c.attrs)!=null&&d.imageNaturalWidth)){let f=new Image;f.onload=()=>{let m=c.attrs.width||i(f.naturalWidth);e.editor.chain().focus().setNodeSelection(e.getPos()).updateAttributes("imageBlock",{width:m,imageNaturalWidth:f.naturalWidth}).run()},f.src=c.attrs.sourcePath}},[e,e.getPos,i]);let s=ir(()=>{if(!e.editor.isEditable)return;let c=e.getPos(),l=e.editor.state.doc.nodeAt(c);l&&(e.editor.commands.blur(),t(l))},[e,t]),u=ir(async c=>{if(!r||!n||!o){Xc.error("Missing configuration for image upload");return}let l=e.getPos();e.editor.state.doc.nodeAt(l)&&e.editor.chain().focus().setNodeSelection(l).updateAttributes("imageBlock",{isUploading:!0}).run();try{if(!c.type.startsWith("image/"))throw new Error("Only image files are supported");let f=new FileReader;f.readAsDataURL(c),await new Promise((b,y)=>{f.onload=b,f.onerror=y});let m=await _n(c,{apiUrl:r,token:n,tenantId:o}),h=e.getPos();if(e.editor.state.doc.nodeAt(h)){let b=new Image;b.src=m,await new Promise(C=>{b.onload=C});let y=i(b.naturalWidth);e.editor.chain().focus().setNodeSelection(h).updateAttributes("imageBlock",{sourcePath:m,isUploading:!1,width:y,imageNaturalWidth:b.naturalWidth}).run()}}catch(f){console.error("Error uploading image:",f);let m="Failed to upload image";if(f instanceof Error){let b=f.message;b.includes("GraphQL error")?m="Server error: Could not process image":(b.includes("network")||b.includes("fetch"))&&(m="Network error: Could not upload image")}Xc.error(m);let h=e.getPos();e.editor.state.doc.nodeAt(h)&&e.editor.chain().focus().setNodeSelection(h).updateAttributes("imageBlock",{isUploading:!1}).run()}},[e,i,r,n,o]);return nr(Qt,{id:e.node.attrs.id,className:E(e.node.attrs.isSelected&&"selected-element"),onClick:s,editor:e.editor,children:nr(Hm,{...e.node.attrs,onFileSelect:u,editor:e.editor})})},"ImageBlockView");var Oe={sourcePath:"",link:"",alt:"",alignment:"center",width:1,borderWidth:0,borderRadius:0,borderColor:"#000000",isUploading:!1,imageNaturalWidth:0},Po=Fm.create({name:"imageBlock",group:"block",atom:!0,inline:!1,onCreate(){Lt(this.editor,this.name)},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),placeholder:""}},addAttributes(){return{sourcePath:{default:Oe.sourcePath,parseHTML:e=>e.getAttribute("data-source-path")||"",renderHTML:e=>({"data-source-path":e.sourcePath||""})},link:{default:Oe.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alt:{default:Oe.alt,parseHTML:e=>e.getAttribute("data-alt"),renderHTML:e=>({"data-alt":e.alt})},alignment:{default:Oe.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},width:{default:Oe.width,parseHTML:e=>e.getAttribute("data-width"),renderHTML:e=>({"data-width":e.width})},imageNaturalWidth:{default:Oe.imageNaturalWidth,parseHTML:e=>e.getAttribute("data-natural-width"),renderHTML:e=>({"data-natural-width":e.imageNaturalWidth})},borderWidth:{default:Oe.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:Oe.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Oe.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},isUploading:{default:Oe.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})}}},parseHTML(){return[{tag:'div[data-type="image-block"]'}]},renderHTML({HTMLAttributes:e}){return["div",Vm(this.options.HTMLAttributes,e,{"data-type":"image-block"}),0]},addNodeView(){return Om(Yc)},addCommands(){return{setImageBlock:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...Oe,...e}}).run(),setImageBlockAt:({pos:e,src:t})=>({chain:r})=>r().insertContentAt(e,{type:this.name,attrs:{...Oe,sourcePath:t||""}}).run(),setImageBlockAlign:e=>({commands:t})=>t.updateAttributes(this.name,{alignment:e}),setImageBlockWidth:e=>({commands:t})=>t.updateAttributes(this.name,{width:e}),uploadImage:e=>({chain:t})=>{let r=new FileReader;return r.onload=()=>{t().setImageBlock({sourcePath:r.result,isUploading:!0}).run()},r.readAsDataURL(e),!0}}}});import{z as Ut}from"zod";var Qc=Ut.object({sourcePath:Ut.string(),link:Ut.string().optional(),alt:Ut.string().optional(),alignment:Ut.enum(["left","center","right"]),width:Ut.number().min(1).max(100),borderWidth:Ut.number(),borderRadius:Ut.number(),borderColor:Ut.string(),isUploading:Ut.boolean().optional(),imageNaturalWidth:Ut.number()});import{zodResolver as Wm}from"@hookform/resolvers/zod";import{ArrowUp as zm}from"lucide-react";import{useCallback as jn,useEffect as $m,useRef as el,useState as Gn}from"react";import{useForm as Um}from"react-hook-form";import{toast as Kn}from"sonner";import{useAtomValue as Ca}from"jotai";import{Fragment as tl,jsx as z,jsxs as We}from"react/jsx-runtime";var rl=a(({element:e,editor:t})=>{var R,T,P,B;let r=el(null),n=el(null),[o,i]=Gn(""),[s,u]=Gn(!1),[c,l]=Gn(((R=e==null?void 0:e.attrs)==null?void 0:R.imageNaturalWidth)||0),[d,f]=Gn(!1),m=Ca(Qe),h=Ca(et),g=Ca(Ce),b=Um({resolver:Wm(Qc),defaultValues:{...Oe,...e==null?void 0:e.attrs},mode:"onChange"}),{updateNodeAttributes:y}=er({editor:t,element:e,form:b,nodeType:"imageBlock"});$m(()=>{var M;let k=(M=e==null?void 0:e.attrs)==null?void 0:M.sourcePath;if(k&&!c){let D=new Image;D.onload=()=>{l(D.naturalWidth);let $={...b.getValues(),imageNaturalWidth:D.naturalWidth};b.setValue("imageNaturalWidth",D.naturalWidth),y($)},D.src=k}},[(T=e==null?void 0:e.attrs)==null?void 0:T.sourcePath,c,b,y]);let C=jn(k=>{var L,Y;let M=(Y=(L=t==null?void 0:t.view)==null?void 0:L.dom)==null?void 0:Y.closest(".ProseMirror"),D=(M==null?void 0:M.clientWidth)||1e3;if(k||(k=c),!k)return 0;let $=Math.min(100,k/D*100);return Math.round($)},[t,c]),A=jn(k=>{var M;k.preventDefault(),(M=r.current)==null||M.click()},[]),N=jn((k,M)=>{let D=C(k.naturalWidth);i(`${D}%`),u(!1),b.setValue("sourcePath",M),b.setValue("imageNaturalWidth",k.naturalWidth),b.setValue("width",D);let $={...b.getValues(),sourcePath:M,width:D,imageNaturalWidth:k.naturalWidth};y($)},[b,y,C]),p=jn(k=>{if(!k)return;let M=new Image;M.onload=()=>{let D=C(M.naturalWidth);b.setValue("sourcePath",k),b.setValue("imageNaturalWidth",M.naturalWidth),b.setValue("width",D);let $={...b.getValues(),sourcePath:k,width:D,imageNaturalWidth:M.naturalWidth};y($)},M.src=k},[b,y,C]),v=((B=(P=t==null?void 0:t.extensionManager.extensions.find(k=>k.name==="variableSuggestion"))==null?void 0:P.options)==null?void 0:B.variables)||{},x=Ot(v),S=b.getValues().sourcePath;return e?We(ut,{...b,children:[z(tr,{type:"image"}),We("form",{ref:n,onChange:()=>{let k=b.getValues();y(k)},children:[z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Image"}),We(ec,{defaultValue:"file",className:"courier-mb-3 courier-w-full",children:[We(Ki,{className:"courier-w-full courier-flex courier-justify-stretch courier-mb-3",children:[z(En,{value:"file",className:"courier-flex-1",children:"From file"}),z(En,{value:"url",className:"courier-flex-1",children:"From URL"})]}),z(Ln,{value:"file",children:We("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[z(we,{onClick:A,className:"courier-w-full",variant:"outline",type:"button",disabled:d,children:d?z(tl,{children:"Uploading..."}):We(tl,{children:[z(zm,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-ml-2 courier-text-foreground"}),"Upload image"]})}),z("input",{ref:r,type:"file",accept:"image/*",className:"courier-hidden",onChange:k=>{var D;let M=(D=k.target.files)==null?void 0:D[0];if(M){f(!0);let $=new FileReader;$.onload=async()=>{try{if(!m||!h||!g){Kn.error("Missing configuration for image upload"),f(!1);return}let W=await _n(M,{apiUrl:m,token:h,tenantId:g}),L=new Image;L.onload=()=>{N(L,W),f(!1)},L.onerror=()=>{Kn.error("Failed to load uploaded image"),f(!1)},L.src=W}catch(W){console.error("Error uploading image:",W),Kn.error("Failed to upload image"),f(!1)}},$.onerror=()=>{Kn.error("Failed to read image file"),f(!1)},$.readAsDataURL(M)}}})]})}),z(Ln,{value:"url",children:z(G,{control:b.control,name:"sourcePath",render:({field:k})=>We(Z,{className:"courier-mb-3",children:[z(_,{children:z(wt,{as:"Textarea",...k,autoResize:!0,className:"courier-max-h-[88px]",variables:x,onChange:M=>p(M.target.value)})}),z(j,{})]})})})]}),z(G,{control:b.control,name:"link",render:({field:k})=>We(Z,{className:"courier-mb-3",children:[z(_,{children:z(wt,{as:"Textarea",placeholder:"Link",...k,variables:x,onChange:M=>{k.onChange(M),y({...b.getValues(),link:M.target.value})}})}),z(j,{})]})}),z(G,{control:b.control,name:"alt",render:({field:k})=>We(Z,{className:"courier-mb-4",children:[z(_,{children:z(wt,{as:"Textarea",...k,placeholder:"Alt text...",variables:x,onChange:M=>{k.onChange(M),y({...b.getValues(),alt:M.target.value})}})}),z(j,{})]})}),z(pe,{className:"courier-mt-6 courier-mb-4"}),z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Width"}),(()=>{let k=b.getValues().width,M=C(c),D=k===M,$=D?"original":"fill";return We(br,{type:"single",value:S?$:"original",onValueChange:W=>{if(!W||W===$)return;let L=W==="fill"?100:C(c);L>0&&(b.setValue("width",L),y({...b.getValues(),width:L}))},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5 courier-mb-3 courier-shadow-sm",disabled:!S,children:[z(it,{size:"sm",value:"original",className:"courier-w-full courier-h-7",children:"Original"}),z(it,{size:"sm",value:"fill",className:"courier-w-full courier-h-7",disabled:D||!S,children:"Fill"})]})})(),z(G,{control:b.control,name:"width",render:({field:k})=>We(Z,{className:"courier-flex-1 courier-mb-3",children:[z(_,{children:z(ce,{type:"text",inputMode:"numeric",pattern:"[0-9]*",min:1,max:100,...k,value:b.getValues().sourcePath?s?o:`${k.value}%`:"0%",className:"courier-text-2xl courier-font-normal",disabled:!b.getValues().sourcePath,onFocus:M=>{u(!0),i(M.target.value)},onChange:M=>{i(M.target.value)},onKeyDown:M=>{M.key==="Enter"&&(M.preventDefault(),M.currentTarget.blur())},onBlur:M=>{u(!1);let D=parseFloat(M.target.value.replace("%",""));if(!isNaN(D)){let $=Math.min(100,Math.max(1,D));k.onChange($),y({...b.getValues(),width:Math.round($)})}}})}),z(j,{})]})}),z(G,{control:b.control,name:"width",render:({field:k})=>We(Z,{className:"courier-flex-1 courier-mb-3",children:[z(_,{children:z(ji,{min:1,max:100,value:[S?k.value:0],disabled:!S,onValueChange:M=>{k.onChange(M[0]),y({...b.getValues(),width:M[0]})}})}),z(j,{})]})}),z(G,{control:b.control,name:"alignment",render:({field:k})=>We(Z,{children:[z(_,{children:We(br,{disabled:!S,type:"single",value:k.value,onValueChange:M=>{k.onChange(M),y({...b.getValues(),alignment:M})},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5",children:[z(it,{size:"sm",value:"left",className:"courier-w-full",children:z(On,{className:"courier-h-4 courier-w-4"})}),z(it,{size:"sm",value:"center",className:"courier-w-full",children:z(Wn,{className:"courier-h-4 courier-w-4"})}),z(it,{size:"sm",value:"right",className:"courier-w-full",children:z(zn,{className:"courier-h-4 courier-w-4"})})]})}),z(j,{})]})}),z(pe,{className:"courier-mt-6 courier-mb-4"}),z("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),We("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[z(G,{control:b.control,name:"borderWidth",render:({field:k})=>We(Z,{children:[z(_,{children:z(ce,{startAdornment:z(Ft,{}),type:"number",disabled:!S,min:0,...k,onChange:M=>{let D=parseInt(M.target.value)||0;k.onChange(D),y({...b.getValues(),borderWidth:D})}})}),z(j,{})]})}),z(G,{control:b.control,name:"borderRadius",render:({field:k})=>We(Z,{children:[z(_,{children:z(ce,{startAdornment:z($r,{}),type:"number",disabled:!S,min:0,...k,onChange:M=>{let D=parseInt(M.target.value)||0;k.onChange(D),y({...b.getValues(),borderRadius:D})}})}),z(j,{})]})})]}),z(G,{control:b.control,name:"borderColor",render:({field:k})=>We(Z,{className:"courier-mb-4",children:[z(_,{children:z(Ve,{...k,disabled:!S,defaultValue:Oe.borderColor,onChange:M=>{k.onChange(M),y({...b.getValues(),[k.name]:M})}})}),z(j,{})]})})]})]}):null},"ImageBlockForm");import{getMarkRange as ol,mergeAttributes as qm}from"@tiptap/core";import Zm from"@tiptap/extension-link";import{Plugin as nl,TextSelection as il}from"@tiptap/pm/state";var wa=Zm.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",qm(this.options.HTMLAttributes,e,{class:"link cursor-pointer"}),0]},addProseMirrorPlugins(){var t;return[...((t=this.parent)==null?void 0:t.call(this))||[],new nl({props:{handleClick:(r,n,o)=>{if(o.button!==0)return!1;let{state:i}=r,{doc:s}=i,u=s.resolve(n),c=u.marks().find(l=>l.type.name==="link");if(c||n>0&&(c=s.resolve(n-1).marks().find(d=>d.type.name==="link")),c||n<s.content.size&&(c=s.resolve(n+1).marks().find(d=>d.type.name==="link")),c){let l=ol(u,c.type);return l?(r.dispatch(i.tr.setSelection(il.create(s,l.from,l.to))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:l.from,to:l.to,href:c.attrs.originalHref||c.attrs.href})),!0):(r.dispatch(i.tr.setSelection(il.create(s,n,n+1))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:n,to:n+1,href:c.attrs.originalHref||c.attrs.href})),!0)}return!1}}}),new nl({appendTransaction(r,n,o){if(!r.some(u=>u.docChanged))return null;let i=o.tr,s=!1;return o.doc.descendants((u,c)=>(u.marks.forEach(l=>{if(l.type.name==="link"&&l.attrs.href){let d=l.attrs.href;if(d.includes("__VAR_")){let f=d.replace(/__VAR_([^_]+)__/g,"{{$1}}");if(f!==d){let m=ol(o.doc.resolve(c),l.type);m&&(i.removeMark(m.from,m.to,l.type),i.addMark(m.from,m.to,l.type.create({...l.attrs,href:f,hasVariables:!0,originalHref:f})),s=!0)}}}}),!0)),s?i:null}})]}});import{zodResolver as _m}from"@hookform/resolvers/zod";import{useSetAtom as jm}from"jotai";import{useRef as Gm,useEffect as Km}from"react";import{useForm as Jm}from"react-hook-form";import{z as Ta}from"zod";import{jsx as _r,jsxs as al}from"react/jsx-runtime";var Xm=Ta.object({href:Ta.string(),openInNewTab:Ta.boolean().default(!1)}),sl=a(({editor:e,mark:t,pendingLink:r})=>{var l,d;let n=jm(go),o=Gm(null),i=Jm({resolver:_m(Xm),defaultValues:{href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1}});Km(()=>{i.reset({href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1})},[t,i]);let s=((d=(l=e==null?void 0:e.extensionManager.extensions.find(f=>f.name==="variableSuggestion"))==null?void 0:l.options)==null?void 0:d.variables)||{},u=Ot(s),c=a(async f=>{let m=f.href.trim();if(!m){r&&(e==null||e.commands.setTextSelection({from:r.from,to:r.to})),e==null||e.commands.unsetLink(),n(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:m,target:f.openInNewTab?"_blank":null}).run()),e==null||e.commands.setTextSelection((r==null?void 0:r.to)||0),n(null)},"updateLink");return al(ut,{...i,children:[_r("p",{className:"courier-font-medium courier-mb-4",children:"Link"}),_r("div",{className:"courier-space-y-4",children:_r(G,{control:i.control,name:"href",render:({field:f})=>al(Z,{children:[_r(Wo,{children:"URL"}),_r(_,{children:_r(wt,{as:"Textarea",autoResize:!0,...f,variables:u,ref:m=>{typeof f.ref=="function"&&f.ref(m),o.current=m},onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),m.stopPropagation(),i.handleSubmit(c)())},onBlur:()=>{f.onBlur(),i.handleSubmit(c)()}})}),_r(j,{})]})})})]})},"LinkForm");import{Node as Ym,mergeAttributes as Qm}from"@tiptap/core";var cl=Ym.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:e}){return["p",Qm(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}});import{mergeAttributes as cf,ReactNodeViewRenderer as lf}from"@tiptap/react";import{TextSelection as uf}from"prosemirror-state";var xr={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:"'"},Xn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},ef=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),tf=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Ie=0;Ie<10;Ie++)xr[48+Ie]=xr[96+Ie]=String(Ie);var Ie;for(Ie=1;Ie<=24;Ie++)xr[Ie+111]="F"+Ie;var Ie;for(Ie=65;Ie<=90;Ie++)xr[Ie]=String.fromCharCode(Ie+32),Xn[Ie]=String.fromCharCode(Ie);var Ie;for(Jn in xr)Xn.hasOwnProperty(Jn)||(Xn[Jn]=xr[Jn]);var Jn;function ll(e){var t=ef&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||tf&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",r=!t&&e.key||(e.shiftKey?Xn:xr)[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}a(ll,"keyName");import{Plugin as rf}from"prosemirror-state";var of=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function nf(e){let t=e.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let n,o,i,s;for(let u=0;u<t.length-1;u++){let c=t[u];if(/^(cmd|meta|m)$/i.test(c))s=!0;else if(/^a(lt)?$/i.test(c))n=!0;else if(/^(c|ctrl|control)$/i.test(c))o=!0;else if(/^s(hift)?$/i.test(c))i=!0;else if(/^mod$/i.test(c))of?s=!0:o=!0;else throw new Error("Unrecognized modifier name: "+c)}return n&&(r="Alt-"+r),o&&(r="Ctrl-"+r),s&&(r="Meta-"+r),i&&(r="Shift-"+r),r}a(nf,"normalizeKeyName");function af(e){let t=Object.create(null);for(let r in e)t[nf(r)]=e[r];return t}a(af,"normalize");function ka(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}a(ka,"modifiers");function ul(e){return new rf({props:{handleKeyDown:sf(e)}})}a(ul,"keymap");function sf(e){let t=af(e);return function(r,n){let o=ll(n),i,s=t[ka(o,n)];if(s&&s(r.state,r.dispatch,r))return!0;if(o.length==1&&o!=" "){if(n.shiftKey){let u=t[ka(o,n,!1)];if(u&&u(r.state,r.dispatch,r))return!0}if((n.shiftKey||n.altKey||n.metaKey||o.charCodeAt(0)>127)&&(i=xr[n.keyCode])&&i!=o){let u=t[ka(i,n)];if(u&&u(r.state,r.dispatch,r))return!0}}return!1}}a(sf,"keydownHandler");import{v4 as df}from"uuid";var Pa=cl.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Lt(this.editor,this.name)},onTransaction(){let e=this.editor.state.tr,t=!1;this.editor.state.doc.descendants((r,n)=>{if(r.type.name===this.name&&!r.attrs.id){let o=`node-${df()}`;e.setNodeMarkup(n,void 0,{...r.attrs,id:o}),t=!0}return!0}),t&&this.editor.view.dispatch(e)},addAttributes(){return{paddingVertical:{default:J.paddingVertical,parseHTML:e=>e.style.paddingTop?parseInt(e.style.paddingTop):J.paddingVertical,renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},paddingHorizontal:{default:J.paddingHorizontal,parseHTML:e=>e.style.paddingLeft?parseInt(e.style.paddingLeft):J.paddingHorizontal,renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},textAlign:{default:J.textAlign,parseHTML:e=>e.style.textAlign||J.textAlign,renderHTML:e=>({"data-text-align":e.textAlign})},backgroundColor:{default:J.backgroundColor,parseHTML:e=>e.style.backgroundColor||J.backgroundColor,renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:J.borderWidth,parseHTML:e=>e.style.borderWidth?parseInt(e.style.borderWidth):J.borderWidth,renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:J.borderRadius,parseHTML:e=>e.style.borderRadius?parseInt(e.style.borderRadius):J.borderRadius,renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:J.borderColor,parseHTML:e=>e.style.borderColor||J.borderColor,renderHTML:e=>({"data-border-color":e.borderColor})},textColor:{default:J.textColor,parseHTML:e=>e.style.color||J.textColor,renderHTML:e=>({"data-text-color":e.textColor})},id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})}}},parseHTML(){return[{tag:'div[data-type="paragraph"]'}]},renderHTML({HTMLAttributes:e}){return["div",cf(this.options.HTMLAttributes,e,{"data-type":"paragraph"}),0]},addNodeView(){return lf(Zn)},addProseMirrorPlugins(){return[ul({"Mod-a":({selection:e,tr:t})=>{document.execCommand("selectAll");let{$from:r}=e,n=r.depth,o=null;for(;n>0;){let i=r.node(n);if(i.type.name==="paragraph"||i.type.name==="heading"){o=i;break}n--}if(o){let i=r.start(n),s=r.end(n);if(e.from!==i||e.to!==s)return t.setSelection(uf.create(t.doc,i,s)),!0}return!1}})]},addKeyboardShortcuts(){let e=a((t,r=!0)=>{let{empty:n,$anchor:o,$head:i}=t.state.selection,s=o.depth,u=null;for(;s>0;){let d=o.node(s);if(d.type.name==="paragraph"||d.type.name==="heading"){u=d;break}s--}if(!u)return!1;let c=r?o.pos===i.pos&&o.parentOffset===0:o.pos===i.pos&&o.parentOffset===u.textContent.length,l=u.textContent.length===0;return c||l?!0:n?!1:(t.commands.command(({tr:d,dispatch:f})=>f?(d.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:n,dispatch:o}=t.view,{tr:i}=n;return i.replaceSelectionWith(n.schema.nodes.hardBreak.create()).scrollIntoView(),o(i),!0},"Mod-a":({editor:t})=>{let{$from:r}=t.state.selection,n=r.depth;for(;n>0;){let o=r.node(n);if(o.type.name==="paragraph"||o.type.name==="heading"){let i=r.start(n),s=r.end(n);return t.commands.setTextSelection({from:i,to:s}),!0}n--}return!1},Backspace:({editor:t})=>e(t,!0),Delete:({editor:t})=>e(t,!1),Tab:()=>!0,"Shift-Tab":()=>!0}},addCommands(){return{setTextAlign:e=>({chain:t})=>t().updateAttributes(this.name,{textAlign:e}).run()}}});import{Extension as pf}from"@tiptap/core";import{Plugin as mf,PluginKey as ff}from"@tiptap/pm/state";var gf=new ff("selection"),Ma=pf.create({name:"selection",addOptions(){return{HTMLAttributes:{},setSelectedNode:()=>{}}},addGlobalAttributes(){return[{types:["paragraph","heading","button","spacer","divider","imageBlock","blockquote"],attributes:{isSelected:{default:!1,parseHTML:()=>!1,renderHTML:e=>e.isSelected?{class:"selected-element"}:{}}}}]},addCommands(){return{updateSelectionState:e=>({tr:t,dispatch:r})=>(r&&t.doc.descendants((n,o)=>{var i;return n.type.name!=="text"&&((i=n.type.spec.attrs)==null?void 0:i.isSelected)!==void 0&&(n===e?t.setNodeAttribute(o,"isSelected",!0):t.setNodeAttribute(o,"isSelected",!1)),!0}),!0)}},addProseMirrorPlugins(){return[new mf({key:gf,props:{handleClick:(e,t,r)=>{var u;let{state:n}=e;if(!this.editor.isEditable)return!1;try{let c=window.getSelection();if(c&&c.rangeCount>0){let d=c.getRangeAt(0).startContainer.parentElement;if(d&&(["P","H1","H2","H3","BLOCKQUOTE"].includes(d.tagName)||["P","H1","H2","H3","BLOCKQUOTE"].some(f=>d.closest(f)))){let f=e.posAtDOM(d,0),m=n.doc.resolve(f);if(((u=m.node(1))==null?void 0:u.type.name)==="blockquote")return this.options.setSelectedNode(m.node(1)),!0;let h=m.node();if(h&&["paragraph","heading","blockquote"].includes(h.type.name))return this.options.setSelectedNode(h),!0}}}catch(c){console.error("Error handling click:",c)}let o=r.target,i=e.posAtDOM(o,0),s=n.doc.resolve(i).node();return s&&["paragraph","heading","blockquote"].includes(s.type.name)?(this.options.setSelectedNode(s),!0):!1}}})]}});var Te="top",Se="bottom",Ee="right",Me="left",Yn="auto",Sr=[Te,Se,Ee,Me],Cr="start",jr="end",dl="clippingParents",Qn="viewport",Mo="popper",pl="reference",Na=Sr.reduce(function(e,t){return e.concat([t+"-"+Cr,t+"-"+jr])},[]),ei=[].concat(Sr,[Yn]).reduce(function(e,t){return e.concat([t,t+"-"+Cr,t+"-"+jr])},[]),hf="beforeRead",bf="read",vf="afterRead",yf="beforeMain",xf="main",Cf="afterMain",wf="beforeWrite",Tf="write",kf="afterWrite",ml=[hf,bf,vf,yf,xf,Cf,wf,Tf,kf];function ze(e){return e?(e.nodeName||"").toLowerCase():null}a(ze,"getNodeName");function ye(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}a(ye,"getWindow");function At(e){var t=ye(e).Element;return e instanceof t||e instanceof Element}a(At,"isElement");function Re(e){var t=ye(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}a(Re,"isHTMLElement");function No(e){if(typeof ShadowRoot=="undefined")return!1;var t=ye(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}a(No,"isShadowRoot");function Pf(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var n=t.styles[r]||{},o=t.attributes[r]||{},i=t.elements[r];!Re(i)||!ze(i)||(Object.assign(i.style,n),Object.keys(o).forEach(function(s){var u=o[s];u===!1?i.removeAttribute(s):i.setAttribute(s,u===!0?"":u)}))})}a(Pf,"applyStyles");function Mf(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(n){var o=t.elements[n],i=t.attributes[n]||{},s=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:r[n]),u=s.reduce(function(c,l){return c[l]="",c},{});!Re(o)||!ze(o)||(Object.assign(o.style,u),Object.keys(i).forEach(function(c){o.removeAttribute(c)}))})}}a(Mf,"effect");var en={name:"applyStyles",enabled:!0,phase:"write",fn:Pf,effect:Mf,requires:["computeStyles"]};function $e(e){return e.split("-")[0]}a($e,"getBasePlacement");var qt=Math.max,Gr=Math.min,wr=Math.round;function Io(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}a(Io,"getUAString");function tn(){return!/^((?!chrome|android).)*safari/i.test(Io())}a(tn,"isLayoutViewport");function St(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var n=e.getBoundingClientRect(),o=1,i=1;t&&Re(e)&&(o=e.offsetWidth>0&&wr(n.width)/e.offsetWidth||1,i=e.offsetHeight>0&&wr(n.height)/e.offsetHeight||1);var s=At(e)?ye(e):window,u=s.visualViewport,c=!tn()&&r,l=(n.left+(c&&u?u.offsetLeft:0))/o,d=(n.top+(c&&u?u.offsetTop:0))/i,f=n.width/o,m=n.height/i;return{width:f,height:m,top:d,right:l+f,bottom:d+m,left:l,x:l,y:d}}a(St,"getBoundingClientRect");function Kr(e){var t=St(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}a(Kr,"getLayoutRect");function rn(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&No(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}a(rn,"contains");function st(e){return ye(e).getComputedStyle(e)}a(st,"getComputedStyle");function Ia(e){return["table","td","th"].indexOf(ze(e))>=0}a(Ia,"isTableElement");function je(e){return((At(e)?e.ownerDocument:e.document)||window.document).documentElement}a(je,"getDocumentElement");function Tr(e){return ze(e)==="html"?e:e.assignedSlot||e.parentNode||(No(e)?e.host:null)||je(e)}a(Tr,"getParentNode");function fl(e){return!Re(e)||st(e).position==="fixed"?null:e.offsetParent}a(fl,"getTrueOffsetParent");function Nf(e){var t=/firefox/i.test(Io()),r=/Trident/i.test(Io());if(r&&Re(e)){var n=st(e);if(n.position==="fixed")return null}var o=Tr(e);for(No(o)&&(o=o.host);Re(o)&&["html","body"].indexOf(ze(o))<0;){var i=st(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}a(Nf,"getContainingBlock");function Zt(e){for(var t=ye(e),r=fl(e);r&&Ia(r)&&st(r).position==="static";)r=fl(r);return r&&(ze(r)==="html"||ze(r)==="body"&&st(r).position==="static")?t:r||Nf(e)||t}a(Zt,"getOffsetParent");function Jr(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}a(Jr,"getMainAxisFromPlacement");function Xr(e,t,r){return qt(e,Gr(t,r))}a(Xr,"within");function gl(e,t,r){var n=Xr(e,t,r);return n>r?r:n}a(gl,"withinMaxClamp");function on(){return{top:0,right:0,bottom:0,left:0}}a(on,"getFreshSideObject");function nn(e){return Object.assign({},on(),e)}a(nn,"mergePaddingObject");function an(e,t){return t.reduce(function(r,n){return r[n]=e,r},{})}a(an,"expandToHashMap");var If=a(function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,nn(typeof t!="number"?t:an(t,Sr))},"toPaddingObject");function Ef(e){var t,r=e.state,n=e.name,o=e.options,i=r.elements.arrow,s=r.modifiersData.popperOffsets,u=$e(r.placement),c=Jr(u),l=[Me,Ee].indexOf(u)>=0,d=l?"height":"width";if(!(!i||!s)){var f=If(o.padding,r),m=Kr(i),h=c==="y"?Te:Me,g=c==="y"?Se:Ee,b=r.rects.reference[d]+r.rects.reference[c]-s[c]-r.rects.popper[d],y=s[c]-r.rects.reference[c],C=Zt(i),A=C?c==="y"?C.clientHeight||0:C.clientWidth||0:0,N=b/2-y/2,p=f[h],v=A-m[d]-f[g],x=A/2-m[d]/2+N,S=Xr(p,x,v),R=c;r.modifiersData[n]=(t={},t[R]=S,t.centerOffset=S-x,t)}}a(Ef,"arrow");function Lf(e){var t=e.state,r=e.options,n=r.element,o=n===void 0?"[data-popper-arrow]":n;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||rn(t.elements.popper,o)&&(t.elements.arrow=o))}a(Lf,"effect");var hl={name:"arrow",enabled:!0,phase:"main",fn:Ef,effect:Lf,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Rt(e){return e.split("-")[1]}a(Rt,"getVariation");var Af={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Sf(e,t){var r=e.x,n=e.y,o=t.devicePixelRatio||1;return{x:wr(r*o)/o||0,y:wr(n*o)/o||0}}a(Sf,"roundOffsetsByDPR");function bl(e){var t,r=e.popper,n=e.popperRect,o=e.placement,i=e.variation,s=e.offsets,u=e.position,c=e.gpuAcceleration,l=e.adaptive,d=e.roundOffsets,f=e.isFixed,m=s.x,h=m===void 0?0:m,g=s.y,b=g===void 0?0:g,y=typeof d=="function"?d({x:h,y:b}):{x:h,y:b};h=y.x,b=y.y;var C=s.hasOwnProperty("x"),A=s.hasOwnProperty("y"),N=Me,p=Te,v=window;if(l){var x=Zt(r),S="clientHeight",R="clientWidth";if(x===ye(r)&&(x=je(r),st(x).position!=="static"&&u==="absolute"&&(S="scrollHeight",R="scrollWidth")),x=x,o===Te||(o===Me||o===Ee)&&i===jr){p=Se;var T=f&&x===v&&v.visualViewport?v.visualViewport.height:x[S];b-=T-n.height,b*=c?1:-1}if(o===Me||(o===Te||o===Se)&&i===jr){N=Ee;var P=f&&x===v&&v.visualViewport?v.visualViewport.width:x[R];h-=P-n.width,h*=c?1:-1}}var B=Object.assign({position:u},l&&Af),k=d===!0?Sf({x:h,y:b},ye(r)):{x:h,y:b};if(h=k.x,b=k.y,c){var M;return Object.assign({},B,(M={},M[p]=A?"0":"",M[N]=C?"0":"",M.transform=(v.devicePixelRatio||1)<=1?"translate("+h+"px, "+b+"px)":"translate3d("+h+"px, "+b+"px, 0)",M))}return Object.assign({},B,(t={},t[p]=A?b+"px":"",t[N]=C?h+"px":"",t.transform="",t))}a(bl,"mapToStyles");function Rf(e){var t=e.state,r=e.options,n=r.gpuAcceleration,o=n===void 0?!0:n,i=r.adaptive,s=i===void 0?!0:i,u=r.roundOffsets,c=u===void 0?!0:u,l={placement:$e(t.placement),variation:Rt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,bl(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,bl(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}a(Rf,"computeStyles");var vl={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Rf,data:{}};var ti={passive:!0};function Bf(e){var t=e.state,r=e.instance,n=e.options,o=n.scroll,i=o===void 0?!0:o,s=n.resize,u=s===void 0?!0:s,c=ye(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&l.forEach(function(d){d.addEventListener("scroll",r.update,ti)}),u&&c.addEventListener("resize",r.update,ti),function(){i&&l.forEach(function(d){d.removeEventListener("scroll",r.update,ti)}),u&&c.removeEventListener("resize",r.update,ti)}}a(Bf,"effect");var yl={name:"eventListeners",enabled:!0,phase:"write",fn:a(function(){},"fn"),effect:Bf,data:{}};var Hf={left:"right",right:"left",bottom:"top",top:"bottom"};function Eo(e){return e.replace(/left|right|bottom|top/g,function(t){return Hf[t]})}a(Eo,"getOppositePlacement");var Df={start:"end",end:"start"};function ri(e){return e.replace(/start|end/g,function(t){return Df[t]})}a(ri,"getOppositeVariationPlacement");function Yr(e){var t=ye(e),r=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:r,scrollTop:n}}a(Yr,"getWindowScroll");function Qr(e){return St(je(e)).left+Yr(e).scrollLeft}a(Qr,"getWindowScrollBarX");function Ea(e,t){var r=ye(e),n=je(e),o=r.visualViewport,i=n.clientWidth,s=n.clientHeight,u=0,c=0;if(o){i=o.width,s=o.height;var l=tn();(l||!l&&t==="fixed")&&(u=o.offsetLeft,c=o.offsetTop)}return{width:i,height:s,x:u+Qr(e),y:c}}a(Ea,"getViewportRect");function La(e){var t,r=je(e),n=Yr(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=qt(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=qt(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-n.scrollLeft+Qr(e),c=-n.scrollTop;return st(o||r).direction==="rtl"&&(u+=qt(r.clientWidth,o?o.clientWidth:0)-i),{width:i,height:s,x:u,y:c}}a(La,"getDocumentRect");function eo(e){var t=st(e),r=t.overflow,n=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+n)}a(eo,"isScrollParent");function oi(e){return["html","body","#document"].indexOf(ze(e))>=0?e.ownerDocument.body:Re(e)&&eo(e)?e:oi(Tr(e))}a(oi,"getScrollParent");function Rr(e,t){var r;t===void 0&&(t=[]);var n=oi(e),o=n===((r=e.ownerDocument)==null?void 0:r.body),i=ye(n),s=o?[i].concat(i.visualViewport||[],eo(n)?n:[]):n,u=t.concat(s);return o?u:u.concat(Rr(Tr(s)))}a(Rr,"listScrollParents");function Lo(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}a(Lo,"rectToClientRect");function Vf(e,t){var r=St(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}a(Vf,"getInnerBoundingClientRect");function xl(e,t,r){return t===Qn?Lo(Ea(e,r)):At(t)?Vf(t,r):Lo(La(je(e)))}a(xl,"getClientRectFromMixedType");function Ff(e){var t=Rr(Tr(e)),r=["absolute","fixed"].indexOf(st(e).position)>=0,n=r&&Re(e)?Zt(e):e;return At(n)?t.filter(function(o){return At(o)&&rn(o,n)&&ze(o)!=="body"}):[]}a(Ff,"getClippingParents");function Aa(e,t,r,n){var o=t==="clippingParents"?Ff(e):[].concat(t),i=[].concat(o,[r]),s=i[0],u=i.reduce(function(c,l){var d=xl(e,l,n);return c.top=qt(d.top,c.top),c.right=Gr(d.right,c.right),c.bottom=Gr(d.bottom,c.bottom),c.left=qt(d.left,c.left),c},xl(e,s,n));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}a(Aa,"getClippingRect");function sn(e){var t=e.reference,r=e.element,n=e.placement,o=n?$e(n):null,i=n?Rt(n):null,s=t.x+t.width/2-r.width/2,u=t.y+t.height/2-r.height/2,c;switch(o){case Te:c={x:s,y:t.y-r.height};break;case Se:c={x:s,y:t.y+t.height};break;case Ee:c={x:t.x+t.width,y:u};break;case Me:c={x:t.x-r.width,y:u};break;default:c={x:t.x,y:t.y}}var l=o?Jr(o):null;if(l!=null){var d=l==="y"?"height":"width";switch(i){case Cr:c[l]=c[l]-(t[d]/2-r[d]/2);break;case jr:c[l]=c[l]+(t[d]/2-r[d]/2);break;default:}}return c}a(sn,"computeOffsets");function _t(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=n===void 0?e.placement:n,i=r.strategy,s=i===void 0?e.strategy:i,u=r.boundary,c=u===void 0?dl:u,l=r.rootBoundary,d=l===void 0?Qn:l,f=r.elementContext,m=f===void 0?Mo:f,h=r.altBoundary,g=h===void 0?!1:h,b=r.padding,y=b===void 0?0:b,C=nn(typeof y!="number"?y:an(y,Sr)),A=m===Mo?pl:Mo,N=e.rects.popper,p=e.elements[g?A:m],v=Aa(At(p)?p:p.contextElement||je(e.elements.popper),c,d,s),x=St(e.elements.reference),S=sn({reference:x,element:N,strategy:"absolute",placement:o}),R=Lo(Object.assign({},N,S)),T=m===Mo?R:x,P={top:v.top-T.top+C.top,bottom:T.bottom-v.bottom+C.bottom,left:v.left-T.left+C.left,right:T.right-v.right+C.right},B=e.modifiersData.offset;if(m===Mo&&B){var k=B[o];Object.keys(P).forEach(function(M){var D=[Ee,Se].indexOf(M)>=0?1:-1,$=[Te,Se].indexOf(M)>=0?"y":"x";P[M]+=k[$]*D})}return P}a(_t,"detectOverflow");function Sa(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=r.boundary,i=r.rootBoundary,s=r.padding,u=r.flipVariations,c=r.allowedAutoPlacements,l=c===void 0?ei:c,d=Rt(n),f=d?u?Na:Na.filter(function(g){return Rt(g)===d}):Sr,m=f.filter(function(g){return l.indexOf(g)>=0});m.length===0&&(m=f);var h=m.reduce(function(g,b){return g[b]=_t(e,{placement:b,boundary:o,rootBoundary:i,padding:s})[$e(b)],g},{});return Object.keys(h).sort(function(g,b){return h[g]-h[b]})}a(Sa,"computeAutoPlacement");function Of(e){if($e(e)===Yn)return[];var t=Eo(e);return[ri(e),t,ri(t)]}a(Of,"getExpandedFallbackPlacements");function Wf(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var o=r.mainAxis,i=o===void 0?!0:o,s=r.altAxis,u=s===void 0?!0:s,c=r.fallbackPlacements,l=r.padding,d=r.boundary,f=r.rootBoundary,m=r.altBoundary,h=r.flipVariations,g=h===void 0?!0:h,b=r.allowedAutoPlacements,y=t.options.placement,C=$e(y),A=C===y,N=c||(A||!g?[Eo(y)]:Of(y)),p=[y].concat(N).reduce(function(fe,K){return fe.concat($e(K)===Yn?Sa(t,{placement:K,boundary:d,rootBoundary:f,padding:l,flipVariations:g,allowedAutoPlacements:b}):K)},[]),v=t.rects.reference,x=t.rects.popper,S=new Map,R=!0,T=p[0],P=0;P<p.length;P++){var B=p[P],k=$e(B),M=Rt(B)===Cr,D=[Te,Se].indexOf(k)>=0,$=D?"width":"height",W=_t(t,{placement:B,boundary:d,rootBoundary:f,altBoundary:m,padding:l}),L=D?M?Ee:Me:M?Se:Te;v[$]>x[$]&&(L=Eo(L));var Y=Eo(L),ee=[];if(i&&ee.push(W[k]<=0),u&&ee.push(W[L]<=0,W[Y]<=0),ee.every(function(fe){return fe})){T=B,R=!1;break}S.set(B,ee)}if(R)for(var le=g?3:1,X=a(function(K){var ve=p.find(function(Je){var Be=S.get(Je);if(Be)return Be.slice(0,K).every(function(Le){return Le})});if(ve)return T=ve,"break"},"_loop"),ne=le;ne>0;ne--){var be=X(ne);if(be==="break")break}t.placement!==T&&(t.modifiersData[n]._skip=!0,t.placement=T,t.reset=!0)}}a(Wf,"flip");var Cl={name:"flip",enabled:!0,phase:"main",fn:Wf,requiresIfExists:["offset"],data:{_skip:!1}};function wl(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}a(wl,"getSideOffsets");function Tl(e){return[Te,Ee,Se,Me].some(function(t){return e[t]>=0})}a(Tl,"isAnySideFullyClipped");function zf(e){var t=e.state,r=e.name,n=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,s=_t(t,{elementContext:"reference"}),u=_t(t,{altBoundary:!0}),c=wl(s,n),l=wl(u,o,i),d=Tl(c),f=Tl(l);t.modifiersData[r]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}a(zf,"hide");var kl={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:zf};function $f(e,t,r){var n=$e(e),o=[Me,Te].indexOf(n)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,s=i[0],u=i[1];return s=s||0,u=(u||0)*o,[Me,Ee].indexOf(n)>=0?{x:u,y:s}:{x:s,y:u}}a($f,"distanceAndSkiddingToXY");function Uf(e){var t=e.state,r=e.options,n=e.name,o=r.offset,i=o===void 0?[0,0]:o,s=ei.reduce(function(d,f){return d[f]=$f(f,t.rects,i),d},{}),u=s[t.placement],c=u.x,l=u.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[n]=s}a(Uf,"offset");var Pl={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Uf};function qf(e){var t=e.state,r=e.name;t.modifiersData[r]=sn({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}a(qf,"popperOffsets");var Ml={name:"popperOffsets",enabled:!0,phase:"read",fn:qf,data:{}};function Ra(e){return e==="x"?"y":"x"}a(Ra,"getAltAxis");function Zf(e){var t=e.state,r=e.options,n=e.name,o=r.mainAxis,i=o===void 0?!0:o,s=r.altAxis,u=s===void 0?!1:s,c=r.boundary,l=r.rootBoundary,d=r.altBoundary,f=r.padding,m=r.tether,h=m===void 0?!0:m,g=r.tetherOffset,b=g===void 0?0:g,y=_t(t,{boundary:c,rootBoundary:l,padding:f,altBoundary:d}),C=$e(t.placement),A=Rt(t.placement),N=!A,p=Jr(C),v=Ra(p),x=t.modifiersData.popperOffsets,S=t.rects.reference,R=t.rects.popper,T=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,P=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,k={x:0,y:0};if(x){if(i){var M,D=p==="y"?Te:Me,$=p==="y"?Se:Ee,W=p==="y"?"height":"width",L=x[p],Y=L+y[D],ee=L-y[$],le=h?-R[W]/2:0,X=A===Cr?S[W]:R[W],ne=A===Cr?-R[W]:-S[W],be=t.elements.arrow,fe=h&&be?Kr(be):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:on(),ve=K[D],Je=K[$],Be=Xr(0,S[W],fe[W]),Le=N?S[W]/2-le-Be-ve-P.mainAxis:X-Be-ve-P.mainAxis,Xe=N?-S[W]/2+le+Be+Je+P.mainAxis:ne+Be+Je+P.mainAxis,Ue=t.elements.arrow&&Zt(t.elements.arrow),Pt=Ue?p==="y"?Ue.clientTop||0:Ue.clientLeft||0:0,gt=(M=B==null?void 0:B[p])!=null?M:0,Mt=L+Le-gt-Pt,Ye=L+Xe-gt,ht=Xr(h?Gr(Y,Mt):Y,L,h?qt(ee,Ye):ee);x[p]=ht,k[p]=ht-L}if(u){var bt,Nt=p==="x"?Te:Me,vt=p==="x"?Se:Ee,He=x[v],I=v==="y"?"height":"width",te=He+y[Nt],ie=He-y[vt],me=[Te,Me].indexOf(C)!==-1,H=(bt=B==null?void 0:B[v])!=null?bt:0,de=me?te:He-S[I]-R[I]-H+P.altAxis,U=me?He+S[I]+R[I]-H-P.altAxis:ie,Q=h&&me?gl(de,He,U):Xr(h?de:te,He,h?U:ie);x[v]=Q,k[v]=Q-He}t.modifiersData[n]=k}}a(Zf,"preventOverflow");var Nl={name:"preventOverflow",enabled:!0,phase:"main",fn:Zf,requiresIfExists:["offset"]};function Ba(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}a(Ba,"getHTMLElementScroll");function Ha(e){return e===ye(e)||!Re(e)?Yr(e):Ba(e)}a(Ha,"getNodeScroll");function _f(e){var t=e.getBoundingClientRect(),r=wr(t.width)/e.offsetWidth||1,n=wr(t.height)/e.offsetHeight||1;return r!==1||n!==1}a(_f,"isElementScaled");function Da(e,t,r){r===void 0&&(r=!1);var n=Re(t),o=Re(t)&&_f(t),i=je(t),s=St(e,o,r),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!r)&&((ze(t)!=="body"||eo(i))&&(u=Ha(t)),Re(t)?(c=St(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):i&&(c.x=Qr(i))),{x:s.left+u.scrollLeft-c.x,y:s.top+u.scrollTop-c.y,width:s.width,height:s.height}}a(Da,"getCompositeRect");function jf(e){var t=new Map,r=new Set,n=[];e.forEach(function(i){t.set(i.name,i)});function o(i){r.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(u){if(!r.has(u)){var c=t.get(u);c&&o(c)}}),n.push(i)}return a(o,"sort"),e.forEach(function(i){r.has(i.name)||o(i)}),n}a(jf,"order");function Va(e){var t=jf(e);return ml.reduce(function(r,n){return r.concat(t.filter(function(o){return o.phase===n}))},[])}a(Va,"orderModifiers");function Fa(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}a(Fa,"debounce");function Oa(e){var t=e.reduce(function(r,n){var o=r[n.name];return r[n.name]=o?Object.assign({},o,n,{options:Object.assign({},o.options,n.options),data:Object.assign({},o.data,n.data)}):n,r},{});return Object.keys(t).map(function(r){return t[r]})}a(Oa,"mergeByName");var Il={placement:"bottom",modifiers:[],strategy:"absolute"};function El(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return!t.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}a(El,"areValidElements");function Ll(e){e===void 0&&(e={});var t=e,r=t.defaultModifiers,n=r===void 0?[]:r,o=t.defaultOptions,i=o===void 0?Il:o;return a(function(u,c,l){l===void 0&&(l=i);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},Il,i),modifiersData:{},elements:{reference:u,popper:c},attributes:{},styles:{}},f=[],m=!1,h={state:d,setOptions:a(function(C){var A=typeof C=="function"?C(d.options):C;b(),d.options=Object.assign({},i,d.options,A),d.scrollParents={reference:At(u)?Rr(u):u.contextElement?Rr(u.contextElement):[],popper:Rr(c)};var N=Va(Oa([].concat(n,d.options.modifiers)));return d.orderedModifiers=N.filter(function(p){return p.enabled}),g(),h.update()},"setOptions"),forceUpdate:a(function(){if(!m){var C=d.elements,A=C.reference,N=C.popper;if(El(A,N)){d.rects={reference:Da(A,Zt(N),d.options.strategy==="fixed"),popper:Kr(N)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(P){return d.modifiersData[P.name]=Object.assign({},P.data)});for(var p=0;p<d.orderedModifiers.length;p++){if(d.reset===!0){d.reset=!1,p=-1;continue}var v=d.orderedModifiers[p],x=v.fn,S=v.options,R=S===void 0?{}:S,T=v.name;typeof x=="function"&&(d=x({state:d,options:R,name:T,instance:h})||d)}}}},"forceUpdate"),update:Fa(function(){return new Promise(function(y){h.forceUpdate(),y(d)})}),destroy:a(function(){b(),m=!0},"destroy")};if(!El(u,c))return h;h.setOptions(l).then(function(y){!m&&l.onFirstUpdate&&l.onFirstUpdate(y)});function g(){d.orderedModifiers.forEach(function(y){var C=y.name,A=y.options,N=A===void 0?{}:A,p=y.effect;if(typeof p=="function"){var v=p({state:d,name:C,instance:h,options:N}),x=a(function(){},"noopFn");f.push(v||x)}})}a(g,"runModifierEffects");function b(){f.forEach(function(y){return y()}),f=[]}return a(b,"cleanupModifierEffects"),h},"createPopper")}a(Ll,"popperGenerator");var Gf=[yl,Ml,vl,en,Pl,Cl,Nl,hl,kl],Wa=Ll({defaultModifiers:Gf});var Kf="tippy-box",Wl="tippy-content",Jf="tippy-backdrop",zl="tippy-arrow",$l="tippy-svg-arrow",to={passive:!0,capture:!0},Ul=a(function(){return document.body},"TIPPY_DEFAULT_APPEND_TO");function za(e,t,r){if(Array.isArray(e)){var n=e[t];return n==null?Array.isArray(r)?r[t]:r:n}return e}a(za,"getValueAtIndexOrReturn");function ja(e,t){var r={}.toString.call(e);return r.indexOf("[object")===0&&r.indexOf(t+"]")>-1}a(ja,"isType");function ql(e,t){return typeof e=="function"?e.apply(void 0,t):e}a(ql,"invokeWithArgsOrReturn");function Al(e,t){if(t===0)return e;var r;return function(n){clearTimeout(r),r=setTimeout(function(){e(n)},t)}}a(Al,"debounce");function Xf(e){return e.split(/\s+/).filter(Boolean)}a(Xf,"splitBySpaces");function Ao(e){return[].concat(e)}a(Ao,"normalizeToArray");function Sl(e,t){e.indexOf(t)===-1&&e.push(t)}a(Sl,"pushIfUnique");function Yf(e){return e.filter(function(t,r){return e.indexOf(t)===r})}a(Yf,"unique");function Qf(e){return e.split("-")[0]}a(Qf,"getBasePlacement");function ii(e){return[].slice.call(e)}a(ii,"arrayFrom");function Rl(e){return Object.keys(e).reduce(function(t,r){return e[r]!==void 0&&(t[r]=e[r]),t},{})}a(Rl,"removeUndefinedProps");function cn(){return document.createElement("div")}a(cn,"div");function ai(e){return["Element","Fragment"].some(function(t){return ja(e,t)})}a(ai,"isElement");function e1(e){return ja(e,"NodeList")}a(e1,"isNodeList");function t1(e){return ja(e,"MouseEvent")}a(t1,"isMouseEvent");function r1(e){return!!(e&&e._tippy&&e._tippy.reference===e)}a(r1,"isReferenceElement");function o1(e){return ai(e)?[e]:e1(e)?ii(e):Array.isArray(e)?e:ii(document.querySelectorAll(e))}a(o1,"getArrayOfElements");function $a(e,t){e.forEach(function(r){r&&(r.style.transitionDuration=t+"ms")})}a($a,"setTransitionDuration");function Bl(e,t){e.forEach(function(r){r&&r.setAttribute("data-state",t)})}a(Bl,"setVisibilityState");function n1(e){var t,r=Ao(e),n=r[0];return n!=null&&(t=n.ownerDocument)!=null&&t.body?n.ownerDocument:document}a(n1,"getOwnerDocument");function i1(e,t){var r=t.clientX,n=t.clientY;return e.every(function(o){var i=o.popperRect,s=o.popperState,u=o.props,c=u.interactiveBorder,l=Qf(s.placement),d=s.modifiersData.offset;if(!d)return!0;var f=l==="bottom"?d.top.y:0,m=l==="top"?d.bottom.y:0,h=l==="right"?d.left.x:0,g=l==="left"?d.right.x:0,b=i.top-n+f>c,y=n-i.bottom-m>c,C=i.left-r+h>c,A=r-i.right-g>c;return b||y||C||A})}a(i1,"isCursorOutsideInteractiveBorder");function Ua(e,t,r){var n=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(o){e[n](o,r)})}a(Ua,"updateTransitionEndListener");function Hl(e,t){for(var r=t;r;){var n;if(e.contains(r))return!0;r=r.getRootNode==null||(n=r.getRootNode())==null?void 0:n.host}return!1}a(Hl,"actualContains");var ar={isTouch:!1},Dl=0;function a1(){ar.isTouch||(ar.isTouch=!0,window.performance&&document.addEventListener("mousemove",Zl))}a(a1,"onDocumentTouchStart");function Zl(){var e=performance.now();e-Dl<20&&(ar.isTouch=!1,document.removeEventListener("mousemove",Zl)),Dl=e}a(Zl,"onDocumentMouseMove");function s1(){var e=document.activeElement;if(r1(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}a(s1,"onWindowBlur");function c1(){document.addEventListener("touchstart",a1,to),window.addEventListener("blur",s1)}a(c1,"bindGlobalEventListeners");var l1=typeof window!="undefined"&&typeof document!="undefined",u1=l1?!!window.msCrypto:!1;var d1={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},p1={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},jt=Object.assign({appendTo:Ul,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:a(function(){},"onAfterUpdate"),onBeforeUpdate:a(function(){},"onBeforeUpdate"),onCreate:a(function(){},"onCreate"),onDestroy:a(function(){},"onDestroy"),onHidden:a(function(){},"onHidden"),onHide:a(function(){},"onHide"),onMount:a(function(){},"onMount"),onShow:a(function(){},"onShow"),onShown:a(function(){},"onShown"),onTrigger:a(function(){},"onTrigger"),onUntrigger:a(function(){},"onUntrigger"),onClickOutside:a(function(){},"onClickOutside"),placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},d1,p1),m1=Object.keys(jt),f1=a(function(t){var r=Object.keys(t);r.forEach(function(n){jt[n]=t[n]})},"setDefaultProps");function _l(e){var t=e.plugins||[],r=t.reduce(function(n,o){var i=o.name,s=o.defaultValue;if(i){var u;n[i]=e[i]!==void 0?e[i]:(u=jt[i])!=null?u:s}return n},{});return Object.assign({},e,r)}a(_l,"getExtendedPassedProps");function g1(e,t){var r=t?Object.keys(_l(Object.assign({},jt,{plugins:t}))):m1,n=r.reduce(function(o,i){var s=(e.getAttribute("data-tippy-"+i)||"").trim();if(!s)return o;if(i==="content")o[i]=s;else try{o[i]=JSON.parse(s)}catch{o[i]=s}return o},{});return n}a(g1,"getDataAttributeProps");function Vl(e,t){var r=Object.assign({},t,{content:ql(t.content,[e])},t.ignoreAttributes?{}:g1(e,t.plugins));return r.aria=Object.assign({},jt.aria,r.aria),r.aria={expanded:r.aria.expanded==="auto"?t.interactive:r.aria.expanded,content:r.aria.content==="auto"?t.interactive?null:"describedby":r.aria.content},r}a(Vl,"evaluateProps");var h1=a(function(){return"innerHTML"},"innerHTML");function Za(e,t){e[h1()]=t}a(Za,"dangerouslySetInnerHTML");function Fl(e){var t=cn();return e===!0?t.className=zl:(t.className=$l,ai(e)?t.appendChild(e):Za(t,e)),t}a(Fl,"createArrowElement");function Ol(e,t){ai(t.content)?(Za(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?Za(e,t.content):e.textContent=t.content)}a(Ol,"setContent");function _a(e){var t=e.firstElementChild,r=ii(t.children);return{box:t,content:r.find(function(n){return n.classList.contains(Wl)}),arrow:r.find(function(n){return n.classList.contains(zl)||n.classList.contains($l)}),backdrop:r.find(function(n){return n.classList.contains(Jf)})}}a(_a,"getChildren");function jl(e){var t=cn(),r=cn();r.className=Kf,r.setAttribute("data-state","hidden"),r.setAttribute("tabindex","-1");var n=cn();n.className=Wl,n.setAttribute("data-state","hidden"),Ol(n,e.props),t.appendChild(r),r.appendChild(n),o(e.props,e.props);function o(i,s){var u=_a(t),c=u.box,l=u.content,d=u.arrow;s.theme?c.setAttribute("data-theme",s.theme):c.removeAttribute("data-theme"),typeof s.animation=="string"?c.setAttribute("data-animation",s.animation):c.removeAttribute("data-animation"),s.inertia?c.setAttribute("data-inertia",""):c.removeAttribute("data-inertia"),c.style.maxWidth=typeof s.maxWidth=="number"?s.maxWidth+"px":s.maxWidth,s.role?c.setAttribute("role",s.role):c.removeAttribute("role"),(i.content!==s.content||i.allowHTML!==s.allowHTML)&&Ol(l,e.props),s.arrow?d?i.arrow!==s.arrow&&(c.removeChild(d),c.appendChild(Fl(s.arrow))):c.appendChild(Fl(s.arrow)):d&&c.removeChild(d)}return a(o,"onUpdate"),{popper:t,onUpdate:o}}a(jl,"render");jl.$$tippy=!0;var b1=1,ni=[],qa=[];function v1(e,t){var r=Vl(e,Object.assign({},jt,_l(Rl(t)))),n,o,i,s=!1,u=!1,c=!1,l=!1,d,f,m,h=[],g=Al(Mt,r.interactiveDebounce),b,y=b1++,C=null,A=Yf(r.plugins),N={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},p={id:y,reference:e,popper:cn(),popperInstance:C,props:r,state:N,plugins:A,clearDelayTimeouts:de,setProps:U,setContent:Q,show:qe,hide:Ae,hideWithInteractivity:ur,enable:me,disable:H,unmount:Fr,destroy:Or};if(!r.render)return p;var v=r.render(p),x=v.popper,S=v.onUpdate;x.setAttribute("data-tippy-root",""),x.id="tippy-"+p.id,p.popper=x,e._tippy=p,x._tippy=p;var R=A.map(function(w){return w.fn(p)}),T=e.hasAttribute("aria-expanded");return Ue(),le(),L(),Y("onCreate",[p]),r.showOnCreate&&te(),x.addEventListener("mouseenter",function(){p.props.interactive&&p.state.isVisible&&p.clearDelayTimeouts()}),x.addEventListener("mouseleave",function(){p.props.interactive&&p.props.trigger.indexOf("mouseenter")>=0&&D().addEventListener("mousemove",g)}),p;function P(){var w=p.props.touch;return Array.isArray(w)?w:[w,0]}a(P,"getNormalizedTouchSettings");function B(){return P()[0]==="hold"}a(B,"getIsCustomTouchBehavior");function k(){var w;return!!((w=p.props.render)!=null&&w.$$tippy)}a(k,"getIsDefaultRenderFn");function M(){return b||e}a(M,"getCurrentTarget");function D(){var w=M().parentNode;return w?n1(w):document}a(D,"getDocument");function $(){return _a(x)}a($,"getDefaultTemplateChildren");function W(w){return p.state.isMounted&&!p.state.isVisible||ar.isTouch||d&&d.type==="focus"?0:za(p.props.delay,w?0:1,jt.delay)}a(W,"getDelay");function L(w){w===void 0&&(w=!1),x.style.pointerEvents=p.props.interactive&&!w?"":"none",x.style.zIndex=""+p.props.zIndex}a(L,"handleStyles");function Y(w,V,q){if(q===void 0&&(q=!0),R.forEach(function(re){re[w]&&re[w].apply(re,V)}),q){var se;(se=p.props)[w].apply(se,V)}}a(Y,"invokeHook");function ee(){var w=p.props.aria;if(w.content){var V="aria-"+w.content,q=x.id,se=Ao(p.props.triggerTarget||e);se.forEach(function(re){var ke=re.getAttribute(V);if(p.state.isVisible)re.setAttribute(V,ke?ke+" "+q:q);else{var De=ke&&ke.replace(q,"").trim();De?re.setAttribute(V,De):re.removeAttribute(V)}})}}a(ee,"handleAriaContentAttribute");function le(){if(!(T||!p.props.aria.expanded)){var w=Ao(p.props.triggerTarget||e);w.forEach(function(V){p.props.interactive?V.setAttribute("aria-expanded",p.state.isVisible&&V===M()?"true":"false"):V.removeAttribute("aria-expanded")})}}a(le,"handleAriaExpandedAttribute");function X(){D().removeEventListener("mousemove",g),ni=ni.filter(function(w){return w!==g})}a(X,"cleanupInteractiveMouseListeners");function ne(w){if(!(ar.isTouch&&(c||w.type==="mousedown"))){var V=w.composedPath&&w.composedPath()[0]||w.target;if(!(p.props.interactive&&Hl(x,V))){if(Ao(p.props.triggerTarget||e).some(function(q){return Hl(q,V)})){if(ar.isTouch||p.state.isVisible&&p.props.trigger.indexOf("click")>=0)return}else Y("onClickOutside",[p,w]);p.props.hideOnClick===!0&&(p.clearDelayTimeouts(),p.hide(),u=!0,setTimeout(function(){u=!1}),p.state.isMounted||ve())}}}a(ne,"onDocumentPress");function be(){c=!0}a(be,"onTouchMove");function fe(){c=!1}a(fe,"onTouchStart");function K(){var w=D();w.addEventListener("mousedown",ne,!0),w.addEventListener("touchend",ne,to),w.addEventListener("touchstart",fe,to),w.addEventListener("touchmove",be,to)}a(K,"addDocumentPress");function ve(){var w=D();w.removeEventListener("mousedown",ne,!0),w.removeEventListener("touchend",ne,to),w.removeEventListener("touchstart",fe,to),w.removeEventListener("touchmove",be,to)}a(ve,"removeDocumentPress");function Je(w,V){Le(w,function(){!p.state.isVisible&&x.parentNode&&x.parentNode.contains(x)&&V()})}a(Je,"onTransitionedOut");function Be(w,V){Le(w,V)}a(Be,"onTransitionedIn");function Le(w,V){var q=$().box;function se(re){re.target===q&&(Ua(q,"remove",se),V())}if(a(se,"listener"),w===0)return V();Ua(q,"remove",f),Ua(q,"add",se),f=se}a(Le,"onTransitionEnd");function Xe(w,V,q){q===void 0&&(q=!1);var se=Ao(p.props.triggerTarget||e);se.forEach(function(re){re.addEventListener(w,V,q),h.push({node:re,eventType:w,handler:V,options:q})})}a(Xe,"on");function Ue(){B()&&(Xe("touchstart",gt,{passive:!0}),Xe("touchend",Ye,{passive:!0})),Xf(p.props.trigger).forEach(function(w){if(w!=="manual")switch(Xe(w,gt),w){case"mouseenter":Xe("mouseleave",Ye);break;case"focus":Xe(u1?"focusout":"blur",ht);break;case"focusin":Xe("focusout",ht);break}})}a(Ue,"addListeners");function Pt(){h.forEach(function(w){var V=w.node,q=w.eventType,se=w.handler,re=w.options;V.removeEventListener(q,se,re)}),h=[]}a(Pt,"removeListeners");function gt(w){var V,q=!1;if(!(!p.state.isEnabled||bt(w)||u)){var se=((V=d)==null?void 0:V.type)==="focus";d=w,b=w.currentTarget,le(),!p.state.isVisible&&t1(w)&&ni.forEach(function(re){return re(w)}),w.type==="click"&&(p.props.trigger.indexOf("mouseenter")<0||s)&&p.props.hideOnClick!==!1&&p.state.isVisible?q=!0:te(w),w.type==="click"&&(s=!q),q&&!se&&ie(w)}}a(gt,"onTrigger");function Mt(w){var V=w.target,q=M().contains(V)||x.contains(V);if(!(w.type==="mousemove"&&q)){var se=I().concat(x).map(function(re){var ke,De=re._tippy,It=(ke=De.popperInstance)==null?void 0:ke.state;return It?{popperRect:re.getBoundingClientRect(),popperState:It,props:r}:null}).filter(Boolean);i1(se,w)&&(X(),ie(w))}}a(Mt,"onMouseMove");function Ye(w){var V=bt(w)||p.props.trigger.indexOf("click")>=0&&s;if(!V){if(p.props.interactive){p.hideWithInteractivity(w);return}ie(w)}}a(Ye,"onMouseLeave");function ht(w){p.props.trigger.indexOf("focusin")<0&&w.target!==M()||p.props.interactive&&w.relatedTarget&&x.contains(w.relatedTarget)||ie(w)}a(ht,"onBlurOrFocusOut");function bt(w){return ar.isTouch?B()!==w.type.indexOf("touch")>=0:!1}a(bt,"isEventListenerStopped");function Nt(){vt();var w=p.props,V=w.popperOptions,q=w.placement,se=w.offset,re=w.getReferenceClientRect,ke=w.moveTransition,De=k()?_a(x).arrow:null,It=re?{getBoundingClientRect:re,contextElement:re.contextElement||M()}:e,Pr={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:a(function(pr){var xt=pr.state;if(k()){var io=$(),Mr=io.box;["placement","reference-hidden","escaped"].forEach(function(mr){mr==="placement"?Mr.setAttribute("data-placement",xt.placement):xt.attributes.popper["data-popper-"+mr]?Mr.setAttribute("data-"+mr,""):Mr.removeAttribute("data-"+mr)}),xt.attributes.popper={}}},"fn")},yt=[{name:"offset",options:{offset:se}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!ke}},Pr];k()&&De&&yt.push({name:"arrow",options:{element:De,padding:3}}),yt.push.apply(yt,(V==null?void 0:V.modifiers)||[]),p.popperInstance=Wa(It,x,Object.assign({},V,{placement:q,onFirstUpdate:m,modifiers:yt}))}a(Nt,"createPopperInstance");function vt(){p.popperInstance&&(p.popperInstance.destroy(),p.popperInstance=null)}a(vt,"destroyPopperInstance");function He(){var w=p.props.appendTo,V,q=M();p.props.interactive&&w===Ul||w==="parent"?V=q.parentNode:V=ql(w,[q]),V.contains(x)||V.appendChild(x),p.state.isMounted=!0,Nt()}a(He,"mount");function I(){return ii(x.querySelectorAll("[data-tippy-root]"))}a(I,"getNestedPopperTree");function te(w){p.clearDelayTimeouts(),w&&Y("onTrigger",[p,w]),K();var V=W(!0),q=P(),se=q[0],re=q[1];ar.isTouch&&se==="hold"&&re&&(V=re),V?n=setTimeout(function(){p.show()},V):p.show()}a(te,"scheduleShow");function ie(w){if(p.clearDelayTimeouts(),Y("onUntrigger",[p,w]),!p.state.isVisible){ve();return}if(!(p.props.trigger.indexOf("mouseenter")>=0&&p.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(w.type)>=0&&s)){var V=W(!1);V?o=setTimeout(function(){p.state.isVisible&&p.hide()},V):i=requestAnimationFrame(function(){p.hide()})}}a(ie,"scheduleHide");function me(){p.state.isEnabled=!0}a(me,"enable");function H(){p.hide(),p.state.isEnabled=!1}a(H,"disable");function de(){clearTimeout(n),clearTimeout(o),cancelAnimationFrame(i)}a(de,"clearDelayTimeouts");function U(w){if(!p.state.isDestroyed){Y("onBeforeUpdate",[p,w]),Pt();var V=p.props,q=Vl(e,Object.assign({},V,Rl(w),{ignoreAttributes:!0}));p.props=q,Ue(),V.interactiveDebounce!==q.interactiveDebounce&&(X(),g=Al(Mt,q.interactiveDebounce)),V.triggerTarget&&!q.triggerTarget?Ao(V.triggerTarget).forEach(function(se){se.removeAttribute("aria-expanded")}):q.triggerTarget&&e.removeAttribute("aria-expanded"),le(),L(),S&&S(V,q),p.popperInstance&&(Nt(),I().forEach(function(se){requestAnimationFrame(se._tippy.popperInstance.forceUpdate)})),Y("onAfterUpdate",[p,w])}}a(U,"setProps");function Q(w){p.setProps({content:w})}a(Q,"setContent");function qe(){var w=p.state.isVisible,V=p.state.isDestroyed,q=!p.state.isEnabled,se=ar.isTouch&&!p.props.touch,re=za(p.props.duration,0,jt.duration);if(!(w||V||q||se)&&!M().hasAttribute("disabled")&&(Y("onShow",[p],!1),p.props.onShow(p)!==!1)){if(p.state.isVisible=!0,k()&&(x.style.visibility="visible"),L(),K(),p.state.isMounted||(x.style.transition="none"),k()){var ke=$(),De=ke.box,It=ke.content;$a([De,It],0)}m=a(function(){var yt;if(!(!p.state.isVisible||l)){if(l=!0,x.offsetHeight,x.style.transition=p.props.moveTransition,k()&&p.props.animation){var dr=$(),pr=dr.box,xt=dr.content;$a([pr,xt],re),Bl([pr,xt],"visible")}ee(),le(),Sl(qa,p),(yt=p.popperInstance)==null||yt.forceUpdate(),Y("onMount",[p]),p.props.animation&&k()&&Be(re,function(){p.state.isShown=!0,Y("onShown",[p])})}},"onFirstUpdate"),He()}}a(qe,"show");function Ae(){var w=!p.state.isVisible,V=p.state.isDestroyed,q=!p.state.isEnabled,se=za(p.props.duration,1,jt.duration);if(!(w||V||q)&&(Y("onHide",[p],!1),p.props.onHide(p)!==!1)){if(p.state.isVisible=!1,p.state.isShown=!1,l=!1,s=!1,k()&&(x.style.visibility="hidden"),X(),ve(),L(!0),k()){var re=$(),ke=re.box,De=re.content;p.props.animation&&($a([ke,De],se),Bl([ke,De],"hidden"))}ee(),le(),p.props.animation?k()&&Je(se,p.unmount):p.unmount()}}a(Ae,"hide");function ur(w){D().addEventListener("mousemove",g),Sl(ni,g),g(w)}a(ur,"hideWithInteractivity");function Fr(){p.state.isVisible&&p.hide(),p.state.isMounted&&(vt(),I().forEach(function(w){w._tippy.unmount()}),x.parentNode&&x.parentNode.removeChild(x),qa=qa.filter(function(w){return w!==p}),p.state.isMounted=!1,Y("onHidden",[p]))}a(Fr,"unmount");function Or(){p.state.isDestroyed||(p.clearDelayTimeouts(),p.unmount(),Pt(),delete e._tippy,p.state.isDestroyed=!0,Y("onDestroy",[p]))}a(Or,"destroy")}a(v1,"createTippy");function ln(e,t){t===void 0&&(t={});var r=jt.plugins.concat(t.plugins||[]);c1();var n=Object.assign({},t,{plugins:r}),o=o1(e);if(0)var i,s;var u=o.reduce(function(c,l){var d=l&&v1(l,n);return d&&c.push(d),c},[]);return ai(e)?u[0]:u}a(ln,"tippy");ln.defaultProps=jt;ln.setDefaultProps=f1;ln.currentInput=ar;var Tw=Object.assign({},en,{effect:a(function(t){var r=t.state,n={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(r.elements.popper.style,n.popper),r.styles=n,r.elements.arrow&&Object.assign(r.elements.arrow.style,n.arrow)},"effect")});ln.setDefaultProps({render:jl});var Gl=ln;import{forwardRef as y1}from"react";import{jsx as x1}from"react/jsx-runtime";var Ga=y1(({children:e,className:t,withShadow:r=!0,withBorder:n=!0,...o},i)=>{let s=E("courier-bg-white courier-rounded-lg dark:courier-bg-black",r?"courier-shadow-sm":"",n?"courier-border courier-border-border dark:courier-border-neutral-800":"",t);return x1("div",{className:s,...o,ref:i,children:e})});Ga.displayName="Surface";import{Extension as P1,Node as M1}from"@tiptap/core";import{ReactNodeViewRenderer as N1}from"@tiptap/react";import{Suggestion as I1}from"@tiptap/suggestion";import{ReactRenderer as C1}from"@tiptap/react";var Gt={items:({query:e,editor:t})=>{var o,i;let r=((i=(o=t.extensionManager.extensions.find(s=>s.name==="variableSuggestion"))==null?void 0:o.options)==null?void 0:i.variables)||{};return Ot(r).filter(s=>s.toLowerCase().includes(e.toLowerCase()))},char:"{{",allowSpaces:!1,allowedPrefixes:null,startOfLine:!1,decorationTag:"span",decorationClass:"variable-suggestion",command:({editor:e,range:t,props:r})=>{e.chain().focus().deleteRange(t).insertContent([{type:"variable",attrs:{id:r}},{type:"text",text:" "}]).run()},render:()=>{let e=null,t=null,r=null,n=a((i,s)=>{e==null||e.updateProps({...i,selected:s})},"updateComponent"),o=a(i=>{var c,l;if(!r)return!1;let u=((c=Gt.items)==null?void 0:c.call(Gt,{query:(e==null?void 0:e.props).query||"",editor:(e==null?void 0:e.props).editor}))[i];return u?((l=Gt.command)==null||l.call(Gt,{editor:r.editor,range:r.range,props:u}),!0):!1},"selectItem");return{onStart:i=>{r=i,e=new C1(Yo,{props:{...i,selected:0},editor:i.editor}),i.clientRect&&(t=Gl(i.editor.options.element,{getReferenceClientRect:()=>{var s;return((s=i.clientRect)==null?void 0:s.call(i))||new DOMRect},appendTo:()=>i.editor.options.element,content:e==null?void 0:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",theme:"variable"}),e!=null&&e.element&&e.element.focus())},onUpdate(i){r=i,e==null||e.updateProps({...i,selected:e.props.selected}),i.clientRect&&(t==null||t.setProps({getReferenceClientRect:()=>{var s;return((s=i.clientRect)==null?void 0:s.call(i))||new DOMRect}}))},onKeyDown(i){var c;if(!e||!r)return!1;let s=(c=Gt.items)==null?void 0:c.call(Gt,{query:e.props.query||"",editor:e.props.editor}),u=e.props.selected;if(i.event.key==="ArrowUp"){let l=(u-1+s.length)%s.length;return n(r,l),!0}if(i.event.key==="ArrowDown"){let l=(u+1)%s.length;return n(r,l),!0}return i.event.key==="Enter"?(i.event.preventDefault(),o(u)):i.event.key==="Escape"?(r.editor.chain().focus().deleteRange(r.range).run(),!0):!1},onExit(){t==null||t.destroy(),e==null||e.destroy(),r=null}}}};import{NodeViewWrapper as w1}from"@tiptap/react";import{Braces as T1}from"lucide-react";import{jsx as Kl,jsxs as k1}from"react/jsx-runtime";var Jl=a(({node:e})=>Kl(w1,{className:"courier-inline-block",children:k1("span",{className:"courier-group courier-text-sm courier-variable-node courier-bg-gray-200 courier-pl-2 courier-pr-3 courier-py-[1px] courier-rounded courier-border courier-border-gray-400 hover:courier-bg-accent-foreground hover:courier-border-accent-foreground hover:courier-text-secondary-foreground courier-flex courier-items-center courier-gap-1",children:[Kl(T1,{size:16,className:"courier-text-gray-500 group-hover:courier-stroke-primary"}),e.attrs.id]})}),"VariableView");var Ka=M1.create({name:"variable",group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})}}},parseHTML(){return[{tag:"span[data-variable]"}]},addNodeView(){return N1(Jl)}}),Ja=P1.create({name:"variableSuggestion",addOptions(){return{HTMLAttributes:{},suggestion:{char:"{{",...Gt}}},addProseMirrorPlugins(){return[I1({editor:this.editor,...this.options.suggestion})]}});var E1=a(e=>{let t=e;for(;t&&!["TD","TH"].includes(t.tagName);)t=t.parentElement;let r=t&&t.querySelector&&t.querySelector("a.grip-column.selected"),n=t&&t.querySelector&&t.querySelector("a.grip-row.selected");return!!(r||n)},"isTableGripSelected"),nu=a((e,t)=>[Po.name].some(n=>e.isActive(n))||E1(t),"isCustomNodeSelected");import{isTextSelection as L1}from"@tiptap/core";var iu=a(({editor:e})=>{let{state:{doc:t,selection:r,selection:{empty:n,from:o,to:i}}}=e,s=!t.textBetween(o,i).length&&L1(r);return!(n||s||!e.isEditable)},"isTextSelected");import{v4 as A1}from"uuid";var S1=a((e,t)=>{let r=null;return e.state.doc.descendants((n,o)=>n.attrs.id===t?(r=o,!1):!0),r},"findNodePositionById"),si=a((e,t,r,n,o,i)=>{let s=`node-${A1()}`,c={heading:()=>e.schema.nodes.heading.create({...J,...n,id:s},i),paragraph:()=>e.schema.nodes.paragraph.create({...J,...n,id:s},i),text:()=>e.schema.nodes.paragraph.create({...J,...n,id:s},i),spacer:()=>e.schema.nodes.divider.create({...Fc,...n,id:s}),divider:()=>e.schema.nodes.divider.create({...Wt,...n,id:s}),button:()=>e.schema.nodes.button.create({...Pe,...n,id:s},i),imageBlock:()=>e.schema.nodes.imageBlock.create({...Oe,...n,id:s}),image:()=>e.schema.nodes.imageBlock.create({...Oe,...n,id:s})}[t];if(c)try{let l=e.state.tr,d=c();l.insert(r,d),e.view.dispatch(l),o&&o(d),(t==="text"||t==="paragraph"||t==="heading")&&setTimeout(()=>{let m=S1(e,s);m!==null&&e.commands.setTextSelection(m+1),e.view.focus()},50);let f=new CustomEvent("node-duplicated",{detail:{newNodeId:s}});document.dispatchEvent(f)}catch(l){console.error("Error creating node:",l)}else try{if(e.schema.nodes[t]){let l=e.state.tr,d=e.schema.nodes[t].create({...n,id:s},i);l.insert(r,d),e.view.dispatch(l),o&&o(d);let f=new CustomEvent("node-duplicated",{detail:{newNodeId:s}});document.dispatchEvent(f)}else console.error(`Cannot duplicate node: type "${t}" not found in schema`)}catch(l){console.error("Error creating fallback node:",l)}return s},"createOrDuplicateNode");import{closestCorners as R1,getFirstCollision as B1,KeyboardCode as Br}from"@dnd-kit/core";var H1=[Br.Down,Br.Right,Br.Up,Br.Left],au=a((e,{context:{active:t,droppableRects:r,droppableContainers:n,collisionRect:o}})=>{var i;if(H1.includes(e.code)){if(e.preventDefault(),!t||!o)return;let s=[];n.getEnabled().forEach(l=>{var m;if(!l||l!=null&&l.disabled)return;let d=r.get(l.id);if(!d)return;let f=l.data.current;if(f){let{type:h,children:g}=f;if(h==="container"&&(g==null?void 0:g.length)>0&&((m=t.data.current)==null?void 0:m.type)!=="container")return}switch(e.code){case Br.Down:o.top<d.top&&s.push(l);break;case Br.Up:o.top>d.top&&s.push(l);break;case Br.Left:o.left>=d.left+d.width&&s.push(l);break;case Br.Right:o.left+o.width<=d.left&&s.push(l);break}});let u=R1({active:t,collisionRect:o,droppableRects:r,droppableContainers:s,pointerCoordinates:null}),c=B1(u,"id");if(c!=null){let l=n.get(c),d=l==null?void 0:l.node.current,f=l==null?void 0:l.rect.current;if(d&&f)return l.id==="placeholder"?{x:f.left+(f.width-o.width)/2,y:f.top+(f.height-o.height)/2}:((i=l.data.current)==null?void 0:i.type)==="container"?{x:f.left+20,y:f.top+74}:{x:f.left,y:f.top}}}},"coordinateGetter");import{GripVertical as D1}from"lucide-react";import{forwardRef as V1}from"react";import{jsx as su}from"react/jsx-runtime";var cu=V1((e,t)=>su("button",{...e,ref:t,"data-cypress":"draggable-handle",className:E("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",e.className),children:su(D1,{strokeWidth:1,className:"courier-w-5 courier-stroke-ring courier-fill-ring"})}));import{useAtomValue as F1,useSetAtom as O1}from"jotai";import{useCallback as Tt}from"react";var ci=a(e=>{let t=O1(dt),r=F1(_e),n=Tt(y=>{let C=-1;return e.state.doc.descendants((A,N)=>{var p;return((p=A.attrs)==null?void 0:p.id)===y?(C=N,!1):!0}),C},[e]),o=Tt((y,C)=>{var A,N,p;if(((A=r==null?void 0:r.type)==null?void 0:A.name)==="button"&&((N=r.attrs)!=null&&N.id)){let v=r.attrs.id,x=n(v);if(x>=0){let S=e.state.tr;return S.setNodeMarkup(x,void 0,{...(p=e.state.doc.nodeAt(x))==null?void 0:p.attrs,[y]:C}),e.view.dispatch(S),setTimeout(()=>{let R=n(v);if(R>=0){let T=e.state.doc.nodeAt(R);T&&t(T)}},0),!0}}return!1},[e,r,n,t]),i=Tt(()=>{var y,C;if(((y=r==null?void 0:r.type)==null?void 0:y.name)==="button"&&((C=r.attrs)!=null&&C.id)){let A=r.attrs.id,N=n(A);if(N>=0){let p=e.state.doc.nodeAt(N);if(!p)return!1;let v={...p.attrs,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1},x=e.state.tr;return x.setNodeMarkup(N,void 0,v),e.view.dispatch(x),setTimeout(()=>{let S=n(A);if(S>=0){let R=e.state.doc.nodeAt(S);R&&t(R)}},0),!0}}return!1},[e,r,n,t]),s=Tt(()=>{var y;if(((y=r==null?void 0:r.type)==null?void 0:y.name)==="button"){let C=r.attrs.fontWeight==="bold"?"normal":"bold";if(o("fontWeight",C))return!0}return e.chain().focus().toggleBold().run()},[e,r,o]),u=Tt(()=>{var y;if(((y=r==null?void 0:r.type)==null?void 0:y.name)==="button"){let C=r.attrs.fontStyle==="italic"?"normal":"italic";if(o("fontStyle",C))return!0}return e.chain().focus().toggleItalic().run()},[e,r,o]),c=Tt(()=>{var y;if(((y=r==null?void 0:r.type)==null?void 0:y.name)==="button"){let C=!r.attrs.isStrike;if(o("isStrike",C))return!0}return e.chain().focus().toggleMark("strike").run()},[e,r,o]),l=Tt(()=>{var y;if(((y=r==null?void 0:r.type)==null?void 0:y.name)==="button"){let C=!r.attrs.isUnderline;if(o("isUnderline",C))return!0}return e.chain().focus().toggleMark("underline").run()},[e,r,o]),d=Tt(()=>e.chain().focus().setTextAlign("left").run(),[e]),f=Tt(()=>e.chain().focus().setTextAlign("center").run(),[e]),m=Tt(()=>e.chain().focus().setTextAlign("right").run(),[e]),h=Tt(()=>e.chain().focus().setTextAlign("justify").run(),[e]),g=Tt((y,C)=>e.chain().focus().setLink({href:y,target:C?"_blank":""}).run(),[e]),b=Tt(()=>{let y=e.isActive("blockquote");if(e.chain().focus().toggleBlockquote().run()){let{selection:N}=e.state,p=N.$anchor;if(y){let v=p.node();(v.type.name==="paragraph"||v.type.name==="heading")&&t(v)}else for(let v=p.depth;v>0;v--){let x=p.node(v);if(x.type.name==="blockquote"){t(x);break}}}},[e,t]);return{onBold:s,onItalic:u,onStrike:c,onUnderline:l,onAlignLeft:d,onAlignCenter:f,onAlignRight:m,onAlignJustify:h,onLink:g,onQuote:b,resetButtonFormatting:i}},"useTextmenuCommands");import{Fragment as G1,jsx as sr,jsxs as Ya}from"react/jsx-runtime";function _1(){let[e,t]=q1(!1);return lu(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}a(_1,"useMountStatus");var Qt=a(({children:e,id:t,className:r,...n})=>{let{setNodeRef:o,setActivatorNodeRef:i,listeners:s,isDragging:u,transform:c,transition:l}=W1({id:t}),d=_1();return sr(j1,{ref:o,id:t,transition:l,transform:c,fadeIn:u&&!d,listeners:s,className:r,handleProps:{ref:i},...n,children:e})},"SortableItemWrapper"),j1=U1(({children:e,className:t,dragOverlay:r,handleProps:n,listeners:o,id:i,transition:s,transform:u,editor:c,fadeIn:l,...d},f)=>{lu(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]);let m=$1(_e),{resetButtonFormatting:h}=ci(c),g=a((v,x)=>{let S=null;return v.doc.descendants((R,T)=>{var P;return S!==null?!1:((P=R.attrs)==null?void 0:P.id)===x?(S=T,!1):!0}),S},"findNodePositionById"),b=un(()=>{if(!c||!i)return{node:null,pos:null};let v=g(c.state,i);return v===null?{node:null,pos:null}:{node:c.state.doc.nodeAt(v),pos:v}},[c,i]),y=un(()=>{c.commands.blur(),m(null)},[c,m]),C=un(()=>{if(!(!c||!i))try{y(),setTimeout(()=>{let{node:v,pos:x}=b();if(!v||x===null)return;let S=c.state.doc.childCount===1,R=c.state.tr;R.delete(x,x+(v==null?void 0:v.nodeSize)),R.setMeta("addToHistory",!0),c.view.dispatch(R),S&&setTimeout(()=>{let T=c.state.doc.nodeAt(0);if(T&&T.type.name==="paragraph"&&!T.attrs.id){let P=`node-${Z1()}`,B=c.state.tr;B.setNodeMarkup(0,void 0,{...T.attrs,id:P}),c.view.dispatch(B);let k=new CustomEvent("node-duplicated",{detail:{newNodeId:P}});document.dispatchEvent(k)}},50),m(null)},100)}catch(v){console.error("Error deleting node:",v)}},[c,i,b,y,m]),A=un(()=>{if(!(!c||!i))try{let{node:v,pos:x}=b();if(!v||x===null)return;if(v.type.name==="button"){h();return}y(),setTimeout(()=>{let S=c.chain();S.setNodeSelection(x).unsetAllMarks(),v.type.name==="blockquote"&&v.content&&v.content.firstChild?v.content.firstChild.type.name!=="paragraph"&&S.setParagraph():v.type.name!=="paragraph"&&v.type.name!=="blockquote"&&S.setParagraph(),S.run()},100)}catch(v){console.error("Error removing formatting:",v)}},[c,i,b,y,h]),N=un(()=>{if(!(!c||!i))try{y(),setTimeout(()=>{let{node:v,pos:x}=b();if(!v||x===null)return;let S=v.type.name,R={...v.attrs};delete R.id;let T=x+(v==null?void 0:v.nodeSize);si(c,S,T,R,P=>m(P),v.content)},100)}catch(v){console.error("Error duplicating node:",v)}},[c,i,b,y,m]),{node:p}=b();return Ya(z1,{ref:f,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":i,className:E("courier-flex courier-items-center courier-justify-center courier-gap-2 courier-pl-6 draggable-item",t),style:{transition:[s].filter(Boolean).join(", "),"--translate-x":u?`${Math.round(u.x)}px`:void 0,"--translate-y":u?`${Math.round(u.y)}px`:void 0,"--scale-x":u!=null&&u.scaleX?`${u.scaleX}`:void 0,"--scale-y":u!=null&&u.scaleY?`${u.scaleY}`:void 0,transform:"translate3d(var(--translate-x, 0), var(--translate-y, 0), 0) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1))"},...d,children:[sr(cu,{className:"courier-absolute courier-left-[-20px]",tabIndex:-1,...n,...o}),e,Ya("div",{className:"courier-actions-panel courier-absolute courier-right-[-50px] courier-rounded-md courier-border courier-border-border courier-bg-background courier-shadow-sm courier-flex courier-items-center courier-justify-center courier-hidden",children:[(p==null?void 0:p.type.name)!=="imageBlock"&&(p==null?void 0:p.type.name)!=="divider"&&(p==null?void 0:p.type.name)!=="spacer"&&Ya(G1,{children:[sr("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center",onClick:A,tabIndex:-1,children:sr(ca,{})}),sr(pe,{className:"courier-m-0"})]}),sr("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center",onClick:N,tabIndex:-1,children:sr(ia,{})}),sr(pe,{className:"courier-m-0"}),sr("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center",onClick:C,tabIndex:-1,children:sr(ra,{})})]})]})});import{NodeViewContent as K1}from"@tiptap/react";import{useSetAtom as J1}from"jotai";import{useCallback as X1}from"react";import{jsx as dn}from"react/jsx-runtime";var Y1=a(({paddingHorizontal:e,paddingVertical:t,backgroundColor:r,borderLeftWidth:n,borderColor:o})=>dn("div",{className:"courier-w-full node-element",children:dn("div",{style:{zIndex:-15,position:"relative",padding:`${t}px ${e}px`,backgroundColor:r,borderLeftWidth:`${n}px`,borderColor:o,borderStyle:n>0?"solid":"none",whiteSpace:"pre-wrap"},children:dn(K1,{})})}),"BlockquoteComponent"),uu=a(e=>{let t=J1(dt),r=X1(()=>{if(!e.editor.isEditable)return;let o=e.getPos(),i=e.editor.state.doc.nodeAt(o);i&&t(i)},[e,t]),n=!e.node.content||e.node.content.size===0;return dn(Qt,{id:e.node.attrs.id,className:E(e.node.attrs.isSelected&&"selected-element",n&&"is-empty"),onClick:r,editor:e.editor,children:dn(Y1,{...e.node.attrs})})},"BlockquoteComponentNode");var kr={paddingHorizontal:8,paddingVertical:6,backgroundColor:"transparent",borderLeftWidth:4,borderColor:"#e0e0e0"},Xa=Hs.extend({content:"block+",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Lt(this.editor,this.name)},addAttributes(){return{id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},paddingHorizontal:{default:kr.paddingHorizontal,parseHTML:e=>e.getAttribute("data-padding-horizontal"),renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},paddingVertical:{default:kr.paddingVertical,parseHTML:e=>e.getAttribute("data-padding-vertical"),renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},backgroundColor:{default:kr.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},borderLeftWidth:{default:kr.borderLeftWidth,parseHTML:e=>e.getAttribute("data-border-left-width"),renderHTML:e=>({"data-border-left-width":e.borderLeftWidth})},borderColor:{default:kr.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})}}},parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",Q1(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 n=e.isActive("blockquote");return!e.isActive("paragraph")||!n?!1:e.chain().command(({tr:i})=>{i.split(t.from);let s=i.selection.from,u=i.doc.resolve(s);if(u.depth>1){let c=u.blockRange();c&&i.lift(c,0)}return!0}).focus().run()}}},addNodeView(){return eg(uu)}});import{zodResolver as tg}from"@hookform/resolvers/zod";import{useForm as rg}from"react-hook-form";import{z as ro}from"zod";var du=ro.object({paddingHorizontal:ro.coerce.number().min(0),paddingVertical:ro.coerce.number().min(0),backgroundColor:ro.string(),borderLeftWidth:ro.coerce.number().min(0),borderColor:ro.string(),id:ro.string().optional()});import{jsx as ge,jsxs as Hr}from"react/jsx-runtime";var pu=a(({element:e,editor:t})=>{let r=rg({resolver:tg(du),defaultValues:{...kr,...e==null?void 0:e.attrs}}),{updateNodeAttributes:n}=er({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"blockquote"});return e?Hr(ut,{...r,children:[ge(tr,{type:"blockquote"}),Hr("form",{onChange:()=>{n(r.getValues())},children:[ge("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),Hr("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[ge(G,{control:r.control,name:"paddingHorizontal",render:({field:o})=>Hr(Z,{children:[ge(_,{children:ge(ce,{startAdornment:ge(Go,{}),type:"number",min:0,...o})}),ge(j,{})]})}),ge(G,{control:r.control,name:"paddingVertical",render:({field:o})=>Hr(Z,{children:[ge(_,{children:ge(ce,{startAdornment:ge(Ur,{}),type:"number",min:0,...o})}),ge(j,{})]})})]}),ge(G,{control:r.control,name:"backgroundColor",render:({field:o})=>Hr(Z,{className:"courier-mb-3",children:[ge(_,{children:ge(Ve,{...o,defaultValue:kr.backgroundColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),ge(j,{})]})}),ge(pe,{className:"courier-mb-4"}),ge("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),ge(G,{control:r.control,name:"borderLeftWidth",render:({field:o})=>Hr(Z,{className:"courier-mb-3",children:[ge(_,{children:ge(ce,{startAdornment:ge(Ft,{}),type:"number",min:0,...o})}),ge(j,{})]})}),ge(G,{control:r.control,name:"borderColor",render:({field:o})=>Hr(Z,{className:"courier-mb-3",children:[ge(_,{children:ge(Ve,{...o,defaultValue:kr.borderColor,onChange:i=>{o.onChange(i),n({...r.getValues(),[o.name]:i})}})}),ge(j,{})]})})]})]}):null},"BlockquoteForm");import{useAtomValue as og}from"jotai";import{jsx as So,jsxs as ng}from"react/jsx-runtime";var li=a(({element:e,editor:t})=>{var s,u;let r=og(ua);if(!e)return null;let n=a(()=>{if(!(r!=null&&r.link)||!t)return!1;let{from:c,to:l}=r.link,d=-1,f=-1;return t.state.doc.descendants((m,h)=>m===e?(d=h,f=h+m.nodeSize,!1):!0),d<=c&&f>=l},"isLinkInCurrentSelection");if(r!=null&&r.link&&n()||((s=r==null?void 0:r.mark)==null?void 0:s.type.name)==="link"&&((u=e.marks)!=null&&u.some(c=>c.type.name==="link")))return So(sl,{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"),i=a(()=>{if(!t)return;let{$anchor:c}=t.state.selection,l=c.depth;for(;l>0;){let d=c.node(l);if(d.type.name==="blockquote")return d;l--}},"getBlockquoteElement");return ng("div",{className:"courier-flex courier-flex-col courier-gap-4",children:[e.type.name==="button"&&So(Hc,{element:e,editor:t},e.attrs.id),e.type.name==="divider"&&So(Wc,{element:e,editor:t},e.attrs.id),["paragraph","heading"].includes(e.type.name)&&!o&&So(Gc,{element:e,editor:t},e.attrs.id),e.type.name==="imageBlock"&&So(rl,{element:e,editor:t},e.attrs.id),(e.type.name==="blockquote"||e.type.name==="paragraph"&&o||e.type.name==="heading"&&o)&&So(pu,{element:i()||e,editor:t},e.attrs.id)]})},"SideBarItemDetails");import{useAtomValue as es}from"jotai";import{AlignCenter as vg,AlignJustify as yg,AlignLeft as xg,AlignRight as Cg,Bold as wg,Braces as Tg,Italic as kg,Link as Pg,Quote as Mg,Strikethrough as Ng,Underline as Ig}from"lucide-react";import{Fragment as Eg,memo as Tu,useMemo as Lg,useRef as Ag}from"react";import{forwardRef as Qa}from"react";import ig from"@tippyjs/react";import{useCallback as ag}from"react";import{Fragment as lg,jsx as cr,jsxs as cg}from"react/jsx-runtime";var mu=typeof window!="undefined"?navigator.platform.toUpperCase().indexOf("MAC")>=0:!1,sg=a(({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-neutral-500 courier-border-b-2";return e==="Mod"?cr("kbd",{className:t,children:mu?"\u2318":"Ctrl"}):e==="Shift"?cr("kbd",{className:t,children:"\u21E7"}):e==="Alt"?cr("kbd",{className:t,children:mu?"\u2325":"Alt"}):cr("kbd",{className:t,children:e})},"ShortcutKey"),fu=a(({children:e,enabled:t=!0,title:r,shortcut:n,tippyOptions:o={}})=>{let i=ag(s=>cg("span",{className:"courier-flex courier-items-center courier-gap-2 courier-px-2.5 courier-py-1 courier-bg-white courier-border courier-border-neutral-100 courier-rounded-lg courier-shadow-sm courier-z-[999]",tabIndex:-1,"data-placement":s["data-placement"],"data-reference-hidden":s["data-reference-hidden"],"data-escaped":s["data-escaped"],children:[r&&cr("span",{className:"courier-text-xs courier-font-medium courier-text-neutral-500",children:r}),n&&cr("span",{className:"courier-flex courier-items-center courier-gap-0.5",children:n.map(u=>cr(sg,{children:u},u))})]}),[n,r]);return t?cr(ig,{delay:500,offset:[0,8],touch:!1,zIndex:99999,appendTo:document.body,...o,render:i,children:cr("span",{children:e})}):cr(lg,{children:e})},"Tooltip");import{jsx as ui}from"react/jsx-runtime";var gu=Qa(({shouldShowContent:e=!0,children:t,isVertical:r=!1,className:n,...o},i)=>{let s=E("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-1 courier-items-center",n);return e&&ui(Ga,{className:s,...o,ref:i,children:t})});gu.displayName="Toolbar";var hu=Qa(({horizontal:e,className:t,...r},n)=>{let o=E("courier-bg-neutral-200 dark:courier-bg-neutral-800",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 ui("div",{className:o,ref:n,...r})});hu.displayName="Toolbar.Divider";var bu=Qa(({children:e,buttonSize:t="icon",variant:r="ghost",className:n,tooltip:o,tooltipShortcut:i,...s},u)=>{let c=E("courier-gap-1 courier-min-w-[2rem] courier-w-auto",n),l=ui(we,{className:c,variant:r,buttonSize:t,ref:u,...s,children:e});return o?ui(fu,{title:o,shortcut:i,children:l}):l});bu.displayName="ToolbarButton";var di={Wrapper:gu,Divider:hu,Button:bu};import{ChevronDown as ug}from"lucide-react";import{useMemo as dg}from"react";import{Fragment as mg,jsx as Dr,jsxs as vu}from"react/jsx-runtime";var pg=a(e=>e.type==="option","isOption"),yu=a(({options:e,containerRef:t})=>{let r=dg(()=>e.find(n=>n.type==="option"&&n.isActive()),[e]);return vu(Ds,{children:[Dr(Vs,{asChild:!0,children:vu(we,{variant:"ghost",className:"courier-flex courier-items-center courier-justify-center courier-font-normal",children:[(r==null?void 0:r.label)||"Normal text",Dr(ug,{className:"courier-w-3 courier-h-3"})]})}),Dr(Vi,{portalProps:{container:(t==null?void 0:t.current)||void 0},children:e.map(n=>{if(pg(n))return Dr(Fi,{onClick:n.onClick,className:n.isActive()?"courier-bg-accent courier-text-foreground":"",children:n.id.startsWith("heading")?Dr(mg,{children:n.id==="heading1"?Dr("h1",{className:"courier-text-2xl courier-font-bold",children:n.label}):n.id==="heading2"?Dr("h2",{className:"courier-text-xl courier-font-bold",children:n.label}):n.id==="heading3"?Dr("h3",{className:"courier-text-lg courier-font-bold",children:n.label}):n.label}):n.label},n.id)})})]})},"ContentTypePicker");import{useEditorState as fg}from"@tiptap/react";var xu=a(e=>fg({editor:e,selector:t=>[{label:"Normal text",onClick:()=>{t.editor.chain().focus().setNode("paragraph").run()},id:"paragraph",disabled:()=>!t.editor.can().setParagraph(),isActive:()=>t.editor.isActive("paragraph")&&!t.editor.isActive("heading"),type:"option"},{label:"Heading 1",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:1}).run()},id:"heading1",disabled:()=>!t.editor.can().setHeading({level:1}),isActive:()=>t.editor.isActive("heading",{level:1}),type:"option"},{label:"Heading 2",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:2}).run()},id:"heading2",disabled:()=>!t.editor.can().setHeading({level:2}),isActive:()=>t.editor.isActive("heading",{level:2}),type:"option"},{label:"Heading 3",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:3}).run()},id:"heading3",disabled:()=>!t.editor.can().setHeading({level:3}),isActive:()=>t.editor.isActive("heading",{level:3}),type:"option"}]}),"useTextmenuContentTypes");import{useAtomValue as gg}from"jotai";import{useCallback as Cu,useEffect as hg,useState as bg}from"react";var wu=a(e=>{let t=gg(_e),[r,n]=bg({isBold:!1,isItalic:!1,isUnderline:!1,isStrike:!1,isAlignLeft:!1,isAlignCenter:!1,isAlignRight:!1,isAlignJustify:!1,isQuote:!1,isLink:!1}),o=Cu(()=>{if(e){if((t==null?void 0:t.type.name)==="button"){n({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}n({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 hg(()=>{if(e)return o(),e.on("selectionUpdate",o),e.on("transaction",o),()=>{e.off("selectionUpdate",o),e.off("transaction",o)}},[e,o]),{shouldShow:Cu(({view:s,from:u})=>{if(!s||e.view.dragging)return!1;let c=s.domAtPos(u||0).node,d=s.nodeDOM(u||0)||c;return nu(e,d)?!1:iu({editor:e})},[e]),...r}},"useTextmenuStates");import{jsx as Ge,jsxs as Bg}from"react/jsx-runtime";var Sg=Tu(di.Button),Rg=Tu(yu),pi=a(({editor:e})=>{var N;let t=ci(e),r=wu(e),n=xu(e),o=Ag(null),i=es(Sn),s=es(_e),u=s==null?void 0:s.type.name,c=es(yc),l=Lg(()=>c(u||""),[c,u]),d=a(()=>{let{selection:p}=e.state;if(!(p.empty&&!r.isLink))if(r.isLink){let v=e.state.tr.setMeta("showLinkForm",{from:p.from,to:p.to});e.view.dispatch(v)}else{let v=e.state.tr.setMeta("showLinkForm",{from:p.from,to:p.to});e.view.dispatch(v)}},"handleLinkToggle"),f=a(()=>{if(i.ref){let R=i.ref,T=R.value,P=i.caretPosition||R.selectionStart||0,B=T.substring(0,P),k=T.substring(P),M=`${B}{{${k}`,D=P+2;R.focus();let $=new Event("input",{bubbles:!0,cancelable:!0});if(Object.defineProperty($,"target",{writable:!1,value:{...R,value:M}}),R.value=M,R.dispatchEvent($),R.setSelectionRange(D,D),R.getBoundingClientRect()){let L=M.slice(0,D),Y=document.createElement("span");Y.style.font=window.getComputedStyle(R).font,Y.style.whiteSpace="pre-wrap",Y.textContent=L,document.body.appendChild(Y);let ee=Y.offsetWidth;document.body.removeChild(Y);let le=parseInt(window.getComputedStyle(R).lineHeight),X=L.split(`
|
|
166
|
+
`).length-1,ne=new CustomEvent("showVariableSuggestions",{detail:{cursorPosition:{left:Math.min(ee%R.offsetWidth,R.offsetWidth-200),top:X*le+30}},bubbles:!0});R.dispatchEvent(ne)}return}let{state:p,dispatch:v}=e.view,{tr:x}=p;x.insertText("{{"),v(x),e.commands.focus();let S=e.state.tr.setMeta("showVariableSuggestions",{from:e.state.selection.from,to:e.state.selection.to});e.view.dispatch(S)},"handleVariableClick"),m=a((p,v,x,S,R,T,P)=>{let B=l[p];return!B||B.state==="hidden"?null:Ge(Sg,{tooltip:x,tooltipShortcut:T,onClick:S,active:R,disabled:B.state==="disabled",...P,children:v},p)},"renderButton"),h=a((p,v)=>{let x=p.filter(S=>!!S);return x.length>0?Ge("div",{className:"courier-flex courier-items-center courier-gap-0.5",children:x},v):null},"renderGroup"),g=h([((N=l.contentType)==null?void 0:N.state)==="enabled"&&Ge(Rg,{options:n,containerRef:o},"content-type")],"content-type-group"),b=h([m("bold",Ge(wg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Bold",t.onBold,r.isBold,["Mod","B"]),m("italic",Ge(kg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Italic",t.onItalic,r.isItalic,["Mod","I"]),m("underline",Ge(Ig,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Underline",t.onUnderline,r.isUnderline,["Mod","U"]),m("strike",Ge(Ng,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Strikethrough",t.onStrike,r.isStrike,["Mod","Shift","S"])],"text-style-group"),y=h([m("alignLeft",Ge(xg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align left",t.onAlignLeft,r.isAlignLeft,["Shift","Mod","L"]),m("alignCenter",Ge(vg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align center",t.onAlignCenter,r.isAlignCenter,["Shift","Mod","E"]),m("alignRight",Ge(Cg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align right",t.onAlignRight,r.isAlignRight,["Shift","Mod","R"]),m("alignJustify",Ge(yg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Justify",t.onAlignJustify,r.isAlignJustify,["Shift","Mod","J"])],"alignment-group"),C=h([m("quote",Ge(Mg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Quote",t.onQuote,r.isQuote,["Mod","Shift","B"])],"block-style-group"),A=h([m("link",Ge(Pg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Link",d,r.isLink,["Mod","K"]),m("variable",Ge(Tg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Variable",f,!1,["Mod","V"],{"data-variable-button":"true"})],"insert-group");return Ge("div",{className:"courier-z-30 courier-w-full courier-h-12 courier-sticky courier-top-0 courier-left-0 courier-right-0 courier-bottom-0",children:Ge(di.Wrapper,{ref:o,className:"courier-w-full courier-border-t-0 courier-border-l-0 courier-border-r-0 courier-border-b rounded-b-none rounded-t-sm courier-shadow-none courier-justify-center courier-rounded-none",children:[g,b,y,C,A].filter(Boolean).map((p,v)=>Bg(Eg,{children:[p,v<[g,b,y,C,A].filter(Boolean).length-1&&Ge(di.Divider,{})]},`item-${v}`))})})},"TextMenu");import{useAtom as Du,useAtomValue as Ro,useSetAtom as Vu}from"jotai";import{forwardRef as l5,memo as u5,useCallback as ss,useEffect as wi,useRef as Fu,useState as Ti}from"react";import{toast as d5}from"sonner";import{forwardRef as Hg}from"react";import{jsx as Dg}from"react/jsx-runtime";var mi=Hg(({children:e},t)=>Dg("div",{ref:t,className:"courier-z-30 courier-flex courier-w-full courier-bg-primary courier-h-12 courier-border-t-0 courier-border-l-0 courier-border-r-0 courier-border-b rounded-b-none rounded-t-sm courier-shadow-none courier-justify-between courier-items-center courier-px-4",children:e}));import{CircleCheck as Vg}from"lucide-react";import{useEffect as Fg,useState as Og}from"react";import{Fragment as ku,jsx as ts,jsxs as Pu}from"react/jsx-runtime";var fi=a(({isError:e,isSaving:t,isLoading:r})=>{let[n,o]=Og(!1);return Fg(()=>{if(!t&&!e){o(!0);let s=setTimeout(()=>{o(!1)},5e3);return()=>clearTimeout(s)}},[t,e]),!n&&!t&&!e||r||t===null?null:ts("div",{className:"courier-h-12 courier-flex courier-items-center courier-px-4 courier-text-xs courier-gap-1",children:e?"Error":t?Pu(ku,{children:[ts(yr,{className:"courier-w-4 courier-h-4"}),"Saving..."]}):Pu(ku,{children:[ts(Vg,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Saved"]})})},"Status");import{z as mt}from"zod";var Mu=mt.object({headerStyle:mt.enum(["plain","border"]),isUnsubscribe:mt.boolean().optional(),isPreferences:mt.boolean().optional(),link:mt.string().optional(),brandColor:mt.string(),textColor:mt.string(),subtleColor:mt.string(),logo:mt.string().optional(),facebookLink:mt.string().optional(),linkedinLink:mt.string().optional(),instagramLink:mt.string().optional(),mediumLink:mt.string().optional(),xLink:mt.string().optional()}),kt={headerStyle:"plain",isUnsubscribe:!1,isPreferences:!1,link:"",brandColor:"#000000",textColor:"#9CA3AF",subtleColor:"#737373",logo:"",facebookLink:"",linkedinLink:"",instagramLink:"",mediumLink:"",xLink:""};import{atom as Nu}from"jotai";var Bt=Nu(null),gi=Nu(null);import{EditorContent as Gg}from"@tiptap/react";import{useAtom as Kg,useAtomValue as Eu}from"jotai";import{memo as Jg,useCallback as Xg,useEffect as yi,useMemo as ns,useRef as Lu}from"react";import{Doc as Yg}from"yjs";var hi=class hi{};a(hi,"UploadImageAPI"),hi.uploadImage=a(async t=>new Promise((r,n)=>{let o=new FileReader;o.onload=()=>{typeof o.result=="string"?r(o.result):n(new Error("Failed to convert image to data URL"))},o.onerror=()=>{n(new Error("Failed to read image file"))},o.readAsDataURL(t)}),"uploadImage");var rs=hi,os=rs;var bi=a(e=>[ga,ou.configure({document:!1,dropcursor:!1,gapcursor:!1,heading:!1,horizontalRule:!1,paragraph:!1,blockquote:!1,hardBreak:!1}),Ma.configure({setSelectedNode:e==null?void 0:e.setSelectedNode}),Yl.configure({keepMarks:!0,HTMLAttributes:{class:"my-line-break"}}),qc,fa,Pa,Xa,History,ha.configure({levels:[1,2,3,4,5,6]}),Rn,Xl,wa.configure({openOnClick:!1,defaultProtocol:"https",HTMLAttributes:{class:"link"}}),ru,Po.configure(),qn.configure({allowedMimeTypes:["image/png","image/jpeg","image/gif","image/webp"],onDrop:(t,r,n)=>{r.forEach(async o=>{let i=await os.uploadImage(o);t.chain().setImageBlockAt({pos:n,src:i}).focus().run()})},onPaste:(t,r)=>{r.forEach(async n=>{let o=await os.uploadImage(n);return t.chain().setImageBlockAt({pos:t.state.selection.anchor,src:o}).focus().run()})}}),eu.extend({addKeyboardShortcuts(){return{}}}).configure({types:["paragraph","heading"]}),tu,Ql.configure({includeChildren:!0,showOnlyCurrent:!0,placeholder:"",emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",showOnlyWhenEditable:!0}),la.configure({width:2,class:"ProseMirror-dropcursor courier-border-black"}),Ja.configure({variables:e==null?void 0:e.variables}),Ka],"ExtensionKit");var Wg=a(e=>{switch(e.type){case"bold":return"**";case"italic":return"*";case"strike":return"~";case"underline":return"+";default:return""}},"markToMD"),pn=a(e=>{var t,r,n,o,i,s,u,c,l,d,f,m,h,g;switch(e.type){case"variable":return`{{${(t=e.attrs)==null?void 0:t.id}}}`;case"text":{let b=e.text||"";if((r=e.marks)!=null&&r.length){let C=e.marks.map(Wg).filter(Boolean);b=C.join("")+b+C.reverse().join("")}let y=(n=e.marks)==null?void 0:n.find(C=>C.type==="link");return y&&(b=`[${b}](${(o=y.attrs)==null?void 0:o.href})`),b}case"hardBreak":return`
|
|
167
|
+
`;case"paragraph":return(((i=e.content)==null?void 0:i.map(pn).join(""))||"")+`
|
|
168
168
|
|
|
169
|
-
`;case"heading":{let
|
|
169
|
+
`;case"heading":{let b=((s=e.attrs)==null?void 0:s.level)||1,y="#".repeat(b)+" ",C=((u=e.content)==null?void 0:u.map(pn).join(""))||"";return y+C+`
|
|
170
170
|
|
|
171
|
-
`}case"blockquote":return(((
|
|
172
|
-
`).map(
|
|
171
|
+
`}case"blockquote":return(((c=e.content)==null?void 0:c.map(pn).join(""))||"").split(`
|
|
172
|
+
`).map(y=>`> ${y}`).join(`
|
|
173
173
|
`)+`
|
|
174
174
|
|
|
175
|
-
`;case"imageBlock":{let
|
|
175
|
+
`;case"imageBlock":{let b=((l=e.attrs)==null?void 0:l.alt)||"",y=((d=e.attrs)==null?void 0:d.sourcePath)||"",C=(f=e.attrs)==null?void 0:f.link,A=``;return C?`[${A}](${C})
|
|
176
176
|
|
|
177
|
-
`:
|
|
177
|
+
`:A+`
|
|
178
178
|
|
|
179
179
|
`}case"divider":return`---
|
|
180
180
|
|
|
181
|
-
`;case"button":{let
|
|
181
|
+
`;case"button":{let b=((m=e.attrs)==null?void 0:m.label)||"",y=((h=e.attrs)==null?void 0:h.link)||"#";return`[${b}](${y})
|
|
182
182
|
|
|
183
|
-
`}default:return((g=e.content)==null?void 0:g.map(gn).join(""))||""}},"convertNodeToMarkdown");function ki(e){return e.content?e.content.map(gn).join("").trim():""}a(ki,"convertTiptapToMarkdown");import{Extension as Kg}from"@tiptap/core";import{TextSelection as Jg}from"@tiptap/pm/state";import{useEditor as Xg}from"@tiptap/react";import{useAtom as Yg,useSetAtom as Qg}from"jotai";import{useCallback as hn,useMemo as eh,useRef as th}from"react";var Lu=a(({initialContent:e={version:"2022-01-01",elements:[{type:"text",align:"left",content:""}]},readOnly:t=!1,variables:r,ydoc:n,onDestroy:o,setSelectedNode:i})=>{let s=Qg(bo),u=th(),[l,c]=Yg(Ht),d=Kg.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:E})=>{let{state:I,dispatch:p}=E.view;return p(I.tr.setSelection(Jg.create(I.doc,I.selection.$anchor.pos))),i&&i(null),!1}}}}),f=hn(()=>{i&&setTimeout(()=>{i(null)},100)},[i]),m=hn(({editor:E})=>{let I=ki(E.getJSON());JSON.stringify(l)!==JSON.stringify(I)&&c(I)},[l,c]),h=hn(({editor:E})=>{let{selection:I}=E.state,v=I.$head.marks().find(w=>w.type.name==="link");v||E.isActive("link")?s({mark:v}):s(null)},[s]),g=hn(({editor:E,transaction:I})=>{let{selection:p}=E.state;if(I==null?void 0:I.getMeta("showLinkForm")){let R=p.$head.marks().find(B=>B.type.name==="link");s({mark:R,link:{from:p.from,to:p.to}})}},[s]),y=hn(()=>{u.current&&clearTimeout(u.current),o==null||o()},[o]),b=eh(()=>[...Ti({variables:r,setSelectedNode:i}),d].filter(E=>E!==void 0),[d,r,i]),x=Xg({content:zr(e),immediatelyRender:!0,shouldRerenderOnTransaction:!0,autofocus:!t,editable:!t,onCreate:f,onUpdate:m,onSelectionUpdate:h,onTransaction:g,onDestroy:y,extensions:b},[n]);return window.editor=x,{editor:x}},"useBlockEditor");import{jsx as Gt,jsxs as Bu}from"react/jsx-runtime";var sh=a(({variables:e,facebookLink:t,linkedinLink:r,instagramLink:n,mediumLink:o,xLink:i,readOnly:s=!1,setEditor:u})=>{let l=ls(()=>new ah,[]),c=Ru(!1),[d,f]=oh(Ht),m=Su(He),h=Su(Ge),g=Ru(!1),y=ls(()=>({urls:{unsubscribe:!0,preferences:!0},...e}),[e]),b=ih(()=>{},[]),{editor:x}=Lu({initialContent:ls(()=>({version:"2022-01-01",elements:[{type:"text",align:"left",content:""}]}),[]),ydoc:l,variables:y,readOnly:s,setSelectedNode:b});return Pi(()=>{s&&d&&setTimeout(()=>{x.commands.setContent(Wi(d)),x.chain().focus().setTextSelection(0).run()},0)},[s,d,x]),Pi(()=>{var I,p,v,w,R,B;let E=(B=(R=(w=(v=(p=(I=m==null?void 0:m.data)==null?void 0:I.tenant)==null?void 0:p.brand)==null?void 0:v.settings)==null?void 0:w.email)==null?void 0:R.footer)==null?void 0:B.markdown;h===!1&&!E&&(g.current=!0),!(!E||!x)&&(setTimeout(()=>{x.commands.setContent(Wi(E)),x.chain().focus().setTextSelection(0).run(),f(E)},0),setTimeout(()=>{g.current=!0},100))},[m,h,x,f]),Pi(()=>(c.current=!0,()=>{c.current=!1}),[]),Pi(()=>{x&&u&&c.current&&u(x)},[x,u]),Bu("div",{className:"courier-flex courier-flex-row courier-gap-6 courier-justify-between courier-items-start",children:[Gt(rh,{editor:x,className:M("courier-py-2 courier-flex-grow",s&&"courier-brand-editor-readonly")}),Bu("div",{className:"courier-flex courier-justify-end courier-items-center courier-gap-2 courier-mt-3",children:[t&&Gt("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:Gt(jo,{className:"courier-w-5 courier-h-5"})}),r&&Gt("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:Gt(Ko,{className:"courier-w-5 courier-h-5"})}),n&&Gt("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:Gt(Go,{className:"courier-w-5 courier-h-5"})}),o&&Gt("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:Gt(Jo,{className:"courier-w-5 courier-h-5"})}),i&&Gt("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:Gt(Yo,{className:"courier-w-5 courier-h-5"})})]})]})},"BrandFooterComponent"),Ni=nh(sh);var Ei=a((e,t)=>new Promise(r=>{let n=new FileReader;n.onload=o=>{var s;let i=new Image;i.onload=()=>{var f;let u,l;i.width>i.height?(u=Math.min(t,i.width),l=Math.round(i.height/i.width*u)):(l=Math.min(t,i.height),u=Math.round(i.width/i.height*l));let c=document.createElement("canvas");c.width=u,c.height=l;let d=c.getContext("2d");if(d){d.imageSmoothingEnabled=!0,d.imageSmoothingQuality="high",d.drawImage(i,0,0,u,l);let m=.8,h=c.toDataURL(e.type||"image/jpeg",m),g=0,y=5;for(;h.length>512e3&&g<y;)g++,m-=.1,m<.3&&(m=.3),h=c.toDataURL(e.type||"image/jpeg",m);r({dataUrl:h,width:u,height:l})}else r({dataUrl:(f=o.target)==null?void 0:f.result,width:i.width,height:i.height})},i.src=(s=o.target)==null?void 0:s.result},n.readAsDataURL(e)}),"resizeImage");import{useCallback as io,useRef as lh,useState as ch}from"react";import{jsx as cs,jsxs as uh}from"react/jsx-runtime";var Hu=a(({onFileSelect:e})=>{let[t,r]=ch(!1),n=lh(null),o=io(f=>{f.preventDefault(),f.stopPropagation(),f.dataTransfer.types.includes("Files")&&Array.from(f.dataTransfer.items).some(g=>g.type.startsWith("image/"))&&(r(!0),f.dataTransfer.dropEffect="copy")},[]),i=io(f=>{f.preventDefault(),f.stopPropagation(),r(!1)},[]),s=io(f=>{f.preventDefault(),f.stopPropagation(),f.dataTransfer.types.includes("Files")&&Array.from(f.dataTransfer.items).some(g=>g.type.startsWith("image/"))&&r(!0)},[]),u=io(async f=>{try{let{dataUrl:m}=await Ei(f,800);e==null||e(m),n.current&&(n.current.value="")}catch(m){console.error("Error processing image:",m),n.current&&(n.current.value="")}},[e]),l=io(f=>{f.preventDefault(),f.stopPropagation(),r(!1);let h=Array.from(f.dataTransfer.files).find(g=>g.type.startsWith("image/"));h&&u(h)},[u]),c=io(f=>{var h;let m=(h=f.target.files)==null?void 0:h[0];m&&u(m)},[u]),d=io(f=>{var m;f.preventDefault(),f.stopPropagation(),(m=n.current)==null||m.click()},[]);return uh("div",{className:M("courier-bg-gray-100 courier-rounded-md courier-flex courier-flex-row courier-items-center courier-cursor-pointer courier-transition-colors courier-py-4 courier-px-6 courier-gap-1 !courier-w-fit",t&&"courier-border-primary courier-bg-gray-50"),onDragOver:o,onDragEnter:s,onDragLeave:i,onDrop:l,style:{pointerEvents:"all"},children:[cs("span",{className:"courier-text-sm courier-pointer-events-none",children:"Drag and drop logo, or"}),cs("button",{className:"courier-underline courier-font-medium courier-text-sm",onClick:d,type:"button",children:"Browse"}),cs("input",{ref:n,type:"file",accept:"image/*",className:"courier-hidden",onChange:c},"logo-input")]})},"LogoUploader");import{zodResolver as dh}from"@hookform/resolvers/zod";import{useSetAtom as ph}from"jotai";import{ArrowUp as mh}from"lucide-react";import{useCallback as Du,useEffect as fh,useRef as gh}from"react";import{useForm as hh}from"react-hook-form";import{jsx as F,jsxs as at}from"react/jsx-runtime";var Vu=a(({isActive:e,onClick:t,value:r})=>F("div",{className:M("courier-w-full courier-h-16 courier-rounded-md courier-border-border courier-border courier-overflow-hidden courier-bg-secondary courier-cursor-pointer",e&&"!courier-border-[#3B82F6]"),onClick:t,children:F("div",{className:"courier-h-full courier-m-2 courier-rounded-md courier-border-border courier-border courier-shadow-md courier-bg-background courier-overflow-hidden",children:r==="border"&&F("div",{className:"courier-w-full courier-bg-[#000000] courier-h-1"})})}),"HeaderStyle"),Fu=a(({editor:e,setForm:t,currentForm:r})=>{var d,f;let n=gh(null),o=ph(Ht),i=hh({resolver:dh(Iu),defaultValues:r||Nt});fh(()=>{r&&i.reset(r)},[r,i]);let s=Du(()=>{let m=i.getValues();t&&t(m)},[i,t]),u=Du(m=>{var h,g;if(m)e.chain().focus().insertContent({type:"paragraph",content:[{type:"text",text:"Manage Notification Preferences",marks:[{type:"link",attrs:{href:"{{urls.preferences}}"}}]}]}).run();else{let y=e.getJSON();if((((h=y.content)==null?void 0:h.filter(x=>x.type==="paragraph"))||[]).length>=2){let x=((g=y.content)==null?void 0:g.slice(0,-1))||[];e.chain().focus().setContent({type:"doc",content:x}).run()}}setTimeout(()=>{let y=ki(e.getJSON());o(y)},100)},[e,o]),l=((f=(d=e==null?void 0:e.extensionManager.extensions.find(m=>m.name==="variableSuggestion"))==null?void 0:d.options)==null?void 0:f.variables)||{},c=Ft(l);return F(ht,{...i,children:F("form",{onChange:()=>s(),children:at("div",{className:"courier-pb-6",children:[F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Header style"}),F(j,{control:i.control,name:"headerStyle",render:({field:m})=>at(Z,{className:"courier-mb-4",children:[F(_,{children:at("div",{className:"courier-w-full courier-flex courier-flex-row courier-gap-3",children:[F(Vu,{isActive:m.value==="plain",onClick:()=>{m.onChange("plain"),t({...i.getValues(),headerStyle:"plain"})},value:"plain"}),F(Vu,{isActive:m.value==="border",onClick:()=>{m.onChange("border"),t({...i.getValues(),headerStyle:"border"})},value:"border"})]})}),F(q,{})]})}),F(fe,{className:"courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Logo"}),at("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[i.getValues().logo?F(Me,{onClick:()=>{let m=i.getValues();m.logo="",i.reset(m),t({...m}),n.current&&(n.current.value=""),s()},className:"courier-w-full",variant:"outline",type:"button",children:"Remove logo"}):at(Me,{onClick:m=>{m.preventDefault(),n.current&&(n.current.value="",n.current.click())},className:"courier-w-full",variant:"outline",type:"button",children:[F(mh,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-mr-2 courier-text-foreground"}),"Upload logo"]}),F("input",{ref:n,type:"file",accept:"image/*",className:"courier-hidden",onChange:async m=>{var g;let h=(g=m.target.files)==null?void 0:g[0];if(h)try{let{dataUrl:y}=await Ei(h,800),b=i.getValues();b.logo=y,i.reset(b),t({...b})}catch(y){console.error("Error processing image:",y)}n.current&&(n.current.value="")}})]}),F(j,{control:i.control,name:"link",render:({field:m})=>at(Z,{className:"courier-mb-3",children:[F(_,{children:F(kt,{as:"Textarea",placeholder:"Link",...m,variables:c,onChange:h=>{m.onChange(h),s()}})}),F(q,{})]})}),F(fe,{className:"courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Brand color"}),F(j,{control:i.control,name:"brandColor",render:({field:m})=>at(Z,{className:"courier-mb-4",children:[F(_,{children:F(De,{...m,defaultValue:m.value,onChange:h=>{m.onChange(h),s()}})}),F(q,{})]})}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Text color"}),F(j,{control:i.control,name:"textColor",render:({field:m})=>at(Z,{className:"courier-mb-4",children:[F(_,{children:F(De,{...m,defaultValue:m.value,onChange:h=>{m.onChange(h),s()}})}),F(q,{})]})}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Subtle color"}),F(j,{control:i.control,name:"subtleColor",render:({field:m})=>at(Z,{className:"courier-mb-4",children:[F(_,{children:F(De,{...m,defaultValue:m.value,onChange:h=>{m.onChange(h),s()}})}),F(q,{})]})}),F(fe,{className:"courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Footer links"}),at("div",{className:"courier-flex courier-flex-col courier-gap-3 courier-mb-3",children:[F(j,{control:i.control,name:"facebookLink",render:({field:m})=>at(Z,{children:[F(_,{children:F(de,{startAdornment:F(jo,{}),placeholder:"facebook.com/username",...m})}),F(q,{})]})}),F(j,{control:i.control,name:"linkedinLink",render:({field:m})=>at(Z,{children:[F(_,{children:F(de,{startAdornment:F(Ko,{}),placeholder:"linkedin.com/username",...m})}),F(q,{})]})}),F(j,{control:i.control,name:"instagramLink",render:({field:m})=>at(Z,{children:[F(_,{children:F(de,{startAdornment:F(Go,{}),placeholder:"instagram.com/username",...m})}),F(q,{})]})}),F(j,{control:i.control,name:"mediumLink",render:({field:m})=>at(Z,{children:[F(_,{children:F(de,{startAdornment:F(Jo,{}),placeholder:"medium.com/username",...m})}),F(q,{})]})}),F(j,{control:i.control,name:"xLink",render:({field:m})=>at(Z,{children:[F(_,{children:F(de,{startAdornment:F(Yo,{}),placeholder:"x.com/username",...m})}),F(q,{})]})})]}),F(fe,{className:"courier-mb-4"}),F("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Footer actions"}),F(j,{control:i.control,name:"isPreferences",render:({field:m})=>at(Z,{className:"courier-flex courier-flex-row courier-items-center courier-gap-2 courier-mb-4",children:[F(_,{children:F(ea,{checked:m.value,onCheckedChange:h=>{m.onChange(h),u(h),s()}})}),F(Uo,{className:"!courier-m-0",children:"Manage Preferences"}),F(q,{})]})})]})})})},"SideBar");import{Fragment as Ch,jsx as st,jsxs as Hr}from"react/jsx-runtime";var xh=bh(({hidePublish:e=!1,autoSaveDebounce:t=200,autoSave:r,templateEditor:n,isVisible:o=!0,variables:i,onChange:s},u)=>{var Q,ce,ge,Pe,Ce;let[l,c]=Ii(),d=Wu(mo),{saveBrand:f,publishBrand:m}=$o(),h=Ho(He),[g,y]=Ii((ge=(ce=(Q=h==null?void 0:h.data)==null?void 0:Q.tenant)==null?void 0:ce.brand)==null?void 0:ge.settings),b=Ho(At),x=Ho(ot),E=Ho(Ge),I=Ho(Ee),p=Ho(xe),[v,w]=Ii(null),[R,B]=Ii(void 0),T=zu(""),[N,H]=Ou(Ke),D=Wu(Ci),[P,A]=Ou(Ht),L=zu(!1),{handleAutoSave:W}=Pn({onSave:async X=>{await f(X)},enabled:E!==null&&r&&P!==null,debounceMs:t,onError:()=>yh.error("Error saving theme")});Mi(()=>{h===null&&(L.current=!1,B(void 0),D(null),c(void 0))},[h,A,D,c]),Mi(()=>{let X={colors:{primary:g==null?void 0:g.brandColor,secondary:g==null?void 0:g.textColor,tertiary:g==null?void 0:g.subtleColor},email:{header:{barColor:(g==null?void 0:g.headerStyle)==="border"?g==null?void 0:g.brandColor:"",logo:{href:g==null?void 0:g.link,image:g==null?void 0:g.logo}},footer:{markdown:P!=null?P:void 0,social:{facebook:{url:g==null?void 0:g.facebookLink},instagram:{url:g==null?void 0:g.instagramLink},linkedin:{url:g==null?void 0:g.linkedinLink},medium:{url:g==null?void 0:g.mediumLink},twitter:{url:g==null?void 0:g.xLink}}}}};l===void 0&&P&&c(X),!(!P||!L.current)&&(setTimeout(()=>{B(P)},0),JSON.stringify(l)!==JSON.stringify(X)&&(c(X),s&&s(X),X!==null&&W(X)))},[R,P,g,W,s,l]);let V=ds(()=>{m()},[m]);Mi(()=>{var we,pt,ze,Qe,et,lt,xt,S,pe,ae,ee,ne,he,se,te,ie,ve,Ae,mt,G,Ne,be,Be,Dr,Vr,Fr,Or,Wr,C,O,K,ue,re,Le,$e,Mt,wr,Ct,cr;let X=(ze=(pt=(we=h==null?void 0:h.data)==null?void 0:we.tenant)==null?void 0:pt.brand)==null?void 0:ze.settings;if(X&&((et=(Qe=h==null?void 0:h.data)==null?void 0:Qe.tenant)==null?void 0:et.tenantId)===I){let ur=JSON.stringify(X);T.current=ur;let wt=(S=(xt=(lt=X==null?void 0:X.email)==null?void 0:lt.footer)==null?void 0:xt.markdown)==null?void 0:S.split(`
|
|
184
|
-
`),lo=wt==null?void 0:wt.find(co=>co.includes("{{urls.preferences}}")),Vo={brandColor:((pe=X.colors)==null?void 0:pe.primary)||Nt.brandColor,textColor:((ae=X.colors)==null?void 0:ae.secondary)||Nt.textColor,subtleColor:((ee=X.colors)==null?void 0:ee.tertiary)||Nt.subtleColor,headerStyle:(he=(ne=X.email)==null?void 0:ne.header)!=null&&he.barColor?"border":"plain",logo:((ie=(te=(se=X.email)==null?void 0:se.header)==null?void 0:te.logo)==null?void 0:ie.image)||Nt.logo,link:((mt=(Ae=(ve=X.email)==null?void 0:ve.header)==null?void 0:Ae.logo)==null?void 0:mt.href)||Nt.link,facebookLink:((Be=(be=(Ne=(G=X.email)==null?void 0:G.footer)==null?void 0:Ne.social)==null?void 0:be.facebook)==null?void 0:Be.url)||Nt.facebookLink,linkedinLink:((Or=(Fr=(Vr=(Dr=X.email)==null?void 0:Dr.footer)==null?void 0:Vr.social)==null?void 0:Fr.linkedin)==null?void 0:Or.url)||Nt.linkedinLink,instagramLink:((K=(O=(C=(Wr=X.email)==null?void 0:Wr.footer)==null?void 0:C.social)==null?void 0:O.instagram)==null?void 0:K.url)||Nt.instagramLink,mediumLink:(($e=(Le=(re=(ue=X.email)==null?void 0:ue.footer)==null?void 0:re.social)==null?void 0:Le.medium)==null?void 0:$e.url)||Nt.mediumLink,xLink:((cr=(Ct=(wr=(Mt=X.email)==null?void 0:Mt.footer)==null?void 0:wr.social)==null?void 0:Ct.twitter)==null?void 0:cr.url)||Nt.xLink,isPreferences:!!lo};y(Vo),setTimeout(()=>{L.current=!0},100)}},[h,I,v]),Mi(()=>{D(g)},[g,D]);let J=ds(X=>{y(we=>({...we,logo:X}))},[]),U=ds(()=>{d("template"),H(null)},[d,H]);return Hr(Ch,{children:[st("div",{className:M("courier-z-30 courier-w-full courier-h-12",!o&&"courier-hidden"),children:Hr(yi,{children:[st("div",{className:"courier-text-sm courier-font-medium",children:"Brand theme"}),Hr("div",{className:"courier-flex courier-gap-2 courier-items-center",children:[x!==null&&st(xi,{isLoading:!!E,isSaving:!!x,isError:!!p}),n&&st(Me,{variant:"outline",buttonSize:"small",onClick:U,disabled:b===!0||x===!0,children:"Back"}),!e&&E!==null&&st(Me,{variant:"primary",buttonSize:"small",disabled:!((Ce=(Pe=h==null?void 0:h.data)==null?void 0:Pe.tenant)!=null&&Ce.brand)||b===!0||x!==!1,onClick:V,children:b?"Publishing...":"Publish changes"})]})]})}),Hr("div",{className:M("courier-flex courier-flex-1 courier-flex-row courier-overflow-hidden",!o&&"courier-hidden"),children:[Hr("div",{className:"courier-flex courier-flex-col courier-flex-1",children:[!E&&o&&v&&st(vi,{editor:v}),Hr("div",{className:"courier-editor-container",ref:u,children:[st("div",{className:"courier-mb-3 courier-max-w-2xl courier-self-center courier-w-full",children:"Header"}),Hr("div",{className:M("courier-editor-main courier-transition-all courier-duration-300 courier-ease-in-out courier-py-5 courier-px-9 courier-mb-8 courier-relative courier-overflow-hidden courier-flex courier-flex-col courier-items-start",(g==null?void 0:g.headerStyle)==="border"&&"courier-pt-6"),children:[(g==null?void 0:g.headerStyle)==="border"&&st("div",{className:"courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-h-2",style:{backgroundColor:g.brandColor}}),g!=null&&g.logo?st("img",{src:g.logo,alt:"Brand logo",className:"courier-w-auto courier-max-w-36 courier-object-contain courier-cursor-default"}):st(Hu,{onFileSelect:J})]}),st("div",{className:"courier-mb-3 courier-max-w-2xl courier-self-center courier-w-full",children:"Footer"}),st("div",{className:"courier-theme-editor-main courier-transition-all courier-duration-300 courier-ease-in-out courier-pt-3 courier-pb-5 courier-px-9",children:st(Ni,{variables:i,setEditor:w,facebookLink:g==null?void 0:g.facebookLink,linkedinLink:g==null?void 0:g.linkedinLink,instagramLink:g==null?void 0:g.instagramLink,mediumLink:g==null?void 0:g.mediumLink,xLink:g==null?void 0:g.xLink})})]})]}),st("div",{className:"courier-editor-sidebar courier-opacity-100 courier-translate-x-0 courier-w-64 courier-flex-shrink-0",children:Hr("div",{className:"courier-p-4 courier-h-full",children:[v&&!N&&st(Fu,{editor:v,setForm:y,currentForm:g}),v&&N&&st(gi,{element:N,editor:v})]})})]})]})}),Ai=vh(xh);import{z as k}from"zod";var vn=k.enum(["left","center","right"]),ps=k.enum(["text","h1","h2","subtext"]),wh=k.enum(["button","link"]),Et=k.object({type:k.string(),channels:k.array(k.string()).optional(),ref:k.string().optional(),if:k.string().optional(),loop:k.string().optional(),data:k.record(k.unknown()).optional()}),ms=k.object({color:k.string().optional(),highlight:k.string().optional(),bold:k.boolean().optional(),italic:k.boolean().optional(),strikethrough:k.boolean().optional(),underline:k.boolean().optional()}),Th=ms.extend({type:k.literal("string"),content:k.string()}),kh=ms.extend({type:k.literal("link"),content:k.string(),href:k.string(),disable_tracking:k.boolean().optional()}),Ph=ms.extend({type:k.literal("img"),src:k.string(),alt_text:k.string().optional(),href:k.string().optional(),disable_tracking:k.boolean().optional(),width:k.string().optional()}),$u=k.discriminatedUnion("type",[Th,kh,Ph]),Nh=Et.extend({type:k.literal("text"),align:vn.optional(),text_style:ps.optional(),background_color:k.string().optional(),format:k.literal("markdown").optional(),elements:k.array($u),locales:k.record(k.object({content:k.string().optional()})).optional()}),Eh=Et.extend({type:k.literal("text"),align:vn.optional(),content:k.string(),text_style:ps.optional(),background_color:k.string().optional(),format:k.literal("markdown").optional(),locales:k.record(k.object({content:k.string().optional()})).optional()}),Mh=k.union([Eh,Nh]),Ih=Et.extend({type:k.literal("meta"),title:k.string().optional(),locales:k.record(k.object({title:k.string().optional()})).optional()}),Ah=Et.extend({type:k.literal("channel"),channel:k.string(),elements:k.array(k.lazy(()=>bn)).optional(),raw:k.object({html:k.string().optional(),transformers:k.array(k.string()).optional(),text:k.string().optional()}).passthrough().optional(),locales:k.record(k.object({elements:k.array(k.lazy(()=>bn)).optional(),raw:k.record(k.unknown()).optional()})).optional()}),Lh=Et.extend({type:k.literal("image"),src:k.string(),href:k.string().optional(),align:vn.optional(),alt_text:k.string().optional(),width:k.string().optional(),locales:k.record(k.object({href:k.string().optional(),src:k.string().optional()})).optional()}),Sh=Et.extend({type:k.literal("action"),content:k.string(),href:k.string(),align:vn.optional(),style:wh.optional(),background_color:k.string().optional(),disable_tracking:k.boolean().optional()}),Rh=Et.extend({type:k.literal("divider"),color:k.string().optional()}),Bh=Et.extend({type:k.literal("group"),elements:k.array(k.lazy(()=>bn)),locales:k.record(k.object({elements:k.array(k.lazy(()=>bn)).optional()})).optional()}),Hh=Et.extend({type:k.literal("quote"),content:k.string(),align:vn.optional(),border_color:k.string().optional(),text_style:ps.optional()}),Dh=Et.extend({type:k.literal("html"),content:k.string(),locales:k.record(k.object({content:k.string().optional()})).optional()}),Vh=Et.extend({type:k.literal("comment"),comment:k.string().optional(),object:k.any().optional()}),Uu=Et.extend({type:k.literal("list-item"),background_color:k.string().optional(),elements:k.array(k.union([$u,k.lazy(()=>Zu)]))}),Zu=Et.extend({type:k.literal("list"),list_type:k.enum(["ordered","unordered"]),elements:k.array(k.lazy(()=>Uu)),imgSrc:k.string().optional(),imgHref:k.string().optional()}),bn=k.union([Mh,Ih,Ah,Lh,Sh,Rh,Bh,Hh,Dh,Vh,Zu,Uu]),Fh=k.object({version:k.literal("2022-01-01"),elements:k.array(bn)}),_u=a(e=>{try{return{success:!0,data:Fh.parse(e)}}catch(t){if(t instanceof k.ZodError)return{success:!1,errors:t.errors};throw t}},"validateElemental");import{useCallback as fs,useEffect as Oh,useState as qu}from"react";import{Fragment as Wh,jsx as ju,jsxs as zh}from"react/jsx-runtime";var Gu=a(({value:e,onChange:t})=>{let[r,n]=qu(null),[o,i]=qu(()=>JSON.stringify(e,null,2));Oh(()=>{e&&i(JSON.stringify(e,null,2))},[e]);let s=fs(c=>{var d;try{let f=JSON.parse(c),m=Array.isArray(f)?{version:"2022-01-01",elements:f}:f,h=_u(m);if(h.success)return n(null),!0;{let g=(d=h.errors)==null?void 0:d.map(y=>`${y.path.join(".")}: ${y.message}`).join(`
|
|
185
|
-
`);return n(g!=null?g:null),!1}}catch{return n("Invalid JSON format"),!1}},[]),u=fs(c=>{let d=c.target.value;i(d),s(d)},[s]),l=fs(()=>{let c=s(o);t==null||t(o,c)},[o,t,s]);return zh(Wh,{children:[ju("textarea",{value:o,onChange:u,onBlur:l,className:"courier-flex-1 courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-p-4 courier-h-full",style:{fontFamily:"monospace",border:r?"2px solid #ff0000":void 0},placeholder:"Paste your Elemental JSON here..."}),r&&ju("div",{style:{color:"#ff0000",marginTop:"8px",whiteSpace:"pre-wrap",fontFamily:"monospace",fontSize:"14px"},children:r})]})},"ElementalValue");import{Toaster as $h}from"sonner";import{jsx as Ku,jsxs as Uh}from"react/jsx-runtime";var Li=a(({theme:e,children:t})=>Ku(al,{theme:e,children:Uh("div",{className:"courier-relative courier-h-full courier-rounded-sm courier-border courier-border-border courier-bg-card courier-flex courier-flex-col courier-text-foreground courier-min-w-[812px] courier-overflow-hidden","data-mode":"light",children:[Ku($h,{position:"top-center",expand:!0,visibleToasts:2,style:{position:"absolute",top:"10px",left:"50%",transform:"translateX(-50%)"}}),t]})}),"EditorLayout");import{Fragment as Zh,jsx as Do,jsxs as Si}from"react/jsx-runtime";var Ju=a(({value:e,icon:t,...r})=>Do(ct,{value:e,...r,className:"!courier-w-10 !courier-h-6 [&_svg]:!courier-size-5 [&_svg]:courier-fill-accent hover:courier-bg-transparent courier-rounded-sm data-[state=on]:courier-bg-background [&_svg]:data-[state=on]:courier-fill-foreground",children:t}),"PreviewItem"),Xu=a(({previewMode:e,togglePreviewMode:t})=>Si("div",{className:"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",children:[e&&Si(Zh,{children:[Si(fr,{type:"single",value:e,onValueChange:r=>{r!==""&&t(r)},className:"courier-w-full courier-rounded-md !courier-p-0.5 courier-bg-[#3B82F6] !courier-gap-0",children:[Do(Ju,{value:"desktop",icon:Do(ua,{})}),Do(Ju,{value:"mobile",icon:Do(ma,{})})]}),Do("div",{className:"courier-mx-4 courier-w-px courier-h-6 courier-bg-border"})]}),Si(Me,{variant:"link",onClick:()=>t(),children:[e?"Exit":"View"," Preview"]})]}),"PreviewPanel");import{closestCenter as rd,DndContext as Yh,DragOverlay as Qh,getFirstCollision as e5,KeyboardSensor as t5,MeasuringStrategy as r5,MouseSensor as o5,pointerWithin as n5,rectIntersection as i5,TouchSensor as a5,useSensor as hs,useSensors as s5}from"@dnd-kit/core";import{arrayMove as l5,SortableContext as od,verticalListSortingStrategy as c5}from"@dnd-kit/sortable";import{EditorContent as u5}from"@tiptap/react";import{useAtom as d5,useAtomValue as ao,useSetAtom as p5}from"jotai";import{forwardRef as m5,memo as f5,useCallback as Ri,useEffect as bs,useMemo as g5,useRef as vs,useState as xn}from"react";import{v4 as h5}from"uuid";import{useAtomValue as ed,useSetAtom as Jh}from"jotai";import{GripVertical as Xh}from"lucide-react";import{useSortable as _h}from"@dnd-kit/sortable";import{forwardRef as qh,useEffect as Yu,useState as jh}from"react";import{jsx as gs}from"react/jsx-runtime";function Gh(){let[e,t]=jh(!1);return Yu(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}a(Gh,"useMountStatus");var Qu=a(({children:e,id:t,className:r})=>{let{setNodeRef:n,setActivatorNodeRef:o,listeners:i,isDragging:s,transform:u,transition:l}=_h({id:t}),c=Gh();return gs(Kh,{ref:n,id:t,transition:l,transform:u,fadeIn:s&&!c,listeners:i,className:r,handleProps:{ref:o},children:e})},"SideBarSortableItemWrapper"),Kh=qh(({children:e,className:t,dragOverlay:r,handleProps:n,listeners:o,id:i},s)=>(Yu(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]),gs("div",{ref:s,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":i,className:M(t,"courier-relative"),children:gs("div",{...n,...o,children:e})})));import{jsx as Ye,jsxs as yn}from"react/jsx-runtime";var td=a(({items:e,brandEditor:t})=>{var i,s;let r=ed(He),n=Jh(mo),o=ed(ot);return yn("div",{className:"courier-flex courier-flex-col courier-h-full",children:[yn("div",{className:"courier-flex-1",children:[Ye("p",{children:"Blocks library"}),Ye(fe,{className:"courier-my-4"}),Ye("div",{className:"courier-flex courier-flex-col courier-gap-4 courier-w-full",children:e.map(u=>Ye(Qu,{id:u.toString(),children:yn("div",{className:M("courier-rounded-md courier-border courier-border-border courier-flex courier-flex-row courier-items-center courier-gap-1 courier-bg-white courier-cursor-grab courier-opacity-[0.999] courier-px-3 courier-py-2 courier-select-none"),children:[Ye(Xh,{strokeWidth:1,className:"courier-w-4 courier-stroke-ring courier-fill-ring"}),u==="heading"&&Ye(xo,{draggable:!0}),u==="text"&&Ye(To,{draggable:!0}),u==="image"&&Ye(Co,{draggable:!0}),u==="spacer"&&Ye(wo,{draggable:!0}),u==="divider"&&Ye(yo,{draggable:!0}),u==="button"&&Ye(vo,{draggable:!0})]})},u))})]}),t&&yn("div",{className:"courier-mt-auto courier-pt-4",children:[Ye(fe,{className:"courier-mb-4 -courier-mx-4"}),(s=(i=r==null?void 0:r.data)==null?void 0:i.tenant)!=null&&s.brand?Ye("div",{className:"courier-flex courier-flex-row courier-gap-2 courier-items-center courier-justify-end courier-w-full",children:Ye(Me,{variant:"link",className:"courier-underline",onClick:()=>n("brand"),disabled:!!o,children:"Edit brand"})}):yn("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[Ye("h3",{className:"courier-text-md courier-font-medium",children:"Customize brand theme"}),Ye("p",{className:"courier-text-sm courier-text-muted-foreground",children:"Customize header and footer to apply to the template."}),Ye(Me,{variant:"primary",className:"courier-w-fit courier-mt-2",onClick:()=>n("brand"),children:"Customize"})]})]})]})},"SideBar");import{Fragment as v5,jsx as ke,jsxs as Kt}from"react/jsx-runtime";var b5=m5(({editor:e,handleEditorClick:t,isLoading:r,isVisible:n,hidePublish:o,brandEditor:i,variables:s},u)=>{var lt,xt;let l=ao(Ke),c=p5(Ke),[d,f]=d5(Pr),[m,h]=xn(null),[g,y]=xn(null),b=vs(null),x=vs(!1),E=vs({}),[I,p]=xn(null),[v,w]=xn(void 0),R=ao(He),{publishTemplate:B,isTenantPublishing:T}=Wo(),N=ao(ot),H=ao(Ge),D=ao(xe),P=ao(As),A=ao(Ci),L=g5(()=>{var pe,ae,ee,ne,he,se,te,ie,ve,Ae,mt,G,Ne,be,Be,Dr,Vr,Fr,Or,Wr,C,O,K,ue,re,Le,$e,Mt,wr,Ct,cr,ur,wt,lo;if(A)return A;let S=(ee=(ae=(pe=R==null?void 0:R.data)==null?void 0:pe.tenant)==null?void 0:ae.brand)==null?void 0:ee.settings;return{brandColor:(ne=S==null?void 0:S.colors)==null?void 0:ne.primary,textColor:(he=S==null?void 0:S.colors)==null?void 0:he.secondary,subtleColor:(se=S==null?void 0:S.colors)==null?void 0:se.tertiary,headerStyle:(ie=(te=S==null?void 0:S.email)==null?void 0:te.header)!=null&&ie.barColor?"border":"plain",logo:(mt=(Ae=(ve=S==null?void 0:S.email)==null?void 0:ve.header)==null?void 0:Ae.logo)==null?void 0:mt.image,link:(be=(Ne=(G=S==null?void 0:S.email)==null?void 0:G.header)==null?void 0:Ne.logo)==null?void 0:be.href,facebookLink:(Fr=(Vr=(Dr=(Be=S==null?void 0:S.email)==null?void 0:Be.footer)==null?void 0:Dr.social)==null?void 0:Vr.facebook)==null?void 0:Fr.url,linkedinLink:(O=(C=(Wr=(Or=S==null?void 0:S.email)==null?void 0:Or.footer)==null?void 0:Wr.social)==null?void 0:C.linkedin)==null?void 0:O.url,instagramLink:(Le=(re=(ue=(K=S==null?void 0:S.email)==null?void 0:K.footer)==null?void 0:ue.social)==null?void 0:re.instagram)==null?void 0:Le.url,mediumLink:(Ct=(wr=(Mt=($e=S==null?void 0:S.email)==null?void 0:$e.footer)==null?void 0:Mt.social)==null?void 0:wr.medium)==null?void 0:Ct.url,xLink:(lo=(wt=(ur=(cr=S==null?void 0:S.email)==null?void 0:cr.footer)==null?void 0:ur.social)==null?void 0:wt.twitter)==null?void 0:lo.url}},[A,R]),W=P&&!!L,V=cu,J=c5,[U,Q]=xn({Editor:[],Sidebar:[]}),ce=Ri(()=>{Object.values(E.current).forEach(S=>clearTimeout(S)),E.current={}},[]);bs(()=>()=>{ce()},[ce]),bs(()=>()=>{e&&!e.isDestroyed&&e.setEditable(!0)},[e]),bs(()=>{let S=a(()=>{try{let ae=e.view.dom.querySelectorAll(".react-renderer div[data-node-view-wrapper][data-id]"),ee=Array.from(ae).map(ie=>ie.getAttribute("data-id")).filter(ie=>ie!==null),ne=[];e.state.doc.descendants(ie=>(ie.attrs&&ie.attrs.id&&ne.push(ie.attrs.id),!0));let he=[...new Set([...ee,...ne])],se=e.state.doc.content;if(se.childCount===1&&se.child(0).type.name==="paragraph"&&se.child(0).content.size===0){let ie=se.child(0);if(ie.attrs.id)he.includes(ie.attrs.id)||he.push(ie.attrs.id);else{let ve=`node-${h5()}`,Ae=e.state.tr;Ae.setNodeMarkup(0,void 0,{...ie.attrs,id:ve}),e.view.dispatch(Ae),he.includes(ve)||he.push(ve)}}let te=[...new Set(he)];Q({Editor:te,Sidebar:["heading","text","image","spacer","divider","button"]})}catch(ae){console.error("Error in updateItems:",ae),Q(ee=>({Editor:ee.Editor,Sidebar:["heading","text","image","spacer","divider","button"]}))}},"updateItems");E.current.updateItems=setTimeout(()=>{S()},0),e.on("update",()=>{S()});let pe=a(ae=>{let{newNodeId:ee}=ae.detail;Q(ne=>({...ne,Editor:[...ne.Editor,ee]}))},"handleNodeDuplicated");return document.addEventListener("node-duplicated",pe),()=>{e.off("update",S),document.removeEventListener("node-duplicated",pe),E.current.updateItems&&clearTimeout(E.current.updateItems)}},[e]);let ge=a(S=>{let ae=S||(v===void 0?"desktop":void 0);w(ae),c(null),ae?e.setEditable(!1):e.setEditable(!0)},"togglePreviewMode"),Pe=Ri(()=>{B()},[B]),Ce=s5(hs(o5),hs(a5),hs(t5,{coordinateGetter:V})),X=a(()=>{h(null)},"onDragCancel"),we=a(S=>typeof S=="string"&&S.includes("_temp_")?"Editor":S in U?S:Object.keys(U).find(pe=>U[pe].includes(S)),"findContainer"),pt=Ri(S=>{var ne;if(m&&m in U)return rd({...S,droppableContainers:S.droppableContainers.filter(he=>he.id in U)});let pe=n5(S),ae=pe.length>0?pe:i5(S),ee=e5(ae,"id");if(ee!=null){if(ee in U){let he=U[ee];if(he.length>0){let se=(ne=rd({...S,droppableContainers:S.droppableContainers.filter(te=>te.id!==ee&&he.includes(te.id))})[0])==null?void 0:ne.id;se?ee=se:ee==="Editor"&&(ee="Editor")}}return b.current=ee,[{id:ee}]}return x.current&&(b.current=m),b.current?[{id:b.current}]:[]},[m,U]),ze=Ri(S=>{var pe;try{let ae=e.state.doc;if(S===0)return 0;if(S>=ae.childCount)return ae.content.size;let ee=0;for(let ne=0;ne<Math.min(S,ae.childCount);ne++)ee+=(pe=ae.child(ne))==null?void 0:pe.nodeSize;return ee}catch{return e.state.doc.content.size}},[e]),Qe=a(()=>{e.commands.removeDragPlaceholder(),Q(S=>({...S,Editor:S.Editor.filter(pe=>!pe.toString().includes("_temp"))}))},"cleanupPlaceholder"),et=a(S=>{f(S.target.value)},"handleSubjectChange");return Kt(v5,{children:[!r&&n&&Kt(yi,{children:[Kt("div",{className:"courier-flex courier-items-center courier-gap-2 courier-grow",children:[ke("h4",{className:"courier-text-sm",children:"Subject: "}),ke(de,{value:d!=null?d:"",onChange:et,onFocus:()=>c(null),className:"!courier-bg-background read-only:courier-cursor-default read-only:courier-border-transparent md:courier-text-md courier-py-1 courier-border-transparent !courier-border-none courier-font-medium",placeholder:"Write subject...",readOnly:v!==void 0})]}),Kt("div",{className:"courier-w-64 courier-pl-4 courier-flex courier-justify-end courier-items-center courier-gap-2",children:[N!==null&&ke(xi,{isLoading:!!H,isSaving:!!N,isError:!!D}),!o&&H!==null&&ke(Me,{variant:"primary",buttonSize:"small",disabled:!((xt=(lt=R==null?void 0:R.data)==null?void 0:lt.tenant)!=null&&xt.notification)||T===!0||N!==!1,onClick:Pe,children:T?"Publishing...":"Publish changes"})]})]}),Kt(Yh,{sensors:Ce,collisionDetection:pt,measuring:{droppable:{strategy:r5.Always}},onDragStart:({active:S})=>{h(S.id),(S.id==="text"||S.id==="divider"||S.id==="spacer"||S.id==="button"||S.id==="image"||S.id==="heading")&&y(S.id)},onDragMove:({active:S,over:pe})=>{if(!pe)return;let ae=we(pe.id);if(!(we(S.id)==="Sidebar"&&ae==="Editor"))return;let ne=S.rect.current;if(!(ne!=null&&ne.translated))return;let he=e.view.dom.querySelectorAll("[data-node-view-wrapper]"),se=he.length;for(let te=0;te<he.length;te++){let ve=he[te].getBoundingClientRect();if(ne.translated.top<ve.top+ve.height/2){se=te;break}}if(se!==I){let te=`${S.id}_temp_${Date.now()}`;p(se),requestAnimationFrame(()=>{e.commands.removeDragPlaceholder(),e.commands.setDragPlaceholder({id:te,type:S.id,pos:ze(se)}),Q(ie=>({...ie,Editor:[...ie.Editor.filter(ve=>!ve.toString().includes("_temp")),te]}))})}},onDragEnd:({active:S,over:pe})=>{var he;Qe();let ae=pe==null?void 0:pe.id;if(!ae){Q(se=>({...se,Editor:se.Editor.filter(te=>!te.toString().includes("_temp"))})),h(null),y(null);return}let ee=we(ae),ne=we(S.id);if(ne==="Sidebar"&&ee==="Editor"&&I!==null){let se=ze(I);mi(e,g,se,void 0,te=>c(te))}else if(ne===ee){let se=U[ne].indexOf(S.id),te=U[ee].indexOf(ae);if(se!==-1&&te!==-1&&se!==te){Q(ve=>({...ve,[ee]:l5(ve[ee],se,te)}));let ie=(he=e.getJSON())==null?void 0:he.content;if(Array.isArray(ie)){let ve=[...ie],[Ae]=ve.splice(se,1);ve.splice(te,0,Ae),e.view.dispatch(e.view.state.tr.replaceWith(0,e.view.state.doc.content.size,e.state.schema.nodeFromJSON({type:"doc",content:ve})))}}}ne==="Sidebar"&&ee==="Sidebar"&&setTimeout(()=>{Qe()},100),p(null),h(null),y(null)},onDragCancel:()=>{Qe(),e.commands.removeDragPlaceholder(),X()},children:[Kt("div",{className:M("courier-flex courier-flex-1 courier-overflow-hidden",v&&"courier-editor-preview-mode",v==="mobile"&&"courier-editor-preview-mode-mobile",!n&&"courier-hidden"),children:[Kt("div",{className:"courier-flex courier-flex-col courier-flex-1",children:[!r&&n&&ke(vi,{editor:e}),Kt("div",{className:"courier-editor-container courier-relative",ref:u,children:[Kt("div",{className:M("courier-editor-main courier-transition-all courier-duration-300 courier-ease-in-out",v&&"courier-max-w-4xl courier-mx-auto"),children:[W&&Kt("div",{className:M("courier-py-5 courier-px-9 courier-pb-0 courier-relative courier-overflow-hidden courier-flex courier-flex-col courier-items-start",(L==null?void 0:L.headerStyle)==="border"&&"courier-pt-6"),children:[(L==null?void 0:L.headerStyle)==="border"&&ke("div",{className:"courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-h-2",style:{backgroundColor:L==null?void 0:L.brandColor}}),(L==null?void 0:L.logo)&&ke("img",{src:L.logo,alt:"Brand logo",className:"courier-w-auto courier-max-w-36 courier-object-contain courier-cursor-default"})]}),ke(od,{items:U.Editor,strategy:J,children:ke(u5,{editor:e,onClick:t})}),W&&ke("div",{className:"courier-py-5 courier-px-9 courier-pt-0 courier-flex courier-flex-col",children:ke(Ni,{readOnly:!0,variables:s,facebookLink:L==null?void 0:L.facebookLink,linkedinLink:L==null?void 0:L.linkedinLink,instagramLink:L==null?void 0:L.instagramLink,mediumLink:L==null?void 0:L.mediumLink,xLink:L==null?void 0:L.xLink})})]}),ke(Xu,{previewMode:v,togglePreviewMode:ge})]})]}),ke("div",{className:M("courier-editor-sidebar",v?"courier-opacity-0 courier-pointer-events-none courier-translate-x-full courier-w-0 courier-flex-shrink-0":"courier-opacity-100 courier-translate-x-0 courier-w-64 courier-flex-shrink-0"),children:ke("div",{className:"courier-p-4 courier-h-full",children:l?ke(gi,{element:l,editor:e}):ke(od,{items:U.Sidebar,strategy:J,children:ke(td,{items:U.Sidebar,brandEditor:i})})})})]}),ke(Qh,{dropAnimation:null,children:m&&(m==="text"||m==="divider"||m==="spacer"||m==="button"||m==="image"||m==="heading")?Kt("div",{className:M("courier-bg-white courier-border courier-border-border courier-rounded-lg courier-p-4 courier-shadow-lg","courier-opacity-90 courier-scale-105 courier-transition-transform"),children:[g==="heading"&&ke(xo,{draggable:!0}),g==="text"&&ke(To,{draggable:!0}),g==="spacer"&&ke(wo,{draggable:!0}),g==="divider"&&ke(yo,{draggable:!0}),g==="button"&&ke(vo,{draggable:!0}),g==="image"&&ke(Co,{draggable:!0})]}):null})]})]})}),nd=f5(b5);import{Extension as y5}from"@tiptap/core";import{TextSelection as x5}from"@tiptap/pm/state";import{useEditor as C5}from"@tiptap/react";import{useAtom as w5,useAtomValue as T5,useSetAtom as k5}from"jotai";import{useCallback as Cn,useMemo as P5,useRef as N5}from"react";var id=a(({initialContent:e={version:"2022-01-01",elements:[{type:"text",align:"left",content:`
|
|
186
|
-
`,text_style:"h1"},{type:"text",align:"left",content:""},{type:"image",src:""}]},readOnly:t=!1,variables:r,ydoc:n,onDestroy:o,setSelectedNode:i})=>{let s=k5(bo),u=N5(),[l,c]=w5(In),d=T5(Pr),f=y5.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:I})=>{let{state:p,dispatch:v}=I.view;return v(p.tr.setSelection(x5.create(p.doc,p.selection.$anchor.pos))),i&&i(null),!1}}}}),m=Cn(()=>{i&&setTimeout(()=>{i(null)},100)},[i]),h=Cn(({editor:I})=>{let p=po(I.getJSON(),d!=null?d:"");JSON.stringify(l)!==JSON.stringify(p)&&c(p)},[l,d,c]),g=Cn(({editor:I})=>{let{selection:p}=I.state,w=p.$head.marks().find(R=>R.type.name==="link");w||I.isActive("link")?s({mark:w}):s(null)},[s]),y=Cn(({editor:I,transaction:p})=>{let{selection:v}=I.state;if(p==null?void 0:p.getMeta("showLinkForm")){let B=v.$head.marks().find(T=>T.type.name==="link");s({mark:B,link:{from:v.from,to:v.to}})}},[s]),b=Cn(()=>{u.current&&clearTimeout(u.current),o==null||o()},[o]),x=P5(()=>[...Ti({variables:r,setSelectedNode:i}),f].filter(I=>I!==void 0),[f,r,i]),E=C5({content:zr(e),immediatelyRender:!0,shouldRerenderOnTransaction:!0,autofocus:!t,editable:!t,onCreate:m,onUpdate:h,onSelectionUpdate:g,onTransaction:y,onDestroy:b,extensions:x},[n]);return window.editor=E,{editor:E}},"useBlockEditor");import{Fragment as sd,jsx as so,jsxs as Tn}from"react/jsx-runtime";var Cs=null,ws=null,Ts=!1,S5=a(e=>{let t=e.elements.find(r=>r.type==="channel"&&r.channel==="email");if(t&&"elements"in t&&t.elements){let r=t.elements.find(n=>n.type==="meta");if(r&&"title"in r&&typeof r.title=="string")return r.title}return null},"getSubject"),R5=a(({theme:e,value:t,onChange:r,variables:n,hidePublish:o=!1,autoSave:i=!0,autoSaveDebounce:s=200,brandEditor:u=!1,brandProps:l})=>{let[c,d]=I5(t),f=wn(Ge),m=wn(Ke),h=Bi(Ke),g=Bi(Tl),[y,b]=ys(He),x=wn(dr),E=wn(Ee),I=Bi(En),[p,v]=ys(Pr),{getTenant:w,saveTemplate:R}=Wo(),B=ad(()=>new L5,[]),T=wn(mo),N=xs(!1),H=xs(!1),[D,P]=ys(In),A=Bi(Ht),L=xs(-1);lr(()=>{y&&(x!==Cs||E!==ws)&&(b(null),P(null),A(null),v(null),H.current=!1,d(void 0))},[x,H,y,E,P,v,b,A]);let{handleAutoSave:W}=Pn({onSave:R,debounceMs:s,enabled:f!==null&&i,onError:()=>A5.error("Error saving template")});lr(()=>{!x||!E||f||Ts||x===Cs&&E===ws||(Cs=x,ws=E,Ts=!0,w({includeBrand:u}).finally(()=>{Ts=!1}))},[x,E,u,w,f]),lr(()=>{if(m){let U=m.type.name,Q=Cl(U);g({nodeName:U,config:Q})}},[m,g]);let{editor:V}=id({initialContent:ad(()=>c,[]),ydoc:B,variables:n,setSelectedNode:h,subject:p});lr(()=>{var ce,ge,Pe,Ce;let U=(Ce=(Pe=(ge=(ce=y==null?void 0:y.data)==null?void 0:ce.tenant)==null?void 0:ge.notification)==null?void 0:Pe.data)==null?void 0:Ce.content;if(f===!1&&!U&&(H.current=!0),!U||!V)return;let Q=S5(U);v(Q!=null?Q:""),setTimeout(()=>{V.commands.setContent(zr(U))},0),setTimeout(()=>{H.current=!0},100)},[y,f,V,v,d,P]),lr(()=>{!H.current||!D||JSON.stringify(c)===JSON.stringify(D)||(setTimeout(()=>{d(D)},0),c&&(r&&r(D),D!==null&&W(D)))},[c,D,W,r]),lr(()=>{if(p===null||!H.current)return;let U=po(V.getJSON(),p!=null?p:"");JSON.stringify(D)!==JSON.stringify(U)&&P(U)},[D,V,p,P]),lr(()=>{V&&I(V)},[V,I]),lr(()=>{V&&N.current&&V.commands.updateSelectionState(m)},[V,m]),lr(()=>{let U=a(Q=>{if(Q.key==="Escape"&&(h(null),V==null||V.commands.blur(),L.current=-1),Q.key==="Tab"&&V){Q.preventDefault();let ce=-1;m&&V.state.doc.content.forEach((Ce,X,we)=>{m.attrs.id===Ce.attrs.id&&(ce=we)}),ce===-1&&(ce=0);let ge=V.state.doc,Pe;if(Q.shiftKey?Pe=(ce-1+ge.childCount)%ge.childCount:Pe=(ce+1)%ge.childCount,Pe!==ce||m===null){let Ce=ge.child(Pe);h(Ce),V.commands.blur()}}},"handleKeyPress");return document.addEventListener("keydown",U),()=>{document.removeEventListener("keydown",U)}},[V,m,h]);let J=M5(U=>{if(!V||!N.current||!V.isEditable)return;let Q=U.target,ce=V.view.posAtDOM(Q,0),ge=V.state.doc.resolve(ce).node();ge.type.name==="paragraph"&&h(ge)},[V,h]);return lr(()=>(N.current=!0,()=>{N.current=!1}),[]),Tn(sd,{children:[Tn(Li,{theme:e,children:[f&&so("div",{className:"courier-editor-loading",children:so(hr,{})}),V&&Tn(sd,{children:[so(nd,{editor:V,variables:n,handleEditorClick:J,isLoading:!!f,isVisible:T==="template",hidePublish:o,brandEditor:u}),u&&so(Ai,{hidePublish:o,autoSave:i,isVisible:T==="brand",templateEditor:!0,variables:n,...l})]})]}),Tn("div",{className:"courier-mt-12 courier-w-full",children:["Ver: 0.0.20",Tn("div",{className:"courier-flex courier-gap-4 courier-w-full courier-h-[300px]",children:[so("textarea",{className:"courier-flex-1 courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-p-4 courier-h-full",readOnly:!0,value:c?JSON.stringify(c,null,2):""}),so("div",{className:"courier-flex courier-flex-col courier-w-1/2",children:so(Gu,{value:c,onChange:(U,Q)=>{if(Q)try{let ce=JSON.parse(U);d(ce),V&&V.commands.setContent(zr(ce))}catch(ce){console.error("Invalid JSON format",ce)}}})})]})]})]})},"TemplateEditorComponent"),RI=E5(R5);import{useAtom as B5,useAtomValue as ld,useSetAtom as H5}from"jotai";import{forwardRef as D5,memo as V5,useEffect as Hi,useRef as F5}from"react";import{jsx as ks,jsxs as W5}from"react/jsx-runtime";var Di=null,Vi=!1,O5=D5(({hidePublish:e=!1,autoSaveDebounce:t=200,autoSave:r=!0,theme:n,...o},i)=>{let s=ld(Ge),u=F5(!0),l=ld(Ee),{getTenant:c}=$o(),[d,f]=B5(He),m=H5(Ht);return Hi(()=>{d&&l!==Di&&(f(null),m(null),u.current=!1)},[d,l,f,m]),Hi(()=>()=>{Di=null,Vi=!1},[]),Hi(()=>{!l||s||Vi||l!==Di&&(Di=l,Vi=!0,c().finally(()=>{Vi=!1}))},[l,c,s]),Hi(()=>{s||(u.current=!1)},[s]),W5(Li,{theme:n,children:[s&&u.current&&ks("div",{className:"courier-editor-loading",children:ks(hr,{})}),ks(Ai,{ref:i,isVisible:!s,autoSaveDebounce:t,autoSave:r,hidePublish:e,...o})]})}),_I=V5(O5);export{_I as BrandEditor,Bd as BrandProvider,RI as TemplateEditor,Ed as TemplateProvider,tt as apiUrlAtom,As as brandApplyAtom,Tr as clientKeyAtom,Nn as editorStore,Ge as isTenantLoadingAtom,At as isTenantPublishingAtom,ot as isTenantSavingAtom,dr as templateIdAtom,He as tenantDataAtom,En as tenantEditorAtom,xe as tenantErrorAtom,Ee as tenantIdAtom,rt as tokenAtom,$o as useBrandActions,Wo as useTemplateActions};
|
|
183
|
+
`}default:return((g=e.content)==null?void 0:g.map(pn).join(""))||""}},"convertNodeToMarkdown");function vi(e){return e.content?e.content.map(pn).join("").trim():""}a(vi,"convertTiptapToMarkdown");import{Extension as zg}from"@tiptap/core";import{TextSelection as $g}from"@tiptap/pm/state";import{useEditor as Ug}from"@tiptap/react";import{useAtom as qg,useSetAtom as Zg}from"jotai";import{useCallback as mn,useMemo as _g,useRef as jg}from"react";var Iu=a(({initialContent:e={version:"2022-01-01",elements:[{type:"text",align:"left",content:""}]},readOnly:t=!1,variables:r,ydoc:n,onDestroy:o,setSelectedNode:i})=>{let s=Zg(go),u=jg(),[c,l]=qg(Bt),d=zg.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:A})=>{let{state:N,dispatch:p}=A.view;return p(N.tr.setSelection($g.create(N.doc,N.selection.$anchor.pos))),i&&i(null),!1}}}}),f=mn(()=>{i&&setTimeout(()=>{i(null)},100)},[i]),m=mn(({editor:A})=>{let N=vi(A.getJSON());JSON.stringify(c)!==JSON.stringify(N)&&l(N)},[c,l]),h=mn(({editor:A})=>{let{selection:N}=A.state,v=N.$head.marks().find(x=>x.type.name==="link");v||A.isActive("link")?s({mark:v}):s(null)},[s]),g=mn(({editor:A,transaction:N})=>{let{selection:p}=A.state;if(N==null?void 0:N.getMeta("showLinkForm")){let S=p.$head.marks().find(R=>R.type.name==="link");s({mark:S,link:{from:p.from,to:p.to}})}},[s]),b=mn(()=>{u.current&&clearTimeout(u.current),o==null||o()},[o]),y=_g(()=>[...bi({variables:r,setSelectedNode:i}),d].filter(A=>A!==void 0),[d,r,i]),C=Ug({content:so(e),immediatelyRender:!0,shouldRerenderOnTransaction:!0,autofocus:!t,editable:!t,onCreate:f,onUpdate:m,onSelectionUpdate:h,onTransaction:g,onDestroy:b,extensions:y},[n]);return window.editor=C,{editor:C}},"useBlockEditor");import{jsx as Kt,jsxs as Au}from"react/jsx-runtime";var Qg=a(({variables:e,facebookLink:t,linkedinLink:r,instagramLink:n,mediumLink:o,xLink:i,readOnly:s=!1,setEditor:u})=>{let c=ns(()=>new Yg,[]),l=Lu(!1),[d,f]=Kg(Bt),m=Eu(Ne),h=Eu(Ze),g=Lu(!1),b=ns(()=>({urls:{unsubscribe:!0,preferences:!0},...e}),[e]),y=Xg(()=>{},[]),{editor:C}=Iu({initialContent:ns(()=>({version:"2022-01-01",elements:[{type:"text",align:"left",content:""}]}),[]),ydoc:c,variables:b,readOnly:s,setSelectedNode:y});return yi(()=>{s&&d&&setTimeout(()=>{C.commands.setContent(Bi(d)),C.chain().focus().setTextSelection(0).run()},0)},[s,d,C]),yi(()=>{var N,p,v,x,S,R,T;let A=(T=(R=(S=(x=(v=(p=(N=m==null?void 0:m.data)==null?void 0:N.tenant)==null?void 0:p.brand)==null?void 0:v.settings)==null?void 0:x.email)==null?void 0:S.footer)==null?void 0:R.markdown)!=null?T:"";h===!1&&!A&&(g.current=!0),C&&(setTimeout(()=>{C.commands.setContent(Bi(A)),C.chain().focus().setTextSelection(0).run(),f(A)},0),setTimeout(()=>{g.current=!0},100))},[m,h,C,f]),yi(()=>(l.current=!0,()=>{l.current=!1}),[]),yi(()=>{C&&u&&l.current&&u(C)},[C,u]),Au("div",{className:"courier-flex courier-flex-row courier-gap-6 courier-justify-between courier-items-start",children:[Kt(Gg,{editor:C,className:E("courier-py-2 courier-flex-grow",s&&"courier-brand-editor-readonly")}),Au("div",{className:"courier-flex courier-justify-end courier-items-center courier-gap-2 courier-mt-3",children:[t&&Kt("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:Kt(qo,{className:"courier-w-5 courier-h-5"})}),r&&Kt("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:Kt(_o,{className:"courier-w-5 courier-h-5"})}),n&&Kt("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:Kt(Zo,{className:"courier-w-5 courier-h-5"})}),o&&Kt("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:Kt(jo,{className:"courier-w-5 courier-h-5"})}),i&&Kt("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:Kt(Ko,{className:"courier-w-5 courier-h-5"})})]})]})},"BrandFooterComponent"),xi=Jg(Qg);var Ci=a((e,t)=>new Promise(r=>{let n=new FileReader;n.onload=o=>{var s;let i=new Image;i.onload=()=>{var f;let u,c;i.width>i.height?(u=Math.min(t,i.width),c=Math.round(i.height/i.width*u)):(c=Math.min(t,i.height),u=Math.round(i.width/i.height*c));let l=document.createElement("canvas");l.width=u,l.height=c;let d=l.getContext("2d");if(d){d.imageSmoothingEnabled=!0,d.imageSmoothingQuality="high",d.drawImage(i,0,0,u,c);let m=.8,h=l.toDataURL(e.type||"image/jpeg",m),g=0,b=5;for(;h.length>512e3&&g<b;)g++,m-=.1,m<.3&&(m=.3),h=l.toDataURL(e.type||"image/jpeg",m);r({dataUrl:h,width:u,height:c})}else r({dataUrl:(f=o.target)==null?void 0:f.result,width:i.width,height:i.height})},i.src=(s=o.target)==null?void 0:s.result},n.readAsDataURL(e)}),"resizeImage");import{useCallback as oo,useRef as e5,useState as t5}from"react";import{jsx as is,jsxs as r5}from"react/jsx-runtime";var Su=a(({onFileSelect:e})=>{let[t,r]=t5(!1),n=e5(null),o=oo(f=>{f.preventDefault(),f.stopPropagation(),f.dataTransfer.types.includes("Files")&&Array.from(f.dataTransfer.items).some(g=>g.type.startsWith("image/"))&&(r(!0),f.dataTransfer.dropEffect="copy")},[]),i=oo(f=>{f.preventDefault(),f.stopPropagation(),r(!1)},[]),s=oo(f=>{f.preventDefault(),f.stopPropagation(),f.dataTransfer.types.includes("Files")&&Array.from(f.dataTransfer.items).some(g=>g.type.startsWith("image/"))&&r(!0)},[]),u=oo(async f=>{try{let{dataUrl:m}=await Ci(f,800);e==null||e(m),n.current&&(n.current.value="")}catch(m){console.error("Error processing image:",m),n.current&&(n.current.value="")}},[e]),c=oo(f=>{f.preventDefault(),f.stopPropagation(),r(!1);let h=Array.from(f.dataTransfer.files).find(g=>g.type.startsWith("image/"));h&&u(h)},[u]),l=oo(f=>{var h;let m=(h=f.target.files)==null?void 0:h[0];m&&u(m)},[u]),d=oo(f=>{var m;f.preventDefault(),f.stopPropagation(),(m=n.current)==null||m.click()},[]);return r5("div",{className:E("courier-bg-gray-100 courier-rounded-md courier-flex courier-flex-row courier-items-center courier-cursor-pointer courier-transition-colors courier-py-4 courier-px-6 courier-gap-1 !courier-w-fit",t&&"courier-border-primary courier-bg-gray-50"),onDragOver:o,onDragEnter:s,onDragLeave:i,onDrop:c,style:{pointerEvents:"all"},children:[is("span",{className:"courier-text-sm courier-pointer-events-none",children:"Drag and drop logo, or"}),is("button",{className:"courier-underline courier-font-medium courier-text-sm",onClick:d,type:"button",children:"Browse"}),is("input",{ref:n,type:"file",accept:"image/*",className:"courier-hidden",onChange:l},"logo-input")]})},"LogoUploader");import{zodResolver as o5}from"@hookform/resolvers/zod";import{useSetAtom as n5}from"jotai";import{ArrowUp as i5}from"lucide-react";import{useCallback as Ru,useEffect as a5,useRef as s5}from"react";import{useForm as c5}from"react-hook-form";import{jsx as O,jsxs as ft}from"react/jsx-runtime";var Bu=a(({isActive:e,onClick:t,value:r})=>O("div",{className:E("courier-w-full courier-h-16 courier-rounded-md courier-border-border courier-border courier-overflow-hidden courier-bg-secondary courier-cursor-pointer",e&&"!courier-border-[#3B82F6]"),onClick:t,children:O("div",{className:"courier-h-full courier-m-2 courier-rounded-md courier-border-border courier-border courier-shadow-md courier-bg-background courier-overflow-hidden",children:r==="border"&&O("div",{className:"courier-w-full courier-bg-[#000000] courier-h-1"})})}),"HeaderStyle"),Hu=a(({editor:e,setForm:t,currentForm:r})=>{var d,f;let n=s5(null),o=n5(Bt),i=c5({resolver:o5(Mu),defaultValues:r||kt});a5(()=>{r&&i.reset(r)},[r,i]);let s=Ru(()=>{let m=i.getValues();t&&t(m)},[i,t]),u=Ru(m=>{var h,g,b,y;if(m)e.chain().focus().insertContent({type:"paragraph",content:[{type:"text",text:"Manage Notification Preferences",marks:[{type:"link",attrs:{href:"{{urls.preferences}}"}}]}]}).run();else{let C=e.getJSON(),A=((h=C.content)==null?void 0:h.filter(v=>v.type==="paragraph"))||[];if(!((b=(g=A[A.length-1])==null?void 0:g.content)==null?void 0:b.find(v=>{var x;return v.type==="text"&&((x=v.marks)==null?void 0:x.some(S=>{var R;return S.type==="link"&&((R=S.attrs)==null?void 0:R.href)==="{{urls.preferences}}"}))})))return;let p=A.findIndex(v=>{var x;return(x=v.content)==null?void 0:x.some(S=>{var R;return S.type==="text"&&((R=S.marks)==null?void 0:R.some(T=>{var P;return T.type==="link"&&((P=T.attrs)==null?void 0:P.href)==="{{urls.preferences}}"}))})});if(p!==-1){let v=((y=C.content)==null?void 0:y.slice(0,p))||[];e.chain().focus().setContent({type:"doc",content:v}).run()}}setTimeout(()=>{let C=vi(e.getJSON());o(C)},100)},[e,o]),c=((f=(d=e==null?void 0:e.extensionManager.extensions.find(m=>m.name==="variableSuggestion"))==null?void 0:d.options)==null?void 0:f.variables)||{},l=Ot(c);return O(ut,{...i,children:O("form",{onChange:()=>s(),children:ft("div",{className:"courier-pb-6",children:[O("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Header style"}),O(G,{control:i.control,name:"headerStyle",render:({field:m})=>ft(Z,{className:"courier-mb-4",children:[O(_,{children:ft("div",{className:"courier-w-full courier-flex courier-flex-row courier-gap-3",children:[O(Bu,{isActive:m.value==="plain",onClick:()=>{m.onChange("plain"),t({...i.getValues(),headerStyle:"plain"})},value:"plain"}),O(Bu,{isActive:m.value==="border",onClick:()=>{m.onChange("border"),t({...i.getValues(),headerStyle:"border"})},value:"border"})]})}),O(j,{})]})}),O(pe,{className:"courier-mb-4"}),O("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Logo"}),ft("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[i.getValues().logo?O(we,{onClick:()=>{let m=i.getValues();m.logo="",i.reset(m),t({...m}),n.current&&(n.current.value=""),s()},className:"courier-w-full",variant:"outline",type:"button",children:"Remove logo"}):ft(we,{onClick:m=>{m.preventDefault(),n.current&&(n.current.value="",n.current.click())},className:"courier-w-full",variant:"outline",type:"button",children:[O(i5,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-mr-2 courier-text-foreground"}),"Upload logo"]}),O("input",{ref:n,type:"file",accept:"image/*",className:"courier-hidden",onChange:async m=>{var g;let h=(g=m.target.files)==null?void 0:g[0];if(h)try{let{dataUrl:b}=await Ci(h,800),y=i.getValues();y.logo=b,i.reset(y),t({...y})}catch(b){console.error("Error processing image:",b)}n.current&&(n.current.value="")}})]}),O(G,{control:i.control,name:"link",render:({field:m})=>ft(Z,{className:"courier-mb-3",children:[O(_,{children:O(wt,{as:"Textarea",placeholder:"Link",...m,variables:l,onChange:h=>{m.onChange(h),s()}})}),O(j,{})]})}),O(pe,{className:"courier-mb-4"}),O("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Brand color"}),O(G,{control:i.control,name:"brandColor",render:({field:m})=>ft(Z,{className:"courier-mb-4",children:[O(_,{children:O(Ve,{...m,defaultValue:m.value,onChange:h=>{m.onChange(h),s()}})}),O(j,{})]})}),O(pe,{className:"courier-mb-4"}),O("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Footer links"}),ft("div",{className:"courier-flex courier-flex-col courier-gap-3 courier-mb-3",children:[O(G,{control:i.control,name:"facebookLink",render:({field:m})=>ft(Z,{children:[O(_,{children:O(ce,{startAdornment:O(qo,{}),placeholder:"facebook.com/username",...m})}),O(j,{})]})}),O(G,{control:i.control,name:"linkedinLink",render:({field:m})=>ft(Z,{children:[O(_,{children:O(ce,{startAdornment:O(_o,{}),placeholder:"linkedin.com/username",...m})}),O(j,{})]})}),O(G,{control:i.control,name:"instagramLink",render:({field:m})=>ft(Z,{children:[O(_,{children:O(ce,{startAdornment:O(Zo,{}),placeholder:"instagram.com/username",...m})}),O(j,{})]})}),O(G,{control:i.control,name:"mediumLink",render:({field:m})=>ft(Z,{children:[O(_,{children:O(ce,{startAdornment:O(jo,{}),placeholder:"medium.com/username",...m})}),O(j,{})]})}),O(G,{control:i.control,name:"xLink",render:({field:m})=>ft(Z,{children:[O(_,{children:O(ce,{startAdornment:O(Ko,{}),placeholder:"x.com/username",...m})}),O(j,{})]})})]}),O(pe,{className:"courier-mb-4"}),O("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Footer actions"}),O(G,{control:i.control,name:"isPreferences",render:({field:m})=>ft(Z,{className:"courier-flex courier-flex-row courier-items-center courier-gap-2 courier-mb-4",children:[O(_,{children:O(Gi,{checked:m.value,onCheckedChange:h=>{m.onChange(h),u(h),s()}})}),O(Wo,{className:"!courier-m-0",children:"Manage Preferences"}),O(j,{})]})})]})})})},"SideBar");import{Fragment as m5,jsx as nt,jsxs as Vr}from"react/jsx-runtime";var p5=l5(({hidePublish:e=!1,autoSaveDebounce:t=200,autoSave:r,templateEditor:n,isVisible:o=!0,variables:i,onChange:s},u)=>{var le,X,ne,be,fe;let[c,l]=Ti(),d=Vu(lo),{saveBrand:f,publishBrand:m}=Oo(),h=Ro(Ne),[g,b]=Ti((ne=(X=(le=h==null?void 0:h.data)==null?void 0:le.tenant)==null?void 0:X.brand)==null?void 0:ne.settings),y=Ro(Et),C=Ro(tt),A=Ro(Ze),N=Ro(Ce),p=Ro(he),[v,x]=Ti(null),[S,R]=Ti(void 0),T=Fu(""),[P,B]=Du(_e),k=Vu(gi),[M,D]=Du(Bt),$=Fu(!1),{handleAutoSave:W}=Cn({onSave:async K=>{await f(K)},enabled:A!==null&&r&&M!==null,debounceMs:t,onError:()=>d5.error("Error saving theme")});wi(()=>{h===null&&($.current=!1,R(void 0),k(null),l(void 0))},[h,D,k,l]),wi(()=>{let K={colors:{primary:g==null?void 0:g.brandColor,secondary:g==null?void 0:g.textColor,tertiary:g==null?void 0:g.subtleColor},email:{header:{barColor:(g==null?void 0:g.headerStyle)==="border"?g==null?void 0:g.brandColor:"",logo:{href:g==null?void 0:g.link,image:g==null?void 0:g.logo}},footer:{markdown:M!=null?M:void 0,social:{facebook:{url:g==null?void 0:g.facebookLink},instagram:{url:g==null?void 0:g.instagramLink},linkedin:{url:g==null?void 0:g.linkedinLink},medium:{url:g==null?void 0:g.mediumLink},twitter:{url:g==null?void 0:g.xLink}}}}};c===void 0&&M&&l(K),$.current&&(M&&setTimeout(()=>{R(M)},0),JSON.stringify(c)!==JSON.stringify(K)&&(l(K),s&&s(K),K!==null&&W(K)))},[S,M,g,W,s,c]);let L=ss(()=>{m()},[m]);wi(()=>{var ve,Je,Be,Le,Xe,Ue,Pt,gt,Mt,Ye,ht,bt,Nt,vt,He,I,te,ie,me,H,de,U,Q,qe,Ae,ur,Fr,Or,w,V,q,se,re,ke,De,It,Pr,yt,dr;let K=(Be=(Je=(ve=h==null?void 0:h.data)==null?void 0:ve.tenant)==null?void 0:Je.brand)==null?void 0:Be.settings;if(K&&((Xe=(Le=h==null?void 0:h.data)==null?void 0:Le.tenant)==null?void 0:Xe.tenantId)===N){let pr=JSON.stringify(K);T.current=pr;let xt=(gt=(Pt=(Ue=K==null?void 0:K.email)==null?void 0:Ue.footer)==null?void 0:Pt.markdown)==null?void 0:gt.split(`
|
|
184
|
+
`),io=xt==null?void 0:xt.find(mr=>mr.includes("{{urls.preferences}}")),Mr={brandColor:((Mt=K.colors)==null?void 0:Mt.primary)||kt.brandColor,textColor:((Ye=K.colors)==null?void 0:Ye.secondary)||kt.textColor,subtleColor:((ht=K.colors)==null?void 0:ht.tertiary)||kt.subtleColor,headerStyle:(Nt=(bt=K.email)==null?void 0:bt.header)!=null&&Nt.barColor?"border":"plain",logo:((I=(He=(vt=K.email)==null?void 0:vt.header)==null?void 0:He.logo)==null?void 0:I.image)||kt.logo,link:((me=(ie=(te=K.email)==null?void 0:te.header)==null?void 0:ie.logo)==null?void 0:me.href)||kt.link,facebookLink:((Q=(U=(de=(H=K.email)==null?void 0:H.footer)==null?void 0:de.social)==null?void 0:U.facebook)==null?void 0:Q.url)||kt.facebookLink,linkedinLink:((Fr=(ur=(Ae=(qe=K.email)==null?void 0:qe.footer)==null?void 0:Ae.social)==null?void 0:ur.linkedin)==null?void 0:Fr.url)||kt.linkedinLink,instagramLink:((q=(V=(w=(Or=K.email)==null?void 0:Or.footer)==null?void 0:w.social)==null?void 0:V.instagram)==null?void 0:q.url)||kt.instagramLink,mediumLink:((De=(ke=(re=(se=K.email)==null?void 0:se.footer)==null?void 0:re.social)==null?void 0:ke.medium)==null?void 0:De.url)||kt.mediumLink,xLink:((dr=(yt=(Pr=(It=K.email)==null?void 0:It.footer)==null?void 0:Pr.social)==null?void 0:yt.twitter)==null?void 0:dr.url)||kt.xLink,isPreferences:!!io};b(Mr),setTimeout(()=>{$.current=!0},100)}},[h,N,v]),wi(()=>{k(g)},[g,k]);let Y=ss(K=>{b(ve=>({...ve,logo:K}))},[]),ee=ss(()=>{d("template"),B(null)},[d,B]);return Vr(m5,{children:[nt("div",{className:E("courier-z-30 courier-w-full courier-h-12",!o&&"courier-hidden"),children:Vr(mi,{children:[nt("div",{className:"courier-text-sm courier-font-medium",children:"Brand theme"}),Vr("div",{className:"courier-flex courier-gap-2 courier-items-center",children:[C!==null&&nt(fi,{isLoading:!!A,isSaving:!!C,isError:!!p}),n&&nt(we,{variant:"outline",buttonSize:"small",onClick:ee,disabled:y===!0||C===!0,children:"Back"}),!e&&A!==null&&nt(we,{variant:"primary",buttonSize:"small",disabled:!((fe=(be=h==null?void 0:h.data)==null?void 0:be.tenant)!=null&&fe.brand)||y===!0||C!==!1,onClick:L,children:y?"Publishing...":"Publish changes"})]})]})}),Vr("div",{className:E("courier-flex courier-flex-1 courier-flex-row courier-overflow-hidden",!o&&"courier-hidden"),children:[Vr("div",{className:"courier-flex courier-flex-col courier-flex-1",children:[!A&&o&&v&&nt(pi,{editor:v}),Vr("div",{className:"courier-editor-container",ref:u,children:[nt("div",{className:"courier-mb-3 courier-max-w-2xl courier-self-center courier-w-full",children:"Header"}),Vr("div",{className:E("courier-editor-main courier-transition-all courier-duration-300 courier-ease-in-out courier-py-5 courier-px-9 courier-mb-8 courier-relative courier-overflow-hidden courier-flex courier-flex-col courier-items-start",(g==null?void 0:g.headerStyle)==="border"&&"courier-pt-6"),children:[(g==null?void 0:g.headerStyle)==="border"&&nt("div",{className:"courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-h-2",style:{backgroundColor:g.brandColor}}),g!=null&&g.logo?nt("img",{src:g.logo,alt:"Brand logo",className:"courier-w-auto courier-max-w-36 courier-object-contain courier-cursor-default"}):nt(Su,{onFileSelect:Y})]}),nt("div",{className:"courier-mb-3 courier-max-w-2xl courier-self-center courier-w-full",children:"Footer"}),nt("div",{className:"courier-theme-editor-main courier-transition-all courier-duration-300 courier-ease-in-out courier-pt-3 courier-pb-5 courier-px-9",children:nt(xi,{variables:i,setEditor:x,facebookLink:g==null?void 0:g.facebookLink,linkedinLink:g==null?void 0:g.linkedinLink,instagramLink:g==null?void 0:g.instagramLink,mediumLink:g==null?void 0:g.mediumLink,xLink:g==null?void 0:g.xLink})})]})]}),nt("div",{className:"courier-editor-sidebar courier-opacity-100 courier-translate-x-0 courier-w-64 courier-flex-shrink-0",children:Vr("div",{className:"courier-p-4 courier-h-full",children:[v&&!P&&nt(Hu,{editor:v,setForm:b,currentForm:g}),v&&P&&nt(li,{element:P,editor:v})]})})]})]})}),ki=u5(p5);import{Toaster as f5}from"sonner";import{jsx as Ou,jsxs as g5}from"react/jsx-runtime";var Pi=a(({theme:e,children:t})=>Ou(oc,{theme:e,children:g5("div",{className:"courier-relative courier-h-full courier-rounded-sm courier-border courier-border-border courier-bg-card courier-flex courier-flex-col courier-text-foreground courier-min-w-[812px] courier-min-h-[600px] courier-overflow-hidden","data-mode":"light",children:[Ou(f5,{position:"top-center",expand:!0,visibleToasts:2,style:{position:"absolute",top:"10px",left:"50%",transform:"translateX(-50%)"}}),t]})}),"EditorLayout");import{Fragment as h5,jsx as Bo,jsxs as Mi}from"react/jsx-runtime";var Wu=a(({value:e,icon:t,...r})=>Bo(it,{value:e,...r,className:"!courier-w-10 !courier-h-6 [&_svg]:!courier-size-5 [&_svg]:courier-fill-accent hover:courier-bg-transparent courier-rounded-sm data-[state=on]:courier-bg-background [&_svg]:data-[state=on]:courier-fill-foreground",children:t}),"PreviewItem"),zu=a(({previewMode:e,togglePreviewMode:t})=>Mi("div",{className:"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",children:[e&&Mi(h5,{children:[Mi(br,{type:"single",value:e,onValueChange:r=>{r!==""&&t(r)},className:"courier-w-full courier-rounded-md !courier-p-0.5 courier-bg-[#3B82F6] !courier-gap-0",children:[Bo(Wu,{value:"desktop",icon:Bo(na,{})}),Bo(Wu,{value:"mobile",icon:Bo(sa,{})})]}),Bo("div",{className:"courier-mx-4 courier-w-px courier-h-6 courier-bg-border"})]}),Mi(we,{variant:"link",onClick:()=>t(),children:[e?"Exit":"View"," Preview"]})]}),"PreviewPanel");import{closestCenter as _u,DndContext as k5,DragOverlay as P5,getFirstCollision as M5,KeyboardSensor as N5,MeasuringStrategy as I5,MouseSensor as E5,pointerWithin as L5,rectIntersection as A5,TouchSensor as S5,useSensor as ls,useSensors as R5}from"@dnd-kit/core";import{arrayMove as B5,SortableContext as ju,verticalListSortingStrategy as H5}from"@dnd-kit/sortable";import{EditorContent as D5}from"@tiptap/react";import{useAtom as V5,useAtomValue as no,useSetAtom as F5}from"jotai";import{forwardRef as O5,memo as W5,useCallback as Ht,useEffect as Ni,useMemo as Gu,useRef as gn,useState as hn}from"react";import{useAtomValue as qu,useSetAtom as w5}from"jotai";import{GripVertical as T5}from"lucide-react";import{useSortable as b5}from"@dnd-kit/sortable";import{forwardRef as v5,useEffect as $u,useState as y5}from"react";import{jsx as cs}from"react/jsx-runtime";function x5(){let[e,t]=y5(!1);return $u(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}a(x5,"useMountStatus");var Uu=a(({children:e,id:t,className:r})=>{let{setNodeRef:n,setActivatorNodeRef:o,listeners:i,isDragging:s,transform:u,transition:c}=b5({id:t}),l=x5();return cs(C5,{ref:n,id:t,transition:c,transform:u,fadeIn:s&&!l,listeners:i,className:r,handleProps:{ref:o},children:e})},"SideBarSortableItemWrapper"),C5=v5(({children:e,className:t,dragOverlay:r,handleProps:n,listeners:o,id:i},s)=>($u(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]),cs("div",{ref:s,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":i,className:E(t,"courier-relative"),children:cs("div",{...n,...o,children:e})})));import{jsx as Ke,jsxs as fn}from"react/jsx-runtime";var Zu=a(({items:e,brandEditor:t})=>{var i,s;let r=qu(Ne),n=w5(lo),o=qu(tt);return fn("div",{className:"courier-flex courier-flex-col courier-h-full",children:[fn("div",{className:"courier-flex-1",children:[Ke("p",{children:"Blocks library"}),Ke(pe,{className:"courier-my-4"}),Ke("div",{className:"courier-flex courier-flex-col courier-gap-4 courier-w-full",children:e.map(u=>Ke(Uu,{id:u.toString(),children:fn("div",{className:E("courier-rounded-md courier-border courier-border-border courier-flex courier-flex-row courier-items-center courier-gap-1 courier-bg-white courier-cursor-grab courier-opacity-[0.999] courier-px-3 courier-py-2 courier-select-none"),children:[Ke(T5,{strokeWidth:1,className:"courier-w-4 courier-stroke-ring courier-fill-ring"}),u==="heading"&&Ke(vo,{draggable:!0}),u==="text"&&Ke(Co,{draggable:!0}),u==="image"&&Ke(yo,{draggable:!0}),u==="spacer"&&Ke(xo,{draggable:!0}),u==="divider"&&Ke(bo,{draggable:!0}),u==="button"&&Ke(ho,{draggable:!0})]})},u))})]}),t&&fn("div",{className:"courier-mt-auto courier-pt-4",children:[Ke(pe,{className:"courier-mb-4 -courier-mx-4"}),(s=(i=r==null?void 0:r.data)==null?void 0:i.tenant)!=null&&s.brand?Ke("div",{className:"courier-flex courier-flex-row courier-gap-2 courier-items-center courier-justify-end courier-w-full",children:Ke(we,{variant:"link",className:"courier-underline",onClick:()=>n("brand"),disabled:!!o,children:"Edit brand"})}):fn("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[Ke("h3",{className:"courier-text-md courier-font-medium",children:"Customize brand theme"}),Ke("p",{className:"courier-text-sm courier-text-muted-foreground",children:"Customize header and footer to apply to the template."}),Ke(we,{variant:"primary",className:"courier-w-fit courier-mt-2",onClick:()=>n("brand"),children:"Customize"})]})]})]})},"SideBar");import{Fragment as $5,jsx as xe,jsxs as Jt}from"react/jsx-runtime";var z5=O5(({editor:e,handleEditorClick:t,isLoading:r,isVisible:n,hidePublish:o,brandEditor:i,variables:s},u)=>{var vt,He;let c=no(_e),l=F5(_e),[d,f]=V5(Ir),[m,h]=hn(null),[g,b]=hn(null),y=gn(null),C=gn(!1),A=gn({}),[N,p]=hn(null),[v,x]=hn(void 0),S=no(Ne),{publishTemplate:R,isTenantPublishing:T}=Vo(),P=no(tt),B=no(Ze),k=no(he),M=no(Ns),D=no(gi),$=gn(!1),W=gn(null),L=Gu(()=>{var te,ie,me,H,de,U,Q,qe,Ae,ur,Fr,Or,w,V,q,se,re,ke,De,It,Pr,yt,dr,pr,xt,io,Mr,mr,hs,bs,vs,ys,xs,Cs;if(D)return D;let I=(me=(ie=(te=S==null?void 0:S.data)==null?void 0:te.tenant)==null?void 0:ie.brand)==null?void 0:me.settings;return{brandColor:(H=I==null?void 0:I.colors)==null?void 0:H.primary,textColor:(de=I==null?void 0:I.colors)==null?void 0:de.secondary,subtleColor:(U=I==null?void 0:I.colors)==null?void 0:U.tertiary,headerStyle:(qe=(Q=I==null?void 0:I.email)==null?void 0:Q.header)!=null&&qe.barColor?"border":"plain",logo:(Fr=(ur=(Ae=I==null?void 0:I.email)==null?void 0:Ae.header)==null?void 0:ur.logo)==null?void 0:Fr.image,link:(V=(w=(Or=I==null?void 0:I.email)==null?void 0:Or.header)==null?void 0:w.logo)==null?void 0:V.href,facebookLink:(ke=(re=(se=(q=I==null?void 0:I.email)==null?void 0:q.footer)==null?void 0:se.social)==null?void 0:re.facebook)==null?void 0:ke.url,linkedinLink:(yt=(Pr=(It=(De=I==null?void 0:I.email)==null?void 0:De.footer)==null?void 0:It.social)==null?void 0:Pr.linkedin)==null?void 0:yt.url,instagramLink:(io=(xt=(pr=(dr=I==null?void 0:I.email)==null?void 0:dr.footer)==null?void 0:pr.social)==null?void 0:xt.instagram)==null?void 0:io.url,mediumLink:(bs=(hs=(mr=(Mr=I==null?void 0:I.email)==null?void 0:Mr.footer)==null?void 0:mr.social)==null?void 0:hs.medium)==null?void 0:bs.url,xLink:(Cs=(xs=(ys=(vs=I==null?void 0:I.email)==null?void 0:vs.footer)==null?void 0:ys.social)==null?void 0:xs.twitter)==null?void 0:Cs.url}},[D,S]),Y=M&&!!L,ee=au,le=H5,[X,ne]=hn({Editor:[],Sidebar:["heading","text","image","spacer","divider","button"]}),be=Ht(()=>{Object.values(A.current).forEach(I=>clearTimeout(I)),A.current={}},[]);Ni(()=>()=>{be()},[be]),Ni(()=>()=>{e&&!e.isDestroyed&&e.setEditable(!0)},[e]);let fe=Ht(()=>{W.current&&cancelAnimationFrame(W.current),setTimeout(()=>{W.current=requestAnimationFrame(()=>{try{let I=e.view.dom;if(!I){console.warn("syncEditorItems: Editor DOM element not found");return}let te=I.querySelectorAll(".react-renderer > div[data-node-view-wrapper][data-id]"),ie=[];te.forEach(me=>{let H=me.dataset.id;H&&ie.push(H)}),ne(me=>({Editor:ie,Sidebar:me.Sidebar}))}catch(I){console.error("Error syncing editor items:",I),ne(te=>({...te}))}})},50)},[e]);Ni(()=>{B===!1&&S&&!$.current&&($.current=!0,setTimeout(()=>{e&&!e.isDestroyed&&fe()},300))},[B,S,e,fe]),Ni(()=>{let I=a(()=>{fe()},"updateItems");e.on("update",I),e.on("selectionUpdate",I),e.on("create",I),e.on("transaction",I),e&&!e.isDestroyed&&I();let te=a(ie=>{I()},"handleNodeDuplicated");return document.addEventListener("node-duplicated",te),()=>{e.off("update",I),e.off("selectionUpdate",I),e.off("create",I),e.off("transaction",I),document.removeEventListener("node-duplicated",te),W.current&&cancelAnimationFrame(W.current)}},[e,fe]);let K=a(I=>{let ie=I||(v===void 0?"desktop":void 0);x(ie),l(null),ie?e.setEditable(!1):e.setEditable(!0)},"togglePreviewMode"),ve=Ht(()=>{R()},[R]),Je=R5(ls(E5),ls(S5),ls(N5,{coordinateGetter:ee})),Be=Ht(()=>{h(null)},[]),Le=Ht(I=>typeof I=="string"&&I.includes("_temp_")?"Editor":I in X?I:Object.keys(X).find(te=>X[te].includes(I)),[X]),Xe=Ht(I=>{var de;if(m&&m in X)return _u({...I,droppableContainers:I.droppableContainers.filter(U=>U.id in X)});let te=L5(I),me=(te.length>0?te:A5(I)).filter(U=>U.id!==void 0),H=M5(me,"id");if(H!=null){if(H==="Editor")return y.current=H,[{id:H}];if(H in X){let U=X[H];if(U.length>0){let Q=(de=_u({...I,droppableContainers:I.droppableContainers.filter(qe=>qe.id!==H&&U.includes(qe.id))})[0])==null?void 0:de.id;Q&&(H=Q)}}return y.current=H,[{id:H}]}return C.current&&(y.current=m),y.current?[{id:y.current}]:[]},[m,X]),Ue=Ht(I=>{var te;try{let ie=e.state.doc;if(I===0)return 0;if(I>=ie.childCount)return ie.content.size;let me=0;for(let H=0;H<Math.min(I,ie.childCount);H++)me+=(te=ie.child(H))==null?void 0:te.nodeSize;return me}catch{return e.state.doc.content.size}},[e]),Pt=Gu(()=>({droppable:{strategy:I5.Always}}),[]),gt=Ht(({active:I})=>{h(I.id),(I.id==="text"||I.id==="divider"||I.id==="spacer"||I.id==="button"||I.id==="image"||I.id==="heading")&&b(I.id)},[]),Mt=Ht(({active:I,over:te})=>{if(!te)return;let ie=Le(te.id);if(!(Le(I.id)==="Sidebar"&&ie==="Editor"))return;let H=I.rect.current;if(!(H!=null&&H.translated))return;let de=e.view.dom.querySelectorAll("[data-node-view-wrapper]"),U=de.length;for(let Q=0;Q<de.length;Q++){let Ae=de[Q].getBoundingClientRect();if(H.translated.top<Ae.top+Ae.height/2){U=Q;break}}if(U!==N){let Q=`${I.id}_temp_${Date.now()}`;p(U),requestAnimationFrame(()=>{e.commands.removeDragPlaceholder(),e.commands.setDragPlaceholder({id:Q,type:I.id,pos:Ue(U)}),ne(qe=>({...qe,Editor:[...qe.Editor.filter(Ae=>!Ae.toString().includes("_temp")),Q]}))})}},[e.commands,e.view.dom,Le,Ue,N]),Ye=Ht(()=>{e.commands.removeDragPlaceholder(),ne(I=>({...I,Editor:I.Editor.filter(te=>!te.toString().includes("_temp"))}))},[e.commands,ne]),ht=Ht(({active:I,over:te})=>{var de;Ye();let ie=te==null?void 0:te.id;if(!ie){ne(U=>({...U,Editor:U.Editor.filter(Q=>!Q.toString().includes("_temp"))})),h(null),b(null);return}let me=Le(ie),H=Le(I.id);if(H==="Sidebar"&&me==="Editor"&&N!==null){let U=Ue(N);si(e,g,U,void 0,Q=>l(Q))}else if(H===me){let U=X[H].indexOf(I.id),Q=X[me].indexOf(ie);if(U!==-1&&Q!==-1&&U!==Q){ne(Ae=>({...Ae,[me]:B5(Ae[me],U,Q)}));let qe=(de=e.getJSON())==null?void 0:de.content;if(Array.isArray(qe)){let Ae=[...qe],[ur]=Ae.splice(U,1);Ae.splice(Q,0,ur),e.view.dispatch(e.view.state.tr.replaceWith(0,e.view.state.doc.content.size,e.state.schema.nodeFromJSON({type:"doc",content:Ae})))}}}H==="Sidebar"&&me==="Sidebar"&&setTimeout(()=>{Ye()},100),p(null),h(null),b(null)},[Ye,e,Le,Ue,X,N,l,b,h,g]),bt=Ht(()=>{Ye(),e.commands.removeDragPlaceholder(),Be()},[Ye,e.commands,Be]),Nt=a(I=>{f(I.target.value)},"handleSubjectChange");return Jt($5,{children:[!r&&n&&Jt(mi,{children:[Jt("div",{className:"courier-flex courier-items-center courier-gap-2 courier-grow",children:[xe("h4",{className:"courier-text-sm",children:"Subject: "}),xe(ce,{value:d!=null?d:"",onChange:Nt,onFocus:()=>l(null),className:"!courier-bg-background read-only:courier-cursor-default read-only:courier-border-transparent md:courier-text-md courier-py-1 courier-border-transparent !courier-border-none courier-font-medium",placeholder:"Write subject...",readOnly:v!==void 0})]}),Jt("div",{className:"courier-w-64 courier-pl-4 courier-flex courier-justify-end courier-items-center courier-gap-2",children:[P!==null&&xe(fi,{isLoading:!!B,isSaving:!!P,isError:!!k}),!o&&B!==null&&xe(we,{variant:"primary",buttonSize:"small",disabled:!((He=(vt=S==null?void 0:S.data)==null?void 0:vt.tenant)!=null&&He.notification)||T===!0||P!==!1,onClick:ve,children:T?"Publishing...":"Publish changes"})]})]}),Jt(k5,{sensors:Je,collisionDetection:Xe,measuring:Pt,onDragStart:gt,onDragMove:Mt,onDragEnd:ht,onDragCancel:bt,children:[Jt("div",{className:E("courier-flex courier-flex-1 courier-overflow-hidden",v&&"courier-editor-preview-mode",v==="mobile"&&"courier-editor-preview-mode-mobile",!n&&"courier-hidden"),children:[Jt("div",{className:"courier-flex courier-flex-col courier-flex-1",children:[!r&&n&&xe(pi,{editor:e}),Jt("div",{className:"courier-editor-container courier-relative",ref:u,children:[Jt("div",{className:E("courier-editor-main courier-transition-all courier-duration-300 courier-ease-in-out",v&&"courier-max-w-4xl courier-mx-auto"),children:[Y&&Jt("div",{className:E("courier-py-5 courier-px-9 courier-pb-0 courier-relative courier-overflow-hidden courier-flex courier-flex-col courier-items-start",(L==null?void 0:L.headerStyle)==="border"&&"courier-pt-6"),children:[(L==null?void 0:L.headerStyle)==="border"&&xe("div",{className:"courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-h-2",style:{backgroundColor:L==null?void 0:L.brandColor}}),(L==null?void 0:L.logo)&&xe("img",{src:L.logo,alt:"Brand logo",className:"courier-w-auto courier-max-w-36 courier-object-contain courier-cursor-default"})]}),xe(ju,{items:X.Editor,strategy:le,children:xe(D5,{editor:e,onClick:t})}),Y&&xe("div",{className:"courier-py-5 courier-px-9 courier-pt-0 courier-flex courier-flex-col",children:xe(xi,{readOnly:!0,variables:s,facebookLink:L==null?void 0:L.facebookLink,linkedinLink:L==null?void 0:L.linkedinLink,instagramLink:L==null?void 0:L.instagramLink,mediumLink:L==null?void 0:L.mediumLink,xLink:L==null?void 0:L.xLink})})]}),xe(zu,{previewMode:v,togglePreviewMode:K})]})]}),xe("div",{className:E("courier-editor-sidebar",v?"courier-opacity-0 courier-pointer-events-none courier-translate-x-full courier-w-0 courier-flex-shrink-0":"courier-opacity-100 courier-translate-x-0 courier-w-64 courier-flex-shrink-0"),children:xe("div",{className:"courier-p-4 courier-h-full",children:c?xe(li,{element:c,editor:e}):xe(ju,{items:X.Sidebar,strategy:le,children:xe(Zu,{items:X.Sidebar,brandEditor:i})})})})]}),xe(P5,{dropAnimation:null,children:m&&(m==="text"||m==="divider"||m==="spacer"||m==="button"||m==="image"||m==="heading")?Jt("div",{className:E("courier-bg-white courier-border courier-border-border courier-rounded-lg courier-p-4 courier-shadow-lg","courier-opacity-90 courier-scale-105 courier-transition-transform"),children:[g==="heading"&&xe(vo,{draggable:!0}),g==="text"&&xe(Co,{draggable:!0}),g==="spacer"&&xe(xo,{draggable:!0}),g==="divider"&&xe(bo,{draggable:!0}),g==="button"&&xe(ho,{draggable:!0}),g==="image"&&xe(yo,{draggable:!0})]}):null})]})]})}),Ku=W5(z5);import{Extension as U5}from"@tiptap/core";import{TextSelection as q5}from"@tiptap/pm/state";import{useEditor as Z5}from"@tiptap/react";import{useAtom as _5,useAtomValue as j5,useSetAtom as G5}from"jotai";import{useCallback as bn,useMemo as K5,useRef as J5}from"react";var Ju=a(({initialContent:e={version:"2022-01-01",elements:[{type:"text",align:"left",content:`
|
|
185
|
+
`,text_style:"h1"},{type:"text",align:"left",content:""},{type:"image",src:""}]},readOnly:t=!1,variables:r,ydoc:n,onDestroy:o,setSelectedNode:i})=>{let s=G5(go),u=J5(),[c,l]=_5(Pn),d=j5(Ir),f=U5.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:N})=>{let{state:p,dispatch:v}=N.view;return v(p.tr.setSelection(q5.create(p.doc,p.selection.$anchor.pos))),i&&i(null),!1}}}}),m=bn(()=>{i&&setTimeout(()=>{i(null)},100)},[i]),h=bn(({editor:N})=>{let p=co(N.getJSON(),d!=null?d:"");JSON.stringify(c)!==JSON.stringify(p)&&l(p)},[c,d,l]),g=bn(({editor:N})=>{let{selection:p}=N.state,x=p.$head.marks().find(S=>S.type.name==="link");x||N.isActive("link")?s({mark:x}):s(null)},[s]),b=bn(({editor:N,transaction:p})=>{let{selection:v}=N.state;if(p==null?void 0:p.getMeta("showLinkForm")){let R=v.$head.marks().find(T=>T.type.name==="link");s({mark:R,link:{from:v.from,to:v.to}})}},[s]),y=bn(()=>{u.current&&clearTimeout(u.current),o==null||o()},[o]),C=K5(()=>[...bi({variables:r,setSelectedNode:i}),f].filter(N=>N!==void 0),[f,r,i]),A=Z5({content:so(e),immediatelyRender:!0,shouldRerenderOnTransaction:!0,autofocus:!t,editable:!t,onCreate:m,onUpdate:h,onSelectionUpdate:g,onTransaction:b,onDestroy:y,extensions:C},[n]);return window.editor=A,{editor:A}},"useBlockEditor");import{Fragment as Yu,jsx as yn,jsxs as Qu}from"react/jsx-runtime";var ps=null,ms=null,fs=!1,rh=a(e=>{let t=e.elements.find(r=>r.type==="channel"&&r.channel==="email");if(t&&"elements"in t&&t.elements){let r=t.elements.find(n=>n.type==="meta");if(r&&"title"in r&&typeof r.title=="string")return r.title}return null},"getSubject"),oh=a(({theme:e,value:t,onChange:r,variables:n,hidePublish:o=!1,autoSave:i=!0,autoSaveDebounce:s=200,brandEditor:u=!1,brandProps:c})=>{let[l,d]=Q5(t),f=vn(Ze),m=vn(_e),h=Ii(_e),g=Ii(xc),[b,y]=us(Ne),C=vn(fr),A=vn(Ce),N=Ii(Tn),[p,v]=us(Ir),{getTenant:x,saveTemplate:S}=Vo(),R=Xu(()=>new th,[]),T=vn(lo),P=ds(!1),B=ds(!1),[k,M]=us(Pn),D=Ii(Bt),$=ds(-1);lr(()=>{b&&(C!==ps||A!==ms)&&(y(null),M(null),D(null),v(null),B.current=!1,d(void 0))},[C,B,b,A,M,v,y,D]);let{handleAutoSave:W}=Cn({onSave:S,debounceMs:s,enabled:f!==null&&i,onError:()=>eh.error("Error saving template")});lr(()=>{!C||!A||f||fs||C===ps&&A===ms||(ps=C,ms=A,fs=!0,x({includeBrand:u}).finally(()=>{fs=!1}))},[C,A,u,x,f]),lr(()=>{if(m){let ee=m.type.name,le=vc(ee);g({nodeName:ee,config:le})}},[m,g]);let{editor:L}=Ju({initialContent:Xu(()=>l,[]),ydoc:R,variables:n,setSelectedNode:h,subject:p});lr(()=>{var ne,be,fe,K,ve;let ee=(ve=(K=(fe=(be=(ne=b==null?void 0:b.data)==null?void 0:ne.tenant)==null?void 0:be.notification)==null?void 0:fe.data)==null?void 0:K.content)!=null?ve:"";if(f===!1&&!ee&&(B.current=!0),!ee||!L)return;let le=rh(ee);v(le!=null?le:"");let X=so(ee);setTimeout(()=>{if(!(!L||L.isDestroyed)&&(L.commands.setContent(X,!1),L.state.doc.childCount===1)){let Je=L.state.doc.child(0);h(Je)}},0),setTimeout(()=>{B.current=!0},100)},[b,f,L,v,d,M,h]),lr(()=>{!B.current||!k||JSON.stringify(l)===JSON.stringify(k)||(setTimeout(()=>{d(k)},0),l&&(r&&r(k),k!==null&&W(k)))},[l,k,W,r]),lr(()=>{if(p===null||!B.current)return;let ee=co(L.getJSON(),p!=null?p:"");JSON.stringify(k)!==JSON.stringify(ee)&&M(ee)},[k,L,p,M]),lr(()=>{L&&N(L)},[L,N]),lr(()=>{L&&P.current&&L.commands.updateSelectionState(m)},[L,m]),lr(()=>{let ee=a(le=>{if(le.key==="Escape"&&(h(null),L==null||L.commands.blur(),$.current=-1),le.key==="Tab"&&L){le.preventDefault();let X=-1;m&&L.state.doc.content.forEach((fe,K,ve)=>{m.attrs.id===fe.attrs.id&&(X=ve)}),X===-1&&(X=0);let ne=L.state.doc,be;if(le.shiftKey?be=(X-1+ne.childCount)%ne.childCount:be=(X+1)%ne.childCount,be!==X||m===null){let fe=ne.child(be);h(fe),L.commands.blur()}}},"handleKeyPress");return document.addEventListener("keydown",ee),()=>{document.removeEventListener("keydown",ee)}},[L,m,h]);let Y=Y5(ee=>{if(!L||!P.current||!L.isEditable)return;let le=ee.target,X=L.view.posAtDOM(le,0),ne=L.state.doc.resolve(X).node();ne.type.name==="paragraph"&&h(ne)},[L,h]);return lr(()=>(P.current=!0,()=>{P.current=!1}),[]),yn(Yu,{children:Qu(Pi,{theme:e,children:[f&&yn("div",{className:"courier-editor-loading",children:yn(yr,{})}),L&&Qu(Yu,{children:[yn(Ku,{editor:L,variables:n,handleEditorClick:Y,isLoading:!!f,isVisible:T==="template",hidePublish:o,brandEditor:u}),u&&yn(ki,{hidePublish:o,autoSave:i,isVisible:T==="brand",templateEditor:!0,variables:n,...c})]})]})})},"TemplateEditorComponent"),_I=X5(oh);import{useAtom as nh,useAtomValue as ed,useSetAtom as ih}from"jotai";import{forwardRef as ah,memo as sh,useEffect as Ei,useRef as ch}from"react";import{jsx as gs,jsxs as uh}from"react/jsx-runtime";var Li=null,Ai=!1,lh=ah(({hidePublish:e=!1,autoSaveDebounce:t=200,autoSave:r=!0,theme:n,...o},i)=>{let s=ed(Ze),u=ch(!0),c=ed(Ce),{getTenant:l}=Oo(),[d,f]=nh(Ne),m=ih(Bt);return Ei(()=>{d&&c!==Li&&(f(null),m(null),u.current=!1)},[d,c,f,m]),Ei(()=>()=>{Li=null,Ai=!1},[]),Ei(()=>{!c||s||Ai||c!==Li&&(Li=c,Ai=!0,l().finally(()=>{Ai=!1}))},[c,l,s]),Ei(()=>{s||(u.current=!1)},[s]),uh(Pi,{theme:n,children:[s&&u.current&&gs("div",{className:"courier-editor-loading",children:gs(yr,{})}),gs(ki,{ref:i,isVisible:!s,autoSaveDebounce:t,autoSave:r,hidePublish:e,...o})]})}),nE=sh(lh);export{nE as BrandEditor,Md as BrandProvider,_I as TemplateEditor,yd as TemplateProvider,Qe as apiUrlAtom,Ns as brandApplyAtom,wn as editorStore,Ze as isTenantLoadingAtom,Et as isTenantPublishingAtom,tt as isTenantSavingAtom,fr as templateIdAtom,Ne as tenantDataAtom,Tn as tenantEditorAtom,he as tenantErrorAtom,Ce as tenantIdAtom,et as tokenAtom,Oo as useBrandActions,Vo as useTemplateActions};
|
|
187
186
|
//# sourceMappingURL=index.js.map
|