@trycourier/react-designer 0.0.0-canary-20250905145122 → 0.0.0-canary-20250905150739
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +3 -3
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -152,7 +152,7 @@ var $m=Object.defineProperty;var s=(e,t)=>$m(e,"name",{value:t,configurable:!0})
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
`,variables:{input:{tenantId:n,notificationId:i,version:l}}})}),a=await u.json();return u.status===200?(of.success("Template published"),t(Wo,new Date().toISOString()),t(zo,a.data.tenant.notification.publish.version)):t(ee,{message:"Error publishing template",toastProps:{duration:4e3}}),a}catch(u){throw t(ee,{message:"Network connection failed",toastProps:{duration:5e3,description:"Failed to publish template"}}),u}finally{t(vt,!1)}});import{useMemo as nf,useCallback as Ac}from"react";function Sr(){let e=Ua(vi),t=Ua(xi),r=Ua(Nc),[o,n]=_o(be),[i,l]=_o(it),[u,a]=_o(vt),[c,d]=_o(ee),[m,p]=_o(Oe),[h,y]=_o(he),b=Ac(E=>{
|
|
155
|
+
`,variables:{input:{tenantId:n,notificationId:i,version:l}}})}),a=await u.json();return u.status===200?(of.success("Template published"),t(Wo,new Date().toISOString()),t(zo,a.data.tenant.notification.publish.version)):t(ee,{message:"Error publishing template",toastProps:{duration:4e3}}),a}catch(u){throw t(ee,{message:"Network connection failed",toastProps:{duration:5e3,description:"Failed to publish template"}}),u}finally{t(vt,!1)}});import{useMemo as nf,useCallback as Ac}from"react";function Sr(){let e=Ua(vi),t=Ua(xi),r=Ua(Nc),[o,n]=_o(be),[i,l]=_o(it),[u,a]=_o(vt),[c,d]=_o(ee),[m,p]=_o(Oe),[h,y]=_o(he),b=Ac(E=>{if(console.log("\u{1F3AF} setTemplateError called with:",E),E===null)console.log("\u{1F9F9} Clearing template error"),d(null);else if(typeof E=="string"){let f=Gt(E);console.log("\u{1F4DD} Setting string error, converted to:",f),d(f)}else console.log("\u{1F527} Setting TemplateError object:",E),d(E)},[d]),g=nf(()=>({getTemplate:async()=>{},saveTemplate:async()=>{},publishTemplate:r,isTemplateLoading:o,setIsTemplateLoading:n,isTemplateSaving:i,setIsTemplateSaving:l,isTemplatePublishing:u,setIsTemplatePublishing:a,templateError:c,setTemplateError:b,templateData:m,setTemplateData:p,templateEditorContent:h,setTemplateEditorContent:y,createCustomError:Gt,convertLegacyError:$o}),[o,u,i,r,n,a,l,p,y,b,m,h,c]);return{getTemplate:Ac(async E=>{let f=En.getTemplate;typeof f=="function"?await f(g):await e(E)},[g,e]),saveTemplate:s(async E=>{let f=En.saveTemplate;typeof f=="function"?await f(g,E):await t(E)},"saveTemplate"),publishTemplate:r,isTemplateLoading:o,setIsTemplateLoading:n,isTemplateSaving:i,setIsTemplateSaving:l,isTemplatePublishing:u,setIsTemplatePublishing:a,templateError:c,setTemplateError:b,templateData:m,setTemplateData:p,templateEditorContent:h,setTemplateEditorContent:y,createCustomError:Gt,convertLegacyError:$o}}s(Sr,"useTemplateActions");import{Fragment as mf,jsx as _a,jsxs as ff}from"react/jsx-runtime";var uf=s(({children:e,templateId:t,tenantId:r,token:o,apiUrl:n,uploadImageUrl:i})=>{let[,l]=Zo(bt),[,u]=Zo(Oo),[,a]=Zo(ot),[,c]=Zo(nt),[,d]=Zo(pr),m=Sr(),p=lf(m),[h]=Zo(ee);return p.current=m,Ci(()=>{a(o),c(r),d(t),n&&l(n),i&&u(i)},[o,r,t,n,l,a,c,d,i,u]),Ci(()=>{console.log("\u{1F50D} TemplateProvider useEffect triggered, templateError:",h),h?(console.log("\u{1F6A8} Showing toast for error:",h.message),cf.error(h.message,h.toastProps)):console.log("\u2705 No template error to show")},[h]),_a(mf,{children:e})},"TemplateProviderContext"),En={getTemplate:null,saveTemplate:null},df=s(e=>(Ci(()=>{En.getTemplate=e.getTemplate||null,jt.set(hi,e.getTemplate?()=>Promise.resolve():null)},[e.getTemplate]),Ci(()=>{En.saveTemplate=e.saveTemplate||null,jt.set(bi,e.saveTemplate?()=>Promise.resolve():null)},[e.saveTemplate]),ff(af,{store:jt,children:[_a(uf,{...e}),_a(yc,{})]})),"TemplateProviderComponent"),pf=sf(df);import{useAtom as Br}from"jotai";function Mn(){let[,e]=Br(vi),[,t]=Br(Cc),[,r]=Br(xi),[,o]=Br(Tc),[n,i]=Br(be),[l,u]=Br(it),[a,c]=Br(vt),[d,m]=Br(ee),[p,h]=Br(Oe),y=s(k=>{m(k===null?null:typeof k=="string"?Gt(k):k)},"setTemplateError"),b={getTemplate:async()=>{},saveTemplate:async()=>{},publishTemplate:o,isTemplateLoading:n,setIsTemplateLoading:i,isTemplateSaving:l,setIsTemplateSaving:u,isTemplatePublishing:a,setIsTemplatePublishing:c,templateError:d,setTemplateError:y,templateData:p,setTemplateData:h,templateEditorContent:null,setTemplateEditorContent:()=>{},createCustomError:Gt,convertLegacyError:$o};return{getTemplate:s(async k=>{let E=jt.get(hi);E?await E:await e(k)},"getTemplateWithOverride"),saveTemplate:s(async k=>{let E=jt.get(bi);E?await E(b,k):await r(k)},"saveTemplateWithOverride"),saveBrand:t,publishBrand:o,isTemplateLoading:n,setIsTemplateLoading:i,isTemplateSaving:l,setIsTemplateSaving:u,isTemplatePublishing:a,setIsTemplatePublishing:c,templateError:d,setTemplateError:y,templateData:p,setTemplateData:h,createCustomError:Gt,convertLegacyError:$o}}s(Mn,"useBrandActions");import{clsx as yf}from"clsx";import{twMerge as xf}from"tailwind-merge";import{v4 as co}from"uuid";function Ic(e){let t=[],r=e.replace(/\n$/,"").split(`
|
|
156
156
|
`);for(let o=0;o<r.length;o++)gf(r[o],t),o<r.length-1&&t.push({type:"hardBreak"});return t}s(Ic,"parseMDContent");function gf(e,t){hf(e,t)}s(gf,"parseTextLine");function Lc(e,t){t.length!==0&&e.forEach(r=>{r.marks=r.marks||[],t.forEach(o=>{var n,i;(n=r.marks)!=null&&n.some(l=>l.type===o.type)||(i=r.marks)==null||i.push({type:o.type,...o.href&&{attrs:{href:o.href}}})}),r.marks.length===0&&delete r.marks})}s(Lc,"applyMarks");function hf(e,t){if(!e)return;let r=[],o=/\[([^\]]+)\]\(([^)]+)\)/g,n,i=0;for(;(n=o.exec(e))!==null;)n.index>i&&r.push({type:"text",text:e.substring(i,n.index),start:i,end:n.index}),r.push({type:"link",text:n[1],start:n.index,end:n.index+n[1].length,attrs:{href:n[2]}}),i=n.index+n[0].length;i<e.length&&r.push({type:"text",text:e.substring(i),start:i,end:e.length});let l=[];for(let c of r){if(c.type==="link"){l.push(c);continue}let d=0,m=/(\*\*|\*|__|_|~|\+|\{\{[^}]+\}\}|\{\}[^{}]+\{\})/g,p=c.text,h;for(;(h=m.exec(p))!==null;){let y=h.index,b=h[0],g=y+b.length;if(y>d&&l.push({type:"text",text:p.substring(d,y),start:c.start+d,end:c.start+y}),b.startsWith("{{")||b.startsWith("{}")){let v=b.startsWith("{{")?b.slice(2,-2):b.substring(2,b.length-2);l.push({type:"variable",text:b,start:c.start+y,end:c.start+g,attrs:{id:v}})}else l.push({type:"marker",text:b,start:c.start+y,end:c.start+g});d=g}d<p.length&&l.push({type:"text",text:p.substring(d),start:c.start+d,end:c.start+p.length})}l.sort((c,d)=>c.start-d.start);let u=[],a=[];for(let c of l)if(c.type==="text"){let d=[];Rc(c.text,[],d),Lc(d,u),a.push(...d)}else if(c.type==="variable"){let d={type:"variable",attrs:c.attrs};Lc([d],u),a.push(d)}else if(c.type==="link"){let d=[];Rc(c.text,[],d),d.forEach(m=>{var p;m.marks=m.marks||[],m.marks.push({type:"link",attrs:{href:(p=c.attrs)==null?void 0:p.href}})}),a.push(...d)}else if(c.type==="marker"){let d=c.text;if(["**","*","__","_","~","+"].includes(d)){let m=d==="**"||d==="__"?"bold":d==="*"||d==="_"?"italic":d==="~"?"strike":"underline",p=u.findLastIndex(h=>h.text===d);p!==-1?u.splice(p,1):u.push({type:m,text:d,start:c.start})}}t.push(...a)}s(hf,"processMarkdownFormatting");function Rc(e,t,r){if(!e)return;let o=/(\{\{[^}]+\}\}\|\{\}[^{}]+\{\})/g,n,i=0;for(;(n=o.exec(e))!==null;){if(n.index>i){let a=e.substring(i,n.index);r.push({type:"text",text:a,...t.length>0&&{marks:t}})}let l=n[0].startsWith("{{")?n[0].slice(2,-2):n[0].substring(2,n[0].length-2),u=t.some(a=>a.type==="link");r.push({type:"variable",attrs:{id:l,...u&&{inUrlContext:!0}},...t.length>0&&{marks:t}}),i=n.index+n[0].length}if(i<e.length){let l=e.substring(i);r.push({type:"text",text:l,...t.length>0&&{marks:t}})}}s(Rc,"parseTextWithVariables");function Hr(e,t){var a,c,d,m,p,h,y,b,g;let r={type:"doc",content:[]};if(!e||!e.elements||e.elements.length===0)return r;let o,n=t==null?void 0:t.channel;for(let v of e.elements)if(v.type==="channel"){let k=v;if(n){if(k.channel===n){o=k.elements;break}}else{o=k.elements;break}}if(!o||o.length===0)return r;let i=s(v=>{var k,E,f;if(v.type==="meta")return[];switch(v.type){case"text":if("content"in v){let C=v.text_style==="h1"?1:v.text_style==="h2"?2:null,P={};if(v.padding){let[x,M]=v.padding.replace(/px/g,"").split(" "),B=parseInt(x),T=parseInt(M);!isNaN(B)&&!isNaN(T)&&(P={paddingVertical:B,paddingHorizontal:T})}let R={};(k=v.border)!=null&&k.enabled&&(R={...v.border.color&&{borderColor:v.border.color},...v.border.size&&{borderWidth:parseInt(v.border.size)},...v.border.radius&&{borderRadius:v.border.radius}});let L=v.content.trim()?Ic(v.content):[];return[{type:C?"heading":"paragraph",attrs:{textAlign:v.align||"left",level:C,id:`node-${co()}`,...P,...v.color&&{textColor:v.color},...v.background_color&&{backgroundColor:v.background_color},...R},content:L}]}return[];case"action":{let P=n==="inbox"?{backgroundColor:"#000000",textColor:"#ffffff",borderColor:"#000000",borderWidth:1,borderRadius:4}:{};return[{type:"button",attrs:{label:v.content,link:v.href,alignment:v.align==="full"?"center":v.align||"center",size:v.align==="full"?"full":"default",style:v.style,id:`node-${co()}`,...P,...v.background_color&&{backgroundColor:v.background_color},...v.color&&{textColor:v.color},...v.padding&&{padding:parseInt(v.padding)},...((E=v.border)==null?void 0:E.enabled)&&{...v.border.color&&{borderColor:v.border.color},...v.border.size&&{borderWidth:parseInt(v.border.size)},...v.border.radius&&{borderRadius:v.border.radius}}}}]}case"quote":return[{type:"blockquote",attrs:{textAlign:v.align||"left",id:`node-${co()}`,...v.border_color&&{borderColor:v.border_color}},content:[{type:"paragraph",attrs:{textAlign:v.align||"left",id:`node-${co()}`},content:Ic(v.content)}]}];case"image":return[{type:"imageBlock",attrs:{sourcePath:v.src,id:`node-${co()}`,...v.href&&{link:v.href},...v.align&&{alignment:v.align},...v.alt_text&&{alt:v.alt_text},...v.width&&{width:parseInt(v.width.replace(/%|px/,""))},...((f=v.border)==null?void 0:f.enabled)&&{...v.border.color&&{borderColor:v.border.color},...v.border.size&&{borderWidth:parseInt(v.border.size)},...v.border.radius&&{borderRadius:parseInt(v.border.radius)}}}}];case"divider":return[{type:"divider",attrs:{id:`node-${co()}`,...v.dividerColor&&{color:v.dividerColor},...v.borderWidth&&{size:parseInt(v.borderWidth)},...v.padding&&{padding:parseInt(v.padding)},variant:v.dividerColor==="transparent"?"spacer":"divider"}}];default:return[]}},"convertNode"),l=[],u=o.flatMap(i);for(let v=0;v<u.length;v++){let k=u[v],E=u[v+1];if(k.type==="button"&&(E==null?void 0:E.type)==="button"&&n==="inbox"){let f={type:"buttonRow",attrs:{id:`node-${co()}`,button1Label:((a=k.attrs)==null?void 0:a.label)||"Button 1",button1Link:((c=k.attrs)==null?void 0:c.link)||"",button1BackgroundColor:((d=k.attrs)==null?void 0:d.backgroundColor)||"#000000",button1TextColor:((m=k.attrs)==null?void 0:m.textColor)||"#ffffff",button2Label:((p=E.attrs)==null?void 0:p.label)||"Button 2",button2Link:((h=E.attrs)==null?void 0:h.link)||"",button2BackgroundColor:((y=E.attrs)==null?void 0:y.backgroundColor)||"#ffffff",button2TextColor:((b=E.attrs)==null?void 0:b.textColor)||"#000000",padding:((g=k.attrs)==null?void 0:g.padding)||6}};l.push(f),v++}else l.push(k)}return{type:"doc",content:l}}s(Hr,"convertElementalToTiptap");function Sc(e,t){t.length!==0&&e.forEach(r=>{r.marks=r.marks||[],t.forEach(o=>{var n,i;(n=r.marks)!=null&&n.some(l=>l.type===o.type)||(i=r.marks)==null||i.push({type:o.type,...o.href&&{attrs:{href:o.href}}})}),r.marks.length===0&&delete r.marks})}s(Sc,"applyMarks");function Bc(e,t,r){if(!e)return;let o=/{{([^}]+)}}/g,n,i=0;for(;(n=o.exec(e))!==null;){if(n.index>i){let l=e.substring(i,n.index);r.push({type:"text",text:l,...t.length>0&&{marks:t}})}r.push({type:"variable",attrs:{id:n[1]},...t.length>0&&{marks:t}}),i=n.index+n[0].length}if(i<e.length){let l=e.substring(i);r.push({type:"text",text:l,...t.length>0&&{marks:t}})}}s(Bc,"parseTextWithVariables");function Za(e){if(!e)return[];let t=[],r=/\[([^\]]+)\]\(([^)]+)\)/g,o,n=0;for(;(o=r.exec(e))!==null;)o.index>n&&t.push({type:"text",text:e.substring(n,o.index),start:n,end:o.index}),t.push({type:"link",text:o[1],start:o.index,end:o.index+o[1].length,attrs:{href:o[2]}}),n=o.index+o[0].length;n<e.length&&t.push({type:"text",text:e.substring(n),start:n,end:e.length});let i=[];for(let a of t){if(a.type==="link"){i.push(a);continue}let c=0,d=/(\*\*|\*|__|_|~|\+|{{[^}]+}})/g,m=a.text,p;for(;(p=d.exec(m))!==null;){let h=p.index,y=p[0],b=h+y.length;if(h>c&&i.push({type:"text",text:m.substring(c,h),start:a.start+c,end:a.start+h}),y.startsWith("{{")){let g=y.slice(2,-2);i.push({type:"variable",text:y,start:a.start+h,end:a.start+b,attrs:{id:g}})}else i.push({type:"marker",text:y,start:a.start+h,end:a.start+b});c=b}c<m.length&&i.push({type:"text",text:m.substring(c),start:a.start+c,end:a.start+m.length})}i.sort((a,c)=>a.start-c.start);let l=[],u=[];for(let a of i)if(a.type==="text"){let c=[];Bc(a.text,[],c),Sc(c,l),u.push(...c)}else if(a.type==="variable"){let c={type:"variable",attrs:a.attrs};Sc([c],l),u.push(c)}else if(a.type==="link"){let c=[];Bc(a.text,[],c),c.forEach(d=>{var m;d.marks=d.marks||[],d.marks.push({type:"link",attrs:{href:(m=a.attrs)==null?void 0:m.href}})}),u.push(...c)}else if(a.type==="marker"){let c=a.text;if(["**","*","__","_","~","+"].includes(c)){let d=c==="**"||c==="__"?"bold":c==="*"||c==="_"?"italic":c==="~"?"strike":"underline",m=l.findLastIndex(p=>p.text===c);m!==-1?l.splice(m,1):l.push({type:d,text:c,start:a.start})}}return u}s(Za,"processMarkdownFormatting");function bf(e){let t=[],r=e.split(/\n/);for(let o of r){if(!o.trim())continue;let n=o.match(/^(#{1,6})\s+(.*)$/);if(n){t.push({type:"heading",attrs:{level:n[1].length,textAlign:"left"},content:Za(n[2])});continue}if(o.startsWith(">")){let l=o.slice(1).trim();t.push({type:"blockquote",attrs:{textAlign:"left"},content:[{type:"paragraph",attrs:{textAlign:"left"},content:Za(l)}]});continue}if(o.match(/^-{3,}$/)){t.push({type:"divider"});continue}let i=o.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:Za(o)})}return t}s(bf,"parseBlockContent");function Hc(e){return{type:"doc",content:bf(e)}}s(Hc,"convertMarkdownToTiptap");var vf=s(e=>{switch(e.type){case"bold":return"**";case"italic":return"*";case"strike":return"~";case"underline":return"+";default:return""}},"markToMD"),qa=s(e=>{var o,n,i,l;if(e.type==="variable")return`{{${(o=e.attrs)==null?void 0:o.id}}}`;let t=e.text||"";if((n=e.marks)!=null&&n.length){let u=e.marks.map(vf).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}](${(l=r.attrs)==null?void 0:l.href})`),t},"convertTextToMarkdown");function Kt(e){let t=s(r=>{var o,n,i,l,u,a,c,d,m,p,h,y,b,g,v,k,E,f,C,P,R,L,x,M,B,T,w,H,D,V,q,J,re,K,ue,Q,Ce,de,ye,Ie,Ve,qe,ht,je,Be,Rt,rt,St,Bt,kt,Ge,Ht,Dt,Ke,Je,I,Y,F,ie,te,me,ge,ve,Xe,He,Ir,no,A;switch(r.type){case"paragraph":{let S="",O=r.content||[];for(let ae=0;ae<O.length;ae++)O[ae].type==="hardBreak"?S+=`
|
|
157
157
|
`:S+=qa(O[ae]);S+=`
|
|
158
158
|
`;let $={};if((o=r.attrs)!=null&&o.borderWidth||(n=r.attrs)!=null&&n.borderColor||(i=r.attrs)!=null&&i.borderRadius){let ae={};(l=r.attrs)!=null&&l.borderColor&&(ae.color=r.attrs.borderColor),ae.enabled=!0,(u=r.attrs)!=null&&u.borderWidth&&(ae.size=`${r.attrs.borderWidth}px`),(a=r.attrs)!=null&&a.borderRadius&&(ae.radius=r.attrs.borderRadius),$.border=ae}return((c=r.attrs)==null?void 0:c.paddingVertical)!==void 0&&((d=r.attrs)==null?void 0:d.paddingHorizontal)!==void 0&&($.padding=`${r.attrs.paddingVertical}px ${r.attrs.paddingHorizontal}px`),(m=r.attrs)!=null&&m.textColor&&($.color=r.attrs.textColor),(p=r.attrs)!=null&&p.backgroundColor&&($.background_color=r.attrs.backgroundColor),$.type="text",$.align=((h=r.attrs)==null?void 0:h.textAlign)||"left",$.content=S,[$]}case"heading":{let S="",O=r.content||[];for(let ae=0;ae<O.length;ae++)O[ae].type==="hardBreak"?S+=`
|