@aeriz/wysiwyg 1.0.2 → 1.0.3

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 (108) hide show
  1. package/README.md +610 -96
  2. package/angular/README.md +112 -0
  3. package/angular/aeriz-editor.directive.ts +243 -0
  4. package/angular/aeriz-wysiwyg.module.ts +14 -0
  5. package/angular/index.ts +5 -0
  6. package/dist/adapters/jquery.cjs +1 -0
  7. package/dist/adapters/jquery.js +91 -0
  8. package/dist/adapters/react.cjs +1 -0
  9. package/dist/adapters/react.js +66 -0
  10. package/dist/adapters/shared.cjs +1 -0
  11. package/dist/adapters/shared.js +87 -0
  12. package/dist/adapters/svelte.cjs +1 -0
  13. package/dist/adapters/svelte.js +29 -0
  14. package/dist/adapters/vue.cjs +1 -0
  15. package/dist/adapters/vue.js +110 -0
  16. package/dist/adapters/vue2.cjs +1 -0
  17. package/dist/adapters/vue2.js +117 -0
  18. package/dist/adapters/wc.cjs +1 -0
  19. package/dist/adapters/wc.js +207 -0
  20. package/dist/aeriz-wysiwyg-adapter.js +169 -0
  21. package/dist/aeriz-wysiwyg-adapter.min.js +1 -0
  22. package/dist/aeriz-wysiwyg-jquery.js +275 -0
  23. package/dist/aeriz-wysiwyg-jquery.min.js +1 -0
  24. package/dist/aeriz-wysiwyg-wc.js +401 -0
  25. package/dist/aeriz-wysiwyg-wc.min.js +1 -0
  26. package/dist/aeriz-wysiwyg.cjs +6912 -0
  27. package/dist/aeriz-wysiwyg.css +37 -129
  28. package/dist/aeriz-wysiwyg.esm.js +1170 -149
  29. package/dist/aeriz-wysiwyg.esm.min.js +2057 -1209
  30. package/dist/aeriz-wysiwyg.js +1169 -148
  31. package/dist/aeriz-wysiwyg.min.cjs +54 -0
  32. package/dist/aeriz-wysiwyg.min.css +1 -1
  33. package/dist/aeriz-wysiwyg.min.js +44 -13
  34. package/dist/server.cjs +32 -0
  35. package/dist/server.js +666 -0
  36. package/dist-types/adapters/jquery.d.ts +34 -0
  37. package/dist-types/adapters/jquery.d.ts.map +1 -0
  38. package/dist-types/adapters/react.d.ts +28 -0
  39. package/dist-types/adapters/react.d.ts.map +1 -0
  40. package/dist-types/adapters/shared.d.ts +83 -0
  41. package/dist-types/adapters/shared.d.ts.map +1 -0
  42. package/dist-types/adapters/svelte.d.ts +38 -0
  43. package/dist-types/adapters/svelte.d.ts.map +1 -0
  44. package/dist-types/adapters/vue.d.ts +189 -0
  45. package/dist-types/adapters/vue.d.ts.map +1 -0
  46. package/dist-types/adapters/vue2.d.ts +175 -0
  47. package/dist-types/adapters/vue2.d.ts.map +1 -0
  48. package/dist-types/adapters/wc.d.ts +96 -0
  49. package/dist-types/adapters/wc.d.ts.map +1 -0
  50. package/dist-types/cjs/adapters/jquery.d.cts +34 -0
  51. package/dist-types/cjs/adapters/react.d.cts +28 -0
  52. package/dist-types/cjs/adapters/shared.d.cts +83 -0
  53. package/dist-types/cjs/adapters/svelte.d.cts +38 -0
  54. package/dist-types/cjs/adapters/vue.d.cts +189 -0
  55. package/dist-types/cjs/adapters/vue2.d.cts +175 -0
  56. package/dist-types/cjs/adapters/wc.d.cts +96 -0
  57. package/dist-types/cjs/core/AerizEditor.d.cts +357 -0
  58. package/dist-types/cjs/core/AerizViewer.d.cts +61 -0
  59. package/dist-types/cjs/core/block-meta.d.cts +32 -0
  60. package/dist-types/cjs/core/blocks.d.cts +368 -0
  61. package/dist-types/cjs/core/fonts.d.cts +60 -0
  62. package/dist-types/cjs/core/highlight.d.cts +44 -0
  63. package/dist-types/cjs/core/html-mini.d.cts +65 -0
  64. package/dist-types/cjs/core/i18n.d.cts +209 -0
  65. package/dist-types/cjs/core/import-html.d.cts +39 -0
  66. package/dist-types/cjs/core/import-markdown.d.cts +37 -0
  67. package/dist-types/cjs/core/markdown-export.d.cts +30 -0
  68. package/dist-types/cjs/core/plain-text.d.cts +17 -0
  69. package/dist-types/cjs/core/render-string.d.cts +68 -0
  70. package/dist-types/cjs/core/snapshot.d.cts +51 -0
  71. package/dist-types/cjs/index.d.cts +20 -0
  72. package/dist-types/cjs/server/index.d.cts +37 -0
  73. package/dist-types/cjs/types/index.d.cts +61 -0
  74. package/dist-types/cjs/ui/Toolbar.d.cts +21 -0
  75. package/dist-types/cjs/ui/dialogs.d.cts +74 -0
  76. package/dist-types/cjs/ui/icons.d.cts +2 -0
  77. package/dist-types/cjs/ui/popovers.d.cts +70 -0
  78. package/dist-types/core/AerizEditor.d.ts +30 -10
  79. package/dist-types/core/AerizEditor.d.ts.map +1 -1
  80. package/dist-types/core/AerizViewer.d.ts +16 -4
  81. package/dist-types/core/AerizViewer.d.ts.map +1 -1
  82. package/dist-types/core/block-meta.d.ts +32 -0
  83. package/dist-types/core/block-meta.d.ts.map +1 -0
  84. package/dist-types/core/blocks.d.ts +62 -7
  85. package/dist-types/core/blocks.d.ts.map +1 -1
  86. package/dist-types/core/fonts.d.ts +11 -0
  87. package/dist-types/core/fonts.d.ts.map +1 -1
  88. package/dist-types/core/html-mini.d.ts +65 -0
  89. package/dist-types/core/html-mini.d.ts.map +1 -0
  90. package/dist-types/core/import-html.d.ts.map +1 -1
  91. package/dist-types/core/markdown-export.d.ts +30 -0
  92. package/dist-types/core/markdown-export.d.ts.map +1 -0
  93. package/dist-types/core/plain-text.d.ts +17 -0
  94. package/dist-types/core/plain-text.d.ts.map +1 -0
  95. package/dist-types/core/render-string.d.ts +68 -0
  96. package/dist-types/core/render-string.d.ts.map +1 -0
  97. package/dist-types/core/snapshot.d.ts +51 -0
  98. package/dist-types/core/snapshot.d.ts.map +1 -0
  99. package/dist-types/index.d.ts +19 -10
  100. package/dist-types/index.d.ts.map +1 -1
  101. package/dist-types/server/index.d.ts +37 -0
  102. package/dist-types/server/index.d.ts.map +1 -0
  103. package/dist-types/types/index.d.ts +21 -0
  104. package/dist-types/types/index.d.ts.map +1 -1
  105. package/dist-types/ui/Toolbar.d.ts +1 -1
  106. package/dist-types/ui/popovers.d.ts +1 -1
  107. package/dist-types/ui/popovers.d.ts.map +1 -1
  108. package/package.json +213 -58
@@ -0,0 +1,32 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function D(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(1)} GB`}function U(e,n){if(e){const t=e.lastIndexOf(".");if(t>0&&t<e.length-1)return e.slice(t+1).toUpperCase()}return n?(n.split("/").pop()??"").toUpperCase():""}function z(e){try{return new URL(e).hostname}catch{return""}}function V(e){const n=z(e);return n?`https://www.google.com/s2/favicons?domain=${encodeURIComponent(n)}&sz=64`:""}const G='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><path d="M14 3v6h6"/></svg>',K='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>',Y="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",R="https://www.youtube-nocookie.com/embed/",Z="파일",X="data-block-id",F=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),J=new Set(["script","style"]),Q=new Map([["li",new Set(["li"])],["p",new Set(["p","div","ul","ol","blockquote","pre","table","h1","h2","h3","h4","h5","h6"])],["td",new Set(["td","th","tr"])],["th",new Set(["td","th","tr"])],["tr",new Set(["tr"])],["option",new Set(["option"])]]),ee={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",hellip:"…",mdash:"—",ndash:"–",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",middot:"·",bull:"•",copy:"©",reg:"®",trade:"™",deg:"°",plusmn:"±",times:"×",divide:"÷",laquo:"«",raquo:"»"};function k(e){return e.includes("&")?e.replace(/&(#[Xx][0-9A-Fa-f]+|#\d+|[A-Za-z][A-Za-z0-9]{1,31});/g,(n,t)=>{if(t.charCodeAt(0)===35){const i=t[1]==="x"||t[1]==="X",o=i?t.slice(2):t.slice(1),a=Number.parseInt(o,i?16:10);if(!Number.isFinite(a)||a<0||a>1114111||a>=55296&&a<=57343)return n;try{return String.fromCodePoint(a)}catch{return n}}return ee[t.toLowerCase()]??n}):e}function m(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function f(e){return m(e).replace(/"/g,"&quot;")}function te(e){const n={},t=/([^\s/=>"']+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g;let r;for(;(r=t.exec(e))!==null;){const i=r[1];if(!i)continue;const o=r[2]??r[3]??r[4]??"";n[i.toLowerCase()]=k(o)}return n}function y(e){const n=[],t=[],r=()=>{const c=t[t.length-1];return c?c.children:n},i=c=>{if(c.length===0)return;const d=r(),u=d[d.length-1];u&&u.type==="text"?u.value+=c:d.push({type:"text",value:c})},o=c=>{var d;for(let u=t.length-1;u>=0;u--)if(((d=t[u])==null?void 0:d.tag)===c){t.length=u;return}};let a=0;for(;a<e.length;){const c=e.indexOf("<",a);if(c<0){i(k(e.slice(a)));break}if(c>a&&i(k(e.slice(a,c))),e.startsWith("<!--",c)){const $=e.indexOf("-->",c+4);a=$<0?e.length:$+3;continue}if(e.startsWith("<!",c)||e.startsWith("<?",c)){const $=e.indexOf(">",c+2);a=$<0?e.length:$+1;continue}const d=e.indexOf(">",c+1);if(d<0){i(k(e.slice(c)));break}const u=e.slice(c+1,d);if(a=d+1,u.startsWith("/")){const $=u.slice(1).trim().toLowerCase();$&&o($);continue}const s=/^([A-Za-z][^\s/>]*)/.exec(u);if(!s||!s[1]){i(k(e.slice(c,a)));continue}const l=s[1].toLowerCase(),p=u.slice(s[1].length),g=/\/\s*$/.test(p),x=te(g?p.replace(/\/\s*$/,""):p);if(J.has(l)){const $=new RegExp(`</${l}\\s*>`,"i"),W=e.slice(a),I=$.exec(W);a=I?a+I.index+I[0].length:e.length;continue}const B=t[t.length-1];if(B){const $=Q.get(B.tag);$!=null&&$.has(l)&&t.pop()}const _={type:"element",tag:l,attrs:x,children:[]};r().push(_),!g&&!F.has(l)&&t.push(_)}return n}function C(e){let n="";for(const t of e){if(t.type==="text"){n+=m(t.value);continue}const r=Object.entries(t.attrs).map(([i,o])=>o===""?` ${i}`:` ${i}="${f(o)}"`).join("");if(F.has(t.tag)){n+=`<${t.tag}${r}>`;continue}n+=`<${t.tag}${r}>${C(t.children)}</${t.tag}>`}return n}function L(e){let n="";for(const t of e){if(t.type==="text"){n+=t.value;continue}if(t.tag==="br"){n+=`
2
+ `;continue}n+=L(t.children)}return n}const ne=new Set(["address","article","aside","blockquote","div","dd","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","li","main","nav","ol","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul"]);function v(e){let n="";for(const t of e){if(t.type==="text"){n+=t.value;continue}if(t.tag==="br"){n+=`
3
+ `;continue}const r=ne.has(t.tag);r&&n!==""&&!n.endsWith(`
4
+ `)&&(n+=`
5
+ `),n+=v(t.children),r&&!n.endsWith(`
6
+ `)&&(n+=`
7
+ `)}return n}function A(e,n){return e.filter(t=>t.type==="element"&&t.tag===n)}const re=1;function H(e){const n=e.version;return typeof n=="number"&&Number.isFinite(n)&&n>0?n:1}const ie=new Set(["paragraph","heading","bulletList","orderedList","blockquote","codeBlock","image","table","hr","linkCard","youtube","file","importedHtml","unknown"]);function E(e){return e.map(n=>N(n))}function N(e){const n=ie.has(e.kind)?e.kind:"unknown",t=Math.max(H(e),1);return{...e,kind:n,version:t,html:typeof e.html=="string"?e.html:""}}function oe(e,n={}){const t=n.blockIds!==!1,r=E(e).map(o=>q(o,{blockIds:t})).join("");return n.wrapper!=="content"?r:`<div class="aeriz-wysiwyg aeriz-wysiwyg-viewer"${n.theme?` data-theme="${n.theme}"`:""}><div class="aw-content-wrap"><div class="aw-content">${r}</div></div></div>`}function ce(e,n={}){return q(N(e),n)}function q(e,n={}){const t=n.blockIds===!1?"":` ${X}="${f(e.id)}"`,r=e.html,i=e.style?` style="${f(e.style)}"`:"";switch(e.kind){case"paragraph":return`<p${t}${i}>${r||"<br>"}</p>`;case"unknown":return`<div${t}${i}>${r||"<br>"}</div>`;case"heading":{const o=ae(e.attrs.level);return`<h${o}${t}${i}>${r||"<br>"}</h${o}>`}case"bulletList":return`<ul${t}${i}>${r||"<li><br></li>"}</ul>`;case"orderedList":return`<ol${t}${i}>${r||"<li><br></li>"}</ol>`;case"blockquote":return`<blockquote${t}${i}>${r||"<p><br></p>"}</blockquote>`;case"codeBlock":{if(r)return`<pre${t}${i}>${r}</pre>`;const o=e.attrs.language,a=o?` data-language="${f(o)}"`:"";return`<pre${t}${i}><code${a}></code></pre>`}case"table":return`<table${t}${i}>${r||se(e.attrs.rows,e.attrs.cols)}</table>`;case"hr":return`<hr${t}${i}>`;case"image":return r?`<figure${t}${i}>${T(r)}</figure>`:le(e.attrs,t,i);case"youtube":{if(!r)return ue(e.attrs,t,i);const o=e.attrs.videoId;return`<div class="aw-youtube-embed"${o?` data-youtube-id="${f(o)}"`:""}${t}${i}>${T(r)}</div>`}case"linkCard":return de(e.attrs,t,i,r);case"file":return fe(e.attrs,t,i,r);case"importedHtml":{const o=e.attrs.importedStyle,a=e.attrs.importedClass,c=e.style?i:o?` style="${f(o)}"`:"";return`<div data-imported-html="true"${a?` class="${f(a)}"`:""}${c}${t}>${r}</div>`}default:return""}}const O=/aw-block-align-controls|aw-resize-handle/;function T(e){if(!O.test(e))return e;const n=y(e).filter(t=>!(t.type==="element"&&O.test(t.attrs.class??"")));return C(n)}function ae(e){return e===void 0||e<1?1:e>6?6:e}function se(e,n){const t=Math.max(1,Number.isFinite(e)?e:1),r=Math.max(1,Number.isFinite(n)?n:1);return`<tbody>${`<tr>${"<td><br></td>".repeat(r)}</tr>`.repeat(t)}</tbody>`}function le(e,n,t){const r=t||(e.wrapperStyle?` style="${f(e.wrapperStyle)}"`:""),i=e.src?` src="${f(e.src)}"`:"",o=` alt="${f(e.alt??"")}"`;return`<figure${n}${r}><img${i}${o}></figure>`}function ue(e,n,t){const r=e.videoId??"",i=t||(e.wrapperStyle?` style="${f(e.wrapperStyle)}"`:""),o=r?` data-youtube-id="${f(r)}"`:"",a=r?` src="${f(`${R}${r}`)}"`:"";return`<div class="aw-youtube-embed"${o}${n}${i}><iframe${a} allow="${f(Y)}" allowfullscreen frameborder="0" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>`}function de(e,n,t,r){const i=e.href??"#",o=e.text&&e.text.length>0?e.text:z(i)||i,a=e.description??"",c=e.image??"",d=e.favicon??V(i),s=`<a class="${c?"aw-link-card aw-link-card-with-image":"aw-link-card"}" href="${f(i)}" target="_blank" rel="noopener"${n}${t}>`;if(r)return`${s}${T(r)}</a>`;let l=s;return c&&(l+=`<img class="aw-link-card-image" src="${f(c)}" alt="" loading="lazy">`),l+='<span class="aw-link-card-body">',l+=`<span class="aw-link-card-title">${m(o)}</span>`,a&&(l+=`<span class="aw-link-card-desc">${m(a)}</span>`),l+='<span class="aw-link-card-url">',d&&(l+=`<img class="aw-link-card-favicon" src="${f(d)}" alt="" loading="lazy">`),l+=`<span class="aw-link-card-url-text">${m(i)}</span>`,l+="</span></span></a>",l}function fe(e,n,t,r){const i=e.fileSrc?` href="${f(e.fileSrc)}"`:"",o=e.fileName?` data-file-name="${f(e.fileName)}"`:"",a=e.fileSize!==void 0?` data-file-size="${f(String(e.fileSize))}"`:"",c=e.fileType?` data-file-type="${f(e.fileType)}"`:"",d=` download="${f(e.fileName??"")}"`,u=[],s=U(e.fileName,e.fileType);s&&u.push(s),e.fileSize!==void 0&&u.push(D(e.fileSize));const l=`<a class="aw-file-attachment" target="_blank" rel="noopener"${i}${d}${o}${a}${c}${n}${t}>`;if(r)return`${l}${T(r)}</a>`;let p=l;return p+=`<span class="aw-file-icon" aria-hidden="true">${G}</span>`,p+='<span class="aw-file-meta">',p+=`<span class="aw-file-name">${m(e.fileName??Z)}</span>`,u.length>0&&(p+=`<span class="aw-file-info">${m(u.join(" · "))}</span>`),p+="</span>",p+=`<span class="aw-file-action" aria-hidden="true">${K}</span>`,p+="</a>",p}const pe=/([\\`*_[\]<])/g,$e=/^([#>|+-]|\d+\.)/;function ge(e,n={}){const t=n.bullet??"-",r=n.gfmTables!==!1,i=[];for(const o of E(e)){const a=me(o,t,r);a!==""&&i.push(a)}return i.length>0?`${i.join(`
8
+
9
+ `)}
10
+ `:""}function me(e,n,t){var i,o,a;const r=y(e.html);switch(e.kind){case"paragraph":case"unknown":{const c=h(r).trim();return c===""?"":j(c)}case"heading":{const c=Math.min(6,Math.max(1,e.attrs.level??1)),d=h(r).trim();return d===""?"":`${"#".repeat(c)} ${d}`}case"bulletList":return M(r,{ordered:!1,bullet:n,depth:0});case"orderedList":return M(r,{ordered:!0,bullet:n,depth:0});case"blockquote":{const c=A(r,"p"),u=(c.length>0?c.map(s=>h(s.children).trim()):[h(r).trim()]).filter(s=>s!=="").join(`
11
+
12
+ `).split(`
13
+ `).map(s=>s===""?">":`> ${s}`);return u.length>0&&u[0]!==void 0?u.join(`
14
+ `):""}case"codeBlock":{const c=A(r,"code")[0],d=L(c?c.children:r).replace(/\n$/,""),u=e.attrs.language??(c==null?void 0:c.attrs["data-language"])??"",s="`".repeat(Math.max(3,P(d)+1));return`${s}${u}
15
+ ${d}
16
+ ${s}`}case"image":{const c=e.attrs.src??"";return c===""?"":`![${w(e.attrs.alt??"")}](${S(c)})`}case"table":return t?he(r):`<table>${e.html}</table>`;case"hr":return"---";case"linkCard":{const c=e.attrs.href??"";if(c==="")return"";const d=((i=e.attrs.text)==null?void 0:i.trim())||c,u=`[${w(d)}](${S(c)})`,s=(o=e.attrs.description)==null?void 0:o.trim();return s?`${u}
17
+
18
+ ${j(w(s))}`:u}case"youtube":{const c=e.attrs.videoId;return c?`[YouTube](${R}${encodeURIComponent(c)})`:""}case"file":{const c=e.attrs.fileSrc??"";if(c==="")return"";const d=((a=e.attrs.fileName)==null?void 0:a.trim())||c;return`[${w(d)}](${S(c)})`}case"importedHtml":return e.html.trim();default:return""}}function M(e,n){const t=A(e,"li");if(t.length===0)return"";const r=" ".repeat(n.depth),i=[];return t.forEach((o,a)=>{const c=[],d=[];for(const g of o.children)g.type==="element"&&(g.tag==="ul"||g.tag==="ol")?d.push(g):c.push(g);const u=n.ordered?`${a+1}.`:n.bullet,s=h(c).trim(),l=`${r}${" ".repeat(u.length+1)}`,p=s.split(`
19
+ `).join(`
20
+ ${l}`);i.push(`${r}${u} ${p}`);for(const g of d){const x=M(g.children,{ordered:g.tag==="ol",bullet:n.bullet,depth:n.depth+1});x!==""&&i.push(x)}}),i.join(`
21
+ `)}function he(e){const n=[],t=s=>{for(const l of s)if(l.type==="element"){if(l.tag==="tr"){n.push(l);continue}(l.tag==="tbody"||l.tag==="thead"||l.tag==="tfoot")&&t(l.children)}};if(t(e),n.length===0)return"";const r=n.map(s=>s.children.filter(l=>l.type==="element"&&(l.tag==="td"||l.tag==="th")).map(l=>be(l.children))),i=r.reduce((s,l)=>Math.max(s,l.length),0);if(i===0)return"";const o=s=>s.length===i?s:[...s,...Array(i-s.length).fill("")],[a,...c]=r.map(o);return[`| ${(a??Array(i).fill("")).join(" | ")} |`,`| ${Array(i).fill("---").join(" | ")} |`,...c.map(s=>`| ${s.join(" | ")} |`)].join(`
22
+ `)}function be(e){return h(e,{inTableCell:!0}).replace(/\n+/g,"<br>").replace(/\|/g,"\\|").trim()}function h(e,n={}){let t="";for(const r of e){if(r.type==="text"){t+=w(r.value);continue}const i=()=>h(r.children,n);switch(r.tag){case"br":t+=n.inTableCell?`
23
+ `:`
24
+ `;break;case"b":case"strong":{const o=i();t+=o.trim()===""?o:`**${o}**`;break}case"i":case"em":{const o=i();t+=o.trim()===""?o:`*${o}*`;break}case"s":case"del":case"strike":{const o=i();t+=o.trim()===""?o:`~~${o}~~`;break}case"code":{const o=L(r.children),a="`".repeat(P(o)+1),c=o.startsWith("`")||o.endsWith("`")?" ":"";t+=`${a}${c}${o}${c}${a}`;break}case"a":{const o=r.attrs.href,a=i();t+=o?`[${a}](${S(o)})`:a;break}case"img":{const o=r.attrs.src;o&&(t+=`![${w(r.attrs.alt??"")}](${S(o)})`);break}case"u":case"sub":case"sup":case"mark":t+=`<${r.tag}>${i()}</${r.tag}>`;break;default:t+=i();break}}return t}function w(e){return e.replace(pe,"\\$1")}function j(e){return e.replace($e,"\\$1")}function P(e){let n=0,t=0;for(const r of e)r==="`"?(t+=1,t>n&&(n=t)):t=0;return n}function S(e){const n=e.trim();return/[\s()]/.test(n)?`<${n.replace(/[<>]/g,"")}>`:n}function ke(e,n={}){const t=n.blockSeparator??`
25
+
26
+ `,r=n.cellSeparator??" ",i=[];for(const o of E(e)){const a=we(o,r);a!==""&&i.push(a)}return i.join(t)}function we(e,n){switch(e.kind){case"hr":case"youtube":return"";case"image":return b(e.attrs.alt??"");case"linkCard":return b(e.attrs.text??e.attrs.href??"");case"file":return b(e.attrs.fileName??"");case"bulletList":case"orderedList":return A(y(e.html),"li").map(r=>b(v(r.children))).filter(r=>r!=="").join(`
27
+ `);case"table":return ye(y(e.html),n);default:return b(v(y(e.html)))}}function ye(e,n){const t=[],r=i=>{for(const o of i)o.type==="element"&&(o.tag==="tr"?t.push(o):["tbody","thead","tfoot"].includes(o.tag)&&r(o.children))};return r(e),t.map(i=>i.children.filter(o=>o.type==="element"&&(o.tag==="td"||o.tag==="th")).map(o=>b(v(o.children)).replace(/\n+/g," ")).join(n)).filter(i=>i.replace(new RegExp(Se(n),"g"),"").trim()!=="").join(`
28
+ `)}function b(e){return e.replace(/[​-‍]/g,"").split(`
29
+ `).map(n=>n.replace(/[^\S\n]+/g," ").trim()).join(`
30
+ `).replace(/\n{3,}/g,`
31
+
32
+ `).trim()}function Se(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}exports.SNAPSHOT_VERSION=re;exports.blocksToMarkdown=ge;exports.blocksToPlainText=ke;exports.decodeEntities=k;exports.escapeAttr=f;exports.escapeHtml=m;exports.parseHtmlFragment=y;exports.renderBlockToHTML=ce;exports.renderBlocksToHTML=oe;exports.serializeNodes=C;exports.snapshotVersionOf=H;exports.textOf=L;exports.textWithBlockBreaks=v;exports.upgradeSnapshot=N;exports.upgradeSnapshots=E;