@viswa-test/test-citation 0.0.387 → 0.0.389

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 (62) hide show
  1. package/dist/cjs/features/CognitiveCompare/hooks/memoizedMarkdown.js +1 -1
  2. package/dist/cjs/features/CognitiveCompare/utils/normalizeCompactedGfmTables.js +2 -0
  3. package/dist/cjs/features/CognitiveCompare/utils/normalizeCompactedGfmTables.js.map +1 -0
  4. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/Editor.js +1 -1
  5. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.js +1 -1
  6. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.js +1 -1
  7. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js +1 -1
  8. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.js +2 -0
  9. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.js.map +1 -0
  10. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownEscapes.js +1 -1
  11. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.js +1 -1
  12. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownListFormatting.js +1 -1
  13. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBlocks.js +1 -1
  14. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBoundaryWhitespace.js +1 -1
  15. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.js +1 -1
  16. package/dist/cjs/features/RequirementAI/components/RichTextEditor/RichTextEditor.js +1 -1
  17. package/dist/features/CognitiveCompare/hooks/memoizedMarkdown.js +1 -1
  18. package/dist/features/CognitiveCompare/utils/normalizeCompactedGfmTables.js +2 -0
  19. package/dist/features/CognitiveCompare/utils/normalizeCompactedGfmTables.js.map +1 -0
  20. package/dist/features/RequirementAI/components/RichTextEditor/Editor/Editor.js +1 -1
  21. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.js +1 -1
  22. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.js +1 -1
  23. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js +1 -1
  24. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.js +2 -0
  25. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.js.map +1 -0
  26. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownEscapes.js +1 -1
  27. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.js +1 -1
  28. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownListFormatting.js +1 -1
  29. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBlocks.js +1 -1
  30. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBoundaryWhitespace.js +1 -1
  31. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.js +1 -1
  32. package/dist/features/RequirementAI/components/RichTextEditor/RichTextEditor.js +1 -1
  33. package/dist/types/src/features/CognitiveCompare/Guidelines/constants/guidelines.mockData.d.ts +11764 -9254
  34. package/dist/types/src/features/CognitiveCompare/Guidelines/constants/guidelines.mockData.d.ts.map +1 -1
  35. package/dist/types/src/features/CognitiveCompare/hooks/memoizedMarkdown.d.ts.map +1 -1
  36. package/dist/types/src/features/CognitiveCompare/hooks/memoizedMarkdown.test.d.ts +2 -0
  37. package/dist/types/src/features/CognitiveCompare/hooks/memoizedMarkdown.test.d.ts.map +1 -0
  38. package/dist/types/src/features/CognitiveCompare/utils/normalizeCompactedGfmTables.d.ts +7 -0
  39. package/dist/types/src/features/CognitiveCompare/utils/normalizeCompactedGfmTables.d.ts.map +1 -0
  40. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/Editor.d.ts.map +1 -1
  41. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.d.ts.map +1 -1
  42. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.d.ts +3 -1
  43. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.d.ts.map +1 -1
  44. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.d.ts +3 -1
  45. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.d.ts.map +1 -1
  46. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.d.ts +5 -0
  47. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.d.ts.map +1 -0
  48. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/manualEditEdgeCases.test.d.ts +2 -0
  49. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/manualEditEdgeCases.test.d.ts.map +1 -0
  50. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownEscapes.d.ts.map +1 -1
  51. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.d.ts +1 -1
  52. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.d.ts.map +1 -1
  53. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownListFormatting.d.ts.map +1 -1
  54. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/randomEditSerialization.audit.test.d.ts +2 -0
  55. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/randomEditSerialization.audit.test.d.ts.map +1 -0
  56. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.d.ts.map +1 -1
  57. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/serializationPreservation.test.d.ts +2 -0
  58. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/serializationPreservation.test.d.ts.map +1 -0
  59. package/dist/types/src/features/RequirementAI/components/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  60. package/dist/types/src/features/RequirementAI/components/UserStoryCard/CognitiveComponents/userstory.mock.data.d.ts +1190 -14149
  61. package/dist/types/src/features/RequirementAI/components/UserStoryCard/CognitiveComponents/userstory.mock.data.d.ts.map +1 -1
  62. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
- import e from"showdown";const n=new Set(["*","-","+","=","#","`","~","[","]",">","_","."]),t=/<!--\s*([a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12})\s*-->/gi,r=/<invisible\b[^>]*\bid=(["'])([a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12})\1[^>]*>\s*<\/invisible>/gi,a=new e.Converter({tables:!0,simpleLineBreaks:!0,literalMidWordUnderscores:!0}),l=e=>e.split(/\r?\n/).filter(e=>/^ {0,3}\[[^\]]+\]:\s*\S/.test(e)).join("\n"),o=e=>e.replace(t,(e,n)=>`ZXQDOCUMENTANCHOR${n.replace(/-/g,"")}QXZ`).replace(r,(e,n,t)=>`ZXQDOCUMENTANCHOR${t.replace(/-/g,"")}QXZ`),s=(e,n)=>a.makeHtml(n?`${o(e)}\n\n${n}`:o(e)).replace(/\r\n/g,"\n"),c=e=>{var t;let r="";for(let a=0;a<e.length;a+=1){if("\\"!==e[a]){r+=e[a];continue}let l=1;for(;"\\"===e[a+l];)l+=1;const o=null!==(t=e[a+l])&&void 0!==t?t:"",s=n.has(o),c=s?Math.floor(l/2):Math.ceil(l/2);r+="\\".repeat(c),s?(r+=o,a+=l):a+=l-1}return r.replace(/\r\n/g,"\n")},i=e=>e.split(/(\r?\n\r?\n)/),d=e=>/[\p{L}\p{N}]/u.test(e),p=e=>{var t,r,a;const l=[];for(let o=0;o<e.length;o+=1){const s=e[o];if("\\"===s){let r=1;for(;"\\"===e[o+r];)r+=1;const a=null!==(t=e[o+r])&&void 0!==t?t:"",s=n.has(a),i=r+(s?1:0),d=e.slice(o,o+i);l.push({comparable:c(d),escapeKind:s?a:"\\",raw:d}),o+=i-1;continue}if(d(s)){let n=o+1;for(;d(null!==(r=e[n])&&void 0!==r?r:"");)n+=1;const t=e.slice(o,n);l.push({comparable:t,escapeKind:"",raw:t}),o=n-1;continue}if(/\s/.test(s)){let n=o+1;for(;/\s/.test(null!==(a=e[n])&&void 0!==a?a:"");)n+=1;const t=e.slice(o,n);l.push({comparable:t,escapeKind:"",raw:t}),o=n-1;continue}l.push({comparable:s,escapeKind:s,raw:s})}return l},f=(e,n)=>{const t=i(e),r=i(n),a=t.filter((e,n)=>n%2==0),o=r.filter((e,n)=>n%2==0),d=a.map(c),f=o.map(c),h=l(e),g=l(n),u=new Array(a.length),w=new Array(o.length),m=(e,n)=>{var t,r;return a[e]===o[n]||d[e]===f[n]&&(null!==(t=u[e])&&void 0!==t||(u[e]=s(a[e],h)),null!==(r=w[n])&&void 0!==r||(w[n]=s(o[n],g)),u[e]===w[n])},v=Array.from({length:a.length+1},()=>new Uint32Array(o.length+1));for(let e=a.length-1;e>=0;e-=1)for(let n=o.length-1;n>=0;n-=1)v[e][n]=m(e,n)?v[e+1][n+1]+1:Math.max(v[e+1][n],v[e][n+1]);const x=new Map,b=new Set,I=[];let M=0,A=0;for(;M<a.length&&A<o.length;)m(M,A)?(x.set(A,M),b.add(M),I.push({sourceIndex:M,generatedIndex:A}),M+=1,A+=1):v[M+1][A]>=v[M][A+1]?M+=1:A+=1;const y=new Map,K=[{sourceIndex:-1,generatedIndex:-1},...I,{sourceIndex:a.length,generatedIndex:o.length}];for(let e=1;e<K.length;e+=1){const n=K[e-1],t=K[e],r=t.sourceIndex-n.sourceIndex-1;if(r===t.generatedIndex-n.generatedIndex-1)for(let e=1;e<=r;e+=1)y.set(n.generatedIndex+e,n.sourceIndex+e)}for(let e=0;e<o.length;e+=1){if(x.has(e))continue;const n=a.findIndex((n,t)=>!b.has(t)&&m(t,e));-1!==n&&(x.set(e,n),b.add(n))}let C=0;return r.map((e,n)=>{if(n%2==1)return e;const t=x.get(C),r=y.get(C);return C+=1,void 0!==t?a[t]:void 0===r?e:((e,n,t)=>{const r=p(e),a=p(n),l=Array.from({length:r.length+1},()=>new Uint32Array(a.length+1));for(let e=r.length-1;e>=0;e-=1)for(let n=a.length-1;n>=0;n-=1)l[e][n]=r[e].comparable===a[n].comparable?l[e+1][n+1]+1:Math.max(l[e+1][n],l[e][n+1]);const o=new Map;let c=0,i=0;for(;c<r.length&&i<a.length;)r[c].comparable===a[i].comparable?(o.set(i,c),c+=1,i+=1):l[c+1][i]>=l[c][i+1]?c+=1:i+=1;const d=new Map;o.forEach((e,n)=>{var t;const l=r[e],o=a[n];if(l.raw===o.raw||!l.raw.includes("\\")&&!o.raw.includes("\\"))return;const s=o.escapeKind||l.escapeKind,c="["===s||"]"===s?"brackets":s,i=null!==(t=d.get(c))&&void 0!==t?t:new Map;i.set(n,l.raw),d.set(c,i)});let f=a.map(e=>e.raw),h=n;return d.forEach(e=>{const n=[...f];e.forEach((e,t)=>{n[t]=e});const r=n.join("");s(r,t)===s(h,t)&&(f=n,h=r)}),h})(a[r],e,g)}).join("")};export{f as preserveUnchangedMarkdownEscapesFromSource};
1
+ import e from"showdown";const n=new Set(Array.from("`*_{}[]()>#+.!~=|:-")),t=e=>e.replace(/&(?:#\d+|#x[\da-f]+|[a-z][\da-z]+);/gi,e=>{const n=document.createElement("textarea");return n.innerHTML=e,n.value}),r=/<!--\s*([a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12})\s*-->/gi,a=/<invisible\b[^>]*\bid=(["'])([a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12})\1[^>]*>\s*<\/invisible>/gi,l=new e.Converter({tables:!0,simpleLineBreaks:!0,literalMidWordUnderscores:!0}),o=e=>e.split(/\r?\n/).filter(e=>/^ {0,3}\[[^\]]+\]:\s*\S/.test(e)).join("\n"),s=e=>e.replace(r,(e,n)=>`ZXQDOCUMENTANCHOR${n.replace(/-/g,"")}QXZ`).replace(a,(e,n,t)=>`ZXQDOCUMENTANCHOR${t.replace(/-/g,"")}QXZ`),i=(e,n)=>{const t=l.makeHtml(n?`${s(e)}\n\n${n}`:s(e)).replace(/\r\n/g,"\n");return(new DOMParser).parseFromString(t,"text/html").body.innerHTML},c=e=>{var r;let a="";for(let t=0;t<e.length;t+=1){if("\\"!==e[t]){a+=e[t];continue}let l=1;for(;"\\"===e[t+l];)l+=1;const o=null!==(r=e[t+l])&&void 0!==r?r:"",s=n.has(o),i=s?Math.floor(l/2):Math.ceil(l/2);a+="\\".repeat(i),s?(a+=o,t+=l):t+=l-1}return t(a).replace(/\r\n/g,"\n")},d=e=>e.split(/(\r?\n\r?\n)/),p=e=>/[\p{L}\p{N}]/u.test(e),f=e=>{var r,a,l,o;const s=[];for(let i=0;i<e.length;i+=1){const d=e[i],f="&"===d?null===(r=e.slice(i).match(/^&(?:#\d+|#x[\da-f]+|[a-z][\da-z]+);/i))||void 0===r?void 0:r[0]:void 0;if(f)s.push({comparable:t(f),escapeKind:"entity",raw:f}),i+=f.length-1;else{if("\\"===d){let t=1;for(;"\\"===e[i+t];)t+=1;const r=null!==(a=e[i+t])&&void 0!==a?a:"",l=n.has(r),o=t+(l?1:0),d=e.slice(i,i+o);s.push({comparable:c(d),escapeKind:l?r:"\\",raw:d}),i+=o-1;continue}if(p(d)){let n=i+1;for(;p(null!==(l=e[n])&&void 0!==l?l:"");)n+=1;const t=e.slice(i,n);s.push({comparable:t,escapeKind:"",raw:t}),i=n-1;continue}if(/\s/.test(d)){let n=i+1;for(;/\s/.test(null!==(o=e[n])&&void 0!==o?o:"");)n+=1;const t=e.slice(i,n);s.push({comparable:t,escapeKind:"",raw:t}),i=n-1;continue}s.push({comparable:d,escapeKind:d,raw:d})}}return s},h=(e,n)=>{const t=d(e),r=d(n),a=t.filter((e,n)=>n%2==0),l=r.filter((e,n)=>n%2==0),s=a.map(c),p=l.map(c),h=o(e),g=o(n),u=new Array(a.length),m=new Array(l.length),w=(e,n)=>{var t,r;return a[e]===l[n]||s[e]===p[n]&&(null!==(t=u[e])&&void 0!==t||(u[e]=i(a[e],h)),null!==(r=m[n])&&void 0!==r||(m[n]=i(l[n],g)),u[e]===m[n])},v=Array.from({length:a.length+1},()=>new Uint32Array(l.length+1));for(let e=a.length-1;e>=0;e-=1)for(let n=l.length-1;n>=0;n-=1)v[e][n]=w(e,n)?v[e+1][n+1]+1:Math.max(v[e+1][n],v[e][n+1]);const x=new Map,b=new Set,M=[];let I=0,y=0;for(;I<a.length&&y<l.length;)w(I,y)?(x.set(y,I),b.add(I),M.push({sourceIndex:I,generatedIndex:y}),I+=1,y+=1):v[I+1][y]>=v[I][y+1]?I+=1:y+=1;const A=new Map,K=[{sourceIndex:-1,generatedIndex:-1},...M,{sourceIndex:a.length,generatedIndex:l.length}];for(let e=1;e<K.length;e+=1){const n=K[e-1],t=K[e],r=t.sourceIndex-n.sourceIndex-1;if(r===t.generatedIndex-n.generatedIndex-1)for(let e=1;e<=r;e+=1)A.set(n.generatedIndex+e,n.sourceIndex+e)}for(let e=0;e<l.length;e+=1){if(x.has(e))continue;const n=a.findIndex((n,t)=>!b.has(t)&&w(t,e));-1!==n&&(x.set(e,n),b.add(n))}let E=0;return r.map((e,n)=>{if(n%2==1)return e;const t=x.get(E),r=A.get(E);return E+=1,void 0!==t?a[t]:void 0===r?e:((e,n,t)=>{const r=f(e),a=f(n),l=Array.from({length:r.length+1},()=>new Uint32Array(a.length+1));for(let e=r.length-1;e>=0;e-=1)for(let n=a.length-1;n>=0;n-=1)l[e][n]=r[e].comparable===a[n].comparable?l[e+1][n+1]+1:Math.max(l[e+1][n],l[e][n+1]);const o=new Map;let s=0,c=0;for(;s<r.length&&c<a.length;)r[s].comparable===a[c].comparable?(o.set(c,s),s+=1,c+=1):l[s+1][c]>=l[s][c+1]?s+=1:c+=1;const d=new Map;o.forEach((e,n)=>{var t;const l=r[e],o=a[n];if(l.raw===o.raw||!l.raw.includes("\\")&&!o.raw.includes("\\")&&"entity"!==l.escapeKind&&"entity"!==o.escapeKind)return;const s=o.escapeKind||l.escapeKind,i="["===s||"]"===s?"brackets":s,c=null!==(t=d.get(i))&&void 0!==t?t:new Map;c.set(n,l.raw),d.set(i,c)});let p=a.map(e=>e.raw),h=n;return d.forEach(e=>{const n=[...p];e.forEach((e,t)=>{n[t]=e});const r=n.join("");i(r,t)===i(h,t)&&(p=n,h=r)}),h})(a[r],e,g)}).join("")};export{h as preserveUnchangedMarkdownEscapesFromSource};
2
2
  //# sourceMappingURL=preserveMarkdownEscapes.js.map
@@ -1,2 +1,2 @@
1
- const e=/<br\s*\/?>|\r\n|\r|\n/gi,t=e=>e.replace(/<[^>]*>/g," ").replace(/\\([*+\-=#`~[\]>_.])/g,"$1").replace(/[*_`~]+/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/&gt;/gi,">").replace(/&lt;/gi,"<").replace(/&quot;/gi,'"').replace(/&#39;|&apos;/gi,"'").replace(/&amp;/gi,"&").replace(/\s+/g," ").trim().toLocaleLowerCase(),r=r=>{const l=Array.from(r.matchAll(new RegExp(e.source,"gi")));return l.map((e,n)=>{var i,g,c,a;const s=null!==(i=e.index)&&void 0!==i?i:0,h=n>0?(null!==(g=l[n-1].index)&&void 0!==g?g:0)+l[n-1][0].length:0,f=null!==(a=null===(c=l[n+1])||void 0===c?void 0:c.index)&&void 0!==a?a:r.length;return{raw:e[0],left:t(r.slice(h,s).slice(-100)),right:t(r.slice(s+e[0].length,f).slice(0,100))}})},l=(t,l)=>{if(!t||!l)return l;const n=r(t),i=r(l);if(!n.length||!i.length)return l;if(n.length===i.length){let t=0;return l.replace(e,()=>n[t++].raw)}let g=0,c=0;return l.replace(e,e=>{const t=i[c++],r=n.findIndex((e,r)=>r>=g&&((e,t)=>{const r=Boolean(e.left&&t.left&&(e.left.endsWith(t.left)||t.left.endsWith(e.left))),l=Boolean(e.right&&t.right&&(e.right.startsWith(t.right)||t.right.startsWith(e.right)));if(r||l)return!0;const n=e.left&&e.left.length>=50&&t.left&&t.left.length>=50,i=e.right&&e.right.length>=50&&t.right&&t.right.length>=50;if(n){const r=e.left.slice(-30),l=t.left.slice(-30);if(r.split("").filter((e,t)=>l[t]===e).length>=15)return!0}if(i){const r=e.right.slice(0,30),l=t.right.slice(0,30);if(r.split("").filter((e,t)=>l[t]===e).length>=15)return!0}return!1})(e,t));return-1===r?e:(g=r+1,n[r].raw)})},n=/[^\S\r\n]*(?:\r?\n[^\S\r\n]*){2,}/g,i=e=>Array.from(e.matchAll(new RegExp(n.source,"g"))).map(r=>{var l;const n=null!==(l=r.index)&&void 0!==l?l:0,i=e.slice(0,n),g=e.slice(n+r[0].length);return{raw:r[0],left:t(i.slice(i.lastIndexOf("\n")+1).slice(-240)),right:t(g.split(/\r?\n/,1)[0].slice(0,240))}}),g=e=>{var t;return(null!==(t=e.match(/\r?\n/g))&&void 0!==t?t:[]).length},c=(e,t)=>{if(!e||!t)return t;const r=i(e),l=i(t);if(!r.length||!l.length)return t;let c=0,a=0;return t.replace(n,e=>{const t=l[a++],n=r.findIndex((e,r)=>r>=c&&e.left===t.left&&e.right===t.right&&g(t.raw)<=g(e.raw)&&(e.raw.includes(" ")||g(t.raw)===g(e.raw)));return-1===n?e:(c=n+1,r[n].raw)})};export{l as preserveLineBreaksFromSource,c as preserveUnchangedWhitespaceRunsFromSource};
1
+ const e=/<br\s*\/?>| {2,}\r?\n|\r\n|\r|\n/gi,t=e=>e.replace(/<[^>]*>/g," ").replace(/\\([*+\-=#`~[\]>_.])/g,"$1").replace(/[*_`~]+/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/&gt;/gi,">").replace(/&lt;/gi,"<").replace(/&quot;/gi,'"').replace(/&#39;|&apos;/gi,"'").replace(/&amp;/gi,"&").replace(/\s+/g," ").trim().toLocaleLowerCase(),r=r=>{const l=Array.from(r.matchAll(new RegExp(e.source,"gi")));return l.map((e,n)=>{var i,g,c,a;const s=null!==(i=e.index)&&void 0!==i?i:0,h=n>0?(null!==(g=l[n-1].index)&&void 0!==g?g:0)+l[n-1][0].length:0,f=null!==(a=null===(c=l[n+1])||void 0===c?void 0:c.index)&&void 0!==a?a:r.length;return{raw:e[0],left:t(r.slice(h,s).slice(-100)),right:t(r.slice(s+e[0].length,f).slice(0,100))}})},l=(t,l)=>{if(!t||!l)return l;const n=r(t),i=r(l);if(!n.length||!i.length)return l;if(n.length===i.length){let t=0;return l.replace(e,()=>n[t++].raw)}let g=0,c=0;return l.replace(e,e=>{const t=i[c++],r=n.findIndex((e,r)=>r>=g&&((e,t)=>{const r=Boolean(e.left&&t.left&&(e.left.endsWith(t.left)||t.left.endsWith(e.left))),l=Boolean(e.right&&t.right&&(e.right.startsWith(t.right)||t.right.startsWith(e.right)));if(r||l)return!0;const n=e.left&&e.left.length>=50&&t.left&&t.left.length>=50,i=e.right&&e.right.length>=50&&t.right&&t.right.length>=50;if(n){const r=e.left.slice(-30),l=t.left.slice(-30);if(r.split("").filter((e,t)=>l[t]===e).length>=15)return!0}if(i){const r=e.right.slice(0,30),l=t.right.slice(0,30);if(r.split("").filter((e,t)=>l[t]===e).length>=15)return!0}return!1})(e,t));return-1===r?e:(g=r+1,n[r].raw)})},n=/[^\S\r\n]*(?:\r?\n[^\S\r\n]*){2,}/g,i=e=>Array.from(e.matchAll(new RegExp(n.source,"g"))).map(r=>{var l;const n=null!==(l=r.index)&&void 0!==l?l:0,i=e.slice(0,n),g=e.slice(n+r[0].length);return{raw:r[0],left:t(i.slice(i.lastIndexOf("\n")+1).slice(-240)),right:t(g.split(/\r?\n/,1)[0].slice(0,240))}}),g=e=>{var t;return(null!==(t=e.match(/\r?\n/g))&&void 0!==t?t:[]).length},c=(e,t,r=!1)=>{if(!e||!t)return t;const l=i(e),c=i(t);if(!l.length||!c.length)return t;let a=0,s=0;return t.replace(n,e=>{const t=c[s++],n=l.findIndex((e,n)=>n>=a&&(e.left===t.left&&e.right===t.right||r&&l.length===c.length&&n===s-1)&&g(t.raw)<=g(e.raw)&&(e.raw.includes(" ")||g(t.raw)===g(e.raw)));return-1===n?e:(a=n+1,l[n].raw)})};export{l as preserveLineBreaksFromSource,c as preserveUnchangedWhitespaceRunsFromSource};
2
2
  //# sourceMappingURL=preserveMarkdownLineBreaks.js.map
@@ -1,2 +1,2 @@
1
- const n=n=>{const e=[];let t="";return n.forEach((n,r)=>{const c=n.match(/^\s*(`{3,}|~{3,})/);if(c){const n=c[1][0];return void(t?t===n&&(t=""):t=n)}if(t)return;const o=n.match(/^(\s*)([*+-])([ \t]+)(.*)$/);o&&e.push({lineIndex:r,indent:o[1],marker:o[2],spacing:o[3],content:o[4]})}),e},e=(e,t)=>{if(!e||!t)return t;const r=e.split("\n"),c=t.split("\n"),o=n(r),s=n(c);if(!o.length||!s.length)return t;const d=[];if(o.length===s.length)s.forEach((n,e)=>{d.push({sourceIndex:e,generatedIndex:e})});else{let n=0;s.forEach((e,t)=>{const r=o.findIndex((t,r)=>r>=n&&t.content===e.content);-1!==r&&(d.push({sourceIndex:r,generatedIndex:t}),n=r+1)})}return d.forEach(({sourceIndex:n,generatedIndex:e})=>{const t=o[n],r=s[e];c[r.lineIndex]=`${t.indent}${t.marker}${t.spacing}`+r.content}),c.join("\n")};export{e as preserveListFormattingFromSource};
1
+ const n=n=>{const e=[];let t="";return n.forEach((n,r)=>{const c=n.match(/^\s*(`{3,}|~{3,})/);if(c){const n=c[1][0];return void(t?t===n&&(t=""):t=n)}if(t)return;const o=n.match(/^(\s*)([*+-]|\d+\.)([ \t]+)(.*)$/);o&&e.push({lineIndex:r,indent:o[1],marker:o[2],spacing:o[3],content:o[4]})}),e},e=(e,t)=>{if(!e||!t)return t;const r=e.split("\n"),c=t.split("\n"),o=n(r),s=n(c);if(!o.length||!s.length)return t;const d=[];if(o.length===s.length)s.forEach((n,e)=>{d.push({sourceIndex:e,generatedIndex:e})});else{let n=0;s.forEach((e,t)=>{const r=o.findIndex((t,r)=>r>=n&&t.content===e.content);-1!==r&&(d.push({sourceIndex:r,generatedIndex:t}),n=r+1)})}return d.forEach(({sourceIndex:n,generatedIndex:e})=>{const t=o[n],r=s[e];/\d/.test(t.marker+r.marker)&&t.marker!==r.marker||(c[r.lineIndex]=`${t.indent}${t.marker}${t.spacing}`+r.content)}),c.join("\n")};export{e as preserveListFormattingFromSource};
2
2
  //# sourceMappingURL=preserveMarkdownListFormatting.js.map
@@ -1,2 +1,2 @@
1
- import{markdownWithoutEmphasisMarkers as e}from"./preserveMarkdownEmphasis.js";const r=new RegExp(String.raw`<(manual|upt)\b((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/\1\s*>`,"gi"),n=new RegExp(String.raw`<del\b(?:[^>"']|"[^"]*"|'[^']*')*>[\s\S]*?<\/del\s*>[ \t\r\n]*<ins\b(?:[^>"']|"[^"]*"|'[^']*')*>[\s\S]*?<\/ins\s*>`,"gi"),i=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=e=>{var r,n;return null!==(n=null===(r=e.match(/\bid\s*=\s*(?:"([^"]*)"|'([^']*)')/i))||void 0===r?void 0:r.slice(1).find(Boolean))&&void 0!==n?n:""},t=r=>e(r).replace(/<(\/)?(del|ins|preserved)\b[^>]*>/gi,(e,r,n)=>` ZXQ${r?"CLOSE":"OPEN"}${String(n).toUpperCase()}QXZ `).replace(/<br\s*\/?>/gi,"\n").replace(/\\\|/g,"|").replace(/<[^>]*>/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/&gt;/gi,">").replace(/&lt;/gi,"<").replace(/&quot;/gi,'"').replace(/&#39;|&apos;/gi,"'").replace(/&amp;/gi,"&").replace(/\s+/g," ").trim(),l=(e,l)=>{const a=Array.from(e.matchAll(new RegExp(r.source,"gi")));let c=l;return a.forEach(e=>{const[,r,l,a]=e,o=s(l);if(!o)return;const p=i(o),g=new RegExp(String.raw`<${r}\b(?=(?:[^>"']|"[^"]*"|'[^']*')*\bid\s*=\s*(?:"${p}"|'${p}'))((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/${r}\s*>`,"i");c=c.replace(g,(r,n,i)=>t(a)===t(i)?e[0]:r),c=((e,r,l,a)=>{var c;const o=s(r);if(!o)return a;const p=i(o);if(new RegExp(String.raw`<(?:manual|upt)\b(?=(?:[^>"']|"[^"]*"|'[^']*')*\bid\s*=\s*(?:"${p}"|'${p}'))`,"i").test(a))return a;const g=null===(c=l.match(new RegExp(`^\\s*(${n.source})\\s*$`,"i")))||void 0===c?void 0:c[1];if(!g)return a;const u=t(g),d=Array.from(a.matchAll(new RegExp(n.source,"gi"))).find(e=>{var r;return!((e,r)=>{const n=/<(\/)?(?:manual|upt)\b(?:[^>"']|"[^"]*"|'[^']*')*>/gi;let i,s=0;for(;null!==(i=n.exec(e))&&i.index<r;)s+=i[1]?-1:1;return s>0})(a,null!==(r=e.index)&&void 0!==r?r:0)&&t(e[0])===u});if(!d||void 0===d.index)return a;const $=`<${e}${r}>${d[0]}</${e}>`;return a.slice(0,d.index)+$+a.slice(d.index+d[0].length)})(r,l,a,c)}),c};export{s as getReviewId,l as preserveUnchangedReviewBlocksFromSource};
1
+ import{markdownWithoutEmphasisMarkers as e}from"./preserveMarkdownEmphasis.js";const r=new RegExp(String.raw`<(manual|upt|updated)\b((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/\1\s*>`,"gi"),n=new RegExp(String.raw`<del\b(?:[^>"']|"[^"]*"|'[^']*')*>[\s\S]*?<\/del\s*>[ \t\r\n]*<ins\b(?:[^>"']|"[^"]*"|'[^']*')*>[\s\S]*?<\/ins\s*>`,"gi"),i=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=e=>{var r,n;return null!==(n=null===(r=e.match(/\bid\s*=\s*(?:"([^"]*)"|'([^']*)')/i))||void 0===r?void 0:r.slice(1).find(Boolean))&&void 0!==n?n:""},t=r=>e(r).replace(/<(\/)?(del|ins|changed|preserved)\b[^>]*>/gi,(e,r,n)=>` ZXQ${r?"CLOSE":"OPEN"}${String(n).toUpperCase()}QXZ `).replace(/<br\s*\/?>/gi,"\n").replace(/\\\|/g,"|").replace(/<[^>]*>/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/&gt;/gi,">").replace(/&lt;/gi,"<").replace(/&quot;/gi,'"').replace(/&#39;|&apos;/gi,"'").replace(/&amp;/gi,"&").replace(/\s+/g," ").trim(),a=(e,a)=>{const l=Array.from(e.matchAll(new RegExp(r.source,"gi")));let c=a;return l.forEach(e=>{const[,r,a,l]=e,p=s(a);if(!p)return;const o=i(p),g=new RegExp(String.raw`<${r}\b(?=(?:[^>"']|"[^"]*"|'[^']*')*\bid\s*=\s*(?:"${o}"|'${o}'))((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/${r}\s*>`,"i");c=c.replace(g,(r,n,i)=>t(l)===t(i)?e[0]:r),c=((e,r,a,l)=>{var c;const p=s(r);if(!p)return l;const o=i(p);if(new RegExp(String.raw`<(?:manual|upt)\b(?=(?:[^>"']|"[^"]*"|'[^']*')*\bid\s*=\s*(?:"${o}"|'${o}'))`,"i").test(l))return l;const g=null===(c=a.match(new RegExp(`^\\s*(${n.source})\\s*$`,"i")))||void 0===c?void 0:c[1];if(!g)return l;const u=t(g),d=Array.from(l.matchAll(new RegExp(n.source,"gi"))).find(e=>{var r;return!((e,r)=>{const n=/<(\/)?(?:manual|upt)\b(?:[^>"']|"[^"]*"|'[^']*')*>/gi;let i,s=0;for(;null!==(i=n.exec(e))&&i.index<r;)s+=i[1]?-1:1;return s>0})(l,null!==(r=e.index)&&void 0!==r?r:0)&&t(e[0])===u});if(!d||void 0===d.index)return l;const $=`<${e}${r}>${d[0]}</${e}>`;return l.slice(0,d.index)+$+l.slice(d.index+d[0].length)})(r,a,l,c)}),c};export{s as getReviewId,a as preserveUnchangedReviewBlocksFromSource};
2
2
  //# sourceMappingURL=preserveReviewBlocks.js.map
@@ -1,2 +1,2 @@
1
- import{$nodesOfType as t,$isTextNode as e,$createTextNode as o}from"lexical";import{ManualNode as n}from"../plugins/ManualNode.js";import{UpdateNode as i}from"../plugins/UpdateNode.js";const r=(t,e)=>`${t.toLowerCase()}:${e}`,l=t=>{const e=new Map;return t.querySelectorAll("manual[id], upt[id]").forEach(t=>{var o,n,i,l,a,s;const d=t.getAttribute("id");if(!d)return;const u=null===(n=null===(o=t.previousSibling)||void 0===o?void 0:o.textContent)||void 0===n?void 0:n.match(/[ \t]+$/),f=null!==(i=null==u?void 0:u[0])&&void 0!==i?i:"",c=null===(a=null===(l=t.nextSibling)||void 0===l?void 0:l.textContent)||void 0===a?void 0:a.match(/^[ \t]+/),g=null!==(s=null==c?void 0:c[0])&&void 0!==s?s:"";e.set(r(t.tagName,d),{before:f,after:g})}),e},a=l=>{[...t(n).map(t=>({tag:"manual",node:t})),...t(i).map(t=>({tag:"upt",node:t}))].forEach(({tag:t,node:n})=>{const i=n.getId(),a=l.get(r(t,i));if(!a)return;const s=n.getPreviousSibling();if(e(s)){const t=s.getTextContent();s.setTextContent(`${t.replace(/[ \t]*$/,"")}${a.before}`)}else a.before&&n.insertBefore(o(a.before));const d=n.getNextSibling();if(e(d)){const t=d.getTextContent();d.setTextContent(`${a.after}${t.replace(/^[ \t]*/,"")}`)}else a.after&&n.insertAfter(o(a.after))})};export{l as collectReviewBoundaryWhitespace,a as restoreReviewBoundaryWhitespace};
1
+ import{$nodesOfType as t,$isTextNode as e,$createTextNode as o}from"lexical";import{ManualNode as n}from"../plugins/ManualNode.js";import{UpdateNode as i}from"../plugins/UpdateNode.js";const r=(t,e)=>`${"updated"===t.toLowerCase()?"upt":t.toLowerCase()}:${e}`,l=t=>{const e=new Map;return t.querySelectorAll("manual[id], upt[id], updated[id]").forEach(t=>{var o,n,i,l,a,d;const u=t.getAttribute("id");if(!u)return;const s=null===(n=null===(o=t.previousSibling)||void 0===o?void 0:o.textContent)||void 0===n?void 0:n.match(/[ \t]+$/),f=null!==(i=null==s?void 0:s[0])&&void 0!==i?i:"",p=null===(a=null===(l=t.nextSibling)||void 0===l?void 0:l.textContent)||void 0===a?void 0:a.match(/^[ \t]+/),c=null!==(d=null==p?void 0:p[0])&&void 0!==d?d:"";e.set(r(t.tagName,u),{before:f,after:c})}),e},a=l=>{[...t(n).map(t=>({tag:"manual",node:t})),...t(i).map(t=>({tag:"upt",node:t}))].forEach(({tag:t,node:n})=>{const i=n.getId(),a=l.get(r(t,i));if(!a)return;const d=n.getPreviousSibling();if(e(d)){const t=d.getTextContent();d.setTextContent(`${t.replace(/[ \t]*$/,"")}${a.before}`)}else a.before&&n.insertBefore(o(a.before));const u=n.getNextSibling();if(e(u)){const t=u.getTextContent();u.setTextContent(`${a.after}${t.replace(/^[ \t]*/,"")}`)}else a.after&&n.insertAfter(o(a.after))})};export{l as collectReviewBoundaryWhitespace,a as restoreReviewBoundaryWhitespace};
2
2
  //# sourceMappingURL=preserveReviewBoundaryWhitespace.js.map
@@ -1,2 +1,2 @@
1
- import{escapeMarkdownTableCellPipes as e}from"./markdownTableSerialization.js";const r=["upt","manual","ins","del","preserved","deleted","changed","mark"],t=(e,r,t=[])=>{const o=new Set(t);let n=e;for(;r.includes(n)||o.has(n);)n=`Z${n}`;return n},o=(n,l,a=Boolean(n.closest("td, th")))=>{const c=n.cloneNode(!0),i=new Map;Array.from(c.querySelectorAll(r.join(","))).forEach(e=>{if(!c.contains(e))return;const r=t(`ZXQNESTEDREVIEWTOKEN${i.size}QXZ`,c.innerHTML,i.keys());i.set(r,o(e,l,a)),e.replaceWith(c.ownerDocument.createTextNode(r))});const s=new Map;a&&c.querySelectorAll("br").forEach(e=>{const r=t(`ZXQTABLEBREAKTOKEN${s.size}QXZ`,c.innerHTML,s.keys());s.set(r,"<br>"),e.replaceWith(c.ownerDocument.createTextNode(r))});let u=l.turndown(c.innerHTML);s.forEach((e,r)=>{u=u.replace(r,e)}),i.forEach((e,r)=>{u=u.replace(r,e)}),a&&(u=e(u));const d=Array.from(n.attributes).map(e=>`${e.name}="${e.value}"`).join(" "),m=n.tagName.toLowerCase();return d?`<${m} ${d}>${u}</${m}>`:`<${m}>${u}</${m}>`},n=(e,n)=>{var l,a,c,i;const s=[],u=r.join(","),d=Array.from(e.querySelectorAll(u)).filter(e=>{var r;return!(null===(r=e.parentElement)||void 0===r?void 0:r.closest(u))}),m=null!==(i=null!==(c=null!==(a=null===(l=e.documentElement)||void 0===l?void 0:l.outerHTML)&&void 0!==a?a:e.innerHTML)&&void 0!==c?c:e.textContent)&&void 0!==i?i:"";return d.forEach(e=>{const r=t(`ZXQREVIEWTOKEN${s.length}QXZ`,m,s.map(e=>e.placeholder));s.push({html:o(e,n),placeholder:r}),e.replaceWith(e.ownerDocument.createTextNode(r))}),s},l=(e,r)=>{let t=e;for(let e=r.length-1;e>=0;e-=1){const{html:o,placeholder:n}=r[e];t=t.replace(n,o)}return t};export{n as replaceReviewNodesWithMarkdownPlaceholders,l as restoreReviewNodePlaceholders,o as serializeReviewNodeToMarkdown};
1
+ import{escapeMarkdownTableCellPipes as e}from"./markdownTableSerialization.js";const r=["upt","updated","manual","ins","del","preserved","deleted","changed","mark"],t=(e,r,t=[])=>{const o=new Set(t);let n=e;for(;r.includes(n)||o.has(n);)n=`Z${n}`;return n},o=(n,l,a=Boolean(n.closest("td, th")))=>{const c=n.cloneNode(!0),i=new Map;Array.from(c.querySelectorAll(r.join(","))).forEach(e=>{if(!c.contains(e))return;const r=t(`ZXQNESTEDREVIEWTOKEN${i.size}QXZ`,c.innerHTML,i.keys());i.set(r,o(e,l,a)),e.replaceWith(c.ownerDocument.createTextNode(r))});const s=new Map;a&&c.querySelectorAll("br").forEach(e=>{const r=t(`ZXQTABLEBREAKTOKEN${s.size}QXZ`,c.innerHTML,s.keys());s.set(r,"<br>"),e.replaceWith(c.ownerDocument.createTextNode(r))});let u=l.turndown(c.innerHTML);s.forEach((e,r)=>{u=u.replace(r,e)}),i.forEach((e,r)=>{u=u.replace(r,e)}),a&&(u=e(u));const d=Array.from(n.attributes).map(e=>`${e.name}="${e.value}"`).join(" "),m=n.tagName.toLowerCase();return d?`<${m} ${d}>${u}</${m}>`:`<${m}>${u}</${m}>`},n=(e,n)=>{var l,a,c,i;const s=[],u=r.join(","),d=Array.from(e.querySelectorAll(u)).filter(e=>{var r;return!(null===(r=e.parentElement)||void 0===r?void 0:r.closest(u))}),m=null!==(i=null!==(c=null!==(a=null===(l=e.documentElement)||void 0===l?void 0:l.outerHTML)&&void 0!==a?a:e.innerHTML)&&void 0!==c?c:e.textContent)&&void 0!==i?i:"";return d.forEach(e=>{const r=t(`ZXQREVIEWTOKEN${s.length}QXZ`,m,s.map(e=>e.placeholder));s.push({html:o(e,n),placeholder:r}),e.replaceWith(e.ownerDocument.createTextNode(r))}),s},l=(e,r)=>{let t=e;for(let e=r.length-1;e>=0;e-=1){const{html:o,placeholder:n}=r[e];t=t.replace(n,o)}return t};export{n as replaceReviewNodesWithMarkdownPlaceholders,l as restoreReviewNodePlaceholders,o as serializeReviewNodeToMarkdown};
2
2
  //# sourceMappingURL=reviewNodeSerialization.js.map
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r,useRef as n,useState as l,useEffect as o,useImperativeHandle as i}from"react";import{DEFAULT_TOOLBAR_CONFIG as s}from"./Editor/constants/editorConfig.js";import a from"./Editor/Editor.js";import{useRefStore as c}from"../../store/ref.context.js";import{$generateHtmlFromNodes as d}from"@lexical/html";import u from"turndown";import{tables as p}from"turndown-plugin-gfm";import{UnsavedChangesPopup as h}from"../UnsavedChangesPopup/UnsavedChangesPopup.js";import{mergeTagAcrossParagraphs as m,unescapeTagIds as g,preserveLegacyCommentRedlinesFromSource as f,preserveDocumentAnchorsFromSource as v,preserveInvisibleAnchorBeforeTablePipe as E}from"../../../../utils/tagHelper.js";import{INITIAL_CONTENT_UPDATE_TAG as w}from"./Editor/constants/updateTags.js";import{normalizeRedundantInlineFormattingElements as x,preserveEmphasisMarkersFromSource as b,preserveLiteralMidWordUnderscoresFromSource as A,preserveUnchangedEmphasisParagraphsFromSource as y}from"./Editor/utils/preserveMarkdownEmphasis.js";import{preserveTableDelimiterRowsFromSource as C}from"./Editor/utils/preserveTableDelimiters.js";import{preserveLineBreaksFromSource as S,preserveUnchangedWhitespaceRunsFromSource as $}from"./Editor/utils/preserveMarkdownLineBreaks.js";import{preserveListFormattingFromSource as N}from"./Editor/utils/preserveMarkdownListFormatting.js";import{preserveUnchangedReviewBlocksFromSource as k,getReviewId as j}from"./Editor/utils/preserveReviewBlocks.js";import{preserveUnchangedMarkdownEscapesFromSource as B}from"./Editor/utils/preserveMarkdownEscapes.js";import{markdownTableCellReplacement as I,ensureMarkdownTableColumnCounts as T}from"./Editor/utils/markdownTableSerialization.js";import{replaceReviewNodesWithMarkdownPlaceholders as R,restoreReviewNodePlaceholders as L}from"./Editor/utils/reviewNodeSerialization.js";const q=new u({headingStyle:"atx",codeBlockStyle:"fenced",emDelimiter:"*"}),P=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");q.keep(["ins","del","mark"]),q.keep(e=>["DELETED","CHANGED","PRESERVED"].includes(e.nodeName)),q.addRule("ai-reasoning-link-passthrough",{filter:e=>{var t,r;return"A"===e.nodeName&&null!==(r=null===(t=e.getAttribute("href"))||void 0===t?void 0:t.includes("ai_reasoning$"))&&void 0!==r&&r},replacement:(e,t)=>{const r=t,n=r.getAttribute("href")||"",l=r.textContent||"";return`<a href="${o=n,P(o).replace(/"/g,"&quot;")}">${P(l)}</a>`;var o}}),q.keep(e=>"SPAN"===e.nodeName&&e.hasAttribute("highlight-id")),q.addRule("md-table-passthrough",{filter:e=>"PRE"===e.nodeName&&"true"===e.getAttribute("data-md-table"),replacement:(e,t)=>t.textContent||""}),q.use(p),q.addRule("stable-table-cell",{filter:["th","td"],replacement:I});const D=(e,t)=>{let r=0;for(let n=t-1;n>=0&&"\\"===e[n];n-=1)r+=1;return r%2==1};q.addRule("stable-line-break",{filter:"br",replacement:()=>"<br>"});const M=e=>{var t,r;const n=null!==(r=null===(t=e.match(/^\s*/))||void 0===t?void 0:t[0])&&void 0!==r?r:"";let l=e.slice(n.length).trimEnd();const o=l.startsWith("|"),i=l.endsWith("|")&&!D(l,l.length-1);o&&(l=l.slice(1)),i&&(l=l.slice(0,-1));const s=[];let a="",c=!1,d="";for(let e=0;e<l.length;e+=1){const t=l[e];c?(a+=t,d?t!==d||D(l,e)||(d=""):'"'===t||"'"===t?d=t:">"===t&&(c=!1)):"<"===t?(c=!0,a+=t):"|"!==t||D(l,e)?a+=t:(s.push(a),a="")}return s.push(a),s.length<2?null:{indent:n,leadingPipe:o,trailingPipe:i,rawCells:s,cells:s.map(e=>e.trim())}},H=e=>!!e&&e.cells.every(e=>/^:?-{3,}:?$/.test(e)),W=e=>{const t=[];for(let r=1;r<e.length;r+=1){const n=M(e[r]),l=M(e[r-1]);if(!H(n)||!l)continue;const o=[{lineIndex:r-1,row:l},{lineIndex:r,row:n}];for(r+=1;r<e.length;){const t=M(e[r]);if(!t||H(t))break;o.push({lineIndex:r,row:t}),r+=1}t.push(o),r-=1}return t},O=e=>e.trim().replace(/(?:[ \t\u00a0]|&nbsp;)*<br\s*\/?>(?:[ \t\u00a0]|&nbsp;)*/gi,"<br>"),_=e=>e.replace(/<[^>]*>/g," ").replace(/[*_`~]+/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/\s+/g," ").trim().toLocaleLowerCase(),U=(e,t)=>{const r=/(?:[ \t\u00a0]|&nbsp;)*<br\s*\/?>(?:[ \t\u00a0]|&nbsp;)*/gi,n=Array.from(e.matchAll(r)),l=n.map((t,r)=>{var l,o,i,s,a;return{raw:t[0],left:_(e.slice(null!==(o=null===(l=n[r-1])||void 0===l?void 0:l.index)&&void 0!==o?o:0,t.index).slice(-80)),right:_(e.slice((null!==(i=t.index)&&void 0!==i?i:0)+t[0].length,null!==(a=null===(s=n[r+1])||void 0===s?void 0:s.index)&&void 0!==a?a:e.length).slice(0,80)),used:!1}}),o=Array.from(t.matchAll(r));let i=0;return t.replace(r,(r,n)=>{var s,a,c,d;const u=o.findIndex(e=>e.index===n),p=u>0?(null!==(s=o[u-1].index)&&void 0!==s?s:0)+o[u-1][0].length:0,h=null!==(c=null===(a=o[u+1])||void 0===a?void 0:a.index)&&void 0!==c?c:t.length,m=_(t.slice(p,n).slice(-80)),g=_(t.slice(n+r.length,h).slice(0,80)),f=l.findIndex((e,t)=>t>=i&&!e.used&&(e.left&&m.endsWith(e.left)||m&&e.left.endsWith(m)||e.right&&g.startsWith(e.right)||g&&e.right.startsWith(g))),v=l[f];if(v)return v.used=!0,i=f+1,v.raw;for(;null===(d=l[i])||void 0===d?void 0:d.used;)i+=1;const E=l[i];return E?(E.used=!0,i+=1,E.raw):(r=>{var n,l;const o=t.slice(0,r),i=o.lastIndexOf("<manual"),s=o.lastIndexOf("</manual"),a=o.lastIndexOf("<ins"),c=o.lastIndexOf("</ins");if(i<=s||a<=c)return!1;const d=null!==(l=null===(n=o.slice(i).match(/^<manual\b[^>]*>/i))||void 0===n?void 0:n[0])&&void 0!==l?l:"",u=j(d);return Boolean(u&&!e.includes(u))})(n)?r:""})},z=(e,t)=>{const r=((e,t)=>{if(e.cells.length===t.cells.length)return t.cells;const r=e.cells.filter(Boolean),n=t.cells.filter(Boolean);if(r.length!==n.length)return null;let l=0;return e.cells.map(e=>{if(!e)return"";const t=n[l];return l+=1,t})})(e,t);if(!r)return null;const n=r.map((r,n)=>{var l,o,i,s,a,c,d,u,p;const h=e.rawCells[n],m=null!==(o=null===(l=h.match(/^\s*/))||void 0===l?void 0:l[0])&&void 0!==o?o:"",g=null!==(s=null===(i=h.match(/\s*$/))||void 0===i?void 0:i[0])&&void 0!==s?s:"";if(!h.trim()){if(!r)return h;const e=null!==(a=t.rawCells[n])&&void 0!==a?a:r;return`${null!==(d=null===(c=e.match(/^\s*/))||void 0===c?void 0:c[0])&&void 0!==d?d:""}${r}${null!==(p=null===(u=e.match(/\s*$/))||void 0===u?void 0:u[0])&&void 0!==p?p:""}`}const f=e.cells[n];if(O(f)===O(r))return h;return`${m}${U(f,r)}${g}`});return`${e.indent}${e.leadingPipe?"|":""}${n.join("|")}${e.trailingPipe?"|":""}`},V=e=>(e||"").replace(/\r\n/g,"\n").trim(),X=r(({type:r,value:u,handleUpdateState:p,onBlur:j,placeholder:I,minHeight:P,height:D,mode:M,doNotShowBorderInViewMode:O,onEditBlocked:_,onSaveUnsavedChanges:U,onDiscardUnsavedChanges:X,isSavingUnsavedChanges:F=!1},K)=>{const Q=n(null),[Z,G]=l({type:r,value:u}),[J,Y]=l(0),[ee,te]=l(!1),re=n(u),ne=n(u),le=n(Boolean(u)),{contentRef:oe,setContentRef:ie}=c();o(()=>{G(e=>({...e,value:u})),re.current=u,ne.current=u,le.current=Boolean(u),te(!1)},[u]),i(K,()=>({requestClose:()=>!("edit"===M&&V(re.current)!==V(ne.current))||(te(!0),!1)}),[M]);return o(()=>{const e=()=>{oe&&oe.current&&Y(oe.current.clientHeight-60)};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[oe]),e("div",{style:{position:"relative",width:"100%",height:D,minHeight:P},children:[ee&&t(h,{isSaving:F,onSave:async()=>{await(null==U?void 0:U()),re.current=ne.current,te(!1)},onDiscard:()=>{ne.current=re.current,null==X||X(),te(!1)}}),t(a,{minHeight:P,height:D,placeholder:I||"Enter some text...",onChange:(e,t,r)=>{e.read(()=>{const e=d(t,null),n=(new DOMParser).parseFromString(e,"text/html");x(n),n.querySelectorAll("span").forEach(e=>{const t=e.getAttribute("style")||"";t.includes("background-color")&&(t.includes("rgb(219, 234, 254)")||t.includes("rgb(213, 232, 255)")||t.toLowerCase().includes("#d5e8ff"))&&e.setAttribute("data-review","insert"),t.includes("text-decoration")&&t.includes("line-through")&&e.setAttribute("data-review","delete")}),n.querySelectorAll("span[data-review]").forEach(e=>{const t="delete"===e.getAttribute("data-review")?"deleted":"changed",r=n.createElement(t);r.append(...Array.from(e.childNodes)),e.replaceWith(r)}),n.querySelectorAll("strong code").forEach(e=>{const t=e.parentElement;t&&t.replaceChild(document.createTextNode(e.textContent||""),e)}),n.querySelectorAll("code strong").forEach(e=>{const t=e.parentElement;t&&t.replaceChild(document.createTextNode(e.textContent||""),e)}),n.querySelectorAll("code").forEach(e=>{e.textContent=e.textContent||""}),n.querySelectorAll('a[href*="ai_reasoning$"]').forEach(e=>{(e=>{const t=e.getAttribute("href")||"";e.setAttribute("href",t.replace(/^https?:\/\//,"")),e.removeAttribute("class"),e.textContent=e.textContent||""})(e)}),n.querySelectorAll('a[href*="ai_reasoning$"]').forEach(e=>{const t=e.getAttribute("href")||"";e.setAttribute("href",t.replace(/^https?:\/\//,""))});const l=[];n.querySelectorAll("invisible").forEach((e,t)=>{const r=`ZXQINVISIBLETOKEN${t}QXZ`;l.push({html:e.outerHTML,placeholder:r}),e.replaceWith(n.createTextNode(r))});const o=R(n,q),i=[];n.querySelectorAll("p").forEach(e=>{if(e.closest("td, th"))return;if(!(""===e.textContent&&Array.from(e.childNodes).every(e=>"BR"===e.nodeName||e.nodeType===Node.TEXT_NODE&&""===e.textContent)))return;const t=`%%BLANKLINE${i.length}%%`;i.push(t),e.textContent=t}),n.querySelectorAll("table > colgroup").forEach(e=>{e.remove()});let s=q.turndown(n.body.innerHTML);i.forEach(e=>{s=s.replace(new RegExp(`\\n*${e}\\n*`,"g"),"\n\n")}),s=L(s,o),l.forEach(({html:e,placeholder:t})=>{s=s.replace(t,e)}),s=s.replace(/\*{4}([^*]+)\*{4}/g,"**$1**"),s=s.replace(/\s+class="PlaygroundEditorTheme__[^"]*"/g,""),s=s.replace(/<span\s+style="white-space:\s*pre-wrap;?">([\s\S]*?)<\/span>/g,"$1"),s=s.replace(/\s+style="white-space:\s*pre-wrap;?"/g,""),s=s.replace(/<b>\s*<strong>([\s\S]*?)<\/strong>\s*<\/b>/g,"<strong>$1</strong>"),s=s.replace(/<code([^>]*)>\s*<span[^>]*>([\s\S]*?)<\/span>\s*<\/code>/g,"<code$1>$2</code>");if(["upt","manual","del","ins","preserved"].forEach(e=>{s=m(s,e)}),s=g(s,["manual","upt"]),s=k(re.current,s),re.current.includes("--\x3e")&&(s=s.replace(/--&gt;/gi,"--\x3e")),s=f(re.current,s),s=v(re.current,s),s=b(re.current,s),s=A(re.current,s),s=((e,t)=>{const r=e.split("\n"),n=C(e,t).split("\n"),l=W(r);return W(n).forEach((e,t)=>{const o=l[t];if(!o)return;const i=o.length===e.length?e.length:Math.min(2,o.length,e.length);e.slice(0,i).forEach(({lineIndex:e,row:t},l)=>{const i=o[l];if(H(i.row)&&H(t))return void(n[e]=r[i.lineIndex]);const s=z(i.row,t);null!==s&&(n[e]=s)})}),n.join("\n")})(re.current,s),s=E(re.current,s),s=N(re.current,s),s=S(re.current,s),s=y(re.current,s),s=B(re.current,s),s=$(re.current,s),s=B(re.current,s),s=T(s),r.has(w))return ne.current=re.current,void(le.current=!1);le.current&&(re.current=s,le.current=!1),ne.current=s,((e,t)=>{p(e,t)})("prompt",s)})},toolbarConfig:s,editorRef:Q,mode:M,initialString:{type:Z.type,value:Z.value},dynamicHeight:J,onBlur:j,doNotShowBorderInViewMode:O||!1,onEditBlocked:_})]})});X.displayName="RichTextEditor";export{X as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r,useRef as n,useState as l,useEffect as o,useImperativeHandle as i}from"react";import{DEFAULT_TOOLBAR_CONFIG as s}from"./Editor/constants/editorConfig.js";import a from"./Editor/Editor.js";import{useRefStore as c}from"../../store/ref.context.js";import{$generateHtmlFromNodes as d}from"@lexical/html";import u from"turndown";import{tables as p}from"turndown-plugin-gfm";import{UnsavedChangesPopup as h}from"../UnsavedChangesPopup/UnsavedChangesPopup.js";import{mergeTagAcrossParagraphs as m,unescapeTagIds as g,preserveLegacyCommentRedlinesFromSource as f,preserveDocumentAnchorsFromSource as v,preserveInvisibleAnchorBeforeTablePipe as E}from"../../../../utils/tagHelper.js";import{INITIAL_CONTENT_UPDATE_TAG as w}from"./Editor/constants/updateTags.js";import{normalizeRedundantInlineFormattingElements as x,preserveEmphasisMarkersFromSource as b,preserveLiteralMidWordUnderscoresFromSource as y,preserveUnchangedEmphasisParagraphsFromSource as A}from"./Editor/utils/preserveMarkdownEmphasis.js";import{preserveTableDelimiterRowsFromSource as S}from"./Editor/utils/preserveTableDelimiters.js";import{preserveLineBreaksFromSource as C,preserveUnchangedWhitespaceRunsFromSource as $}from"./Editor/utils/preserveMarkdownLineBreaks.js";import{preserveListFormattingFromSource as N}from"./Editor/utils/preserveMarkdownListFormatting.js";import{preserveUnchangedReviewBlocksFromSource as k,getReviewId as j}from"./Editor/utils/preserveReviewBlocks.js";import{preserveUnchangedMarkdownEscapesFromSource as B}from"./Editor/utils/preserveMarkdownEscapes.js";import{prepareCodeBlocksForExport as I}from"./Editor/utils/codeBlockSerialization.js";import{markdownTableCellReplacement as T,ensureMarkdownTableColumnCounts as R}from"./Editor/utils/markdownTableSerialization.js";import{replaceReviewNodesWithMarkdownPlaceholders as L,restoreReviewNodePlaceholders as q}from"./Editor/utils/reviewNodeSerialization.js";const P=new u({headingStyle:"atx",codeBlockStyle:"fenced",emDelimiter:"*"}),D=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");P.keep(["ins","del","mark"]),P.keep(e=>["DELETED","CHANGED","PRESERVED"].includes(e.nodeName)),P.addRule("ai-reasoning-link-passthrough",{filter:e=>{var t,r;return"A"===e.nodeName&&null!==(r=null===(t=e.getAttribute("href"))||void 0===t?void 0:t.includes("ai_reasoning$"))&&void 0!==r&&r},replacement:(e,t)=>{const r=t,n=r.getAttribute("href")||"",l=r.textContent||"";return`<a href="${o=n,D(o).replace(/"/g,"&quot;")}">${D(l)}</a>`;var o}}),P.keep(e=>"SPAN"===e.nodeName&&e.hasAttribute("highlight-id")),P.addRule("md-table-passthrough",{filter:e=>"PRE"===e.nodeName&&"true"===e.getAttribute("data-md-table"),replacement:(e,t)=>t.textContent||""}),P.use(p),P.addRule("stable-table-cell",{filter:["th","td"],replacement:T});const M=(e,t)=>{let r=0;for(let n=t-1;n>=0&&"\\"===e[n];n-=1)r+=1;return r%2==1};P.addRule("stable-line-break",{filter:"br",replacement:()=>"<br>"});const H=e=>{var t,r;const n=null!==(r=null===(t=e.match(/^\s*/))||void 0===t?void 0:t[0])&&void 0!==r?r:"";let l=e.slice(n.length).trimEnd();const o=l.startsWith("|"),i=l.endsWith("|")&&!M(l,l.length-1);o&&(l=l.slice(1)),i&&(l=l.slice(0,-1));const s=[];let a="",c=!1,d="";for(let e=0;e<l.length;e+=1){const t=l[e];c?(a+=t,d?t!==d||M(l,e)||(d=""):'"'===t||"'"===t?d=t:">"===t&&(c=!1)):"<"===t?(c=!0,a+=t):"|"!==t||M(l,e)?a+=t:(s.push(a),a="")}return s.push(a),s.length<2?null:{indent:n,leadingPipe:o,trailingPipe:i,rawCells:s,cells:s.map(e=>e.trim())}},O=e=>!!e&&e.cells.every(e=>/^:?-{3,}:?$/.test(e)),W=e=>{const t=[];for(let r=1;r<e.length;r+=1){const n=H(e[r]),l=H(e[r-1]);if(!O(n)||!l)continue;const o=[{lineIndex:r-1,row:l},{lineIndex:r,row:n}];for(r+=1;r<e.length;){const t=H(e[r]);if(!t||O(t))break;o.push({lineIndex:r,row:t}),r+=1}t.push(o),r-=1}return t},_=e=>e.trim().replace(/(?:[ \t\u00a0]|&nbsp;)*<br\s*\/?>(?:[ \t\u00a0]|&nbsp;)*/gi,"<br>"),U=e=>e.replace(/<[^>]*>/g," ").replace(/[*_`~]+/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/\s+/g," ").trim().toLocaleLowerCase(),z=(e,t)=>{const r=/(?:[ \t\u00a0]|&nbsp;)*<br\s*\/?>(?:[ \t\u00a0]|&nbsp;)*/gi,n=Array.from(e.matchAll(r)),l=n.map((t,r)=>{var l,o,i,s,a;return{raw:t[0],left:U(e.slice(null!==(o=null===(l=n[r-1])||void 0===l?void 0:l.index)&&void 0!==o?o:0,t.index).slice(-80)),right:U(e.slice((null!==(i=t.index)&&void 0!==i?i:0)+t[0].length,null!==(a=null===(s=n[r+1])||void 0===s?void 0:s.index)&&void 0!==a?a:e.length).slice(0,80)),used:!1}}),o=Array.from(t.matchAll(r));let i=0;return t.replace(r,(r,n)=>{var s,a,c,d;const u=o.findIndex(e=>e.index===n),p=u>0?(null!==(s=o[u-1].index)&&void 0!==s?s:0)+o[u-1][0].length:0,h=null!==(c=null===(a=o[u+1])||void 0===a?void 0:a.index)&&void 0!==c?c:t.length,m=U(t.slice(p,n).slice(-80)),g=U(t.slice(n+r.length,h).slice(0,80)),f=l.findIndex((e,t)=>t>=i&&!e.used&&(e.left&&m.endsWith(e.left)||m&&e.left.endsWith(m)||e.right&&g.startsWith(e.right)||g&&e.right.startsWith(g))),v=l[f];if(v)return v.used=!0,i=f+1,v.raw;for(;null===(d=l[i])||void 0===d?void 0:d.used;)i+=1;const E=l[i];return E?(E.used=!0,i+=1,E.raw):(r=>{var n,l;const o=t.slice(0,r),i=o.lastIndexOf("<manual"),s=o.lastIndexOf("</manual"),a=o.lastIndexOf("<ins"),c=o.lastIndexOf("</ins");if(i<=s||a<=c)return!1;const d=null!==(l=null===(n=o.slice(i).match(/^<manual\b[^>]*>/i))||void 0===n?void 0:n[0])&&void 0!==l?l:"",u=j(d);return Boolean(u&&!e.includes(u))})(n)?r:""})},V=(e,t)=>{const r=((e,t)=>{if(e.cells.length===t.cells.length)return t.cells;const r=e.cells.filter(Boolean),n=t.cells.filter(Boolean);if(r.length!==n.length)return null;let l=0;return e.cells.map(e=>{if(!e)return"";const t=n[l];return l+=1,t})})(e,t);if(!r)return null;const n=r.map((r,n)=>{var l,o,i,s,a,c,d,u,p;const h=e.rawCells[n],m=null!==(o=null===(l=h.match(/^\s*/))||void 0===l?void 0:l[0])&&void 0!==o?o:"",g=null!==(s=null===(i=h.match(/\s*$/))||void 0===i?void 0:i[0])&&void 0!==s?s:"";if(!h.trim()){if(!r)return h;const e=null!==(a=t.rawCells[n])&&void 0!==a?a:r;return`${null!==(d=null===(c=e.match(/^\s*/))||void 0===c?void 0:c[0])&&void 0!==d?d:""}${r}${null!==(p=null===(u=e.match(/\s*$/))||void 0===u?void 0:u[0])&&void 0!==p?p:""}`}const f=e.cells[n];if(_(f)===_(r))return h;return`${m}${z(f,r)}${g}`});return`${e.indent}${e.leadingPipe?"|":""}${n.join("|")}${e.trailingPipe?"|":""}`},X=e=>(e||"").replace(/\r\n/g,"\n").trim(),F=r(({type:r,value:u,handleUpdateState:p,onBlur:j,placeholder:T,minHeight:D,height:M,mode:H,doNotShowBorderInViewMode:_,onEditBlocked:U,onSaveUnsavedChanges:z,onDiscardUnsavedChanges:F,isSavingUnsavedChanges:J=!1},K)=>{const Q=n(null),[Z,G]=l({type:r,value:u}),[Y,ee]=l(0),[te,re]=l(!1),ne=n(u),le=n(u),oe=n(),ie=n(Boolean(u)),{contentRef:se,setContentRef:ae}=c();o(()=>{G(e=>({...e,value:u})),ne.current=u,le.current=u,oe.current=void 0,ie.current=Boolean(u),re(!1)},[u]),i(K,()=>({requestClose:()=>!("edit"===H&&X(ne.current)!==X(le.current))||(re(!0),!1)}),[H]);return o(()=>{const e=()=>{se&&se.current&&ee(se.current.clientHeight-60)};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[se]),e("div",{style:{position:"relative",width:"100%",height:M,minHeight:D},children:[te&&t(h,{isSaving:J,onSave:async()=>{await(null==z?void 0:z()),ne.current=le.current,re(!1)},onDiscard:()=>{le.current=ne.current,null==F||F(),re(!1)}}),t(a,{minHeight:D,height:M,placeholder:T||"Enter some text...",onChange:(e,t,r)=>{const n=JSON.stringify(e.toJSON(),(e,t)=>"text"===e&&"string"==typeof t&&/\S/.test(t)?"TEXT":t);r.has(w)&&(oe.current=n),e.read(()=>{const e=d(t,null),l=(new DOMParser).parseFromString(e,"text/html");I(l),x(l),l.querySelectorAll("span").forEach(e=>{const t=e.getAttribute("style")||"";t.includes("background-color")&&(t.includes("rgb(219, 234, 254)")||t.includes("rgb(213, 232, 255)")||t.toLowerCase().includes("#d5e8ff"))&&e.setAttribute("data-review","insert"),t.includes("text-decoration")&&t.includes("line-through")&&e.setAttribute("data-review","delete")}),l.querySelectorAll("span[data-review]").forEach(e=>{const t="delete"===e.getAttribute("data-review")?"deleted":"changed",r=l.createElement(t);r.append(...Array.from(e.childNodes)),e.replaceWith(r)}),l.querySelectorAll("strong code").forEach(e=>{const t=e.parentElement;t&&t.replaceChild(document.createTextNode(e.textContent||""),e)}),l.querySelectorAll("code strong").forEach(e=>{const t=e.parentElement;t&&t.replaceChild(document.createTextNode(e.textContent||""),e)}),l.querySelectorAll("code").forEach(e=>{e.textContent=e.textContent||""}),l.querySelectorAll('a[href*="ai_reasoning$"]').forEach(e=>{(e=>{const t=e.getAttribute("href")||"";e.setAttribute("href",t.replace(/^https?:\/\//,"")),e.removeAttribute("class"),e.textContent=e.textContent||""})(e)}),l.querySelectorAll('a[href*="ai_reasoning$"]').forEach(e=>{const t=e.getAttribute("href")||"";e.setAttribute("href",t.replace(/^https?:\/\//,""))});const o=[];l.querySelectorAll("invisible").forEach((e,t)=>{const r=`ZXQINVISIBLETOKEN${t}QXZ`;o.push({html:e.outerHTML,placeholder:r}),e.replaceWith(l.createTextNode(r))});const i=L(l,P),s=[];l.querySelectorAll("p").forEach(e=>{if(e.closest("td, th"))return;if(!(""===e.textContent&&Array.from(e.childNodes).every(e=>"BR"===e.nodeName||e.nodeType===Node.TEXT_NODE&&""===e.textContent)))return;const t=`%%BLANKLINE${s.length}%%`;s.push(t),e.textContent=t}),l.querySelectorAll("table > colgroup").forEach(e=>{e.remove()});let a=P.turndown(l.body.innerHTML);s.forEach(e=>{a=a.replace(new RegExp(`\\n*${e}\\n*`,"g"),"\n\n")}),a=q(a,i),o.forEach(({html:e,placeholder:t})=>{a=a.replace(t,e)}),a=a.replace(/\*{4}([^*]+)\*{4}/g,"**$1**"),a=a.replace(/\s+class="PlaygroundEditorTheme__[^"]*"/g,""),a=a.replace(/<span\s+style="white-space:\s*pre-wrap;?">([\s\S]*?)<\/span>/g,"$1"),a=a.replace(/\s+style="white-space:\s*pre-wrap;?"/g,""),a=a.replace(/<b>\s*<strong>([\s\S]*?)<\/strong>\s*<\/b>/g,"<strong>$1</strong>"),a=a.replace(/<code([^>]*)>\s*<span[^>]*>([\s\S]*?)<\/span>\s*<\/code>/g,"<code$1>$2</code>");if(["upt","manual","del","ins","preserved"].forEach(e=>{a=m(a,e)}),a=g(a,["manual","upt"]),a=k(ne.current,a),ne.current.includes("--\x3e")&&(a=a.replace(/--&gt;/gi,"--\x3e")),a=f(ne.current,a),a=v(ne.current,a),a=b(ne.current,a),a=y(ne.current,a),a=((e,t)=>{const r=e.split("\n"),n=S(e,t).split("\n"),l=W(r);return W(n).forEach((e,t)=>{const o=l[t];if(!o)return;const i=o.length===e.length?e.length:Math.min(2,o.length,e.length);e.slice(0,i).forEach(({lineIndex:e,row:t},l)=>{const i=o[l];if(O(i.row)&&O(t))return void(n[e]=r[i.lineIndex]);const s=V(i.row,t);null!==s&&(n[e]=s)})}),n.join("\n")})(ne.current,a),a=E(ne.current,a),a=N(ne.current,a),a=C(ne.current,a),a=A(ne.current,a),a=B(ne.current,a),a=$(ne.current,a,oe.current===n),a=B(ne.current,a),a=R(a),r.has(w))return le.current=ne.current,void(ie.current=!1);ie.current&&(ne.current=a,ie.current=!1),le.current=a,((e,t)=>{p(e,t)})("prompt",a)})},toolbarConfig:s,editorRef:Q,mode:H,initialString:{type:Z.type,value:Z.value},dynamicHeight:Y,onBlur:j,doNotShowBorderInViewMode:_||!1,onEditBlocked:U})]})});F.displayName="RichTextEditor";export{F as default};
2
2
  //# sourceMappingURL=RichTextEditor.js.map