@viswa-test/test-citation 0.0.386 → 0.0.388

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 (82) 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/markdownTableSerialization.js +1 -1
  11. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/normalizeRedlineMarkdown.js +1 -1
  12. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownEscapes.js +1 -1
  13. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.js +1 -1
  14. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownListFormatting.js +1 -1
  15. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBlocks.js +1 -1
  16. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBoundaryWhitespace.js +1 -1
  17. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.js +1 -1
  18. package/dist/cjs/features/RequirementAI/components/RichTextEditor/RichTextEditor.js +1 -1
  19. package/dist/features/CognitiveCompare/hooks/memoizedMarkdown.js +1 -1
  20. package/dist/features/CognitiveCompare/utils/normalizeCompactedGfmTables.js +2 -0
  21. package/dist/features/CognitiveCompare/utils/normalizeCompactedGfmTables.js.map +1 -0
  22. package/dist/features/RequirementAI/components/RichTextEditor/Editor/Editor.js +1 -1
  23. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.js +1 -1
  24. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.js +1 -1
  25. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js +1 -1
  26. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.js +2 -0
  27. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.js.map +1 -0
  28. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/markdownTableSerialization.js +1 -1
  29. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/normalizeRedlineMarkdown.js +1 -1
  30. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownEscapes.js +1 -1
  31. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.js +1 -1
  32. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownListFormatting.js +1 -1
  33. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBlocks.js +1 -1
  34. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBoundaryWhitespace.js +1 -1
  35. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.js +1 -1
  36. package/dist/features/RequirementAI/components/RichTextEditor/RichTextEditor.js +1 -1
  37. package/dist/types/src/features/CognitiveCompare/Guidelines/constants/guidelines.mockData.d.ts +1136 -14165
  38. package/dist/types/src/features/CognitiveCompare/Guidelines/constants/guidelines.mockData.d.ts.map +1 -1
  39. package/dist/types/src/features/CognitiveCompare/hooks/memoizedMarkdown.d.ts.map +1 -1
  40. package/dist/types/src/features/CognitiveCompare/hooks/memoizedMarkdown.test.d.ts +2 -0
  41. package/dist/types/src/features/CognitiveCompare/hooks/memoizedMarkdown.test.d.ts.map +1 -0
  42. package/dist/types/src/features/CognitiveCompare/utils/normalizeCompactedGfmTables.d.ts +7 -0
  43. package/dist/types/src/features/CognitiveCompare/utils/normalizeCompactedGfmTables.d.ts.map +1 -0
  44. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/Editor.d.ts.map +1 -1
  45. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.d.ts.map +1 -1
  46. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.d.ts +3 -1
  47. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.d.ts.map +1 -1
  48. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.d.ts +3 -1
  49. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.d.ts.map +1 -1
  50. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.d.ts +5 -0
  51. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/codeBlockSerialization.d.ts.map +1 -0
  52. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/manualEditEdgeCases.test.d.ts +2 -0
  53. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/manualEditEdgeCases.test.d.ts.map +1 -0
  54. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/markdownTableSerialization.d.ts +12 -0
  55. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/markdownTableSerialization.d.ts.map +1 -1
  56. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/markdownTableStructure.test.d.ts +2 -0
  57. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/markdownTableStructure.test.d.ts.map +1 -0
  58. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/normalizeRedlineMarkdown.d.ts +6 -0
  59. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/normalizeRedlineMarkdown.d.ts.map +1 -1
  60. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownEscapes.d.ts.map +1 -1
  61. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.d.ts +7 -0
  62. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownLineBreaks.d.ts.map +1 -1
  63. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveMarkdownListFormatting.d.ts.map +1 -1
  64. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/preserveReviewBlocks.d.ts.map +1 -1
  65. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/randomEditSerialization.audit.test.d.ts +2 -0
  66. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/randomEditSerialization.audit.test.d.ts.map +1 -0
  67. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.d.ts +1 -1
  68. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/reviewNodeSerialization.d.ts.map +1 -1
  69. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/serializationPreservation.test.d.ts +2 -0
  70. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/serializationPreservation.test.d.ts.map +1 -0
  71. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableMarkdownReviewRoundTrip.test.d.ts +2 -0
  72. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableMarkdownReviewRoundTrip.test.d.ts.map +1 -0
  73. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingFix.test.d.ts +2 -0
  74. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingFix.test.d.ts.map +1 -0
  75. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingIssue.test.d.ts +2 -0
  76. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingIssue.test.d.ts.map +1 -0
  77. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingSample.fixture.d.ts +2 -0
  78. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingSample.fixture.d.ts.map +1 -0
  79. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingValidation.test.d.ts +2 -0
  80. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/utils/tableNumberingValidation.test.d.ts.map +1 -0
  81. package/dist/types/src/features/RequirementAI/components/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  82. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
- import{useEffect as r}from"react";import{useLexicalComposerContext as e}from"@lexical/react/LexicalComposerContext";import{$generateNodesFromDOM as t}from"@lexical/html";import{$getRoot as o,$isParagraphNode as i}from"lexical";import a from"showdown";import{normalizeLegacyCommentRedlinesForEditor as s,normalizeCommentAnchorsForEditor as m,escapeTagIds as l,splitTagAcrossParagraphs as n}from"../../../../../../utils/tagHelper.js";import{normalizeRedlineMarkdown as p}from"../utils/normalizeRedlineMarkdown.js";import{protectLiteralMidWordUnderscoresForRendering as c,normalizeCombinedEmphasisForRendering as d,normalizeNestedReviewEmphasisForRendering as u,normalizeReviewBoundaryEmphasisForRendering as f}from"../utils/preserveMarkdownEmphasis.js";import{collectReviewBoundaryWhitespace as h,restoreReviewBoundaryWhitespace as w}from"../utils/preserveReviewBoundaryWhitespace.js";import{INITIAL_CONTENT_UPDATE_TAG as x}from"../constants/updateTags.js";const j=({initialValue:j,initialFormat:g,mode:v})=>{const[E]=e();return r(()=>{if(j){if(j=(()=>{let r=s(j);return r=m(r),r=l(r,["manual","upt"]),["del","ins","preserved","manual","upt"].forEach(e=>{r=n(r,e)}),r})(),g&&"html"!==g){const r=new a.Converter({tables:!0,simpleLineBreaks:!0,literalMidWordUnderscores:!0});j=r.makeHtml(c(d(u(f(p(j))))))}E.update(()=>{const r=o();r.clear();const e=(new DOMParser).parseFromString(j||"","text/html"),a=h(e);t(E,e).forEach(e=>{try{i(e)&&e.setFormat("justify"),r.append(e)}catch(r){console.error("Error appending node to root: ",r)}}),w(a)},{tag:x})}},[j,E]),r(()=>{E.setEditable("edit"===v)},[E,v]),null};export{j as InitialHtml};
1
+ import{useEffect as r}from"react";import{useLexicalComposerContext as t}from"@lexical/react/LexicalComposerContext";import{$generateNodesFromDOM as e}from"@lexical/html";import{$getRoot as o,$isParagraphNode as i}from"lexical";import a from"showdown";import{normalizeLegacyCommentRedlinesForEditor as s,normalizeCommentAnchorsForEditor as l,escapeTagIds as m,splitTagAcrossParagraphs as n}from"../../../../../../utils/tagHelper.js";import{normalizeRedlineMarkdown as p}from"../utils/normalizeRedlineMarkdown.js";import{protectLiteralMidWordUnderscoresForRendering as c,normalizeCombinedEmphasisForRendering as d,normalizeNestedReviewEmphasisForRendering as u,normalizeReviewBoundaryEmphasisForRendering as f}from"../utils/preserveMarkdownEmphasis.js";import{collectReviewBoundaryWhitespace as h,restoreReviewBoundaryWhitespace as j}from"../utils/preserveReviewBoundaryWhitespace.js";import{INITIAL_CONTENT_UPDATE_TAG as w}from"../constants/updateTags.js";import{prepareCodeBlocksForImport as x}from"../utils/codeBlockSerialization.js";const g=({initialValue:g,initialFormat:k,mode:v})=>{const[E]=t();return r(()=>{if(g){if(g=(()=>{let r=s(g);return r=l(r),r=m(r,["manual","upt"]),["del","ins","preserved","manual","upt"].forEach(t=>{r=n(r,t)}),r})(),k&&"html"!==k){const r=new a.Converter({tables:!0,simpleLineBreaks:!0,literalMidWordUnderscores:!0});g=r.makeHtml(c(d(u(f(p(g))))))}E.update(()=>{const r=o();r.clear();const t=(new DOMParser).parseFromString(g||"","text/html");x(t);const a=h(t);e(E,t).forEach(t=>{try{i(t)&&t.setFormat("justify"),r.append(t)}catch(r){console.error("Error appending node to root: ",r)}}),j(a)},{tag:w})}},[g,E]),r(()=>{E.setEditable("edit"===v)},[E,v]),null};export{g as InitialHtml};
2
2
  //# sourceMappingURL=InitialHtml.js.map
@@ -1,2 +1,2 @@
1
- import{ElementNode as e}from"lexical";class t extends e{static getType(){return"insert"}static clone(e){return new t(e.__key)}constructor(e){super(e)}createDOM(){const e=document.createElement("ins");return e.className="PlaygroundEditorTheme__insert-node",e.contentEditable="false",e}exportDOM(){return{element:document.createElement("ins")}}updateDOM(e,t,r){return!1}static importDOM(){return{ins:()=>({conversion:r,priority:1})}}static importJSON(e){return new t}exportJSON(){return{...super.exportJSON(),type:"insert",version:1}}isInline(){return!0}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canMergeWith(){return!1}}function r(e){return{node:new t}}export{t as InsertNode};
1
+ import{ElementNode as e}from"lexical";class t extends e{static getType(){return"insert"}static clone(e){return new t(e.__key,e.__tag)}constructor(e,t="ins"){super(e),this.__tag=t}createDOM(){const e=document.createElement("ins");return e.className="PlaygroundEditorTheme__insert-node",e.contentEditable="false",e}exportDOM(){return{element:document.createElement(this.__tag)}}updateDOM(e,t,r){return!1}static importDOM(){return{ins:()=>({conversion:r,priority:1}),changed:()=>({conversion:r,priority:1})}}static importJSON(e){return new t(void 0,e.tag)}exportJSON(){return{...super.exportJSON(),type:"insert",version:1,tag:this.__tag}}isInline(){return!0}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canMergeWith(){return!1}}function r(e){return{node:new t(void 0,"changed"===e.tagName.toLowerCase()?"changed":"ins")}}export{t as InsertNode};
2
2
  //# sourceMappingURL=InsertNode.js.map
@@ -1,2 +1,2 @@
1
- import{ElementNode as t}from"lexical";class s extends t{static getType(){return"update"}static clone(t){return new s(t.__id,t.__status,t.__key)}constructor(t=crypto.randomUUID(),s="",e){super(e),this.__id=t,this.__status=s}getId(){return this.getLatest().__id}getStatus(){return this.getLatest().__status}setStatus(t){this.getWritable().__status=t}createDOM(){const t=document.createElement("upt");return t.dataset.id=this.__id,t.className=`PlaygroundEditorTheme__update-node-${this.__status}`,this.__status&&(t.dataset.status=this.__status),t.contentEditable="pending"===this.__status?"false":"true",t}exportDOM(){const t=document.createElement("upt");return t.id=this.__id,t.dataset.status=this.__status,{element:t}}updateDOM(t,s){return t.__id!==this.__id&&(s.dataset.id=this.__id),t.__status!==this.__status&&(this.__status?s.dataset.status=this.__status:delete s.dataset.status,s.contentEditable="pending"===this.__status?"false":"true"),!1}static importDOM(){return{upt:()=>({conversion:e,priority:1})}}static importJSON(t){var e;return new s(t.id,null!==(e=t.status)&&void 0!==e?e:"")}exportJSON(){return{...super.exportJSON(),type:"update",version:1,id:this.__id,status:this.__status}}isInline(){return!0}canInsertTextBefore(){return"pending"!==this.__status}canInsertTextAfter(){return"pending"!==this.__status}canMergeWith(){return!1}}function e(t){var e;return{node:new s(t.id||crypto.randomUUID(),null!==(e=t.dataset.status)&&void 0!==e?e:"")}}export{s as UpdateNode};
1
+ import{ElementNode as t}from"lexical";class s extends t{static getType(){return"update"}static clone(t){return new s(t.__id,t.__status,t.__key,t.__tag)}constructor(t=crypto.randomUUID(),s="",e,a="upt"){super(e),this.__id=t,this.__status=s,this.__tag=a}getId(){return this.getLatest().__id}getStatus(){return this.getLatest().__status}setStatus(t){this.getWritable().__status=t}createDOM(){const t=document.createElement("upt");return t.dataset.id=this.__id,t.className=`PlaygroundEditorTheme__update-node-${this.__status}`,this.__status&&(t.dataset.status=this.__status),t.contentEditable="pending"===this.__status?"false":"true",t}exportDOM(){const t=document.createElement(this.__tag);return t.id=this.__id,t.dataset.status=this.__status,{element:t}}updateDOM(t,s){return t.__id!==this.__id&&(s.dataset.id=this.__id),t.__status!==this.__status&&(this.__status?s.dataset.status=this.__status:delete s.dataset.status,s.contentEditable="pending"===this.__status?"false":"true"),!1}static importDOM(){return{upt:()=>({conversion:e,priority:1}),updated:()=>({conversion:e,priority:1})}}static importJSON(t){var e;return new s(t.id,null!==(e=t.status)&&void 0!==e?e:"",void 0,t.tag)}exportJSON(){return{...super.exportJSON(),type:"update",version:1,id:this.__id,status:this.__status,tag:this.__tag}}isInline(){return!0}canInsertTextBefore(){return"pending"!==this.__status}canInsertTextAfter(){return"pending"!==this.__status}canMergeWith(){return!1}}function e(t){var e;return{node:new s(t.id||crypto.randomUUID(),null!==(e=t.dataset.status)&&void 0!==e?e:"",void 0,"updated"===t.tagName.toLowerCase()?"updated":"upt")}}export{s as UpdateNode};
2
2
  //# sourceMappingURL=UpdateNode.js.map
@@ -0,0 +1,2 @@
1
+ const e=e=>{e.querySelectorAll("pre > code").forEach(e=>{var t;const a=e.parentElement,l=null===(t=e.className.match(/(?:^|\s)language-([^\s]+)/))||void 0===t?void 0:t[1];l&&a.setAttribute("data-language",l),a.textContent=e.textContent})},t=e=>{e.querySelectorAll("pre").forEach(t=>{t.querySelectorAll("br").forEach(e=>e.replaceWith("\n"));const a=e.createElement("code");a.textContent=t.textContent;const l=t.getAttribute("data-language");l&&(a.className=`language-${l}`),t.replaceChildren(a)})};export{t as prepareCodeBlocksForExport,e as prepareCodeBlocksForImport};
2
+ //# sourceMappingURL=codeBlockSerialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeBlockSerialization.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- const r=(r,e)=>{let t=0;for(let l=e-1;l>=0&&"\\"===r[l];l-=1)t+=1;return t%2==1},e=e=>{var t;let l="",n=!1,o="";for(let a=0;a<e.length;a+=1){const i=e[a];n?(l+=i,o?i!==o||r(e,a)||(o=""):'"'===i||"'"===i?o=i:">"===i&&(n=!1)):"<"===i&&/[A-Za-z/!?]/.test(null!==(t=e[a+1])&&void 0!==t?t:"")?(n=!0,l+=i):l+="|"!==i||r(e,a)?i:"\\|"}return l},t=(r,t)=>{var l,n;const o=t,a=0===Array.from(null!==(n=null===(l=o.parentElement)||void 0===l?void 0:l.children)&&void 0!==n?n:[]).indexOf(o);let i=r.trim().replace(/\n{2,}/g,"<br><br>").replace(/\n/g,"<br>");return/^(?:<br>)+$/.test(i)&&(i=""),i=e(i),a?i?`| ${i} |`:"| |":i?` ${i} |`:" |"};export{e as escapeMarkdownTableCellPipes,t as markdownTableCellReplacement};
1
+ const t=(t,e)=>{let l=0;for(let r=e-1;r>=0&&"\\"===t[r];r-=1)l+=1;return l%2==1},e=new Set(["updated","upt","manual","deleted","changed","del","ins","preserved","mark"]),l=String.raw`(?:[^>"']|"[^"]*"|'[^']*')*`,r=[new RegExp(String.raw`^<invisible\b${l}>[\s\S]*?<\/invisible\s*>`,"i"),new RegExp(String.raw`^<manual\b${l}>[\s\S]*?<\/manual\s*>`,"i"),new RegExp(String.raw`^<upt\b${l}>[\s\S]*?<\/upt\s*>`,"i")],n=t=>{let e=t.trim();for(;e;){const t=r.map(t=>e.match(t)).find(Boolean);if(!t)break;e=e.slice(t[0].length).trimStart()}return""===e},i=(e,l)=>{let r="";for(let n=l+1;n<e.length;n+=1){const l=e[n];if(r)l!==r||t(e,n)||(r="");else if('"'===l||"'"===l)r=l;else if(">"===l)return n}return-1},a=l=>{var r,a;const s=l.trimEnd(),c=[];let u="",o=0,h=0,g=-1,d=-1;for(let l=0;l<s.length;l+=1){if("<"===s[l]&&/[A-Za-z/]/.test(null!==(r=s[l+1])&&void 0!==r?r:"")){const t=i(s,l);if(-1!==t){const r=s.slice(l,t+1),n=r.match(/^<\s*(\/?)\s*([A-Za-z][\w:-]*)/),i=null!==(a=null==n?void 0:n[2].toLowerCase())&&void 0!==a?a:"";e.has(i)&&("/"===(null==n?void 0:n[1])?o=Math.max(0,o-1):/\/\s*>$/.test(r)||(o+=1)),u+=r,l=t;continue}}"|"!==s[l]||0!==o||t(s,l)?u+=s[l]:(c.push(u),u="",-1===g&&(g=l),d=l,h+=1)}if(c.push(u),!h)return null;const p=s.search(/\S/),f=p>=0&&"|"===s[p],v=!f&&n(c[0]),m=d===s.length-1,S=!m&&n(c[c.length-1]);return(f||v)&&c.shift(),(m||S)&&c.pop(),{cells:c,trailingPipe:m,firstStructuralPipe:g,lastStructuralPipe:d,hasLeadingMetadata:v,hasTrailingMetadata:S}},s=t=>!!t&&t.cells.length>0&&t.cells.every(t=>/^\s*:?-{3,}:?\s*$/.test(t)),c=(t,e,l)=>{var r,n;if(l<=0)return t;const i=null!==(n=null===(r=t.match(/\s*$/))||void 0===r?void 0:r[0])&&void 0!==n?n:"";return`${t.slice(0,t.length-i.length)}${e.trailingPipe?" |".repeat(l):` | |${" |".repeat(l-1)}`}${i}`},u=(t,e,l)=>{var r,n;if(l<=0)return t;const i=null!==(n=null===(r=t.match(/\s*$/))||void 0===r?void 0:r[0])&&void 0!==n?n:"";return`${t.slice(0,t.length-i.length)}${e.trailingPipe?" --- |".repeat(l):" | ---".repeat(l)}${i}`},o=t=>{const e=new Set;let l="",r=0;return t.forEach((t,n)=>{var i;const a=t.match(/^\s{0,3}(`{3,}|~{3,})/);l?(e.add(n),a&&a[1][0]===l&&a[1].length>=r&&/^\s*$/.test(t.slice((null!==(i=a.index)&&void 0!==i?i:0)+a[0].length))&&(l="",r=0)):a&&(l=a[1][0],r=a[1].length,e.add(n))}),e},h=t=>{var e;return{separators:null!==(e=t.match(/\r\n|\n|\r/g))&&void 0!==e?e:[],lines:t.split(/\r\n|\n|\r/)}},g=(t,e)=>t.map((t,l)=>{var r;return`${t}${null!==(r=e[l])&&void 0!==r?r:""}`}).join(""),d=t=>{let e=t,l=a(e);if(!l)return t;if(l.hasLeadingMetadata){const t=e.slice(0,l.firstStructuralPipe);e=e.slice(l.firstStructuralPipe,l.firstStructuralPipe+1)+t+e.slice(l.firstStructuralPipe+1),l=a(e)}if(null==l?void 0:l.hasTrailingMetadata){const t=e.slice(l.lastStructuralPipe+1);e=e.slice(0,l.lastStructuralPipe)+t+e.slice(l.lastStructuralPipe,l.lastStructuralPipe+1)}return e},p=t=>{const{lines:e,separators:l}=h(t),r=o(e);for(let t=1;t<e.length;t+=1){if(r.has(t)||r.has(t-1))continue;const l=a(e[t]),n=a(e[t-1]);if(s(l)&&n){e[t-1]=d(e[t-1]);for(let l=t+1;l<e.length&&(e[l].trim()&&!r.has(l));l+=1){const t=a(e[l]);if(!t||s(t))break;e[l]=d(e[l])}}}return g(e,l)},f=t=>{const{lines:e,separators:l}=h(t),r=o(e);for(let t=1;t<e.length;t+=1){if(r.has(t)||r.has(t-1))continue;const l=a(e[t]),n=a(e[t-1]);if(!s(l)||!n)continue;const i=Math.max(n.cells.length,l.cells.length);let o=i;for(let l=t+1;l<e.length&&(e[l].trim()&&!r.has(l));l+=1){const t=a(e[l]);if(!t||s(t))break;let r=t.cells.length;for(;r>i&&!t.cells[r-1].trim();)r-=1;o=Math.max(o,r)}e[t-1]=c(e[t-1],n,o-n.cells.length),e[t]=u(e[t],l,o-l.cells.length)}return g(e,l)},v=e=>{var l;let r="",n=!1,i="";for(let a=0;a<e.length;a+=1){const s=e[a];n?(r+=s,i?s!==i||t(e,a)||(i=""):'"'===s||"'"===s?i=s:">"===s&&(n=!1)):"<"===s&&/[A-Za-z/!?]/.test(null!==(l=e[a+1])&&void 0!==l?l:"")?(n=!0,r+=s):r+="|"!==s||t(e,a)?s:"\\|"}return r},m=(t,e)=>{var l,r;const n=e,i=0===Array.from(null!==(r=null===(l=n.parentElement)||void 0===l?void 0:l.children)&&void 0!==r?r:[]).indexOf(n);let a=t.trim().replace(/\n{2,}/g,"<br><br>").replace(/\n/g,"<br>");return/^(?:<br>)+$/.test(a)&&(a=""),a=v(a),i?a?`| ${a} |`:"| |":a?` ${a} |`:" |"};export{f as ensureMarkdownTableColumnCounts,v as escapeMarkdownTableCellPipes,m as markdownTableCellReplacement,p as normalizeMarkdownTableBoundaryMetadataForRendering};
2
2
  //# sourceMappingURL=markdownTableSerialization.js.map
@@ -1,2 +1,2 @@
1
- const e=String.raw`(?:[^>"']|"[^"]*"|'[^']*')*`,t=new RegExp(String.raw`<updated\b(${e})>([\s\S]*?)<\/updated\s*>`,"gi"),n=new RegExp(String.raw`<upt\b(${e})>([\s\S]*?)<\/upt\s*>`,"gi"),r=new RegExp(String.raw`<(deleted|changed)\b(${e})>([\s\S]*?)<\/\1\s*>`,"gi"),i=e=>{const t=e.trim();if(!t.includes("|"))return null;const n=[];let r="";for(let e=0;e<t.length;e+=1){const i=t[e],s=e>0&&"\\"===t[e-1];"|"!==i||s?r+=i:(n.push(r.trim()),r="")}return n.push(r.trim()),t.startsWith("|")&&n.shift(),t.endsWith("|")&&n.pop(),n},s=e=>!!(null==e?void 0:e.length)&&e.every(e=>/^:?-{3,}:?$/.test(e)),d=e=>`| ${e.join(" | ")} |`,l=e=>e.replace(n,(e,t,n)=>{if(!(e=>{const t=e.split("\n");return t.some((e,n)=>{var r;return n>0&&s(i(e))&&!!(null===(r=i(t[n-1]))||void 0===r?void 0:r.length)})})(n))return e;return`<updated${t}>${n.replace(/<del\b([^>]*)>/gi,"<deleted$1>").replace(/<\/del\s*>/gi,"</deleted>").replace(/<ins\b([^>]*)>/gi,"<changed$1>").replace(/<\/ins\s*>/gi,"</changed>")}</updated>`}),a=n=>{if(!n)return"";let a=l(n).replace(t,(e,t,n)=>{if(!n.includes("|"))return e;if(!/\bid\s*=\s*["']ai_reasoning\$/i.test(t))return n;const r=/\bdata-main\b/i.test(t)?"":" data-main",i=((e,t)=>{const n=t.match(/\bid\s*=\s*["']([^"']+)["']/i);if(!n)return e;const r=encodeURIComponent(n[1]);return e.replace(/<(deleted|changed)\b([^>]*)>/gi,(e,t,n)=>/\bdata-upt-id\s*=/i.test(n)?e:`<${t}${n} data-upt-id="${r}">`)})(n,t);return`<upt${t}${r}></upt>\n\n${i}`});return a=(t=>{const n=new RegExp(String.raw`(<deleted\b${e}>(?:(?!<\/deleted\s*>)[\s\S])*?\|(?:(?!<\/deleted\s*>)[\s\S])*?<\/deleted\s*>)\s*(<changed\b${e}>[^|]*?<\/changed\s*>)\s*\|`,"gi"),d=t.replace(n,(e,t,n)=>{var r;return`${(null!==(r=t.replace(/<\/deleted\s*>$/i,"").trimEnd().split("\n").at(-1))&&void 0!==r?r:"").trimEnd().endsWith("|")?t:t.replace(/<\/deleted\s*>$/i," |</deleted>")}\n${n}`}),l=new RegExp(String.raw`(<deleted\b${e}>(?:(?!<\/deleted\s*>)[\s\S])*?\|(?:(?!<\/deleted\s*>)[\s\S])*?<\/deleted\s*>)\s*(?=<changed\b${e}>)`,"gi"),a=d.replace(l,"$1\n\n");return a.replace(r,(e,t,n,r,d)=>{if(!r.includes("|"))return e;const l=a.slice(0,d),c=/(?:^|\n)[ \t]*$/.test(l);return r.split("\n").map((e,r)=>{if(!e)return e;let d=e;d.includes("|")&&!/^\s*\|/.test(d)&&(r>0||c)&&(d=`| ${d}`);const l=i(d);return s(l)?d:d.split(/(\|)/).map(e=>"|"!==e&&e.trim()?`<${t}${n}>${e}</${t}>`:e).join("")}).join("\n")})})(a),a=a.replace(/([([])\s+(?=<(?:deleted|changed)>)/gi,"$1"),(e=>{const t=e.split("\n");for(let e=1;e<t.length;e+=1){const n=i(t[e]);if(!s(n))continue;const r=i(t[e-1]);if(!(null==r?void 0:r.length))continue;for(;r.length>n.length;){const e=r.findIndex(e=>""===e);if(-1===e)break;r.splice(e,1)}const l=Math.max(r.length,n.length);let a=e+1,c=0;for(;a<t.length&&""!==t[a].trim();){const e=i(t[a]);if(!e)break;for(;e.length>l;){const t=e.findIndex(e=>""===e);if(-1===t)break;e.splice(t,1)}t[a]=d(e),c=Math.max(c,e.length),a+=1}const g=Math.max(r.length,n.length,c);for(;r.length<g;)r.push("");for(;n.length<g;)n.push("---");t[e-1]=d(r),t[e]=d(n)}return t.join("\n")})(a)};export{a as normalizeRedlineMarkdown};
1
+ import{normalizeMarkdownTableBoundaryMetadataForRendering as e}from"./markdownTableSerialization.js";const t=String.raw`(?:[^>"']|"[^"]*"|'[^']*')*`,n=new RegExp(String.raw`<updated\b(${t})>([\s\S]*?)<\/updated\s*>`,"gi"),r=new RegExp(String.raw`<upt\b(${t})>([\s\S]*?)<\/upt\s*>`,"gi"),l=new RegExp(String.raw`<(deleted|changed)\b(${t})>([\s\S]*?)<\/\1\s*>`,"gi"),i=new Set(["updated","upt","manual","deleted","changed","del","ins","preserved","mark"]),s=(e,t)=>{let n=0;for(let r=t-1;r>=0&&"\\"===e[r];r-=1)n+=1;return n%2==1},d=(e,t)=>{let n="";for(let r=t+1;r<e.length;r+=1){const t=e[r];if(n)t!==n||s(e,r)||(n="");else if('"'===t||"'"===t)n=t;else if(">"===t)return r}return-1},a=e=>{var t,n;let r="",l=0;for(let a=0;a<e.length;a+=1){if("<"===e[a]&&/[A-Za-z/]/.test(null!==(t=e[a+1])&&void 0!==t?t:"")){const t=d(e,a);if(-1!==t){const s=e.slice(a,t+1),d=s.match(/^<\s*(\/?)\s*([A-Za-z][\w:-]*)/),o=null!==(n=null==d?void 0:d[2].toLowerCase())&&void 0!==n?n:"",c=i.has(o),u="/"===(null==d?void 0:d[1]),g=/\/\s*>$/.test(s);r+=c||l>0?s.replace(/\|/g,"&#124;"):s,c&&u?l=Math.max(0,l-1):c&&!g&&(l+=1),a=t;continue}}"|"===e[a]&&l>0?(s(e,a)&&(r=r.slice(0,-1)),r+="&#124;"):r+=e[a]}return r},o=e=>{const t=e.trim();if(!t.includes("|"))return null;const n=[];let r="";for(let e=0;e<t.length;e+=1){const l=t[e],i=e>0&&"\\"===t[e-1];"|"!==l||i?r+=l:(n.push(r.trim()),r="")}return n.push(r.trim()),t.startsWith("|")&&n.shift(),t.endsWith("|")&&n.pop(),n},c=e=>!!(null==e?void 0:e.length)&&e.every(e=>/^:?-{3,}:?$/.test(e)),u=e=>`| ${e.join(" | ")} |`,g=e=>e.replace(r,(e,t,n)=>{if(!(e=>{const t=e.split("\n");return t.some((e,n)=>{var r;return n>0&&c(o(e))&&!!(null===(r=o(t[n-1]))||void 0===r?void 0:r.length)})})(n))return e;return`<updated${t}>${n.replace(/<del\b([^>]*)>/gi,"<deleted$1>").replace(/<\/del\s*>/gi,"</deleted>").replace(/<ins\b([^>]*)>/gi,"<changed$1>").replace(/<\/ins\s*>/gi,"</changed>")}</updated>`}),p=r=>{if(!r)return"";let i=g(r).replace(n,(e,t,n)=>{if(!n.includes("|"))return e;if(!/\bid\s*=\s*["']ai_reasoning\$/i.test(t))return n;const r=/\bdata-main\b/i.test(t)?"":" data-main",l=((e,t)=>{const n=t.match(/\bid\s*=\s*["']([^"']+)["']/i);if(!n)return e;const r=encodeURIComponent(n[1]);return e.replace(/<(deleted|changed)\b([^>]*)>/gi,(e,t,n)=>/\bdata-upt-id\s*=/i.test(n)?e:`<${t}${n} data-upt-id="${r}">`)})(n,t);return`<upt${t}${r}></upt>\n\n${l}`});return i=(e=>{const n=new RegExp(String.raw`(<deleted\b${t}>(?:(?!<\/deleted\s*>)[\s\S])*?\|(?:(?!<\/deleted\s*>)[\s\S])*?<\/deleted\s*>)\s*(<changed\b${t}>[^|]*?<\/changed\s*>)\s*\|`,"gi"),r=e.replace(n,(e,t,n)=>{var r;return`${(null!==(r=t.replace(/<\/deleted\s*>$/i,"").trimEnd().split("\n").at(-1))&&void 0!==r?r:"").trimEnd().endsWith("|")?t:t.replace(/<\/deleted\s*>$/i," |</deleted>")}\n${n}`}),i=new RegExp(String.raw`(<deleted\b${t}>(?:(?!<\/deleted\s*>)[\s\S])*?\|(?:(?!<\/deleted\s*>)[\s\S])*?<\/deleted\s*>)\s*(?=<changed\b${t}>)`,"gi"),s=r.replace(i,"$1\n\n");return s.replace(l,(e,t,n,r,l)=>{if(!r.includes("|"))return e;const i=s.slice(0,l),d=/(?:^|\n)[ \t]*$/.test(i);return r.split("\n").map((e,r)=>{if(!e)return e;let l=e;l.includes("|")&&!/^\s*\|/.test(l)&&(r>0||d)&&(l=`| ${l}`);const i=o(l);return c(i)?l:l.split(/(\|)/).map(e=>"|"!==e&&e.trim()?`<${t}${n}>${e}</${t}>`:e).join("")}).join("\n")})})(i),i=i.replace(/([([])\s+(?=<(?:deleted|changed)>)/gi,"$1"),i=a(i),i=e(i),(e=>{const t=e.split("\n");for(let e=1;e<t.length;e+=1){const n=o(t[e]);if(!c(n))continue;const r=o(t[e-1]);if(!(null==r?void 0:r.length))continue;for(;r.length>n.length;){const e=r.findIndex(e=>""===e);if(-1===e)break;r.splice(e,1)}const l=Math.max(r.length,n.length);let i=e+1,s=0;for(;i<t.length&&""!==t[i].trim();){const e=o(t[i]);if(!e)break;for(;e.length>l;){const t=e.findIndex(e=>""===e);if(-1===t)break;e.splice(t,1)}t[i]=u(e),s=Math.max(s,e.length),i+=1}const d=Math.max(r.length,n.length,s);for(;r.length<d;)r.push("");for(;n.length<d;)n.push("---");t[e-1]=u(r),t[e]=u(n)}return t.join("\n")})(i)};export{p as normalizeRedlineMarkdown,a as protectReviewTagPipesForRendering};
2
2
  //# sourceMappingURL=normalizeRedlineMarkdown.js.map
@@ -1,2 +1,2 @@
1
- import e from"showdown";const n=new Set(["*","-","+","=","#","`","~","[","]",">","_","."]),t=new e.Converter({tables:!0,simpleLineBreaks:!0,literalMidWordUnderscores:!0}),r=e=>e.split(/\r?\n/).filter(e=>/^ {0,3}\[[^\]]+\]:\s*\S/.test(e)).join("\n"),l=(e,n)=>t.makeHtml(n?`${e}\n\n${n}`:e).replace(/\r\n/g,"\n"),o=e=>{var t;let r="";for(let l=0;l<e.length;l+=1){if("\\"!==e[l]){r+=e[l];continue}let o=1;for(;"\\"===e[l+o];)o+=1;const a=null!==(t=e[l+o])&&void 0!==t?t:"",s=n.has(a),c=s?Math.floor(o/2):Math.ceil(o/2);r+="\\".repeat(c),s?(r+=a,l+=o):l+=o-1}return r.replace(/\r\n/g,"\n")},a=e=>e.split(/(\r?\n\r?\n)/),s=e=>/[\p{L}\p{N}]/u.test(e),c=e=>{var t,r,l;const a=[];for(let c=0;c<e.length;c+=1){const i=e[c];if("\\"===i){let r=1;for(;"\\"===e[c+r];)r+=1;const l=null!==(t=e[c+r])&&void 0!==t?t:"",s=n.has(l),i=r+(s?1:0),d=e.slice(c,c+i);a.push({comparable:o(d),escapeKind:s?l:"\\",raw:d}),c+=i-1;continue}if(s(i)){let n=c+1;for(;s(null!==(r=e[n])&&void 0!==r?r:"");)n+=1;const t=e.slice(c,n);a.push({comparable:t,escapeKind:"",raw:t}),c=n-1;continue}if(/\s/.test(i)){let n=c+1;for(;/\s/.test(null!==(l=e[n])&&void 0!==l?l:"");)n+=1;const t=e.slice(c,n);a.push({comparable:t,escapeKind:"",raw:t}),c=n-1;continue}a.push({comparable:i,escapeKind:i,raw:i})}return a},i=(e,n)=>{const t=a(e),s=a(n),i=t.filter((e,n)=>n%2==0),d=s.filter((e,n)=>n%2==0),h=i.map(o),p=d.map(o),f=r(e),u=r(n),g=new Array(i.length),w=new Array(d.length),m=(e,n)=>{var t,r;return i[e]===d[n]||h[e]===p[n]&&(null!==(t=g[e])&&void 0!==t||(g[e]=l(i[e],f)),null!==(r=w[n])&&void 0!==r||(w[n]=l(d[n],u)),g[e]===w[n])},x=Array.from({length:i.length+1},()=>new Uint32Array(d.length+1));for(let e=i.length-1;e>=0;e-=1)for(let n=d.length-1;n>=0;n-=1)x[e][n]=m(e,n)?x[e+1][n+1]+1:Math.max(x[e+1][n],x[e][n+1]);const v=new Map,I=new Set,b=[];let M=0,y=0;for(;M<i.length&&y<d.length;)m(M,y)?(v.set(y,M),I.add(M),b.push({sourceIndex:M,generatedIndex:y}),M+=1,y+=1):x[M+1][y]>=x[M][y+1]?M+=1:y+=1;const A=new Map,K=[{sourceIndex:-1,generatedIndex:-1},...b,{sourceIndex:i.length,generatedIndex:d.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<d.length;e+=1){if(v.has(e))continue;const n=i.findIndex((n,t)=>!I.has(t)&&m(t,e));-1!==n&&(v.set(e,n),I.add(n))}let j=0;return s.map((e,n)=>{if(n%2==1)return e;const t=v.get(j),r=A.get(j);return j+=1,void 0!==t?i[t]:void 0===r?e:((e,n,t)=>{const r=c(e),o=c(n),a=Array.from({length:r.length+1},()=>new Uint32Array(o.length+1));for(let e=r.length-1;e>=0;e-=1)for(let n=o.length-1;n>=0;n-=1)a[e][n]=r[e].comparable===o[n].comparable?a[e+1][n+1]+1:Math.max(a[e+1][n],a[e][n+1]);const s=new Map;let i=0,d=0;for(;i<r.length&&d<o.length;)r[i].comparable===o[d].comparable?(s.set(d,i),i+=1,d+=1):a[i+1][d]>=a[i][d+1]?i+=1:d+=1;const h=new Map;s.forEach((e,n)=>{var t;const l=r[e],a=o[n];if(l.raw===a.raw||!l.raw.includes("\\")&&!a.raw.includes("\\"))return;const s=a.escapeKind||l.escapeKind,c="["===s||"]"===s?"brackets":s,i=null!==(t=h.get(c))&&void 0!==t?t:new Map;i.set(n,l.raw),h.set(c,i)});let p=o.map(e=>e.raw),f=n;return h.forEach(e=>{const n=[...p];e.forEach((e,t)=>{n[t]=e});const r=n.join("");l(r,t)===l(f,t)&&(p=n,f=r)}),f})(i[r],e,u)}).join("")};export{i 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,"").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(),l=l=>{const r=Array.from(l.matchAll(new RegExp(e.source,"gi")));return r.map((e,i)=>{var n,g,c,h;const s=null!==(n=e.index)&&void 0!==n?n:0,a=i>0?(null!==(g=r[i-1].index)&&void 0!==g?g:0)+r[i-1][0].length:0,o=null!==(h=null===(c=r[i+1])||void 0===c?void 0:c.index)&&void 0!==h?h:l.length;return{raw:e[0],left:t(l.slice(a,s).slice(-100)),right:t(l.slice(s+e[0].length,o).slice(0,100))}})},r=(t,r)=>{if(!t||!r)return r;const i=l(t),n=l(r);if(!i.length||!n.length)return r;if(i.length===n.length){let t=0;return r.replace(e,()=>i[t++].raw)}let g=0,c=0;return r.replace(e,e=>{const t=n[c++],l=i.findIndex((e,l)=>l>=g&&((e,t)=>{const l=Boolean(e.left&&t.left&&(e.left.endsWith(t.left)||t.left.endsWith(e.left))),r=Boolean(e.right&&t.right&&(e.right.startsWith(t.right)||t.right.startsWith(e.right)));if(l||r)return!0;const i=e.left&&e.left.length>=50&&t.left&&t.left.length>=50,n=e.right&&e.right.length>=50&&t.right&&t.right.length>=50;if(i){const l=e.left.slice(-30),r=t.left.slice(-30);if(l.split("").filter((e,t)=>r[t]===e).length>=15)return!0}if(n){const l=e.right.slice(0,30),r=t.right.slice(0,30);if(l.split("").filter((e,t)=>r[t]===e).length>=15)return!0}return!1})(e,t));return-1===l?e:(g=l+1,i[l].raw)})};export{r as preserveLineBreaksFromSource};
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(/&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}from"./Editor/utils/preserveMarkdownLineBreaks.js";import{preserveListFormattingFromSource as $}from"./Editor/utils/preserveMarkdownListFormatting.js";import{preserveUnchangedReviewBlocksFromSource as N,getReviewId as k}from"./Editor/utils/preserveReviewBlocks.js";import{preserveUnchangedMarkdownEscapesFromSource as j}from"./Editor/utils/preserveMarkdownEscapes.js";import{markdownTableCellReplacement as B}from"./Editor/utils/markdownTableSerialization.js";import{replaceReviewNodesWithMarkdownPlaceholders as I,restoreReviewNodePlaceholders as T}from"./Editor/utils/reviewNodeSerialization.js";const R=new u({headingStyle:"atx",codeBlockStyle:"fenced",emDelimiter:"*"}),L=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");R.keep(["ins","del","mark"]),R.keep(e=>["DELETED","CHANGED","PRESERVED"].includes(e.nodeName)),R.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,L(o).replace(/"/g,"&quot;")}">${L(l)}</a>`;var o}}),R.keep(e=>"SPAN"===e.nodeName&&e.hasAttribute("highlight-id")),R.addRule("md-table-passthrough",{filter:e=>"PRE"===e.nodeName&&"true"===e.getAttribute("data-md-table"),replacement:(e,t)=>t.textContent||""}),R.use(p),R.addRule("stable-table-cell",{filter:["th","td"],replacement:B});const q=(e,t)=>{let r=0;for(let n=t-1;n>=0&&"\\"===e[n];n-=1)r+=1;return r%2==1};R.addRule("stable-line-break",{filter:"br",replacement:()=>"<br>"});const P=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("|")&&!q(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||q(l,e)||(d=""):'"'===t||"'"===t?d=t:">"===t&&(c=!1)):"<"===t?(c=!0,a+=t):"|"!==t||q(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())}},D=e=>!!e&&e.cells.every(e=>/^:?-{3,}:?$/.test(e)),M=e=>{const t=[];for(let r=1;r<e.length;r+=1){const n=P(e[r]),l=P(e[r-1]);if(!D(n)||!l)continue;const o=[{lineIndex:r-1,row:l},{lineIndex:r,row:n}];for(r+=1;r<e.length;){const t=P(e[r]);if(!t||D(t))break;o.push({lineIndex:r,row:t}),r+=1}t.push(o),r-=1}return t},H=e=>e.trim().replace(/(?:[ \t\u00a0]|&nbsp;)*<br\s*\/?>(?:[ \t\u00a0]|&nbsp;)*/gi,"<br>"),W=e=>e.replace(/<[^>]*>/g," ").replace(/[*_`~]+/g,"").replace(/&nbsp;|\u00a0/gi," ").replace(/\s+/g," ").trim().toLocaleLowerCase(),O=(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:W(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:W(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=W(t.slice(p,n).slice(-80)),g=W(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=k(d);return Boolean(u&&!e.includes(u))})(n)?r:""})},_=(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(H(f)===H(r))return h;return`${m}${O(f,r)}${g}`});return`${e.indent}${e.leadingPipe?"|":""}${n.join("|")}${e.trailingPipe?"|":""}`},U=e=>(e||"").replace(/\r\n/g,"\n").trim(),z=r(({type:r,value:u,handleUpdateState:p,onBlur:k,placeholder:B,minHeight:L,height:q,mode:P,doNotShowBorderInViewMode:H,onEditBlocked:W,onSaveUnsavedChanges:O,onDiscardUnsavedChanges:z,isSavingUnsavedChanges:V=!1},X)=>{const F=n(null),[K,Q]=l({type:r,value:u}),[Z,G]=l(0),[J,Y]=l(!1),ee=n(u),te=n(u),re=n(Boolean(u)),{contentRef:ne,setContentRef:le}=c();o(()=>{Q(e=>({...e,value:u})),ee.current=u,te.current=u,re.current=Boolean(u),Y(!1)},[u]),i(X,()=>({requestClose:()=>!("edit"===P&&U(ee.current)!==U(te.current))||(Y(!0),!1)}),[P]);return o(()=>{const e=()=>{ne&&ne.current&&G(ne.current.clientHeight-60)};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[ne]),e("div",{style:{position:"relative",width:"100%",height:q,minHeight:L},children:[J&&t(h,{isSaving:V,onSave:async()=>{await(null==O?void 0:O()),ee.current=te.current,Y(!1)},onDiscard:()=>{te.current=ee.current,null==z||z(),Y(!1)}}),t(a,{minHeight:L,height:q,placeholder:B||"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=I(n,R),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=R.turndown(n.body.innerHTML);i.forEach(e=>{s=s.replace(new RegExp(`\\n*${e}\\n*`,"g"),"\n\n")}),s=T(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=N(ee.current,s),ee.current.includes("--\x3e")&&(s=s.replace(/--&gt;/gi,"--\x3e")),s=f(ee.current,s),s=v(ee.current,s),s=b(ee.current,s),s=A(ee.current,s),s=((e,t)=>{const r=e.split("\n"),n=C(e,t).split("\n"),l=M(r);return M(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(D(i.row)&&D(t))return void(n[e]=r[i.lineIndex]);const s=_(i.row,t);null!==s&&(n[e]=s)})}),n.join("\n")})(ee.current,s),s=E(ee.current,s),s=$(ee.current,s),s=S(ee.current,s),s=y(ee.current,s),s=j(ee.current,s),r.has(w))return te.current=ee.current,void(re.current=!1);re.current&&(ee.current=s,re.current=!1),te.current=s,((e,t)=>{p(e,t)})("prompt",s)})},toolbarConfig:s,editorRef:F,mode:P,initialString:{type:K.type,value:K.value},dynamicHeight:Z,onBlur:k,doNotShowBorderInViewMode:H||!1,onEditBlocked:W})]})});z.displayName="RichTextEditor";export{z 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