@thanhpv102/easy-email-core 4.19.14 → 4.20.1

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.
@@ -14,6 +14,7 @@ export interface IAdvancedTableData {
14
14
  export type AdvancedTableBlock = IBlockData<{
15
15
  cellPadding?: string;
16
16
  cellBorderColor?: string;
17
+ headerRow?: string;
17
18
  'font-style'?: string;
18
19
  'text-align'?: string;
19
20
  width?: string;
package/lib/index.cjs.js CHANGED
@@ -101,7 +101,7 @@ You passed in: '`+this.raw_options[e]+`'`);return r},n.prototype._is_valid_selec
101
101
  <td style="padding: 8px; border: 1px solid #000;">Cell 1</td>
102
102
  <td style="padding: 8px; border: 1px solid #000;">Cell 2</td>
103
103
  <td style="padding: 8px; border: 1px solid #000;">Cell 3</td>
104
- </tr>`}},attributes:{width:`100%`,align:`left`},children:[]},e),validParentType:[m.COLUMN,m.HERO],render(e){let{data:t}=e,n=t.data.value.content||``;return u.default.createElement(R,{params:e,tag:`mj-table`},n)}}),We={[m.PAGE]:we,[m.SECTION]:Te,[m.COLUMN]:Ee,[m.TEXT]:De,[m.IMAGE]:Oe,[m.GROUP]:ke,[m.BUTTON]:Ae,[m.DIVIDER]:je,[m.WRAPPER]:Se,[m.SPACER]:Me,[m.RAW]:Le,[m.CAROUSEL]:Ne,[m.HERO]:Pe,[m.NAVBAR]:Fe,[m.SOCIAL]:Ie,[m.TEMPLATE]:Re,[m.ACCORDION]:He,[m.ACCORDION_ELEMENT]:ze,[m.ACCORDION_TITLE]:Be,[m.ACCORDION_TEXT]:Ve,[m.TABLE]:Ue},Ge=v;function Ke(e){let t=Object.values(We).find(t=>t.type===e.baseType);if(!t)throw Error(`Can not find ${e.baseType}`);return Ge({get name(){return t.name},type:e.type,validParentType:e.validParentType,create:n=>(0,d.merge)(I(I({},t.create()),{},{type:e.type}),n),render:t=>{let{data:n,idx:r,mode:i,context:a,dataSource:o}=t,{iteration:s,condition:c}=n.data.value,l=(t,r)=>e.getContent({index:r,data:n,idx:t,mode:i,context:a,dataSource:o}),d=l(r,0);return i===`testing`?u.default.createElement(u.default.Fragment,null,u.default.createElement(u.default.Fragment,{key:`children`},d),Array(((s==null?void 0:s.mockQuantity)||1)-1).fill(!0).map((e,t)=>u.default.createElement(u.default.Fragment,{key:t},l(r,t+1)))):(c&&c.enabled&&(d=X.generateTagTemplate(`condition`)(c,d)),s&&s.enabled&&(d=X.generateTagTemplate(`iteration`)(s,d)),d)}})}var qe=function(e){return e.TRUTHY=`truthy`,e.FALSY=`falsy`,e.EQUAL=`==`,e.NOT_EQUAL=`!=`,e.GREATER=`>`,e.GREATER_OR_EQUAL=`>=`,e.LESS=`<`,e.LESS_OR_EQUAL=`<=`,e}({}),Je=function(e){return e.AND=`and`,e.OR=`or`,e}({});function B({idx:e,value:t,type:n,attributes:r,children:i}){let{mode:a}=be(),o=Y.getBlockByType(n);if(!o)throw Error(`Can no find ${n}`);let s=(0,u.useMemo)(()=>typeof i==`string`?t?((0,d.set)(t,`content`,i),t):{content:i}:t,[i,t]);return u.default.createElement(u.default.Fragment,null,o.render({idx:e,mode:a,data:{type:o.type,data:{value:s},attributes:r,children:[]},children:i}))}function Ye(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.PAGE},e.children)}function Xe(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.SECTION},e.children)}function Ze(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.COLUMN},e.children)}function Qe(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.TEXT},e.children)}function $e(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.IMAGE},e.children)}function et(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.GROUP},e.children)}function tt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.BUTTON},e.children)}function nt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.DIVIDER},e.children)}function rt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.WRAPPER},e.children)}function it(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.SPACER},e.children)}function V(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.RAW},e.children)}function at(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION},e.children)}function ot(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION_ELEMENT},e.children)}function st(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION_TITLE},e.children)}function ct(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION_TEXT},e.children)}function lt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.CAROUSEL},e.children)}function ut(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.HERO},e.children)}function dt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.NAVBAR},e.children)}function ft(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.SOCIAL},e.children)}function pt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.TABLE},e.children)}function mt(e){return e.children}var ht=s({Accordion:()=>at,AccordionElement:()=>ot,AccordionText:()=>ct,AccordionTitle:()=>st,BlockRenderer:()=>L,Button:()=>tt,Carousel:()=>lt,Column:()=>Ze,Divider:()=>nt,Group:()=>et,Hero:()=>ut,Image:()=>$e,MjmlBlock:()=>B,Navbar:()=>dt,Page:()=>Ye,Raw:()=>V,Section:()=>Xe,Social:()=>ft,Spacer:()=>it,Table:()=>pt,Template:()=>mt,Text:()=>Qe,Wrapper:()=>rt});function H(...e){return e.filter(e=>typeof e==`string`).join(` `)}function gt(e,t){let n=Y.getAutoCompletePath(e,t);return n?n.length+1:-1}function _t(){return`content`}function U(e,t){return`${e}.children.[${t}]`}function vt(e){return`node-idx-${e}`}function W(e){return`node-type-${e}`}function yt(e){var t;return(t=Array.from(e).find(e=>e.includes(`node-idx-`)))==null?void 0:t.replace(`node-idx-`,``)}function bt(e){var t;return(t=Array.from((0,d.isString)(e)?e.split(` `):e).find(e=>e.includes(`node-type-`)))==null?void 0:t.replace(`node-type-`,``)}var xt=e=>{var t;return Number((t=/\.\[(\d+)\]$/.exec(e))==null?void 0:t[1])||0},G=e=>{var t;if(e!==_t())return(t=/(.*)\.children\.\[\d+\]$/.exec(e))==null?void 0:t[1]},St=(e,t)=>(0,d.get)(e,t),Ct=(e,t)=>(0,d.get)(e,G(t)||``),wt=(e,t)=>e.replace(/\[(\d+)\]$/,(e,n)=>Number(n)+t<0?`[0]`:`[${Number(n)+t}]`),Tt=(e,t,n)=>{if(!t)return null;let r=G(t);for(;r;){let i=(0,d.get)(e,r);if(i&&i.type===n.toString())return i;r=G(t)}return null},Et=(e,t,n)=>{let r=t,i=Y.getBlockByType(n);if(!i)return null;for(;r;){let t=(0,d.get)(e,r);if(gt(i.type,t.type)>0)return{parent:t,parentIdx:r};r=G(r)}return null},Dt=(e,t,n)=>{let r=``,i=t;for(;i;){let t=(0,d.get)(e,i);if(t&&t.type===n.toString())return{insertIndex:r?xt(r):t.children.length-1,parentIdx:i,parent:t};r=i,i=G(i)}return null},Ot=e=>Y.getBlocks().filter(t=>t.validParentType.includes(e));function K(e,t){return H(`email-block`,e&&vt(e),W(t))}function q(e){return Ke(I(I({},e),{},{validParentType:[m.PAGE,m.WRAPPER,m.COLUMN,m.GROUP,m.HERO,h.WRAPPER,h.COLUMN,h.GROUP,h.HERO],getContent:t=>{let{data:n,idx:r,mode:i,context:a,index:o}=t,s=i===`testing`?H(o===0&&r&&K(r,n.type)):``,c=I(I({},n),{},{type:e.baseType,attributes:I(I({},n.attributes),{},{"css-class":H(n.attributes[`css-class`],s)})}),l=Y.getBlockByType(c.type);if(!l)throw Error(`Can not find ${c.type}`);let d=l==null?void 0:l.render(I(I({},t),{},{data:c,idx:r})),f=Ct({content:a},r);return f&&(f.type===m.PAGE.toString()||f.type===m.WRAPPER.toString()||f.type===h.WRAPPER.toString())?u.default.createElement(Xe,{padding:`0px`,"text-align":`left`},u.default.createElement(Ze,null,d)):d}}))}function J(e){return Ke(I(I({},e),{},{getContent:t=>{let{data:n,idx:r,mode:i,index:a}=t,{iteration:o}=n.data.value,s=I(I({},n),{},{type:e.baseType});n.type===h.COLUMN.toString()&&o!=null&&o.enabled&&(n.attributes.width=n.attributes.width||`100%`);let c=i===`testing`?H(a===0&&r&&K(r,n.type)):``;return u.default.createElement(L,{idx:null,data:I(I({},s),{},{attributes:I(I({},s.attributes),{},{"css-class":H(n.attributes[`css-class`],c)})})},s.children.map((e,n)=>u.default.createElement(L,I(I({key:n},t),{},{data:e,idx:r?U(r,n):null}))))}}))}function kt(e){return Ge({get name(){return`Advanced Table`},type:e.type,validParentType:[m.PAGE,m.WRAPPER,m.COLUMN,m.GROUP,m.HERO,h.WRAPPER,h.COLUMN,h.GROUP,h.HERO],create:t=>(0,d.merge)({type:e.type,data:{value:{tableSource:[[{content:`Header 1`},{content:`Header 2`},{content:`Header 3`}],[{content:`Cell 1-1`},{content:`Cell 1-2`},{content:`Cell 1-3`}],[{content:`Cell 2-1`},{content:`Cell 2-2`},{content:`Cell 2-3`}]]}},attributes:{cellBorderColor:`#dddddd`,cellPadding:`8px`,"text-align":`left`,width:`100%`},children:[]},t),render:t=>{let{data:n,idx:r,mode:i,context:a}=t,o=i===`testing`&&r?K(r,n.type):``,s=I(I({},n),{},{type:e.baseType,attributes:I(I({},n.attributes),{},{"css-class":H(n.attributes[`css-class`],o)}),data:I(I({},n.data),{},{value:{content:At(n.data.value.tableSource,n.attributes)}})}),c=Y.getBlockByType(s.type);if(!c)throw Error(`Can not find ${s.type}`);let l=c==null?void 0:c.render(I(I({},t),{},{data:s,idx:r})),d=Ct({content:a},r);return d&&(d.type===m.PAGE.toString()||d.type===m.WRAPPER.toString()||d.type===h.WRAPPER.toString())?u.default.createElement(Xe,{padding:`0px`,"text-align":`left`},u.default.createElement(Ze,null,l)):l}})}function At(e,t){let{cellPadding:n,cellBorderColor:r}=t,i=t[`text-align`]||`left`,a=t[`font-style`]||`normal`;return e.map((e,t)=>`<tr style="text-align:${i};font-style:${a};">${e.map(e=>{let i=[];n&&i.push(`padding: ${n}`),r&&i.push(`border: 1px solid ${r}`),e.backgroundColor&&i.push(`background-color: ${e.backgroundColor}`);let a=t===0?`th`:`td`,o=i.length>0?` style="${i.join(`; `)}"`:``;return`<${a}${e.rowSpan&&e.rowSpan>1?` rowspan="${e.rowSpan}"`:``}${e.colSpan&&e.colSpan>1?` colspan="${e.colSpan}"`:``}${o}>${e.content}</${a}>`}).join(``)}</tr>`).join(``)}var jt=q({type:h.TEXT,baseType:m.TEXT}),Mt=q({type:h.BUTTON,baseType:m.BUTTON}),Nt=q({type:h.IMAGE,baseType:m.IMAGE}),Pt=q({type:h.DIVIDER,baseType:m.DIVIDER}),Ft=q({type:h.SPACER,baseType:m.SPACER}),It=q({type:h.NAVBAR,baseType:m.NAVBAR}),Lt=q({type:h.ACCORDION,baseType:m.ACCORDION}),Rt=q({type:h.CAROUSEL,baseType:m.CAROUSEL}),zt=q({type:h.SOCIAL,baseType:m.SOCIAL}),Bt=kt({type:h.TABLE,baseType:m.TABLE,validParentType:[m.PAGE,m.COLUMN,m.WRAPPER,h.COLUMN,h.SECTION]}),Vt=J({type:h.WRAPPER,baseType:m.WRAPPER,validParentType:[m.PAGE]}),Ht=J({type:h.SECTION,baseType:m.SECTION,validParentType:[m.PAGE,m.WRAPPER,h.WRAPPER]}),Ut=J({type:h.GROUP,baseType:m.GROUP,validParentType:[m.SECTION,h.SECTION]}),Wt=J({type:h.COLUMN,baseType:m.COLUMN,validParentType:[m.SECTION,h.SECTION,m.GROUP,h.GROUP]}),Gt=J({type:h.HERO,baseType:m.HERO,validParentType:[m.WRAPPER,h.WRAPPER,m.PAGE]}),Kt={[h.TEXT]:jt,[h.BUTTON]:Mt,[h.IMAGE]:Nt,[h.DIVIDER]:Pt,[h.SPACER]:Ft,[h.NAVBAR]:It,[h.ACCORDION]:Lt,[h.CAROUSEL]:Rt,[h.SOCIAL]:zt,[h.TABLE]:Bt,[h.WRAPPER]:Vt,[h.SECTION]:Ht,[h.GROUP]:Ut,[h.COLUMN]:Wt,[h.HERO]:Gt},Y=class{static setAutoCompletePath(){let e={},t=(e,n,r)=>{let i=this.getBlockByType(e);if(!i)throw Error(`Can you register ${e} block`);let a=[...r,e];return i.validParentType.length===0&&n.push(a),i.validParentType.map(e=>t(e,n,a))};return Object.values(this.blocksMap).forEach(n=>{e[n.type]=[],t(n.type,e[n.type],[])}),e}static getBlocks(){return Object.values(this.blocksMap)}static registerBlocks(e){this.blocksMap=I(I({},this.blocksMap),e),this.autoCompletePath=this.setAutoCompletePath()}static getBlockByType(e){return this.blocksMap[e]}static getBlocksByType(e){return e.map(e=>Object.values(this.blocksMap).find(t=>t.type===e))}static getAutoCompleteFullPath(){return Object.keys(this.autoCompletePath).length===0&&(this.autoCompletePath=this.setAutoCompletePath()),this.autoCompletePath}static getAutoCompletePath(e,t){let n=this.getBlockByType(e);if(!n)throw Error(`Can you register ${e} block`);if(n.validParentType.includes(t))return[];let r=this.getAutoCompleteFullPath()[e].find(e=>e.filter((e,t)=>t!==0).includes(t));if(!r)return null;let i=r.findIndex(e=>e===t);return r.slice(1,i)}};S(Y,`blocksMap`,I(I({},We),Kt)),S(Y,`autoCompletePath`,{});function qt(e){try{if(e.attributes&&e.children&&e.data&&e.type&&Y.getBlockByType(e.type))return!0}catch(e){}return!1}function Jt(e){return JSON.parse((0,d.unescape)((0,f.renderToStaticMarkup)(e)))}function Yt(e,t){let n=Y.getBlockByType(e);if(n)try{let e=n.create(t);return e.data||(e.data={value:{}}),e.data.value||(e.data.value={}),e.attributes||(e.attributes={}),Array.isArray(e.children)||(e.children=[]),e}catch(t){throw console.error(`Error creating block ${e}:`,t),Error(`Failed to create block \`${e}\`: ${t instanceof Error?t.message:String(t)}`)}throw Error(`No match \`${e}\` block`)}function Xt(e,t){return u.default.createElement(u.default.Fragment,null,u.default.createElement(V,null,`
104
+ </tr>`}},attributes:{width:`100%`,align:`left`},children:[]},e),validParentType:[m.COLUMN,m.HERO],render(e){let{data:t}=e,n=t.data.value.content||``;return u.default.createElement(R,{params:e,tag:`mj-table`},n)}}),We={[m.PAGE]:we,[m.SECTION]:Te,[m.COLUMN]:Ee,[m.TEXT]:De,[m.IMAGE]:Oe,[m.GROUP]:ke,[m.BUTTON]:Ae,[m.DIVIDER]:je,[m.WRAPPER]:Se,[m.SPACER]:Me,[m.RAW]:Le,[m.CAROUSEL]:Ne,[m.HERO]:Pe,[m.NAVBAR]:Fe,[m.SOCIAL]:Ie,[m.TEMPLATE]:Re,[m.ACCORDION]:He,[m.ACCORDION_ELEMENT]:ze,[m.ACCORDION_TITLE]:Be,[m.ACCORDION_TEXT]:Ve,[m.TABLE]:Ue},Ge=v;function Ke(e){let t=Object.values(We).find(t=>t.type===e.baseType);if(!t)throw Error(`Can not find ${e.baseType}`);return Ge({get name(){return t.name},type:e.type,validParentType:e.validParentType,create:n=>(0,d.merge)(I(I({},t.create()),{},{type:e.type}),n),render:t=>{let{data:n,idx:r,mode:i,context:a,dataSource:o}=t,{iteration:s,condition:c}=n.data.value,l=(t,r)=>e.getContent({index:r,data:n,idx:t,mode:i,context:a,dataSource:o}),d=l(r,0);return i===`testing`?u.default.createElement(u.default.Fragment,null,u.default.createElement(u.default.Fragment,{key:`children`},d),Array(((s==null?void 0:s.mockQuantity)||1)-1).fill(!0).map((e,t)=>u.default.createElement(u.default.Fragment,{key:t},l(r,t+1)))):(c&&c.enabled&&(d=X.generateTagTemplate(`condition`)(c,d)),s&&s.enabled&&(d=X.generateTagTemplate(`iteration`)(s,d)),d)}})}var qe=function(e){return e.TRUTHY=`truthy`,e.FALSY=`falsy`,e.EQUAL=`==`,e.NOT_EQUAL=`!=`,e.GREATER=`>`,e.GREATER_OR_EQUAL=`>=`,e.LESS=`<`,e.LESS_OR_EQUAL=`<=`,e}({}),Je=function(e){return e.AND=`and`,e.OR=`or`,e}({});function B({idx:e,value:t,type:n,attributes:r,children:i}){let{mode:a}=be(),o=Y.getBlockByType(n);if(!o)throw Error(`Can no find ${n}`);let s=(0,u.useMemo)(()=>typeof i==`string`?t?((0,d.set)(t,`content`,i),t):{content:i}:t,[i,t]);return u.default.createElement(u.default.Fragment,null,o.render({idx:e,mode:a,data:{type:o.type,data:{value:s},attributes:r,children:[]},children:i}))}function Ye(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.PAGE},e.children)}function Xe(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.SECTION},e.children)}function Ze(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.COLUMN},e.children)}function Qe(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.TEXT},e.children)}function $e(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.IMAGE},e.children)}function et(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.GROUP},e.children)}function tt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.BUTTON},e.children)}function nt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.DIVIDER},e.children)}function rt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.WRAPPER},e.children)}function it(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.SPACER},e.children)}function V(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.RAW},e.children)}function at(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION},e.children)}function ot(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION_ELEMENT},e.children)}function st(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION_TITLE},e.children)}function ct(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.ACCORDION_TEXT},e.children)}function lt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.CAROUSEL},e.children)}function ut(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.HERO},e.children)}function dt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.NAVBAR},e.children)}function ft(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.SOCIAL},e.children)}function pt(e){return u.default.createElement(B,{attributes:(0,d.omit)(e,[`data`,`children`,`value`]),value:e.value,type:m.TABLE},e.children)}function mt(e){return e.children}var ht=s({Accordion:()=>at,AccordionElement:()=>ot,AccordionText:()=>ct,AccordionTitle:()=>st,BlockRenderer:()=>L,Button:()=>tt,Carousel:()=>lt,Column:()=>Ze,Divider:()=>nt,Group:()=>et,Hero:()=>ut,Image:()=>$e,MjmlBlock:()=>B,Navbar:()=>dt,Page:()=>Ye,Raw:()=>V,Section:()=>Xe,Social:()=>ft,Spacer:()=>it,Table:()=>pt,Template:()=>mt,Text:()=>Qe,Wrapper:()=>rt});function H(...e){return e.filter(e=>typeof e==`string`).join(` `)}function gt(e,t){let n=Y.getAutoCompletePath(e,t);return n?n.length+1:-1}function _t(){return`content`}function U(e,t){return`${e}.children.[${t}]`}function vt(e){return`node-idx-${e}`}function W(e){return`node-type-${e}`}function yt(e){var t;return(t=Array.from(e).find(e=>e.includes(`node-idx-`)))==null?void 0:t.replace(`node-idx-`,``)}function bt(e){var t;return(t=Array.from((0,d.isString)(e)?e.split(` `):e).find(e=>e.includes(`node-type-`)))==null?void 0:t.replace(`node-type-`,``)}var xt=e=>{var t;return Number((t=/\.\[(\d+)\]$/.exec(e))==null?void 0:t[1])||0},G=e=>{var t;if(e!==_t())return(t=/(.*)\.children\.\[\d+\]$/.exec(e))==null?void 0:t[1]},St=(e,t)=>(0,d.get)(e,t),Ct=(e,t)=>(0,d.get)(e,G(t)||``),wt=(e,t)=>e.replace(/\[(\d+)\]$/,(e,n)=>Number(n)+t<0?`[0]`:`[${Number(n)+t}]`),Tt=(e,t,n)=>{if(!t)return null;let r=G(t);for(;r;){let i=(0,d.get)(e,r);if(i&&i.type===n.toString())return i;r=G(t)}return null},Et=(e,t,n)=>{let r=t,i=Y.getBlockByType(n);if(!i)return null;for(;r;){let t=(0,d.get)(e,r);if(gt(i.type,t.type)>0)return{parent:t,parentIdx:r};r=G(r)}return null},Dt=(e,t,n)=>{let r=``,i=t;for(;i;){let t=(0,d.get)(e,i);if(t&&t.type===n.toString())return{insertIndex:r?xt(r):t.children.length-1,parentIdx:i,parent:t};r=i,i=G(i)}return null},Ot=e=>Y.getBlocks().filter(t=>t.validParentType.includes(e));function K(e,t){return H(`email-block`,e&&vt(e),W(t))}function q(e){return Ke(I(I({},e),{},{validParentType:[m.PAGE,m.WRAPPER,m.COLUMN,m.GROUP,m.HERO,h.WRAPPER,h.COLUMN,h.GROUP,h.HERO],getContent:t=>{let{data:n,idx:r,mode:i,context:a,index:o}=t,s=i===`testing`?H(o===0&&r&&K(r,n.type)):``,c=I(I({},n),{},{type:e.baseType,attributes:I(I({},n.attributes),{},{"css-class":H(n.attributes[`css-class`],s)})}),l=Y.getBlockByType(c.type);if(!l)throw Error(`Can not find ${c.type}`);let d=l==null?void 0:l.render(I(I({},t),{},{data:c,idx:r})),f=Ct({content:a},r);return f&&(f.type===m.PAGE.toString()||f.type===m.WRAPPER.toString()||f.type===h.WRAPPER.toString())?u.default.createElement(Xe,{padding:`0px`,"text-align":`left`},u.default.createElement(Ze,null,d)):d}}))}function J(e){return Ke(I(I({},e),{},{getContent:t=>{let{data:n,idx:r,mode:i,index:a}=t,{iteration:o}=n.data.value,s=I(I({},n),{},{type:e.baseType});n.type===h.COLUMN.toString()&&o!=null&&o.enabled&&(n.attributes.width=n.attributes.width||`100%`);let c=i===`testing`?H(a===0&&r&&K(r,n.type)):``;return u.default.createElement(L,{idx:null,data:I(I({},s),{},{attributes:I(I({},s.attributes),{},{"css-class":H(n.attributes[`css-class`],c)})})},s.children.map((e,n)=>u.default.createElement(L,I(I({key:n},t),{},{data:e,idx:r?U(r,n):null}))))}}))}function kt(e){return Ge({get name(){return`Advanced Table`},type:e.type,validParentType:[m.PAGE,m.WRAPPER,m.COLUMN,m.GROUP,m.HERO,h.WRAPPER,h.COLUMN,h.GROUP,h.HERO],create:t=>(0,d.merge)({type:e.type,data:{value:{tableSource:[[{content:`Header 1`},{content:`Header 2`},{content:`Header 3`}],[{content:`Cell 1-1`},{content:`Cell 1-2`},{content:`Cell 1-3`}],[{content:`Cell 2-1`},{content:`Cell 2-2`},{content:`Cell 2-3`}]]}},attributes:{cellBorderColor:`#dddddd`,cellPadding:`8px`,"text-align":`left`,width:`100%`},children:[]},t),render:t=>{let{data:n,idx:r,mode:i,context:a}=t,o=i===`testing`&&r?K(r,n.type):``,s=I(I({},n),{},{type:e.baseType,attributes:I(I({},n.attributes),{},{"css-class":H(n.attributes[`css-class`],o)}),data:I(I({},n.data),{},{value:{content:At(n.data.value.tableSource,n.attributes)}})}),c=Y.getBlockByType(s.type);if(!c)throw Error(`Can not find ${s.type}`);let l=c==null?void 0:c.render(I(I({},t),{},{data:s,idx:r})),d=Ct({content:a},r);return d&&(d.type===m.PAGE.toString()||d.type===m.WRAPPER.toString()||d.type===h.WRAPPER.toString())?u.default.createElement(Xe,{padding:`0px`,"text-align":`left`},u.default.createElement(Ze,null,l)):l}})}function At(e,t){let{cellPadding:n,cellBorderColor:r,headerRow:i}=t,a=i!=`false`,o=t[`text-align`]||`left`,s=t[`font-style`]||`normal`;return e.map((e,t)=>`<tr style="text-align:${o};font-style:${s};">${e.map(e=>{let i=[];n&&i.push(`padding: ${n}`),r&&i.push(`border: 1px solid ${r}`),e.backgroundColor&&i.push(`background-color: ${e.backgroundColor}`);let o=a&&t===0?`th`:`td`,s=i.length>0?` style="${i.join(`; `)}"`:``;return`<${o}${e.rowSpan&&e.rowSpan>1?` rowspan="${e.rowSpan}"`:``}${e.colSpan&&e.colSpan>1?` colspan="${e.colSpan}"`:``}${s}>${e.content}</${o}>`}).join(``)}</tr>`).join(``)}var jt=q({type:h.TEXT,baseType:m.TEXT}),Mt=q({type:h.BUTTON,baseType:m.BUTTON}),Nt=q({type:h.IMAGE,baseType:m.IMAGE}),Pt=q({type:h.DIVIDER,baseType:m.DIVIDER}),Ft=q({type:h.SPACER,baseType:m.SPACER}),It=q({type:h.NAVBAR,baseType:m.NAVBAR}),Lt=q({type:h.ACCORDION,baseType:m.ACCORDION}),Rt=q({type:h.CAROUSEL,baseType:m.CAROUSEL}),zt=q({type:h.SOCIAL,baseType:m.SOCIAL}),Bt=kt({type:h.TABLE,baseType:m.TABLE,validParentType:[m.PAGE,m.COLUMN,m.WRAPPER,h.COLUMN,h.SECTION]}),Vt=J({type:h.WRAPPER,baseType:m.WRAPPER,validParentType:[m.PAGE]}),Ht=J({type:h.SECTION,baseType:m.SECTION,validParentType:[m.PAGE,m.WRAPPER,h.WRAPPER]}),Ut=J({type:h.GROUP,baseType:m.GROUP,validParentType:[m.SECTION,h.SECTION]}),Wt=J({type:h.COLUMN,baseType:m.COLUMN,validParentType:[m.SECTION,h.SECTION,m.GROUP,h.GROUP]}),Gt=J({type:h.HERO,baseType:m.HERO,validParentType:[m.WRAPPER,h.WRAPPER,m.PAGE]}),Kt={[h.TEXT]:jt,[h.BUTTON]:Mt,[h.IMAGE]:Nt,[h.DIVIDER]:Pt,[h.SPACER]:Ft,[h.NAVBAR]:It,[h.ACCORDION]:Lt,[h.CAROUSEL]:Rt,[h.SOCIAL]:zt,[h.TABLE]:Bt,[h.WRAPPER]:Vt,[h.SECTION]:Ht,[h.GROUP]:Ut,[h.COLUMN]:Wt,[h.HERO]:Gt},Y=class{static setAutoCompletePath(){let e={},t=(e,n,r)=>{let i=this.getBlockByType(e);if(!i)throw Error(`Can you register ${e} block`);let a=[...r,e];return i.validParentType.length===0&&n.push(a),i.validParentType.map(e=>t(e,n,a))};return Object.values(this.blocksMap).forEach(n=>{e[n.type]=[],t(n.type,e[n.type],[])}),e}static getBlocks(){return Object.values(this.blocksMap)}static registerBlocks(e){this.blocksMap=I(I({},this.blocksMap),e),this.autoCompletePath=this.setAutoCompletePath()}static getBlockByType(e){return this.blocksMap[e]}static getBlocksByType(e){return e.map(e=>Object.values(this.blocksMap).find(t=>t.type===e))}static getAutoCompleteFullPath(){return Object.keys(this.autoCompletePath).length===0&&(this.autoCompletePath=this.setAutoCompletePath()),this.autoCompletePath}static getAutoCompletePath(e,t){let n=this.getBlockByType(e);if(!n)throw Error(`Can you register ${e} block`);if(n.validParentType.includes(t))return[];let r=this.getAutoCompleteFullPath()[e].find(e=>e.filter((e,t)=>t!==0).includes(t));if(!r)return null;let i=r.findIndex(e=>e===t);return r.slice(1,i)}};S(Y,`blocksMap`,I(I({},We),Kt)),S(Y,`autoCompletePath`,{});function qt(e){try{if(e.attributes&&e.children&&e.data&&e.type&&Y.getBlockByType(e.type))return!0}catch(e){}return!1}function Jt(e){return JSON.parse((0,d.unescape)((0,f.renderToStaticMarkup)(e)))}function Yt(e,t){let n=Y.getBlockByType(e);if(n)try{let e=n.create(t);return e.data||(e.data={value:{}}),e.data.value||(e.data.value={}),e.attributes||(e.attributes={}),Array.isArray(e.children)||(e.children=[]),e}catch(t){throw console.error(`Error creating block ${e}:`,t),Error(`Failed to create block \`${e}\`: ${t instanceof Error?t.message:String(t)}`)}throw Error(`No match \`${e}\` block`)}function Xt(e,t){return u.default.createElement(u.default.Fragment,null,u.default.createElement(V,null,`
105
105
  <!-- htmlmin:ignore -->
106
106
  {% for ${e.itemName} in ${e.dataSource} ${e.limit?`limit:${e.limit}`:``} %}
107
107
  <!-- htmlmin:ignore -->