@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/cjs/index.js
CHANGED
|
@@ -152,7 +152,7 @@ if (typeof require !== "undefined") {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
`,variables:{input:{tenantId:n,notificationId:i,version:l}}})}),a=await u.json();return u.status===200?($u.toast.success("Template published"),t(An,new Date().toISOString()),t(In,a.data.tenant.notification.publish.version)):t(re,{message:"Error publishing template",toastProps:{duration:4e3}}),a}catch(u){throw t(re,{message:"Network connection failed",toastProps:{duration:5e3,description:"Failed to publish template"}}),u}finally{t(Lt,!1)}});var Ei=require("react");function _r(){let e=(0,Mr.useSetAtom)(xa),t=(0,Mr.useSetAtom)(Ta),r=(0,Mr.useSetAtom)(Uu),[o,n]=(0,Mr.useAtom)(ve),[i,l]=(0,Mr.useAtom)(gt),[u,a]=(0,Mr.useAtom)(Lt),[c,d]=(0,Mr.useAtom)(re),[m,p]=(0,Mr.useAtom)(Je),[h,y]=(0,Mr.useAtom)(ye),b=(0,Ei.useCallback)(E=>{
|
|
155
|
+
`,variables:{input:{tenantId:n,notificationId:i,version:l}}})}),a=await u.json();return u.status===200?($u.toast.success("Template published"),t(An,new Date().toISOString()),t(In,a.data.tenant.notification.publish.version)):t(re,{message:"Error publishing template",toastProps:{duration:4e3}}),a}catch(u){throw t(re,{message:"Network connection failed",toastProps:{duration:5e3,description:"Failed to publish template"}}),u}finally{t(Lt,!1)}});var Ei=require("react");function _r(){let e=(0,Mr.useSetAtom)(xa),t=(0,Mr.useSetAtom)(Ta),r=(0,Mr.useSetAtom)(Uu),[o,n]=(0,Mr.useAtom)(ve),[i,l]=(0,Mr.useAtom)(gt),[u,a]=(0,Mr.useAtom)(Lt),[c,d]=(0,Mr.useAtom)(re),[m,p]=(0,Mr.useAtom)(Je),[h,y]=(0,Mr.useAtom)(ye),b=(0,Ei.useCallback)(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=pr(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=(0,Ei.useMemo)(()=>({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:pr,convertLegacyError:Xo}),[o,u,i,r,n,a,l,p,y,b,m,h,c]);return{getTemplate:(0,Ei.useCallback)(async E=>{let f=Mi.getTemplate;typeof f=="function"?await f(g):await e(E)},[g,e]),saveTemplate:s(async E=>{let f=Mi.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:pr,convertLegacyError:Xo}}s(_r,"useTemplateActions");var Lo=require("react/jsx-runtime"),U1=s(({children:e,templateId:t,tenantId:r,token:o,apiUrl:n,uploadImageUrl:i})=>{let[,l]=(0,co.useAtom)(It),[,u]=(0,co.useAtom)(Ko),[,a]=(0,co.useAtom)(mt),[,c]=(0,co.useAtom)(ft),[,d]=(0,co.useAtom)(Er),m=_r(),p=(0,uo.useRef)(m),[h]=(0,co.useAtom)(re);return p.current=m,(0,uo.useEffect)(()=>{a(o),c(r),d(t),n&&l(n),i&&u(i)},[o,r,t,n,l,a,c,d,i,u]),(0,uo.useEffect)(()=>{console.log("\u{1F50D} TemplateProvider useEffect triggered, templateError:",h),h?(console.log("\u{1F6A8} Showing toast for error:",h.message),_u.toast.error(h.message,h.toastProps)):console.log("\u2705 No template error to show")},[h]),(0,Lo.jsx)(Lo.Fragment,{children:e})},"TemplateProviderContext"),Mi={getTemplate:null,saveTemplate:null},_1=s(e=>((0,uo.useEffect)(()=>{Mi.getTemplate=e.getTemplate||null,ur.set(wi,e.getTemplate?()=>Promise.resolve():null)},[e.getTemplate]),(0,uo.useEffect)(()=>{Mi.saveTemplate=e.saveTemplate||null,ur.set(Pi,e.saveTemplate?()=>Promise.resolve():null)},[e.saveTemplate]),(0,Lo.jsxs)(co.Provider,{store:ur,children:[(0,Lo.jsx)(U1,{...e}),(0,Lo.jsx)(cl,{})]})),"TemplateProviderComponent"),Zu=(0,uo.memo)(_1);var Zr=require("jotai");function Rn(){let[,e]=(0,Zr.useAtom)(xa),[,t]=(0,Zr.useAtom)(Hu),[,r]=(0,Zr.useAtom)(Ta),[,o]=(0,Zr.useAtom)(Du),[n,i]=(0,Zr.useAtom)(ve),[l,u]=(0,Zr.useAtom)(gt),[a,c]=(0,Zr.useAtom)(Lt),[d,m]=(0,Zr.useAtom)(re),[p,h]=(0,Zr.useAtom)(Je),y=s(k=>{m(k===null?null:typeof k=="string"?pr(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:pr,convertLegacyError:Xo};return{getTemplate:s(async k=>{let E=ur.get(wi);E?await E:await e(k)},"getTemplateWithOverride"),saveTemplate:s(async k=>{let E=ur.get(Pi);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:pr,convertLegacyError:Xo}}s(Rn,"useBrandActions");var Yu=require("clsx"),Qu=require("tailwind-merge");var Ro=require("uuid");function qu(e){let t=[],r=e.replace(/\n$/,"").split(`
|
|
156
156
|
`);for(let o=0;o<r.length;o++)Z1(r[o],t),o<r.length-1&&t.push({type:"hardBreak"});return t}s(qu,"parseMDContent");function Z1(e,t){q1(e,t)}s(Z1,"parseTextLine");function ju(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(ju,"applyMarks");function q1(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=[];Gu(c.text,[],d),ju(d,u),a.push(...d)}else if(c.type==="variable"){let d={type:"variable",attrs:c.attrs};ju([d],u),a.push(d)}else if(c.type==="link"){let d=[];Gu(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(q1,"processMarkdownFormatting");function Gu(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(Gu,"parseTextWithVariables");function po(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()?qu(v.content):[];return[{type:C?"heading":"paragraph",attrs:{textAlign:v.align||"left",level:C,id:`node-${(0,Ro.v4)()}`,...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-${(0,Ro.v4)()}`,...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-${(0,Ro.v4)()}`,...v.border_color&&{borderColor:v.border_color}},content:[{type:"paragraph",attrs:{textAlign:v.align||"left",id:`node-${(0,Ro.v4)()}`},content:qu(v.content)}]}];case"image":return[{type:"imageBlock",attrs:{sourcePath:v.src,id:`node-${(0,Ro.v4)()}`,...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-${(0,Ro.v4)()}`,...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-${(0,Ro.v4)()}`,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(po,"convertElementalToTiptap");function Ku(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(Ku,"applyMarks");function Ju(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(Ju,"parseTextWithVariables");function pl(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=[];Ju(a.text,[],c),Ku(c,l),u.push(...c)}else if(a.type==="variable"){let c={type:"variable",attrs:a.attrs};Ku([c],l),u.push(c)}else if(a.type==="link"){let c=[];Ju(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(pl,"processMarkdownFormatting");function j1(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:pl(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:pl(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:pl(o)})}return t}s(j1,"parseBlockContent");function Xu(e){return{type:"doc",content:j1(e)}}s(Xu,"convertMarkdownToTiptap");var G1=s(e=>{switch(e.type){case"bold":return"**";case"italic":return"*";case"strike":return"~";case"underline":return"+";default:return""}},"markToMD"),ml=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(G1).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 Nr(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,z,j,X,ne,J,pe,te,Me,me,Pe,$e,rt,st,Ot,lt,Ge,ir,Ct,ar,sr,Yt,ct,lr,cr,ut,dt,I,Q,V,se,oe,ge,be,Ce,pt,Ke,ao,qo,A;switch(r.type){case"paragraph":{let S="",$=r.content||[];for(let le=0;le<$.length;le++)$[le].type==="hardBreak"?S+=`
|
|
157
157
|
`:S+=ml($[le]);S+=`
|
|
158
158
|
`;let Z={};if((o=r.attrs)!=null&&o.borderWidth||(n=r.attrs)!=null&&n.borderColor||(i=r.attrs)!=null&&i.borderRadius){let le={};(l=r.attrs)!=null&&l.borderColor&&(le.color=r.attrs.borderColor),le.enabled=!0,(u=r.attrs)!=null&&u.borderWidth&&(le.size=`${r.attrs.borderWidth}px`),(a=r.attrs)!=null&&a.borderRadius&&(le.radius=r.attrs.borderRadius),Z.border=le}return((c=r.attrs)==null?void 0:c.paddingVertical)!==void 0&&((d=r.attrs)==null?void 0:d.paddingHorizontal)!==void 0&&(Z.padding=`${r.attrs.paddingVertical}px ${r.attrs.paddingHorizontal}px`),(m=r.attrs)!=null&&m.textColor&&(Z.color=r.attrs.textColor),(p=r.attrs)!=null&&p.backgroundColor&&(Z.background_color=r.attrs.backgroundColor),Z.type="text",Z.align=((h=r.attrs)==null?void 0:h.textAlign)||"left",Z.content=S,[Z]}case"heading":{let S="",$=r.content||[];for(let le=0;le<$.length;le++)$[le].type==="hardBreak"?S+=`
|