@emailmaker/emailmaker 1.2.0 → 1.2.5

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.
Files changed (60) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +4 -0
  3. package/emailmaker-core.ee1618fa.js +859 -0
  4. package/emailmaker-esm.js +11 -11
  5. package/{emailmaker-po.fec11667.js → emailmaker-po.ee1618fa.js} +1 -1
  6. package/emailmaker.d.ts +34 -2
  7. package/emailmaker.js +12 -12
  8. package/iframe/.vite/manifest.json +4 -4
  9. package/iframe/{iframe-eblock.fec11667.html → iframe-eblock.ee1618fa.html} +2 -2
  10. package/iframe/{iframe.fec11667.html → iframe.ee1618fa.html} +2 -2
  11. package/iframe/js/elMarkupHelper.Buog1r0c.js +278 -0
  12. package/iframe/js/iframe-eblock.body.ee1618fa.js +9 -0
  13. package/iframe/js/iframe-eblock.js +2 -2
  14. package/iframe/js/iframe.body.ee1618fa.js +129 -0
  15. package/iframe/js/iframe.js +2 -2
  16. package/iframe/js/sanitize-html/sanitize-html.js +46 -21756
  17. package/package.json +1 -1
  18. package/runtime/react/index.js +1 -1
  19. package/static/core/155e871a.js +7 -0
  20. package/static/core/{7be64bf5.js → 17fba7af.js} +1 -1
  21. package/static/core/{a9235d9e.js → 2a042fe3.js} +1 -1
  22. package/static/core/{c5713f94.js → 32a14159.js} +1 -1
  23. package/static/core/{99c15a5d.js → 4de9c323.js} +1 -1
  24. package/static/core/{ec5f739e.js → 50ba806c.js} +10 -10
  25. package/static/core/{db685f4e.js → 5b6e2acb.js} +1 -1
  26. package/static/core/{f2ced98d.js → 63e7f8c1.js} +2 -2
  27. package/static/core/{790366d3.js → 64711257.js} +1 -1
  28. package/static/core/{f54ef492.js → 659796a7.js} +1 -1
  29. package/static/core/{b74171bd.js → 683a6a53.js} +1 -1
  30. package/static/core/{b27aec0b.js → 6b16159c.js} +1 -1
  31. package/static/core/{5c4239d8.js → 7e167222.js} +1 -1
  32. package/static/core/{8b89090c.js → 82f8beb4.js} +1 -1
  33. package/static/core/{a2c7aeb0.js → 987afc3f.js} +1 -1
  34. package/static/core/{44fac8d4.js → 9eaed676.js} +1 -1
  35. package/static/core/{9f7e0f94.js → a8b4352d.js} +1 -1
  36. package/static/core/{b7dee12b.js → b7289065.js} +2 -2
  37. package/static/core/b96e571d.js +2 -0
  38. package/static/core/c03be019.js +4 -0
  39. package/static/core/{7d006e7b.js → c3d00c5e.js} +1 -1
  40. package/static/core/{727a165f.js → c67df236.js} +1 -1
  41. package/static/core/{e15ab856.js → c8443fab.js} +1 -1
  42. package/static/core/{64c27f91.js → d2780737.js} +1 -1
  43. package/static/core/d503c406.js +1 -0
  44. package/static/core/{29b3ccef.js → dd230bbb.js} +1 -1
  45. package/static/core/e7fa68c2.js +28 -0
  46. package/static/core/{ccb090eb.js → f35181ec.js} +7 -7
  47. package/static/esm/b4f8dfdc.js +1 -0
  48. package/static/umd-runtime/{runtime.CunK0nEC.js → runtime.Bsid8PpY.js} +1 -1
  49. package/vendor/@emailmaker/ui-kit/package.json +1 -1
  50. package/emailmaker-core.fec11667.js +0 -859
  51. package/iframe/js/elMarkupHelper.Dv3AYDYP.js +0 -279
  52. package/iframe/js/iframe-eblock.body.fec11667.js +0 -9
  53. package/iframe/js/iframe.body.fec11667.js +0 -129
  54. package/iframe/js/sanitize-html/sanitize-html.min.js +0 -16923
  55. package/static/core/2e70fae0.js +0 -4
  56. package/static/core/83d2ca5d.js +0 -28
  57. package/static/core/8da91a53.js +0 -2
  58. package/static/core/bbb87124.js +0 -1
  59. package/static/core/e7bbe544.js +0 -7
  60. package/static/esm/ae0fe329.js +0 -1
@@ -42,4 +42,4 @@ __emailmaker__.define("po",["require","exports","module"],function(na,ct,aa){Obj
42
42
 
43
43
  `),"utf-8"):u.convert(i.join(`
44
44
 
45
- `),this._charset)}})),Hn=R(((o,t)=>{var e=je(),u=st();t.exports=function(p,h){return new f(p,h).parse()};function f(p,h){this._fileContents=p,this._writeFunc="writeUInt32LE",this._readFunc="readUInt32LE",this._charset=h||"iso-8859-1",this._table={charset:this._charset,headers:void 0,translations:{}}}f.prototype.MAGIC=2500072158,f.prototype._checkMagick=function(){return this._fileContents.readUInt32LE(0)===this.MAGIC?(this._readFunc="readUInt32LE",this._writeFunc="writeUInt32LE",!0):this._fileContents.readUInt32BE(0)===this.MAGIC?(this._readFunc="readUInt32BE",this._writeFunc="writeUInt32BE",!0):!1},f.prototype._loadTranslationTable=function(){for(var p=this._offsetOriginals,h=this._offsetTranslations,i,r,s,n,l=0;l<this._total;l++)r=this._fileContents[this._readFunc](p),p+=4,i=this._fileContents[this._readFunc](p),p+=4,s=this._fileContents.slice(i,i+r),r=this._fileContents[this._readFunc](h),h+=4,i=this._fileContents[this._readFunc](h),h+=4,n=this._fileContents.slice(i,i+r),!l&&!s.toString()&&this._handleCharset(n),s=e.convert(s,"utf-8",this._charset).toString("utf-8"),n=e.convert(n,"utf-8",this._charset).toString("utf-8"),this._addString(s,n);this._fileContents=null},f.prototype._handleCharset=function(p){var h=p.toString(),i;(i=h.match(/[; ]charset\s*=\s*([\w-]+)/i))&&(this._charset=this._table.charset=u.formatCharset(i[1],this._charset)),p=e.convert(p,"utf-8",this._charset).toString("utf-8"),this._table.headers=u.parseHeader(p)},f.prototype._addString=function(p,h){var i={},r,s,n;p=p.split(""),p.length>1?(s=p.shift(),i.msgctxt=s):s="",p=p.join(""),r=p.split("\0"),p=r.shift(),i.msgid=p,(n=r.join("\0"))&&(i.msgid_plural=n),h=h.split("\0"),i.msgstr=[].concat(h||[]),this._table.translations[s]||(this._table.translations[s]={}),this._table.translations[s][p]=i},f.prototype.parse=function(){return this._checkMagick()?(this._revision=this._fileContents[this._readFunc](4),this._total=this._fileContents[this._readFunc](8),this._offsetOriginals=this._fileContents[this._readFunc](12),this._offsetTranslations=this._fileContents[this._readFunc](16),this._loadTranslationTable(),this._table):!1}})),Jn=R(((o,t)=>{var e=ot().Buffer,u=je(),f=st();t.exports=function(h){return new p(h).compile()};function p(h){this._table=h||{},this._table.headers=this._table.headers||{},this._table.translations=this._table.translations||{},this._translations=[],this._writeFunc="writeUInt32LE",this._handleCharset()}p.prototype.MAGIC=2500072158,p.prototype._handleCharset=function(){var h=(this._table.headers["content-type"]||"text/plain").split(";"),i=h.shift(),r=f.formatCharset(this._table.charset),s=[];s=h.map(function(n){var l=n.split("="),y=l.shift().trim(),g=l.join("=");return y.toLowerCase()==="charset"?(r||(r=f.formatCharset(g.trim()||"utf-8")),"charset="+r):n}),r||(r=this._table.charset||"utf-8",s.push("charset="+r)),this._table.charset=r,this._table.headers["content-type"]=i+"; "+s.join("; "),this._charset=r},p.prototype._generateList=function(){var h=[];return h.push({msgid:e.alloc(0),msgstr:u.convert(f.generateHeader(this._table.headers),this._charset)}),Object.keys(this._table.translations).forEach(function(i){typeof this._table.translations[i]=="object"&&Object.keys(this._table.translations[i]).forEach(function(r){if(typeof this._table.translations[i][r]=="object"&&!(i===""&&r==="")){var s=this._table.translations[i][r].msgid_plural,n=r,l;i&&(n=i+""+n),s&&(n+="\0"+s),l=[].concat(this._table.translations[i][r].msgstr||[]).join("\0"),h.push({msgid:u.convert(n,this._charset),msgstr:u.convert(l,this._charset)})}}.bind(this))}.bind(this)),h},p.prototype._calculateSize=function(h){var i=0,r=0,s=0;return h.forEach(function(n){i+=n.msgid.length+1,r+=n.msgstr.length+1}),s=28+8*h.length+8*h.length+i+r,{msgid:i,msgstr:r,total:s}},p.prototype._build=function(h,i){var r=e.alloc(i.total),s=0,n,l;for(r[this._writeFunc](this.MAGIC,0),r[this._writeFunc](0,4),r[this._writeFunc](h.length,8),r[this._writeFunc](28,12),r[this._writeFunc](28+8*h.length,16),r[this._writeFunc](0,20),r[this._writeFunc](28+8*h.length*2,24),s=28+16*h.length,n=0,l=h.length;n<l;n++)h[n].msgid.copy(r,s),r[this._writeFunc](h[n].msgid.length,28+n*8),r[this._writeFunc](s,28+n*8+4),r[s+h[n].msgid.length]=0,s+=h[n].msgid.length+1;for(n=0,l=h.length;n<l;n++)h[n].msgstr.copy(r,s),r[this._writeFunc](h[n].msgstr.length,28+8*h.length+n*8),r[this._writeFunc](s,28+8*h.length+n*8+4),r[s+h[n].msgstr.length]=0,s+=h[n].msgstr.length+1;return r},p.prototype.compile=function(){var h=this._generateList(),i=this._calculateSize(h);return h.sort(function(r,s){return r.msgid>s.msgid?1:r.msgid<s.msgid?-1:0}),this._build(h,i)}})),Xn=R(((o,t)=>{var e=Yn();t.exports={po:{parse:e.parse,createParseStream:e.stream,compile:Vn()},mo:{parse:Hn(),compile:Jn()}}})),Kn=R(((o,t)=>{var e=Wn();t.exports=function(u,f){f=f||{};const p={pretty:!1,fuzzy:!1,stringify:!1,format:"raw",domain:"messages",charset:"utf8",fullMF:!1,mfOptions:{}};for(const n in p)f[n]=typeof f[n]<"u"?f[n]:p[n];let h={},i={};if(f.format==="mf"){const n=u.toString().includes('"Plural-Forms:')?f.mfOptions:Object.assign({},{pluralFunction:()=>0},f.mfOptions);return i=Object.keys(n).length>0?e.parsePo(u,n):e.parsePo(u),f.fullMF?f.stringify?JSON.stringify(i,null,f.pretty?" ":null):i:(i&&(i.translations&&i.translations[""]?(h=i.translations[""],Object.keys(i.translations).forEach(function(l){l===""?Object.keys(i.translations[""]).forEach(function(y){h[y]=i.translations[""][y]}):h[l]=i.translations[l]})):h=i.translations||{}),f.stringify?JSON.stringify(h,null,f.pretty?" ":null):h)}const r=Xn().po.parse(u,p.charset),s=r.translations;if(Object.keys(s).forEach(function(n){const l=r.translations[n],y=r.headers?r.headers["plural-forms"]:"";Object.keys(l).forEach(function(g,b){const w=l[g],v=n.length?n+""+g:g,B=w.comments&&w.comments.flag&&w.comments.flag.match(/fuzzy/)!==null;(!B||f.fuzzy)&&(f.format==="jed"?i[v]=[w.msgid_plural?w.msgid_plural:null].concat(w.msgstr):y==="nplurals=1; plural=0;"?(msgstr=w.msgid_plural?[w.msgstr]:w.msgstr,i[v]=[w.msgid_plural?w.msgid_plural:null].concat(msgstr)):i[v]=[w.msgid_plural?w.msgid_plural:null].concat(w.msgstr)),f["fallback-to-msgid"]&&(B&&!f.fuzzy||w.msgstr[0]==="")&&(i[v]=[w.msgid_plural?w.msgid_plural:null].concat(w.msgid_plural?[g,w.msgid_plural]:[g]))})}),r.headers&&(i[""]=r.headers),f.format==="mf"&&delete i[""],f.format.indexOf("jed")===0){const n={domain:f.domain,locale_data:{}};if(f.format==="jed"){for(const l in i)if(i.hasOwnProperty(l)&&l!==""){for(let y=2;y<i[l].length;y++)i[l][y]===""&&(i[l][y]=i[l][0]);i[l].shift()}}n.locale_data[f.domain]=i,n.locale_data[f.domain][""]={domain:f.domain,plural_forms:i[""]["plural-forms"],lang:i[""].language},i=n}return f.stringify?JSON.stringify(i,null,f.pretty?" ":null):i}})),Zn=It(Kn());function Qn(o){if(typeof o=="function")return o;const t=o?.default;return typeof t=="function"?t:void 0}function ea(o){if(!(o==null||typeof o!="object"||Array.isArray(o)))return o}function ta(o){const t=Qn(Zn.default)?.(o,{format:"jed",fuzzy:!0,domain:"default"});return ea(t?.locale_data?.default)}var ra="1.2.0";ct.parsePoCatalog=ta,ct.version=ra});
45
+ `),this._charset)}})),Hn=R(((o,t)=>{var e=je(),u=st();t.exports=function(p,h){return new f(p,h).parse()};function f(p,h){this._fileContents=p,this._writeFunc="writeUInt32LE",this._readFunc="readUInt32LE",this._charset=h||"iso-8859-1",this._table={charset:this._charset,headers:void 0,translations:{}}}f.prototype.MAGIC=2500072158,f.prototype._checkMagick=function(){return this._fileContents.readUInt32LE(0)===this.MAGIC?(this._readFunc="readUInt32LE",this._writeFunc="writeUInt32LE",!0):this._fileContents.readUInt32BE(0)===this.MAGIC?(this._readFunc="readUInt32BE",this._writeFunc="writeUInt32BE",!0):!1},f.prototype._loadTranslationTable=function(){for(var p=this._offsetOriginals,h=this._offsetTranslations,i,r,s,n,l=0;l<this._total;l++)r=this._fileContents[this._readFunc](p),p+=4,i=this._fileContents[this._readFunc](p),p+=4,s=this._fileContents.slice(i,i+r),r=this._fileContents[this._readFunc](h),h+=4,i=this._fileContents[this._readFunc](h),h+=4,n=this._fileContents.slice(i,i+r),!l&&!s.toString()&&this._handleCharset(n),s=e.convert(s,"utf-8",this._charset).toString("utf-8"),n=e.convert(n,"utf-8",this._charset).toString("utf-8"),this._addString(s,n);this._fileContents=null},f.prototype._handleCharset=function(p){var h=p.toString(),i;(i=h.match(/[; ]charset\s*=\s*([\w-]+)/i))&&(this._charset=this._table.charset=u.formatCharset(i[1],this._charset)),p=e.convert(p,"utf-8",this._charset).toString("utf-8"),this._table.headers=u.parseHeader(p)},f.prototype._addString=function(p,h){var i={},r,s,n;p=p.split(""),p.length>1?(s=p.shift(),i.msgctxt=s):s="",p=p.join(""),r=p.split("\0"),p=r.shift(),i.msgid=p,(n=r.join("\0"))&&(i.msgid_plural=n),h=h.split("\0"),i.msgstr=[].concat(h||[]),this._table.translations[s]||(this._table.translations[s]={}),this._table.translations[s][p]=i},f.prototype.parse=function(){return this._checkMagick()?(this._revision=this._fileContents[this._readFunc](4),this._total=this._fileContents[this._readFunc](8),this._offsetOriginals=this._fileContents[this._readFunc](12),this._offsetTranslations=this._fileContents[this._readFunc](16),this._loadTranslationTable(),this._table):!1}})),Jn=R(((o,t)=>{var e=ot().Buffer,u=je(),f=st();t.exports=function(h){return new p(h).compile()};function p(h){this._table=h||{},this._table.headers=this._table.headers||{},this._table.translations=this._table.translations||{},this._translations=[],this._writeFunc="writeUInt32LE",this._handleCharset()}p.prototype.MAGIC=2500072158,p.prototype._handleCharset=function(){var h=(this._table.headers["content-type"]||"text/plain").split(";"),i=h.shift(),r=f.formatCharset(this._table.charset),s=[];s=h.map(function(n){var l=n.split("="),y=l.shift().trim(),g=l.join("=");return y.toLowerCase()==="charset"?(r||(r=f.formatCharset(g.trim()||"utf-8")),"charset="+r):n}),r||(r=this._table.charset||"utf-8",s.push("charset="+r)),this._table.charset=r,this._table.headers["content-type"]=i+"; "+s.join("; "),this._charset=r},p.prototype._generateList=function(){var h=[];return h.push({msgid:e.alloc(0),msgstr:u.convert(f.generateHeader(this._table.headers),this._charset)}),Object.keys(this._table.translations).forEach(function(i){typeof this._table.translations[i]=="object"&&Object.keys(this._table.translations[i]).forEach(function(r){if(typeof this._table.translations[i][r]=="object"&&!(i===""&&r==="")){var s=this._table.translations[i][r].msgid_plural,n=r,l;i&&(n=i+""+n),s&&(n+="\0"+s),l=[].concat(this._table.translations[i][r].msgstr||[]).join("\0"),h.push({msgid:u.convert(n,this._charset),msgstr:u.convert(l,this._charset)})}}.bind(this))}.bind(this)),h},p.prototype._calculateSize=function(h){var i=0,r=0,s=0;return h.forEach(function(n){i+=n.msgid.length+1,r+=n.msgstr.length+1}),s=28+8*h.length+8*h.length+i+r,{msgid:i,msgstr:r,total:s}},p.prototype._build=function(h,i){var r=e.alloc(i.total),s=0,n,l;for(r[this._writeFunc](this.MAGIC,0),r[this._writeFunc](0,4),r[this._writeFunc](h.length,8),r[this._writeFunc](28,12),r[this._writeFunc](28+8*h.length,16),r[this._writeFunc](0,20),r[this._writeFunc](28+8*h.length*2,24),s=28+16*h.length,n=0,l=h.length;n<l;n++)h[n].msgid.copy(r,s),r[this._writeFunc](h[n].msgid.length,28+n*8),r[this._writeFunc](s,28+n*8+4),r[s+h[n].msgid.length]=0,s+=h[n].msgid.length+1;for(n=0,l=h.length;n<l;n++)h[n].msgstr.copy(r,s),r[this._writeFunc](h[n].msgstr.length,28+8*h.length+n*8),r[this._writeFunc](s,28+8*h.length+n*8+4),r[s+h[n].msgstr.length]=0,s+=h[n].msgstr.length+1;return r},p.prototype.compile=function(){var h=this._generateList(),i=this._calculateSize(h);return h.sort(function(r,s){return r.msgid>s.msgid?1:r.msgid<s.msgid?-1:0}),this._build(h,i)}})),Xn=R(((o,t)=>{var e=Yn();t.exports={po:{parse:e.parse,createParseStream:e.stream,compile:Vn()},mo:{parse:Hn(),compile:Jn()}}})),Kn=R(((o,t)=>{var e=Wn();t.exports=function(u,f){f=f||{};const p={pretty:!1,fuzzy:!1,stringify:!1,format:"raw",domain:"messages",charset:"utf8",fullMF:!1,mfOptions:{}};for(const n in p)f[n]=typeof f[n]<"u"?f[n]:p[n];let h={},i={};if(f.format==="mf"){const n=u.toString().includes('"Plural-Forms:')?f.mfOptions:Object.assign({},{pluralFunction:()=>0},f.mfOptions);return i=Object.keys(n).length>0?e.parsePo(u,n):e.parsePo(u),f.fullMF?f.stringify?JSON.stringify(i,null,f.pretty?" ":null):i:(i&&(i.translations&&i.translations[""]?(h=i.translations[""],Object.keys(i.translations).forEach(function(l){l===""?Object.keys(i.translations[""]).forEach(function(y){h[y]=i.translations[""][y]}):h[l]=i.translations[l]})):h=i.translations||{}),f.stringify?JSON.stringify(h,null,f.pretty?" ":null):h)}const r=Xn().po.parse(u,p.charset),s=r.translations;if(Object.keys(s).forEach(function(n){const l=r.translations[n],y=r.headers?r.headers["plural-forms"]:"";Object.keys(l).forEach(function(g,b){const w=l[g],v=n.length?n+""+g:g,B=w.comments&&w.comments.flag&&w.comments.flag.match(/fuzzy/)!==null;(!B||f.fuzzy)&&(f.format==="jed"?i[v]=[w.msgid_plural?w.msgid_plural:null].concat(w.msgstr):y==="nplurals=1; plural=0;"?(msgstr=w.msgid_plural?[w.msgstr]:w.msgstr,i[v]=[w.msgid_plural?w.msgid_plural:null].concat(msgstr)):i[v]=[w.msgid_plural?w.msgid_plural:null].concat(w.msgstr)),f["fallback-to-msgid"]&&(B&&!f.fuzzy||w.msgstr[0]==="")&&(i[v]=[w.msgid_plural?w.msgid_plural:null].concat(w.msgid_plural?[g,w.msgid_plural]:[g]))})}),r.headers&&(i[""]=r.headers),f.format==="mf"&&delete i[""],f.format.indexOf("jed")===0){const n={domain:f.domain,locale_data:{}};if(f.format==="jed"){for(const l in i)if(i.hasOwnProperty(l)&&l!==""){for(let y=2;y<i[l].length;y++)i[l][y]===""&&(i[l][y]=i[l][0]);i[l].shift()}}n.locale_data[f.domain]=i,n.locale_data[f.domain][""]={domain:f.domain,plural_forms:i[""]["plural-forms"],lang:i[""].language},i=n}return f.stringify?JSON.stringify(i,null,f.pretty?" ":null):i}})),Zn=It(Kn());function Qn(o){if(typeof o=="function")return o;const t=o?.default;return typeof t=="function"?t:void 0}function ea(o){if(!(o==null||typeof o!="object"||Array.isArray(o)))return o}function ta(o){const t=Qn(Zn.default)?.(o,{format:"jed",fuzzy:!0,domain:"default"});return ea(t?.locale_data?.default)}var ra="1.2.5";ct.parsePoCatalog=ta,ct.version=ra});
package/emailmaker.d.ts CHANGED
@@ -293,7 +293,11 @@ interface IFrameForeignStructureInfo {
293
293
  }
294
294
  /** A canvas sync drift found without a parsing error. Positions and lengths only, never the email markup. */
295
295
  interface IFrameSyncDriftInfo {
296
- /** `tree-node-out-of-place`, `host-copy-drift`, `foreign-structure-in-commit`, `implicit-tbody-in-canvas` and so on. */
296
+ /**
297
+ * `tree-node-out-of-place`, `host-copy-drift`, `foreign-structure-in-commit`, `implicit-tbody-in-canvas` and so on.
298
+ * `save-timeout`: canvas edits were not sent while waiting for a document. `unaccounted-node`: the canvas has a node
299
+ * that is neither the document's own, foreign, a service node nor part of the canvas page.
300
+ */
297
301
  reason: string;
298
302
  /** Where the drift was noticed, when a reason has several places. */
299
303
  at?: string;
@@ -306,6 +310,15 @@ interface IFrameSyncDriftInfo {
306
310
  };
307
311
  /** The foreign structure a commit met; set for `foreign-structure-in-commit` and `implicit-tbody-in-canvas`. */
308
312
  foreign?: IFrameForeignStructureInfo;
313
+ /** Canvas nodes outside every accounting bucket and the first of them; set for `unaccounted-node`. */
314
+ unaccounted?: {
315
+ count: number;
316
+ node: {
317
+ path: string;
318
+ tag: string;
319
+ class?: string;
320
+ };
321
+ };
309
322
  }
310
323
  interface IFrameErrorInfo {
311
324
  /** `parse-error` when absent; `sync-drift` is a warning report with nothing rolled back. */
@@ -485,6 +498,10 @@ export declare namespace Notify {
485
498
  };
486
499
  EMAIL_ACCESS_TO_LOCKED_ERROR: EmailDesc;
487
500
  EMAIL_TOO_MANY_TAGS_ERROR: EmailDesc;
501
+ /** Saving was cancelled because the email content is empty and would wipe the saved letter. */
502
+ EMAIL_EMPTY_SAVE_BLOCKED: EmailDesc;
503
+ /** Saving was refused because the canvas has not handed all its edits over to the document yet. */
504
+ EMAIL_CANVAS_NOT_SYNCED_ERROR: EmailDesc;
488
505
  BLOCK_GET_ERROR: {};
489
506
  BLOCK_ACCESS_TO_LOCKED_ERROR: BlockDesc;
490
507
  BLOCK_TOO_MANY_TAGS_ERROR: BlockDesc;
@@ -1457,7 +1474,13 @@ export declare namespace ExportedApi {
1457
1474
  * email (see `openBlock`). Default `false` — the item is not shown. Does not affect `openBlock()` itself.
1458
1475
  */
1459
1476
  openBlockFromEmailEnabled?: boolean;
1460
- /** Read-only templates: forbid structure edits beyond allowed regions. */
1477
+ /**
1478
+ * Read-only mode: the user cannot change the email. Locks the canvas, the code editor, the subject
1479
+ * and preheader fields, import, undo/redo (buttons and hotkeys), the version history, email settings
1480
+ * and UTM parameters, the AI chat, layout conversion and Gmail annotations; locked buttons stay
1481
+ * visible but disabled. The integrator
1482
+ * API (`show`, `setEmail`, undo via the API) is not locked. Can be switched with `setConfig`.
1483
+ */
1461
1484
  lockEditor?: boolean;
1462
1485
  /** Disables editing of preheader / title chrome when integrated with locking flows. */
1463
1486
  lockPreheaderAndTitle?: boolean;
@@ -2721,6 +2744,15 @@ interface StorageProvider {
2721
2744
  * @default false
2722
2745
  */
2723
2746
  useSoftDelete?: boolean;
2747
+ /**
2748
+ * Whether the trash can hold folders. Applies with `useSoftDelete`.
2749
+ * When `false`, deleting a folder moves the files of its whole subtree to the trash as a flat list
2750
+ * (a clashing name gets a number: `photo (1).png`, if `renameItem` is implemented) and then deletes
2751
+ * the emptied folders permanently. Nothing is deleted unless every file reached the trash.
2752
+ *
2753
+ * @default true
2754
+ */
2755
+ trashSupportsFolders?: boolean;
2724
2756
  /**
2725
2757
  * Retrieve the file content as a binary blob.
2726
2758
  *