@docx-editor.dev/pro 2.14.1 → 2.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/chunk-3625DZUE.js +3 -0
  2. package/dist/chunk-54OI2PSM.js +3 -0
  3. package/dist/chunk-AB6CJLJ4.cjs +3 -0
  4. package/dist/chunk-DOVUXFIP.cjs +3 -0
  5. package/dist/collaboration/hocuspocus.cjs +1 -1
  6. package/dist/collaboration/hocuspocus.js +1 -1
  7. package/dist/collaboration/index.cjs +2 -2
  8. package/dist/collaboration/index.js +1 -1
  9. package/dist/collaboration/webrtc.cjs +1 -1
  10. package/dist/collaboration/webrtc.js +1 -1
  11. package/dist/document-session-6NLJAJY2.cjs +1 -0
  12. package/dist/document-session-CULOPWY6.js +1 -0
  13. package/dist/document-session-JVA7VYPB.cjs +1 -0
  14. package/dist/document-session-R4ETEHGF.js +1 -0
  15. package/dist/{hocuspocus-ABVDFDOK.js → hocuspocus-AJOJV5NQ.js} +1 -1
  16. package/dist/{hocuspocus-IIJMOMM5.cjs → hocuspocus-TST45TQ6.cjs} +1 -1
  17. package/dist/react/index.cjs +2 -2
  18. package/dist/react/index.js +2 -2
  19. package/dist/vue/hocuspocus.cjs +1 -1
  20. package/dist/vue/hocuspocus.js +1 -1
  21. package/dist/vue/index.cjs +1 -1
  22. package/dist/vue/index.js +1 -1
  23. package/dist/vue/webrtc.cjs +1 -1
  24. package/dist/vue/webrtc.js +1 -1
  25. package/dist/{webrtc-2WNLDNHU.cjs → webrtc-F6OLZU65.cjs} +1 -1
  26. package/dist/{webrtc-PZCIQ4FZ.js → webrtc-O3Y4W4P6.js} +1 -1
  27. package/package.json +4 -4
  28. package/dist/chunk-ABW4JBFQ.js +0 -3
  29. package/dist/chunk-L6J5LQXZ.cjs +0 -3
  30. package/dist/chunk-MTNG3CRI.js +0 -3
  31. package/dist/chunk-VRIYIY2Y.cjs +0 -3
  32. package/dist/document-session-2QOWIMD7.js +0 -1
  33. package/dist/document-session-2YB34CXA.js +0 -1
  34. package/dist/document-session-BIMEOZBG.cjs +0 -1
  35. package/dist/document-session-DPSXU7I7.cjs +0 -1
@@ -1,2 +1,2 @@
1
- import {j,e,c,q,k}from'../chunk-NQW54J56.js';export{o as reviewModule}from'../chunk-NQW54J56.js';import {b,a}from'../chunk-HJB77VBO.js';export{b as collaborationModule}from'../chunk-Q2VBO66F.js';import {createContext,useMemo,useEffect,useCallback,useRef,useContext,useState,isValidElement,cloneElement,useId,Children,useSyncExternalStore,Fragment as Fragment$1}from'react';import {useDocxEditor,useEditorState,useTranslation,ReviewRailContext,useReviewGutter,REVIEW_PANE_GUTTER,useReviewAuthors,Slot,notificationYieldsToTask,useContextMenuTarget,ContextMenuItem,DocxEditorRoot}from'@docx-editor.dev/react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {createPortal}from'react-dom';import {safeParticipantColor}from'@docx-editor.dev/core/collaboration';import {customNodePayloadsByControl}from'@docx-editor.dev/core/store';import {partOfNodeId}from'@docx-editor.dev/core/editor';var rn=new Set(["List","Markers","AddComment","Draft","Balloon"]),an=new Set(["Card","Empty"]);function De(e,t){let r=t==="root"?rn:an,o={},a=[],i=l=>{if(Array.isArray(l)){for(let s of l)i(s);return}if(!isValidElement(l)){l!=null&&l!==false&&a.push(l);return}if(l.type===Fragment$1){i(l.props.children);return}let n=l.type.docxReviewPart;n&&r.has(n)?o[n]=l:a.push(l);};return i(e),{parts:o,rest:a}}function at(e,t){if(!t)return e;let r=e.props.className;return cloneElement(e,{className:`${t}${r?` ${r}`:""}`})}var sn={scale:96/72,top:0,left:null,compactCardLeft:null},ln=16,ve=300,cn=12,ke=600;function Jt(e,t,r,o,a=false){let[i,l]=useState(sn);return useEffect(()=>{let n=t.current;if(!e||!n)return;let s=n.offsetParent,d=s?.querySelector(".docx-paginated-surface")??null,f=()=>{l(p=>{let w=d&&s?d.getBoundingClientRect():null,R=w&&s?s.getBoundingClientRect():null,C=w&&R&&s?w.right-R.left-s.clientLeft+s.scrollLeft+ln:null,y={scale:e.getRenderScale(),top:w&&R&&s?w.top-R.top-s.clientTop+s.scrollTop:0,left:C,compactCardLeft:C===null||!s?null:s.scrollLeft+s.clientWidth-C-ve-cn};return p.scale===y.scale&&p.top===y.top&&p.left===y.left&&p.compactCardLeft===y.compactCardLeft?p:y});};f();let u=new ResizeObserver(f);if(s&&u.observe(s),d&&u.observe(d),!a||!s)return ()=>u.disconnect();let m=0,c=()=>{m===0&&(m=requestAnimationFrame(()=>{m=0,f();}));};return s.addEventListener("scroll",c,{passive:true}),()=>{m!==0&&cancelAnimationFrame(m),s.removeEventListener("scroll",c),u.disconnect();}},[e,t,r,o,a]),i}function Xt(e,t,r){let[o,a]=useState(null);return useEffect(()=>{let i=t.current,l=i?.offsetParent;if(!l)return;let n=0,s=()=>{n=0,a(m=>{let c=l.scrollTop-ke,p=l.scrollTop+l.clientHeight+ke;return m&&m.top===c&&m.bottom===p?m:{top:c,bottom:p}});},d=0,f=()=>{n===0&&(n=requestAnimationFrame(s)),i?.setAttribute("data-scrolling",""),window.clearTimeout(d),d=window.setTimeout(()=>i?.removeAttribute("data-scrolling"),150);};s(),l.addEventListener("scroll",f,{passive:true});let u=new ResizeObserver(f);return u.observe(l),()=>{n!==0&&cancelAnimationFrame(n),window.clearTimeout(d),l.removeEventListener("scroll",f),u.disconnect();}},[e,t,r]),o}function eo(e){let t=useRef(new WeakMap),r=useRef(new Map),o=useRef(null),a=useCallback((i,l)=>{let n=r.current.get(l);if(!i){n&&(o.current?.unobserve(n),t.current.delete(n),r.current.delete(l));return}typeof ResizeObserver>"u"||(e(l,i.offsetHeight),o.current??=new ResizeObserver(s=>{for(let d of s){let f=t.current.get(d.target);f&&e(f,d.target.offsetHeight);}}),!(n===i&&t.current.get(i)===l)&&(n&&(o.current.unobserve(n),t.current.delete(n)),t.current.set(i,l),r.current.set(l,i),o.current.observe(i)));},[e]);return useEffect(()=>()=>{o.current?.disconnect(),r.current.clear();},[]),a}function pn(e){let t=false;return ()=>{if(!t){if(!notificationYieldsToTask()){e();return}t=true,setTimeout(()=>{t=false,e();},0);}}}function wn(e){let t=e.snapshot?.();return JSON.stringify(t?.hiddenReviewAuthors??[])}function Te(e){let t=useDocxEditor();return to(t,e)}function to(e,t){let r=useCallback(y=>{if(!e)return ()=>{};let g=false,A=pn(()=>{g||y();}),E=e.on("change",A),h=e.on("selectionChange",A),M=e.on("error",A);return ()=>{g=true,E(),h(),M();}},[e]),o=useSyncExternalStore(r,()=>e?`${e.getReviewRevision()}:${e.getEditingMode()}:${wn(e)}`:"none",()=>"none"),a=useMemo(()=>e?e.getReviewItems(t).filter(y=>y.item.kind!=="custom"||y.item.carded):[],[e,o,t]),i=useMemo(()=>a.find(y=>y.isActive)?.key??null,[a]),l=useCallback((y,g)=>e?e.setActiveReviewItem(y,g).ok:false,[e]),n=useCallback(y=>!e||y.kind!=="revision"||y.readOnly?false:e.acceptReviewItem(y.key).ok,[e]),s=useCallback(y=>!e||y.kind!=="revision"||y.readOnly?false:e.rejectReviewItem(y.key).ok,[e]),d=useCallback(y=>!e||y.kind!=="comment"?false:e.setCommentResolved(y.key,true).ok,[e]),f=useCallback(y=>!e||y.kind!=="comment"?false:e.setCommentResolved(y.key,false).ok,[e]),u=e?.getEditingMode()==="viewing"?"the document is open for viewing":null,m=useCallback(y=>!e||y.kind==="custom"||y.kind==="revision"&&y.readOnly?false:e.deleteReviewItem(y.key).ok,[e]),c=useCallback((y,g,A)=>g.trim().length===0||!e?false:e.replyToReviewItem(y.key,g,A).ok,[e]),p=useMemo(()=>e?e.getSelectionPlacement()?.anchorY??null:null,[e,o]),w=useCallback((y,g)=>y.trim().length===0||!e?false:e.addComment(y,g).ok,[e]),R=useMemo(()=>e?e.isReviewPaneOpen():true,[e,o]),C=useCallback(y=>{!e||e.isReviewPaneOpen()===y||e.exec({type:"toggleReviewPane"});},[e]);return useMemo(()=>({items:a,activeKey:i,setActive:l,accept:n,reject:s,resolve:d,reopen:f,commentResolutionDisabledReason:u,remove:m,reply:c,selectionAnchorY:p,comment:w,paneOpen:R,setPaneOpen:C,ready:e!==null&&!e.snapshot().isLoading&&e.snapshot().parseError===null}),[a,i,l,n,s,d,f,u,m,c,p,w,R,C,e])}function yn(e,t,r={}){let o=r.gap??8,a=r.scale??1,i=r.defaultHeight??0;return useMemo(()=>{let l=new Map,n=Number.NEGATIVE_INFINITY;for(let s of e){let d=s.anchorY===null?Number.isFinite(n)?n:0:Math.max(s.anchorY,n);l.set(s.key,d),n=d+((t.get(s.key)??i)+o)/a;}return l},[e,t,o,a,i])}var st=8;function lt(e,t){return e?.color??`var(--doc-review-author-${t%st})`}function re(e,t,r){return e?{"--doc-review-author-current":lt(t,r)}:{}}function pe(e,t){return (e?.slot??t)%st}function oo(e,t,r,o){let a=useRef(new Map);return useMemo(()=>{let i=new Map;for(let n of e)i.set(n.author,n);let l=[...t.map(n=>n.author),o?.getConfiguredAuthor()];for(let n of l){if(!n||i.has(n))continue;let s=r.get(n)??0,d=o?.getReviewAuthorStyle(n),f=d?.color??`var(--doc-review-author-${s%st})`,u=a.current.get(n),m=u!==void 0&&u.slot===s&&u.color===f&&u.style===d?u:{author:n,slot:s,color:f,...d?{style:d}:{}};a.current.set(n,m),i.set(n,m);}return i},[e,t,r,o])}var $=e=>jsx("svg",{viewBox:"0 -960 960 960",width:16,height:16,"aria-hidden":"true",focusable:"false",children:jsx("path",{d:e,fill:"currentColor"})}),ro="M440-400h80v-120h120v-80H520v-120h-80v120H320v80h120v120ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z",no="M240-400h480v-80H240v80Zm0-120h480v-80H240v80Zm0-120h480v-80H240v80ZM880-80 720-240H160q-33 0-56.5-23.5T80-320v-480q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v720ZM160-320h594l46 45v-525H160v480Zm0 0v-480 480Z",Cn="M880-80 720-240H160q-33 0-56.5-23.5T80-320v-480q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v720ZM160-320h594l46 45v-525H160v480Zm0 0v-480 480Z",we="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z",Le=()=>jsxs("span",{className:"docx-review__resolved-icon",children:[jsx("span",{className:"docx-review__resolved-comment",children:$(Cn)}),jsx("span",{className:"docx-review__resolved-tick",children:$(we)})]}),ao="M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z",io="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z",so="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z",gn="M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z",hn="M486-160q-76 0-135-45t-85-123l88-38q14 48 48.5 78t85.5 30q42 0 76-20t34-64q0-18-7-33t-19-27h112q5 14 7.5 28.5T694-341q0 86-61.5 133.5T486-160ZM80-520v-80h800v80H80Zm402-360q66 0 116 30t74 84l-88 38q-11-28-38.5-47T480-794q-42 0-72 19t-30 51q0 15 6 27t18 22H272q-6-13-9-27t-3-30q0-70 55-114t167-44Z",xn="M360-160q-83 0-141.5-58.5T160-360v-360q0-83 58.5-141.5T360-920q83 0 141.5 58.5T560-720v360q0 83-58.5 141.5T360-160Zm0-80q50 0 85-35t35-85v-360q0-50-35-85t-85-35q-50 0-85 35t-35 85v360q0 50 35 85t85 35Zm300 80q29 0 49.5-20.5T730-230q0-22-12.5-40T684-296l-64-32v-232l100 100q23 23 51.5 35.5T832-412v-80q-17 0-32-6.5T773-517L633-657q-12-12-27.5-17.5T573-680h-13v520h100ZM360-720Z",An="M580-360q-25 0-42.5-17.5T520-420v-160q0-25 17.5-42.5T580-640h160q25 0 42.5 17.5T800-580v260q0 66-47 113t-113 47v-80q33 0 56.5-23.5T720-320v-40H580Zm-360 0q-25 0-42.5-17.5T160-420v-160q0-25 17.5-42.5T220-640h160q25 0 42.5 17.5T440-580v260q0 66-47 113t-113 47v-80q33 0 56.5-23.5T360-320v-40H220Z";function lo(e){if(e.kind==="comment")return no;if(e.kind==="custom")return e.item.icon??An;switch(e.revisionKind){case "insert":case "moveTo":return gn;case "delete":case "moveFrom":return hn;case "format":return xn;default:return no}}function In(e,t){return typeof t!="function"?e:typeof e!="function"?t:r=>{e(r),r.defaultPrevented||t(r);}}function _n(e,t){let r={...e,...t};for(let o of Object.keys(e))/^on[A-Z]/.test(o)?r[o]=In(t[o],e[o]):o==="className"?r[o]=[e[o],t[o]].filter(Boolean).join(" "):o==="style"&&(r[o]={...e[o],...t[o]});return r}function mo(e){return e==="Enter"||e===" "}function Sn(e){return mo(e.key)?(e.preventDefault(),e.stopPropagation(),true):false}function uo(e){return e.type==="button"}function Mn(e,t){return e.type==="a"||t.href!=null}function Dn(e,t,r,o){let a=i=>{typeof r=="function"&&r(i);};return {onClick:i=>{typeof e=="function"&&e(i),i.defaultPrevented||a(i),o&&i.preventDefault();},onKeyDown:i=>{if(typeof t=="function"&&t(i),!mo(i.key))return;i.defaultPrevented||a(i),o&&i.preventDefault();}}}function Q({engineDisabled:e,disabledReason:t,slotProps:r,children:o}){let a=Children.only(o);if(!isValidElement(a))return null;let i=a.props,l=_n(r,i);if(!e){if(!uo(a)){let n=Dn(i.onClick,i.onKeyDown,r.onClick,Mn(a,i));l.onClick=n.onClick,l.onKeyDown=n.onKeyDown;}return cloneElement(a,l)}if(uo(a))l.disabled=true,delete l["aria-disabled"];else {delete l.disabled,l["aria-disabled"]=true,l["data-disabled"]="",l.tabIndex=-1,l.href=void 0,l.role===void 0&&(l.role="button");let n=l.onKeyDown;l.onKeyDown=s=>{Sn(s)||typeof n=="function"&&n(s);};}return t&&(l.title=t),l.onClick=n=>{n.preventDefault(),n.stopPropagation();},cloneElement(a,l)}var po=createContext({key:null,open:()=>{},close:()=>{}});function wo({items:e,children:t}){let[r,o]=useState(null);useEffect(()=>{r!==null&&!e.some(i=>i.key===r&&i.kind==="comment"&&i.resolved)&&o(null);},[e,r]);let a=useMemo(()=>({key:r,open:i=>o(i),close:()=>o(null)}),[r]);return jsx(po.Provider,{value:a,children:t})}function ct(){return useContext(po)}function yo({label:e,statusLabel:t,entryKey:r,onActivate:o,onDeactivate:a,children:i,...l}){let n=ct(),s=useRef(null);return useEffect(()=>{let d=f=>{let u=s.current;u?.open&&f.target instanceof Node&&!u.contains(f.target)&&(n.close(),a());};return document.addEventListener("pointerdown",d,true),()=>document.removeEventListener("pointerdown",d,true)},[n,a]),jsxs("details",{ref:s,...l,open:n.key===r,onToggle:d=>{d.currentTarget.open?(n.open(r),o()):(n.close(),a());},children:[jsxs("summary",{className:"docx-review__resolved-toggle","aria-label":e,children:[jsx("span",{className:"docx-review__resolved-status",children:t}),Le()]}),i]})}function Ro(e){function t({className:o,asChild:a,hidden:i,children:l,icon:n}){let s=e.useReview(),d=e.useItem(),f=e.useLabel();if(i||!d||d.kind!=="comment"||d.resolved)return null;let u=f("comments.resolve"),m=s.commentResolutionDisabledReason!==null,c=m?f("editingMode.viewingHint"):null,p={type:"button",className:`docx-review__action${o?` ${o}`:""}`,"data-testid":"review-resolve","aria-label":u,title:c??u,disabled:m,onMouseDown:e.guardMousedown,onClick:w=>{w.stopPropagation(),!m&&s.resolve(d);}};return a?jsx(Q,{engineDisabled:m,disabledReason:c,slotProps:p,children:l}):jsx("button",{...p,children:n??l??$(we)})}t.docxReviewPart="Resolve";function r({className:o,asChild:a,hidden:i,children:l,icon:n}){let s=e.useReview(),d=e.useItem(),f=e.useLabel();if(i||!d||d.kind!=="comment"||!d.resolved)return null;let u=f("comments.reopen"),m=s.commentResolutionDisabledReason!==null,c=m?f("editingMode.viewingHint"):null,p={type:"button",className:`docx-review__action${o?` ${o}`:""}`,"data-testid":"review-reopen","aria-label":u,title:c??u,disabled:m,onMouseDown:e.guardMousedown,onClick:w=>{w.stopPropagation(),!m&&s.reopen(d);}};return a?jsx(Q,{engineDisabled:m,disabledReason:c,slotProps:p,children:l}):jsx("button",{...p,children:n??l??$(ao)})}return r.docxReviewPart="Reopen",{ReviewResolve:t,ReviewReopen:r}}function go(e){function t({top:o=0,left:a=null,className:i,hidden:l}){let{review:n,endDraft:s,measure:d,readOnly:f,draftAuthor:u,draftAuthorInfo:m,draftAuthorSlot:c}=e.useRail(),p=e.useLabel(),[w,R]=useState(""),[C,y]=useState(false),g=useRef(null),A=useId();useEffect(()=>{f||g.current?.focus({preventScroll:true});},[]);let E=useCallback(()=>{if(f||w.trim().length===0)return;let h=n.comment(w.trim());y(!h),h&&(R(""),s());},[f,w,n,s]);return l?null:jsx("div",{className:`docx-review__slot${i?` ${i}`:""}${a===null?"":" docx-review__slot--compact"}`,style:{position:"absolute",top:o,...a===null?{}:{left:a,width:ve}},ref:h=>{d(h,e.composeKey);},children:jsx("div",{className:"docx-review__card","data-testid":"review-draft","data-draft":"",...u?{"data-review-author":u,"data-review-author-slot":c}:{},style:re(u??void 0,m,c),children:jsxs("form",{className:"docx-review__reply-box",onSubmit:h=>{h.preventDefault(),E();},children:[jsx("label",{className:"docx-editor-sr-only",htmlFor:A,children:p("comments.addComment")}),jsx("input",{id:A,ref:g,"data-testid":"review-draft-input",className:"docx-review__input",value:w,placeholder:p("comments.addComment"),readOnly:f,...C?{"aria-invalid":true}:{},onChange:h=>{f||(y(false),R(h.target.value));},onKeyDown:h=>{if(h.key==="Escape"){h.preventDefault(),s();return}f||h.key!=="Enter"||(h.preventDefault(),E());}}),jsxs("div",{className:"docx-review__reply-actions",children:[jsx("button",{type:"button","data-testid":"review-draft-cancel",className:"docx-review__text-button",onMouseDown:e.guardMousedown,onClick:s,children:p("common.cancel")}),jsx("button",{type:"submit","data-testid":"review-draft-submit",className:"docx-review__submit",disabled:f||w.trim().length===0,title:f?p("editingMode.viewingHint"):void 0,children:p("common.comment")})]}),C?jsx("span",{className:"docx-review__refused",role:"alert",children:p("review.commentRefused")}):null]})})})}t.docxReviewPart="Draft";function r({className:o,hidden:a,children:i}){let{review:l,readOnly:n}=e.useRail(),s=e.useItem(),d=e.useLabel(),[f,u]=useState(""),[m,c]=useState(false),p=useId(),w=useCallback(()=>{if(!s||n||f.trim().length===0)return;let R=l.reply(s,f.trim());c(!R),R&&u("");},[s,n,f,l]);return a||!s||!s.isActive||s.kind==="comment"&&s.resolved?null:i?jsx(Fragment,{children:i}):jsxs("form",{className:`docx-review__reply-box${o?` ${o}`:""}`,onSubmit:R=>{R.preventDefault(),w();},children:[jsx("label",{className:"docx-editor-sr-only",htmlFor:p,children:d("comments.replyPlaceholder")}),jsx("input",{id:p,"data-testid":"review-reply-input",className:"docx-review__input",value:f,placeholder:d("comments.replyPlaceholder"),readOnly:n,...m?{"aria-invalid":true,"data-refused":""}:{},onChange:R=>{n||(c(false),u(R.target.value));},onClick:R=>R.stopPropagation(),onKeyDown:R=>{n||R.key!=="Enter"||(R.preventDefault(),w());}}),jsxs("div",{className:"docx-review__reply-actions",children:[jsx("button",{type:"button","data-testid":"review-reply-cancel",className:"docx-review__text-button",onMouseDown:e.guardMousedown,onClick:R=>{R.stopPropagation(),u(""),c(false),l.setActive(null);},children:d("common.cancel")}),jsx("button",{type:"submit","data-testid":"review-reply-submit",className:"docx-review__submit",disabled:n||f.trim().length===0,title:n?d("editingMode.viewingHint"):void 0,children:d("review.reply")})]}),m?jsx("span",{className:"docx-review__refused",role:"alert","data-testid":"review-reply-refused",children:d("review.replyRefused")}):null]})}return r.docxReviewPart="Reply",{ReviewDraft:t,ReviewReply:r}}function dt(e,t){if(e==="paragraphMark")return t==="delete"?"revisions.paragraphMarkDeleted":t==="moveFrom"?"revisions.paragraphMarkMovedFrom":t==="moveTo"?"revisions.paragraphMarkMovedTo":"revisions.paragraphMarkInserted";switch(e){case "insert":return "review.inserted";case "delete":return "review.deleted";case "replace":return "review.replaced";case "moveFrom":return "review.movedFrom";case "moveTo":return "review.movedTo";case "format":return "revisions.runPropertiesChanged";default:return "review.structural"}}var zn=e=>e.isLoading||e.parseError!==null||e.pageSetup==null,Wn=e=>e.editingMode==="viewing",ft=createContext(null),_=createContext(null);function Gn(){return useContext(_)}function Qn(e){let{authorInfo:t}=H();return e===void 0?void 0:t.get(e)}var Ke="\0compose",Jn=72,Xn=64,er=480,tr=30,or=Object.freeze({placement:false});function vt(e,t){return e.kind!=="comment"?false:e.parentId!==void 0?t.has(e.parentId):e.parentRevisionId!==void 0?t.has(e.parentRevisionId):false}function pt(e){return new Set(e.map(t=>t.id))}function Y(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function H(){let e=useContext(ft);return e||nr}function K(){let{t:e}=useContext(ft)??{},{t}=useTranslation();return useCallback(r=>e?.(r)??t(r),[e,t])}var{ReviewResolve:No,ReviewReopen:Po}=Ro({useReview:()=>H().review,useItem:()=>useContext(_),useLabel:K,guardMousedown:Y}),{ReviewDraft:Io,ReviewReply:_o}=go({useRail:H,useItem:()=>useContext(_),useLabel:K,guardMousedown:Y,composeKey:Ke}),nr={t:void 0,cardClassName:void 0,readOnly:false,review:{items:[],activeKey:null,setActive:()=>false,accept:()=>false,reject:()=>false,resolve:()=>false,reopen:()=>false,commentResolutionDisabledReason:null,remove:()=>false,reply:()=>false,selectionAnchorY:null,comment:()=>false,paneOpen:true,setPaneOpen:()=>{},ready:false},allItems:[],authorSlots:new Map,authorInfo:new Map,draftAuthor:null,draftAuthorInfo:void 0,draftAuthorSlot:0,byId:new Map,measure:()=>{},beginDraft:()=>{},endDraft:()=>{}};function rr({className:e,furniture:t,asChild:r,hidden:o,children:a,t:i,card:l,preset:n=true,stack:s=true,gap:d=8,filter:f,structural:u=false,formatting:m=false}){let c=useDocxEditor(),p=useEditorState(zn),w=useEditorState(Wn),R=useMemo(()=>{let b=[];return u||b.push("structural"),m||b.push("format"),b.length>0?b:void 0},[u,m]),C=useMemo(()=>R?{excludeRevisionKinds:R}:void 0,[R]);useEffect(()=>(c?.setReviewActivationExclusions(R??null),()=>c?.setReviewActivationExclusions(null)),[c,R]);let y=Te(or),g=Te(C),A=g.setPaneOpen,{t:E}=useTranslation(),h=useCallback(b=>i?.(b)??E(b),[i,E]),M=useRef(null),te=useContext(ReviewRailContext);useEffect(()=>te?.register(),[te]);let Z=g.paneOpen,de=useReviewGutter(),oe=Z&&de.inlineEnd>0&&de.inlineEnd<REVIEW_PANE_GUTTER,Ne=Z&&!oe,T=useMemo(()=>f?g.items.filter(b=>f(b)):g.items,[g.items,f]),q=c?.getConfiguredAuthor()??null,Pe=useMemo(()=>{let b=new Map;for(let x of T)x.author&&!b.has(x.author)&&b.set(x.author,b.size);return q&&!b.has(q)&&b.set(q,b.size),b},[T,q]),It=useMemo(()=>{let b=new Map;for(let x of T)b.set(x.id,x);return b},[T]),[_t,Yo]=useState(()=>new Map),Zo=useCallback((b,x)=>{x<=0||Yo(P=>{if(P.get(b)===x)return P;let D=new Map(P);return D.set(b,x),D});},[]),St=eo(Zo),I=Jt(c,M,T,!p&&!o,oe),ue=Xt(c,M,!p&&!o);useEffect(()=>{let b=M.current;if(!c||!b)return;let x=P=>{let D=P.target;if(!(D instanceof Node)||b.contains(D))return;let k=b.offsetParent;!k||!k.contains(D)||k.querySelector(".docx-paginated-surface")?.contains(D)||c.setActiveReviewItem(null);};return document.addEventListener("mousedown",x,true),()=>document.removeEventListener("mousedown",x,true)},[c,p,o]);let[V,Je]=useState(null),Xe=useRef(null),j=useCallback(()=>{let b=Xe.current;b&&(b.editor.releaseSelection(b.pin),Xe.current=null);},[]),Ie=useCallback(()=>{if(!c||w)return;let b=c.getSelectionPlacement()?.anchorY??null;if(b===null)return;j();let x=c.retainSelection();x&&(Xe.current={editor:c,pin:x},A(true),Je(b));},[c,w,j,A]);useEffect(()=>{if(!(o||w))return te?.registerCommentDraft(Ie)},[Ie,o,w,te]);let Mt=useCallback(()=>{j(),Je(null),c?.focus();},[c,j]);useEffect(()=>j,[j]),useEffect(()=>{Z||V===null||(j(),Je(null));},[Z,V,j]);let et=V??g.selectionAnchorY,F=useMemo(()=>{let b=pt(T);return T.filter(x=>!vt(x,b))},[T]),Dt=useMemo(()=>{if(V===null)return F;let b=F.findIndex(P=>P.anchorY!==null&&P.anchorY>V),x={key:Ke,anchorY:V};return b===-1?[...F,x]:[...F.slice(0,b),x,...F.slice(b)]},[F,V]),kt=useMemo(()=>{let b=new Map(_t);for(let x of F){if(b.has(x.key))continue;let P=x.text.length+(x.kind==="revision"?x.replacedText?.length??0:0),D=Math.min(6,Math.max(1,Math.ceil(P/36)));b.set(x.key,64+D*20);}return b},[_t,F]),{stacked:tt,collapsedKeys:Tt}=useMemo(()=>{let b=I.scale,x=new Map,P=new Set,D=Number.NEGATIVE_INFINITY;for(let k of Dt){let Me=k.anchorY===null?Number.isFinite(D)?D:0:Math.max(k.anchorY,D);x.set(k.key,Me);let Go=k.anchorY===null?0:(Me-k.anchorY)*b,Qo="isActive"in k&&k.isActive,Ft=Go>er&&!Qo&&k.key!==Ke;Ft&&P.add(k.key);let Jo=Ft?Xn:kt.get(k.key)??Jn;D=Me+(Jo+d)/b;}return {stacked:x,collapsedKeys:P}},[Dt,kt,d,I.scale]),ot=et===null?null:I.top+(oe?et:tt.get(Ke)??et)*I.scale,me=l?.className,jo=useReviewAuthors(),nt=oo(jo,T,Pe,c),Ot=q?Pe.get(q)??0:0,Lt=q?nt.get(q):void 0,Bo=useMemo(()=>({t:i,cardClassName:me,readOnly:w,review:{...g,items:T},allItems:y.items,authorSlots:Pe,authorInfo:nt,draftAuthor:q,draftAuthorInfo:Lt,draftAuthorSlot:Ot,byId:It,measure:St,beginDraft:Ie,endDraft:Mt}),[i,me,w,g,y.items,T,Pe,nt,q,Lt,Ot,It,St,Ie,Mt]);if(o||p)return null;let Ht={ref:M,className:`docx-review${e?` ${e}`:""}`,"data-testid":"review-rail","data-count":T.length,"data-open":Ne?"":void 0,"data-compact":oe?"":void 0,role:"complementary","aria-label":h("review.ariaLabel"),onMouseDown:Y,style:I.left===null?void 0:{left:I.left,right:"auto"}},z=typeof a=="function"?{parts:{},rest:a}:De(a,"root"),W=z.parts,fe=(b,x)=>{if(!(b in W))return x;let P=W[b];return !isValidElement(P)||!isValidElement(x)?P:cloneElement(P,{...x.props,...P.props})},$t=jsxs(Fragment,{children:[n||"AddComment"in W?fe("AddComment",jsx(yt,{top:ot,drafting:V!==null})):null,!Z||V===null||ot===null||!n&&!("Draft"in W)?null:fe("Draft",jsx(Io,{top:ot,left:oe?I.compactCardLeft:null})),n||"Balloon"in W?fe("Balloon",jsx(Rt,{})):null]}),zo=jsx(qe,{stack:s,positions:tt,collapsed:Tt,scale:I.scale,offset:I.top,window:ue,children:z.rest}),Kt=jsx(wt,{scale:I.scale,offset:I.top,window:ue}),G=oe?F.find(b=>b.key===g.activeKey)??null:null,qt=G===null?null:G.anchorY!==null?I.top+G.anchorY*I.scale:ue!==null?ue.top+ke+24:null,_e=r?null:z.rest,Se=typeof _e=="function"?null:De(_e,"list"),Ut=typeof _e=="function"?G&&_e(G):Se?.parts.Card&&isValidElement(Se.parts.Card)?at(Se.parts.Card,me):n?jsx(Ue,{...me?{className:me}:{},children:Se?.rest}):null,Vt=G&&qt!==null&&I.compactCardLeft!==null&&Ut?jsx(_.Provider,{value:G,children:jsx("div",{className:"docx-review__slot docx-review__slot--compact","data-testid":"review-compact-card",style:{position:"absolute",top:qt,left:I.compactCardLeft,width:ve},children:Ut})}):null,Wo=Ne?n||"List"in W?fe("List",zo):typeof z.rest=="function"?null:z.rest:n||"Markers"in W?jsxs(Fragment,{children:[fe("Markers",Kt),Vt]}):typeof z.rest=="function"?null:z.rest;return jsx(wo,{items:T,children:jsx(ft.Provider,{value:Bo,children:r&&isValidElement(a)?jsx(Slot,{...Ht,children:cloneElement(a,void 0,a.props.children,n?Ne?jsx(qe,{stack:s,positions:tt,collapsed:Tt,scale:I.scale,offset:I.top,window:ue}):jsxs(Fragment,{children:[Kt,Vt]}):null,$t)}):jsxs("aside",{...Ht,children:[Ne&&t!==void 0?jsx("div",{className:"docx-review__furniture","data-testid":"review-furniture",children:t}):null,Wo,$t]})})})}function qe({stack:e=true,positions:t,collapsed:r,scale:o=1,offset:a=0,window:i=null,children:l,className:n,hidden:s}){let{review:d,measure:f,cardClassName:u}=H();if(s)return null;let m=typeof l=="function"?null:De(l,"list"),c=pt(d.items),p=d.items.filter(w=>!vt(w,c));return p.length===0?typeof l=="function"?null:m?.parts.Empty??jsx(bt,{}):jsx("div",{className:`docx-review__list${n?` ${n}`:""}`,children:p.map(w=>{let R=e?t?.get(w.key)??w.anchorY:w.anchorY,C=R==null?null:a+R*o;if(C!==null&&i&&(C<i.top||C>i.bottom))return null;let y=C===null?{}:{position:"absolute",top:C};return jsx(_.Provider,{value:w,children:jsx("div",{className:"docx-review__slot",style:y,...r?.has(w.key)?{"data-collapsed":""}:{},ref:g=>{f(g,w.key);},children:typeof l=="function"?l(w):m?.parts.Card&&isValidElement(m.parts.Card)?at(m.parts.Card,u):jsx(Ue,{...u?{className:u}:{},children:m?.rest})})},w.key)})})}qe.docxReviewPart="List";function wt({scale:e=1,offset:t=0,window:r=null,className:o,hidden:a,icon:i}){let{review:l,authorSlots:n,authorInfo:s}=H(),d=ct(),f=K(),{roots:u,stackedTops:m}=useMemo(()=>{let c=pt(l.items),p=l.items.filter(C=>!vt(C,c)),w=new Map,R=Number.NEGATIVE_INFINITY;for(let C of p){if(C.anchorY===null)continue;let y=Math.max(t+C.anchorY*e,R);w.set(C.key,y),R=y+tr;}return {roots:p,stackedTops:w}},[l.items,t,e]);return a?null:jsx("div",{className:`docx-review__markers${o?` ${o}`:""}`,children:u.map(c=>{let p=m.get(c.key);return p===void 0||r&&(p<r.top||p>r.bottom)?null:jsx("button",{type:"button",className:"docx-review__marker","data-testid":"review-marker","data-kind":c.kind==="revision"?c.revisionKind:c.kind,...c.author?{"data-review-author":c.author,"data-review-author-slot":pe(s.get(c.author),n.get(c.author)??0)}:{},style:{position:"absolute",top:p,...c.author?{"--doc-review-author-current":lt(s.get(c.author),n.get(c.author)??0)}:{}},title:c.author?`${c.author}: ${c.text}`:c.text,"aria-label":`${f("review.showPane")}: ${c.author?`${c.author}. `:""}${c.text}`,onMouseDown:Y,onClick:()=>{c.kind==="comment"&&c.resolved&&d.open(c.key),l.setPaneOpen(true),l.setActive(c.key);},children:(typeof i=="function"?i(c):i)??(c.kind==="comment"&&c.resolved?Le():$(lo(c)))},c.key)})})}wt.docxReviewPart="Markers";function yt({top:e=null,drafting:t=false,className:r,hidden:o,children:a}){let{beginDraft:i,readOnly:l}=H(),n=K();if(o||t||e===null||l)return null;let s={type:"button",className:`docx-review__add${r?` ${r}`:""}`,"data-testid":"review-add-comment",style:{position:"absolute",top:e},"aria-label":n("common.comment"),title:n("common.comment"),onMouseDown:Y,onClick:i};return a?jsx(Slot,{...s,children:a}):jsx("button",{...s,children:$(ro)})}yt.docxReviewPart="AddComment";function Rt({className:e,hidden:t}){let{review:r,allItems:o,authorSlots:a,authorInfo:i}=H(),l=K(),n=useRef(null),[s,d]=useState(null),f=useRef(false);f.current=s!==null,useEffect(()=>{let w=n.current,R=w?.closest(".docx-review"),C=R?.closest(".docx-editor__scroll-container")??R?.offsetParent;if(!w||!R||!C)return;let y=(A,E)=>{let h=R.getBoundingClientRect(),M=A.getBoundingClientRect(),te=A.ownerDocument.defaultView?.innerHeight??1/0,Z=Number(A.dataset.start),de=Number(A.dataset.end);d({revisionId:A.dataset.revisionId,author:A.dataset.reviewAuthor??"",...A.dataset.revisionDate!==void 0?{date:A.dataset.revisionDate}:{},...A.dataset.revisionKind!==void 0?{kind:A.dataset.revisionKind}:{},structuralSite:E,...A.dataset.paragraphId!==void 0?{paragraphId:A.dataset.paragraphId}:{},...Number.isFinite(Z)?{start:Z}:{},...Number.isFinite(de)?{end:de}:{},left:M.left-h.left,top:M.top-h.top,bottom:M.bottom-h.top,above:M.bottom+220>te});},g=A=>{let E=A.target;if(!(E instanceof Element)||w.contains(E))return;let h=E.closest("[data-revision-id]");if(h instanceof HTMLElement&&C.contains(h)){let M=h.classList.contains("docx-table-row--revision");if(h.dataset.revisionKind==="format"||M){y(h,M);return}}f.current&&d(null);};return C.addEventListener("pointerdown",g,true),C.addEventListener("mousedown",g,true),()=>{C.removeEventListener("pointerdown",g,true),C.removeEventListener("mousedown",g,true);}},[]);let u=useMemo(()=>{if(!s)return null;let w=null,R=false,C=null,y=false,g=null,A=false;for(let E of o)if(!(E.kind!=="revision"||E.item.kind!=="revision")){for(let h of E.item.addresses)if(h.id===s.revisionId){if(h.author===s.author){if(h.date===s.date)return E;w===null?w=E:w!==E&&(R=true);}C===null?C=E:C!==E&&(y=true);}if(s.paragraphId!==void 0&&s.start!==void 0&&s.end!==void 0&&(E.revisionKind==="format"||E.revisionKind==="structural")){for(let h of E.item.ranges)if(h.start.paragraphId===s.paragraphId&&h.start.offset<s.end&&h.end.offset>s.start){g===null?g=E:g!==E&&(A=true);break}}}return w!==null&&!R?w:C!==null&&!y?C:g!==null&&!A?g:null},[o,s]),m=u&&(u.revisionKind==="format"||u.revisionKind==="structural")?u:null,c=useRef(false);if(useEffect(()=>{if(m){c.current=true;return}c.current&&(c.current=false,d(null));},[m]),t)return null;let p=s?.kind==="format"?"format":"structural";return jsx("div",{ref:n,className:`docx-review__balloon-root${e?` ${e}`:""}`,children:s===null?null:jsx("div",{className:"docx-review__balloon","data-testid":"review-balloon",style:{left:s.left,top:s.above?s.top-6:s.bottom+6,transform:s.above?"translateY(-100%)":void 0},onMouseDown:Y,children:m?jsx(_.Provider,{value:m,children:jsxs("div",{className:"docx-review__card","data-testid":"review-balloon-card","data-kind":m.revisionKind??"revision",...m.author?{"data-review-author":m.author,"data-review-author-slot":pe(i.get(m.author),a.get(m.author)??0)}:{},style:re(m.author,i.get(m.author),a.get(m.author)??0),onClick:()=>r.setActive(m.key),children:[jsxs("div",{className:"docx-review__head",children:[jsx(be,{}),jsxs("div",{className:"docx-review__meta",children:[jsx(Ce,{}),jsx(ge,{})]}),m.kind==="revision"&&!m.readOnly?jsxs("div",{className:"docx-review__actions",children:[jsx(Ve,{}),jsx(Fe,{})]}):null]}),jsx(he,{})]})}):jsxs("div",{className:"docx-review__card","data-testid":"review-balloon-card","data-kind":p,...s.author?{"data-review-author":s.author,"data-review-author-slot":pe(i.get(s.author),a.get(s.author)??0)}:{},style:re(s.author,i.get(s.author),a.get(s.author)??0),children:[jsxs("div",{className:"docx-review__head",children:[jsx("span",{className:"docx-review__avatar","aria-hidden":"true",children:ar(s.author)}),jsxs("div",{className:"docx-review__meta",children:[jsx("span",{className:"docx-review__author",children:s.author||l("comments.unknown")}),s.date?jsx(ir,{raw:s.date}):null]})]}),jsx("div",{className:"docx-review__summary",children:jsx("span",{className:"docx-review__label","data-kind":p,children:l(dt(p))})})]})})})}Rt.docxReviewPart="Balloon";function ar(e){let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"?":t.slice(0,2).map(r=>r[0].toUpperCase()).join("")}function ir({raw:e}){let t=new Date(e);return Number.isNaN(t.getTime())?null:jsx("time",{className:"docx-review__time",dateTime:e,children:So.format(t)})}function bt({className:e,hidden:t,children:r}){let o=K();return t?null:jsx("div",{className:`docx-review__empty${e?` ${e}`:""}`,"data-testid":"review-empty",children:r??o("review.empty")})}bt.docxReviewPart="Empty";function Ue({className:e,asChild:t,hidden:r,children:o}){let{review:a,authorSlots:i,authorInfo:l}=H(),n=useContext(_),s=useId(),d=K();if(r||!n)return null;let f=i.get(n.author)??0,u=!t&&n.kind==="comment"&&n.resolved,m={className:`docx-review__card${e?` ${e}`:""}`,"data-testid":"review-card",...u?{}:{"aria-labelledby":`${s}-author ${s}-summary`},"data-kind":n.kind==="revision"?n.revisionKind??"revision":n.kind,...n.author?{"data-review-author":n.author,"data-review-author-slot":pe(l.get(n.author),f)}:{},...n.kind==="custom"&&n.item.kind==="custom"?{"data-node-name":n.item.name}:{},...n.isActive?{"data-active":""}:{},...n.kind==="comment"&&n.resolved?{"data-resolved":""}:{},...u?{"data-resolved-miniature":""}:{},style:re(n.author,l.get(n.author),f),...u?{}:{tabIndex:0,role:"button"},id:s,...u?{}:{onMouseDown:c=>{c.target?.closest("[data-review-selectable]")||c.currentTarget.focus({preventScroll:true});},onClick:()=>a.setActive(n.key),onKeyDown:c=>{c.target===c.currentTarget&&(c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),a.setActive(n.key)));}}};return t?jsx(Slot,{...m,children:o}):u?jsx(yo,{...m,label:d("review.showResolvedComment"),statusLabel:d("review.resolved"),entryKey:n.key,onActivate:()=>a.setActive(n.key),onDeactivate:()=>a.setActive(null),children:jsx(Ao,{children:o})}):jsx("div",{...m,children:jsx(Ao,{children:o})})}Ue.docxReviewPart="Card";function Ao({children:e}){let t=useContext(_),r=useMemo(()=>sr(e),[e]),o=(i,l)=>i in r?r[i]:l;if(!t)return null;if(t.kind==="custom"&&t.item.kind==="custom"){let i=t.item;return jsxs(Fragment,{children:[jsxs("div",{className:"docx-review__head",children:[o("Avatar",null),jsx("div",{className:"docx-review__meta",children:o("Author",jsx("span",{className:"docx-review__author","data-testid":"review-custom-title",children:i.title}))})]}),o("Summary",i.detail?jsx("div",{className:"docx-review__summary","data-testid":"review-summary","data-review-selectable":"",children:jsx("span",{className:"docx-review__text",children:i.detail})}):null),r.__extra]})}let a=t.kind==="revision"&&!t.readOnly;return jsxs(Fragment,{children:[jsxs("div",{className:"docx-review__head",children:[o("Avatar",jsx(be,{})),jsxs("div",{className:"docx-review__meta",children:[o("Author",jsx(Ce,{})),o("Time",jsx(ge,{}))]}),a||t.kind==="comment"?jsxs("div",{className:"docx-review__actions",children:[o("Accept",jsx(Ve,{})),o("Reject",jsx(Fe,{})),o("Resolve",jsx(No,{})),o("Reopen",jsx(Po,{})),o("Delete",jsx(Ye,{}))]}):null]}),o("Summary",jsx(he,{})),o("Replies",jsx(Ct,{})),o("Reply",jsx(_o,{})),r.__extra]})}function sr(e){let t={},r=[],o=a=>{if(Array.isArray(a)){a.forEach(o);return}if(!a||typeof a!="object"||!("type"in a)){a&&r.push(a);return}if(a.type===Fragment$1){o(a.props.children);return}let i=a.type.docxReviewPart;i?t[i]=a:r.push(a);};return o(e),r.length>0&&(t.__extra=r),t}function be({className:e,asChild:t,hidden:r,children:o}){let{authorInfo:a}=H(),i=useContext(_);if(r||!i||o===void 0&&!i.initials)return null;let l={className:`docx-review__avatar${e?` ${e}`:""}`,"data-testid":"review-avatar","aria-hidden":true};if(t)return jsx(Slot,{...l,children:o});let n=a.get(i.author)?.style?.avatarUrl,s=o??(n?jsx("img",{className:"docx-review__avatar-img",src:n,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"}):void 0)??i.initials;return jsx("span",{...l,children:s})}be.docxReviewPart="Avatar";function Ce({className:e,asChild:t,hidden:r,children:o}){let a=useContext(_),i=K();if(r||!a)return null;let l=a.author||i("comments.unknown"),n={className:`docx-review__author${e?` ${e}`:""}`,"data-testid":"review-author"};return t?jsx(Slot,{...n,children:o}):jsx("span",{...n,children:o??l})}Ce.docxReviewPart="Author";function ge({className:e,asChild:t,hidden:r,children:o}){let a=useContext(_);if(r||!a)return null;let i=a.date;if(!i)return null;let l=new Date(i);if(Number.isNaN(l.getTime()))return null;let n={className:`docx-review__time${e?` ${e}`:""}`,"data-testid":"review-time",dateTime:i};return t?jsx(Slot,{...n,children:o}):jsx("time",{...n,children:o??So.format(l)})}ge.docxReviewPart="Time";var So=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function he({className:e,asChild:t,hidden:r,children:o}){let a=useContext(_),i=K();if(r||!a)return null;let l=a.text,n=a.kind!=="revision"?null:i(dt(a.revisionKind,a.item.markDirection)),s=a.kind==="revision"&&a.revisionKind==="replace",d={className:`docx-review__summary${e?` ${e}`:""}`,"data-testid":"review-summary","data-review-selectable":""};return t?jsx(Slot,{...d,children:o}):jsx("div",{...d,children:o??(s?jsxs("span",{className:"docx-review__text",children:[i("review.replaced")," ",jsxs("span",{className:"docx-review__removed",children:['"',a.replacedText,'"']})," ",i("review.replacedWith")," ",jsxs("span",{className:"docx-review__added",children:['"',l,'"']})]}):jsxs(Fragment,{children:[n?jsx("span",{className:"docx-review__label","data-kind":a.kind==="revision"?a.revisionKind:"revision",children:n}):null,l?jsx("span",{className:"docx-review__text",children:l}):null]}))})}he.docxReviewPart="Summary";function Ve({className:e,asChild:t,hidden:r,children:o,icon:a}){let{readOnly:i,review:l}=H(),n=useContext(_),s=K();if(r||!n||n.kind!=="revision"||n.readOnly)return null;let d=s("review.accept"),f=i?s("editingMode.viewingHint"):null,u={type:"button",className:`docx-review__action${e?` ${e}`:""}`,"data-testid":"review-accept","aria-label":d,title:f??d,disabled:i,onMouseDown:Y,onClick:m=>{m.stopPropagation(),!i&&l.accept(n);}};return t?jsx(Q,{engineDisabled:i,disabledReason:f,slotProps:u,children:o}):jsx("button",{...u,children:a??o??$(we)})}Ve.docxReviewPart="Accept";function Fe({className:e,asChild:t,hidden:r,children:o,icon:a}){let{readOnly:i,review:l}=H(),n=useContext(_),s=K();if(r||!n||n.kind!=="revision"||n.readOnly)return null;let d=s("review.reject"),f=i?s("editingMode.viewingHint"):null,u={type:"button",className:`docx-review__action${e?` ${e}`:""}`,"data-testid":"review-reject","aria-label":d,title:f??d,disabled:i,onMouseDown:Y,onClick:m=>{m.stopPropagation(),!i&&l.reject(n);}};return t?jsx(Q,{engineDisabled:i,disabledReason:f,slotProps:u,children:o}):jsx("button",{...u,children:a??o??$(io)})}Fe.docxReviewPart="Reject";function Ye({className:e,asChild:t,hidden:r,children:o,icon:a}){let{readOnly:i,review:l}=H(),n=useContext(_),{t:s}=useTranslation();if(r||!n||n.kind==="custom"||n.kind==="revision"&&n.readOnly)return null;let d=n.kind==="comment"?s("review.deleteComment"):s("review.discardChange"),f=i?s("editingMode.viewingHint"):null,u={type:"button",className:`docx-review__action${e?` ${e}`:""}`,"data-testid":"review-delete","aria-label":d,title:f??d,disabled:i,onMouseDown:Y,onClick:m=>{m.stopPropagation(),!i&&l.remove(n);}};return t?jsx(Q,{engineDisabled:i,disabledReason:f,slotProps:u,children:o}):jsx("button",{...u,children:a??o??$(so)})}Ye.docxReviewPart="Delete";function Ct({className:e,hidden:t}){let{byId:r}=H(),o=useContext(_);if(t||!o||o.kind==="custom")return null;let a=o.replyIds.map(i=>r.get(i)).filter(i=>i!==void 0);return a.length===0?null:jsx("ol",{className:`docx-review__replies${e?` ${e}`:""}`,children:a.map(i=>jsx(_.Provider,{value:i,children:jsxs("li",{className:"docx-review__reply","data-testid":"review-reply",children:[jsxs("div",{className:"docx-review__head",children:[jsx(be,{}),jsxs("div",{className:"docx-review__meta",children:[jsx(Ce,{}),jsx(ge,{})]}),jsx("div",{className:"docx-review__actions",children:jsx(Ye,{})})]}),jsx(he,{})]})},i.key))})}Ct.docxReviewPart="Replies";var lr=Object.assign(rr,{List:qe,Empty:bt,Card:Ue,Avatar:be,Author:Ce,Time:ge,Summary:he,Accept:Ve,Reject:Fe,Resolve:No,Reopen:Po,Delete:Ye,Replies:Ct,Reply:_o,Markers:wt,AddComment:yt,Draft:Io,Balloon:Rt});var xe=8;function Mo(e){let t=/^var\(--doc-review-author-(\d{1,2})\)$/.exec(e);return t?Number(t[1])%xe:null}function je(e,t,r,o){let a=new Map(e.map(n=>[n.author,n])),i=new Map,l=new Map;for(let n of t){if(l.has(n.actorId))continue;let s=safeParticipantColor(o?.(n.name));if(s!==void 0){l.set(n.actorId,{color:s,slot:Mo(s)});continue}let d=safeParticipantColor(n.color);if(d!==void 0){l.set(n.actorId,{color:d,slot:null});continue}let f=a.get(n.name),u=safeParticipantColor(r?.(n.name));if(u!==void 0){l.set(n.actorId,{color:u,slot:Mo(u)??(f?f.slot%xe:null)});continue}if(f!==void 0){let c=f.slot%xe;l.set(n.actorId,{color:safeParticipantColor(f.color)??`var(--doc-review-author-${c})`,slot:c});continue}let m=i.get(n.name);m===void 0&&(m=e.length+i.size,i.set(n.name,m)),l.set(n.actorId,{color:`var(--doc-review-author-${m%xe})`,slot:m%xe});}return l}function gt(e,t,r,o){return je(e,[t],r,o).get(t.actorId)}function ht(e){let t=e.trim().split(/\s+/,2),r="";for(let o of t){let a=[...o][0];a!==void 0&&(r+=a.toUpperCase());}return r}function Do(e){return [...e].sort((t,r)=>{if(t.isLocal!==r.isLocal)return t.isLocal?-1:1;let o=t.name.localeCompare(r.name);return o!==0?o:t.actorId<r.actorId?-1:t.actorId>r.actorId?1:0})}function Be(e,t,r){for(let o of e)if(o.author===t)return o.style?.avatarUrl;return r?.(t)?.avatarUrl}var ur=e=>e.collaborationStatus;function X(){let e=useDocxEditor();return useEditorState(ur),e?.collaborationSession()??null}var xt=Object.freeze([]);function vr(e,t){if(e===t)return true;if(e.length!==t.length)return false;for(let r=0;r<e.length;r+=1){let o=e[r],a=t[r];if(o.actorId!==a.actorId||o.name!==a.name||o.color!==a.color||o.role!==a.role||o.isLocal!==a.isLocal)return false}return true}function ko(e,t){if(!e)return t.current=xt,xt;let r=e.participants();return vr(t.current,r)?t.current:(t.current=r,r)}function ze(e){let t=X(),r=e===void 0?t:e,o=useRef(xt);return useSyncExternalStore(a=>r?.subscribeParticipants(()=>a())??(()=>{}),()=>ko(r,o),()=>ko(r,o))}var To=createContext(null);function xr(e){return {"--doc-collaboration-accent":e.color}}function Oo(e){return e!==void 0?{avatarUrl:e}:{}}function Lo({participant:e,className:t,children:r}){let o=useDocxEditor(),a=useReviewAuthors(),l=useContext(To)?.get(e.actorId)??gt(a,e,o?s=>o.presenceColorFor(s):void 0,o?s=>o.getReviewAuthorStyle(s)?.color:void 0),n=Ar(e.name);return jsx("span",{className:`docx-collaboration-avatar${t?` ${t}`:""}`,"data-collaboration-avatar":"",...e.isLocal?{"data-local":""}:{},...l.slot!==null?{"data-collaboration-author-slot":l.slot}:{},title:e.name,role:"img","aria-label":e.name,style:xr(l),children:r??(n!==void 0?jsx("img",{className:"docx-collaboration-avatar__image",src:n,alt:""}):ht(e.name))})}function Ar(e){let t=useDocxEditor(),r=useReviewAuthors();return Be(r,e,t?o=>t.getReviewAuthorStyle(o):void 0)}function Er({session:e,max:t,className:r,children:o}){let a=useDocxEditor(),i=ze(e),l=useReviewAuthors(),{t:n}=useTranslation(),s=useMemo(()=>je(l,i,a?p=>a.presenceColorFor(p):void 0,a?p=>a.getReviewAuthorStyle(p)?.color:void 0),[l,i,a]),d=useMemo(()=>{let p=a?R=>a.getReviewAuthorStyle(R):void 0,w=new Map;for(let R of i){if(w.has(R.name))continue;let C=Be(l,R.name,p);C!==void 0&&w.set(R.name,C);}return w},[a,i,l]),f=useMemo(()=>Do(i),[i]);if(f.length===0)return null;let u=t===void 0?f:f.slice(0,Math.max(0,t)),m=f.length-u.length,c=n("collaboration.moreParticipants",{count:m});return jsxs("span",{className:`docx-collaboration-avatars${r?` ${r}`:""}`,"data-collaboration-avatars":"",role:"group","aria-label":n("collaboration.participants"),children:[jsx(To.Provider,{value:s,children:u.map(p=>o?jsx(Fragment$1,{children:o({participant:p,color:s.get(p.actorId).color,initials:ht(p.name),...Oo(d.get(p.name))})},p.actorId):jsx(Lo,{participant:p},p.actorId))}),m>0?jsx("span",{className:"docx-collaboration-avatar","data-collaboration-avatar":"","data-overflow":"",title:c,role:"img","aria-label":c,children:`+${m}`}):null]})}var We=Object.freeze([]);function Nr(){return We}function Pr(){let e=useRef(null);if(e.current===null){let t=We,r=false,o=new Set;e.current={subscribe:a=>(o.add(a),()=>o.delete(a)),read:()=>t,write:a=>{t=a.length===0?We:a,!r&&(r=true,queueMicrotask(()=>{r=false;for(let i of [...o])i();}));}};}return e.current}function Ir({session:e,children:t}){let r=useDocxEditor(),o=X(),a=e===void 0?o:e,i=ze(a),l=useReviewAuthors(),n=Pr(),s=useSyncExternalStore(n.subscribe,n.read,Nr);if(useEffect(()=>{if(!(!r||!a))return r.setRemoteCaretLabelHost({publish:n.write}),()=>{r.setRemoteCaretLabelHost(null),n.write(We);}},[r,a,n]),s.length===0)return null;let d=je(l,i);return jsx(Fragment,{children:s.map(f=>{let{selection:u}=f,m=i.find(w=>w.actorId===u.actorId)??null,c=f.element.style.getPropertyValue("--doc-remote-color"),p=c!==""?c:d.get(u.actorId)?.color??gt(l,{actorId:u.actorId,name:u.name,...u.color!==void 0?{color:u.color}:{},isLocal:false}).color;return createPortal(t?t({selection:u,participant:m,color:p,...Oo(Be(l,u.name,r?w=>r.getReviewAuthorStyle(w):void 0))}):u.name,f.element,u.actorId)})})}var _r=Object.freeze({CaretLabels:Ir,Avatars:Er,Avatar:Lo});function Ae(e){let t=useDocxEditor();return useMemo(()=>e||(t?.getCustomNodeDefinitions()??[]).filter(j),[e,t])}var Lr=".docx-content-control-boundary";function le(e,t){let{node:r,definition:o,controlId:a}=e,i=a?t?.getReviewItems().find(s=>s.kind==="custom"&&s.item.id===a):void 0;if(i&&i.kind==="custom"){let s=i.item;return {...r,attrs:s.attrs,text:s.text,...s.data===void 0?{}:{data:s.data},...a?{nodeId:a}:{}}}let l=a?Hr(t,a,o):void 0,n=o.fromDocx?o.fromDocx({attrs:r.attrs,text:"",...l===void 0?{}:{data:l}}):r.attrs;return n===null?null:{...r,attrs:n,...l===void 0?{}:{data:l},...a?{nodeId:a}:{}}}function Hr(e$1,t,r){let o=e$1?.surface;if(!o)return;let a=partOfNodeId(o.session,t),i=customNodePayloadsByControl(o.session.currentPackage(),(a??o.session.part()).name,o.session.part().name).get(t);if(!i)return;let l=e(r.schema,i.data);return l.ok?l.value:void 0}function ce(e,t){let r=e?.closest?.(Lr),o=r?.closest(".docx-content-control-chrome"),a=o?.getAttribute("data-tag"),i=a?c(a):null;if(!r||!i||!a)return null;let l=t.find(n=>n.tagPrefix===i.prefix&&n.name===i.name);return l?{node:{name:i.name,attrs:i.attrs,tag:a,rect:r.getBoundingClientRect()},definition:l,controlId:o?.getAttribute("data-docx-content-control")??null}:null}var Et=".docx-content-control-boundary",Kr=e=>{if(!k.test(e.tagPrefix)||!k.test(e.name))return [];let t=`${e.tagPrefix}:${e.name}`;return [`.docx-content-control-chrome[data-tag="${t}"]`,`.docx-content-control-chrome[data-tag^="${t}?"]`]};function qr(e){let{onNodeClick:t,onNodeHover:r}=e,o=useDocxEditor(),a=Ae(e.nodes);return useEffect(()=>{let i=document.createElement("style"),l=[];for(let n of a){let s=Kr(n);if(s.length===0)continue;let d=n.chrome?.color!==void 0&&CSS.supports("color",n.chrome.color)?n.chrome.color:"var(--doc-accent)";l.push(`${s.map(f=>`${f} ${Et}`).join(", ")} {`," pointer-events: auto !important;"," opacity: 1;"," border: none;",` background: color-mix(in srgb, ${d} 12%, transparent);`," border-radius: 6px;"," cursor: default;","}");}return i.textContent=l.join(`
2
- `),document.head.append(i),()=>i.remove()},[a]),useEffect(()=>{let i=null,l=null,n=u=>ce(document.elementFromPoint(u.clientX,u.clientY),a),s=u=>{let m=u.button===0?n(u):null;i=m?.controlId??null,l=m?.node.tag??null;},d=u=>{let m=i,c=l;if(i=null,l=null,c===null)return;let p=n(u);if(!p||p.node.tag!==c||m!==null&&p.controlId!==m)return;let w=le(p,o);w&&(p.definition.onClick?.(w),t?.(w));},f=u=>{let m=ce(u.target,a);if(!m||u.relatedTarget?.closest?.(Et)===u.target.closest(Et))return;let p=le(m,o);p&&(m.definition.onHover?.(p),r?.(p));};return document.addEventListener("pointerdown",s,true),document.addEventListener("pointerup",d,true),document.addEventListener("mouseover",f),()=>{document.removeEventListener("pointerdown",s,true),document.removeEventListener("pointerup",d,true),document.removeEventListener("mouseover",f);}},[a,o,t,r]),null}var Zr=e=>e.editingMode==="viewing";function qo(e){let{onEditNode:t,onRemoveRefused:r,remove:o=true}=e,a=Ae(e.nodes),i=useContextMenuTarget(),l=useDocxEditor(),{t:n}=useTranslation(),s=useMemo(()=>i?ce(i,a):null,[i,a]),d=useMemo(()=>s?le(s,l):null,[s,l]),f=useEditorState(Zr),u=useMemo(()=>!s?.definition.reviewCard||!d?null:s.definition.reviewCard({attrs:d.attrs,text:d.text??"",...d.data===void 0?{}:{data:d.data}}),[s,d]);if(!s||!d)return null;let{definition:m}=s,c=m.label??m.name,p=!f&&(m.onEdit!==void 0||t!==void 0),w=!f&&o&&d.nodeId!==void 0&&l!==null;return !u&&!p&&!w?null:jsxs(Fragment,{children:[u?jsxs("div",{className:"docx-contextmenu__custom-info","data-testid":"custom-node-info",children:[jsx("span",{className:"docx-contextmenu__custom-title",children:u.title}),u.detail?jsx("span",{className:"docx-contextmenu__custom-detail",children:u.detail}):null]}):null,p?jsx(ContextMenuItem,{label:n("contextMenu.editCustomNode",{label:c}),className:"docx-contextmenu__custom-edit",onSelect:()=>{m.onEdit?.(d),t?.(d,m);}}):null,w?jsx(ContextMenuItem,{label:n("contextMenu.removeCustomNode",{label:c}),className:"docx-contextmenu__custom-remove",onSelect:()=>{let R=q(l,d.nodeId);R.ok||r?.(d,R.reason);}}):null,jsx("div",{role:"separator",className:"docx-toolbar__menu-separator"})]})}qo.docxRowPlacement="start";var Pt=Object.freeze({status:"inactive",reason:void 0,lastFailure:void 0,live:false,diverged:false,attached:false});function Uo(e,t){return e===t?true:!e||!t?false:e.code===t.code&&e.detail===t.detail}function Wr(e,t){return e.status===t.status&&Uo(e.reason,t.reason)&&Uo(e.lastFailure,t.lastFailure)}function Gr(e){return e.attached??false}function Vo(e,t){if(!e)return t.current=Pt,Pt;let r=e.statusSnapshot(),o=Gr(e);if(Wr(t.current,r)&&t.current.attached===o)return t.current;let a=Object.freeze({status:r.status,reason:r.reason,lastFailure:r.lastFailure,live:r.status==="ready",diverged:r.status==="error"||r.status==="destroyed",attached:o});return t.current=a,a}function Qr(e){let t=X(),r=e===void 0?t:e,o=useRef(Pt);return useSyncExternalStore(a=>r?.subscribeStatus(()=>a())??(()=>{}),()=>Vo(r,o),()=>Vo(r,o))}function Xr({collaboration:e,fallback:t=null,author:r,children:o,...a}){let{document:i,modules:l,session:n}=e;if(!i)return jsx(Fragment,{children:t});let s=r??n?.identity.name;return jsx(DocxEditorRoot,{document:i,modules:l,...s!==void 0?{author:s}:{},...a,children:o},n?.sessionId??"local")}var na=Symbol("useDocumentCollaboration.createRoom");async function ra(e){let{createDocumentCollaboration:t}=await import('../document-session-2YB34CXA.js');return t(e)}function aa(e){return e[na]??ra}function ia(e){return e?`${e.documentId}:${e.bootstrap.kind}:${e.identity.actorId}`:""}function sa(e={}){let t=useId(),r=b({ownerKey:`react-document:${t}`,hookName:"useDocumentCollaboration",createRoom:aa(e),hostModules:e.modules??a,autoRoom:e.room??null,autoKey:ia(e.room??null),rejoinOptionsOf:o=>({...o,bootstrap:{kind:"join"}}),identityOf:o=>o.identity});return useMemo(()=>({document:r.document,modules:r.modules,session:r.session,pending:r.pending,error:r.error,connect:r.connect,leave:r.leave}),[r])}export{qr as CustomNodeChrome,qo as CustomNodeContextMenu,_r as DocxEditorCollaboration,Xr as DocxEditorCollaborationRoot,lr as DocxEditorReview,le as activatedCustomNodeOf,ce as resolveCustomNodeActivation,ze as useCollaborationParticipants,X as useCollaborationSession,Qr as useCollaborationStatus,Ae as useCustomNodeDefinitions,sa as useDocumentCollaboration,Te as useReview,Qn as useReviewAuthor,Gn as useReviewItem,to as useReviewOf,yn as useStackedReviewPositions};
1
+ import {j,e,c,q,k}from'../chunk-NQW54J56.js';export{o as reviewModule}from'../chunk-NQW54J56.js';import {b,a}from'../chunk-HJB77VBO.js';export{b as collaborationModule}from'../chunk-Q2VBO66F.js';import {createContext,useMemo,useEffect,useCallback,useRef,useContext,useSyncExternalStore,useState,isValidElement,cloneElement,useId,Children,Fragment as Fragment$1}from'react';import {useDocxEditor,useEditorState,useTranslation,ReviewRailContext,useReviewGutter,REVIEW_PANE_GUTTER,useReviewAuthors,Slot,notificationYieldsToTask,useContextMenuTarget,ContextMenuItem,DocxEditorRoot}from'@docx-editor.dev/react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {createPortal}from'react-dom';import {safeParticipantColor}from'@docx-editor.dev/core/collaboration';import {customNodePayloadsByControl}from'@docx-editor.dev/core/store';import {partOfNodeId}from'@docx-editor.dev/core/editor';var rn=new Set(["List","Markers","AddComment","Draft","Balloon"]),an=new Set(["Card","Empty"]);function De(e,t){let r=t==="root"?rn:an,o={},a=[],i=l=>{if(Array.isArray(l)){for(let s of l)i(s);return}if(!isValidElement(l)){l!=null&&l!==false&&a.push(l);return}if(l.type===Fragment$1){i(l.props.children);return}let n=l.type.docxReviewPart;n&&r.has(n)?o[n]=l:a.push(l);};return i(e),{parts:o,rest:a}}function at(e,t){if(!t)return e;let r=e.props.className;return cloneElement(e,{className:`${t}${r?` ${r}`:""}`})}var sn={scale:96/72,top:0,left:null,compactCardLeft:null},ln=16,ve=300,cn=12,ke=600;function Jt(e,t,r,o,a=false){let[i,l]=useState(sn);return useEffect(()=>{let n=t.current;if(!e||!n)return;let s=n.offsetParent,d=s?.querySelector(".docx-paginated-surface")??null,f=()=>{l(p=>{let w=d&&s?d.getBoundingClientRect():null,R=w&&s?s.getBoundingClientRect():null,C=w&&R&&s?w.right-R.left-s.clientLeft+s.scrollLeft+ln:null,y={scale:e.getRenderScale(),top:w&&R&&s?w.top-R.top-s.clientTop+s.scrollTop:0,left:C,compactCardLeft:C===null||!s?null:s.scrollLeft+s.clientWidth-C-ve-cn};return p.scale===y.scale&&p.top===y.top&&p.left===y.left&&p.compactCardLeft===y.compactCardLeft?p:y});};f();let u=new ResizeObserver(f);if(s&&u.observe(s),d&&u.observe(d),!a||!s)return ()=>u.disconnect();let m=0,c=()=>{m===0&&(m=requestAnimationFrame(()=>{m=0,f();}));};return s.addEventListener("scroll",c,{passive:true}),()=>{m!==0&&cancelAnimationFrame(m),s.removeEventListener("scroll",c),u.disconnect();}},[e,t,r,o,a]),i}function Xt(e,t,r){let[o,a]=useState(null);return useEffect(()=>{let i=t.current,l=i?.offsetParent;if(!l)return;let n=0,s=()=>{n=0,a(m=>{let c=l.scrollTop-ke,p=l.scrollTop+l.clientHeight+ke;return m&&m.top===c&&m.bottom===p?m:{top:c,bottom:p}});},d=0,f=()=>{n===0&&(n=requestAnimationFrame(s)),i?.setAttribute("data-scrolling",""),window.clearTimeout(d),d=window.setTimeout(()=>i?.removeAttribute("data-scrolling"),150);};s(),l.addEventListener("scroll",f,{passive:true});let u=new ResizeObserver(f);return u.observe(l),()=>{n!==0&&cancelAnimationFrame(n),window.clearTimeout(d),l.removeEventListener("scroll",f),u.disconnect();}},[e,t,r]),o}function eo(e){let t=useRef(new WeakMap),r=useRef(new Map),o=useRef(null),a=useCallback((i,l)=>{let n=r.current.get(l);if(!i){n&&(o.current?.unobserve(n),t.current.delete(n),r.current.delete(l));return}typeof ResizeObserver>"u"||(e(l,i.offsetHeight),o.current??=new ResizeObserver(s=>{for(let d of s){let f=t.current.get(d.target);f&&e(f,d.target.offsetHeight);}}),!(n===i&&t.current.get(i)===l)&&(n&&(o.current.unobserve(n),t.current.delete(n)),t.current.set(i,l),r.current.set(l,i),o.current.observe(i)));},[e]);return useEffect(()=>()=>{o.current?.disconnect(),r.current.clear();},[]),a}function pn(e){let t=false;return ()=>{if(!t){if(!notificationYieldsToTask()){e();return}t=true,setTimeout(()=>{t=false,e();},0);}}}function wn(e){let t=e.snapshot?.();return JSON.stringify(t?.hiddenReviewAuthors??[])}function Te(e){let t=useDocxEditor();return to(t,e)}function to(e,t){let r=useCallback(y=>{if(!e)return ()=>{};let g=false,A=pn(()=>{g||y();}),E=e.on("change",A),h=e.on("selectionChange",A),M=e.on("error",A);return ()=>{g=true,E(),h(),M();}},[e]),o=useSyncExternalStore(r,()=>e?`${e.getReviewRevision()}:${e.getEditingMode()}:${wn(e)}`:"none",()=>"none"),a=useMemo(()=>e?e.getReviewItems(t).filter(y=>y.item.kind!=="custom"||y.item.carded):[],[e,o,t]),i=useMemo(()=>a.find(y=>y.isActive)?.key??null,[a]),l=useCallback((y,g)=>e?e.setActiveReviewItem(y,g).ok:false,[e]),n=useCallback(y=>!e||y.kind!=="revision"||y.readOnly?false:e.acceptReviewItem(y.key).ok,[e]),s=useCallback(y=>!e||y.kind!=="revision"||y.readOnly?false:e.rejectReviewItem(y.key).ok,[e]),d=useCallback(y=>!e||y.kind!=="comment"?false:e.setCommentResolved(y.key,true).ok,[e]),f=useCallback(y=>!e||y.kind!=="comment"?false:e.setCommentResolved(y.key,false).ok,[e]),u=e?.getEditingMode()==="viewing"?"the document is open for viewing":null,m=useCallback(y=>!e||y.kind==="custom"||y.kind==="revision"&&y.readOnly?false:e.deleteReviewItem(y.key).ok,[e]),c=useCallback((y,g,A)=>g.trim().length===0||!e?false:e.replyToReviewItem(y.key,g,A).ok,[e]),p=useMemo(()=>e?e.getSelectionPlacement()?.anchorY??null:null,[e,o]),w=useCallback((y,g)=>y.trim().length===0||!e?false:e.addComment(y,g).ok,[e]),R=useMemo(()=>e?e.isReviewPaneOpen():true,[e,o]),C=useCallback(y=>{!e||e.isReviewPaneOpen()===y||e.exec({type:"toggleReviewPane"});},[e]);return useMemo(()=>({items:a,activeKey:i,setActive:l,accept:n,reject:s,resolve:d,reopen:f,commentResolutionDisabledReason:u,remove:m,reply:c,selectionAnchorY:p,comment:w,paneOpen:R,setPaneOpen:C,ready:e!==null&&!e.snapshot().isLoading&&e.snapshot().parseError===null}),[a,i,l,n,s,d,f,u,m,c,p,w,R,C,e])}function yn(e,t,r={}){let o=r.gap??8,a=r.scale??1,i=r.defaultHeight??0;return useMemo(()=>{let l=new Map,n=Number.NEGATIVE_INFINITY;for(let s of e){let d=s.anchorY===null?Number.isFinite(n)?n:0:Math.max(s.anchorY,n);l.set(s.key,d),n=d+((t.get(s.key)??i)+o)/a;}return l},[e,t,o,a,i])}var st=8;function lt(e,t){return e?.color??`var(--doc-review-author-${t%st})`}function ae(e,t,r){return e?{"--doc-review-author-current":lt(t,r)}:{}}function pe(e,t){return (e?.slot??t)%st}function oo(e,t,r,o){let a=useRef(new Map);return useMemo(()=>{let i=new Map;for(let n of e)i.set(n.author,n);let l=[...t.map(n=>n.author),o?.getConfiguredAuthor()];for(let n of l){if(!n||i.has(n))continue;let s=r.get(n)??0,d=o?.getReviewAuthorStyle(n),f=d?.color??`var(--doc-review-author-${s%st})`,u=a.current.get(n),m=u!==void 0&&u.slot===s&&u.color===f&&u.style===d?u:{author:n,slot:s,color:f,...d?{style:d}:{}};a.current.set(n,m),i.set(n,m);}return i},[e,t,r,o])}var $=e=>jsx("svg",{viewBox:"0 -960 960 960",width:16,height:16,"aria-hidden":"true",focusable:"false",children:jsx("path",{d:e,fill:"currentColor"})}),ro="M440-400h80v-120h120v-80H520v-120h-80v120H320v80h120v120ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z",no="M240-400h480v-80H240v80Zm0-120h480v-80H240v80Zm0-120h480v-80H240v80ZM880-80 720-240H160q-33 0-56.5-23.5T80-320v-480q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v720ZM160-320h594l46 45v-525H160v480Zm0 0v-480 480Z",Cn="M880-80 720-240H160q-33 0-56.5-23.5T80-320v-480q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v720ZM160-320h594l46 45v-525H160v480Zm0 0v-480 480Z",we="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z",Le=()=>jsxs("span",{className:"docx-review__resolved-icon",children:[jsx("span",{className:"docx-review__resolved-comment",children:$(Cn)}),jsx("span",{className:"docx-review__resolved-tick",children:$(we)})]}),ao="M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z",io="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z",so="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z",gn="M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z",hn="M486-160q-76 0-135-45t-85-123l88-38q14 48 48.5 78t85.5 30q42 0 76-20t34-64q0-18-7-33t-19-27h112q5 14 7.5 28.5T694-341q0 86-61.5 133.5T486-160ZM80-520v-80h800v80H80Zm402-360q66 0 116 30t74 84l-88 38q-11-28-38.5-47T480-794q-42 0-72 19t-30 51q0 15 6 27t18 22H272q-6-13-9-27t-3-30q0-70 55-114t167-44Z",xn="M360-160q-83 0-141.5-58.5T160-360v-360q0-83 58.5-141.5T360-920q83 0 141.5 58.5T560-720v360q0 83-58.5 141.5T360-160Zm0-80q50 0 85-35t35-85v-360q0-50-35-85t-85-35q-50 0-85 35t-35 85v360q0 50 35 85t85 35Zm300 80q29 0 49.5-20.5T730-230q0-22-12.5-40T684-296l-64-32v-232l100 100q23 23 51.5 35.5T832-412v-80q-17 0-32-6.5T773-517L633-657q-12-12-27.5-17.5T573-680h-13v520h100ZM360-720Z",An="M580-360q-25 0-42.5-17.5T520-420v-160q0-25 17.5-42.5T580-640h160q25 0 42.5 17.5T800-580v260q0 66-47 113t-113 47v-80q33 0 56.5-23.5T720-320v-40H580Zm-360 0q-25 0-42.5-17.5T160-420v-160q0-25 17.5-42.5T220-640h160q25 0 42.5 17.5T440-580v260q0 66-47 113t-113 47v-80q33 0 56.5-23.5T360-320v-40H220Z";function lo(e){if(e.kind==="comment")return no;if(e.kind==="custom")return e.item.icon??An;switch(e.revisionKind){case "insert":case "moveTo":return gn;case "delete":case "moveFrom":return hn;case "format":return xn;default:return no}}function In(e,t){return typeof t!="function"?e:typeof e!="function"?t:r=>{e(r),r.defaultPrevented||t(r);}}function _n(e,t){let r={...e,...t};for(let o of Object.keys(e))/^on[A-Z]/.test(o)?r[o]=In(t[o],e[o]):o==="className"?r[o]=[e[o],t[o]].filter(Boolean).join(" "):o==="style"&&(r[o]={...e[o],...t[o]});return r}function mo(e){return e==="Enter"||e===" "}function Sn(e){return mo(e.key)?(e.preventDefault(),e.stopPropagation(),true):false}function uo(e){return e.type==="button"}function Mn(e,t){return e.type==="a"||t.href!=null}function Dn(e,t,r,o){let a=i=>{typeof r=="function"&&r(i);};return {onClick:i=>{typeof e=="function"&&e(i),i.defaultPrevented||a(i),o&&i.preventDefault();},onKeyDown:i=>{if(typeof t=="function"&&t(i),!mo(i.key))return;i.defaultPrevented||a(i),o&&i.preventDefault();}}}function Q({engineDisabled:e,disabledReason:t,slotProps:r,children:o}){let a=Children.only(o);if(!isValidElement(a))return null;let i=a.props,l=_n(r,i);if(!e){if(!uo(a)){let n=Dn(i.onClick,i.onKeyDown,r.onClick,Mn(a,i));l.onClick=n.onClick,l.onKeyDown=n.onKeyDown;}return cloneElement(a,l)}if(uo(a))l.disabled=true,delete l["aria-disabled"];else {delete l.disabled,l["aria-disabled"]=true,l["data-disabled"]="",l.tabIndex=-1,l.href=void 0,l.role===void 0&&(l.role="button");let n=l.onKeyDown;l.onKeyDown=s=>{Sn(s)||typeof n=="function"&&n(s);};}return t&&(l.title=t),l.onClick=n=>{n.preventDefault(),n.stopPropagation();},cloneElement(a,l)}var po=createContext({key:null,open:()=>{},close:()=>{}});function wo({items:e,children:t}){let[r,o]=useState(null);useEffect(()=>{r!==null&&!e.some(i=>i.key===r&&i.kind==="comment"&&i.resolved)&&o(null);},[e,r]);let a=useMemo(()=>({key:r,open:i=>o(i),close:()=>o(null)}),[r]);return jsx(po.Provider,{value:a,children:t})}function ct(){return useContext(po)}function yo({label:e,statusLabel:t,entryKey:r,onActivate:o,onDeactivate:a,children:i,...l}){let n=ct(),s=useRef(null);return useEffect(()=>{let d=f=>{let u=s.current;u?.open&&f.target instanceof Node&&!u.contains(f.target)&&(n.close(),a());};return document.addEventListener("pointerdown",d,true),()=>document.removeEventListener("pointerdown",d,true)},[n,a]),jsxs("details",{ref:s,...l,open:n.key===r,onToggle:d=>{d.currentTarget.open?(n.open(r),o()):(n.close(),a());},children:[jsxs("summary",{className:"docx-review__resolved-toggle","aria-label":e,children:[jsx("span",{className:"docx-review__resolved-status",children:t}),Le()]}),i]})}function Ro(e){function t({className:o,asChild:a,hidden:i,children:l,icon:n}){let s=e.useReview(),d=e.useItem(),f=e.useLabel();if(i||!d||d.kind!=="comment"||d.resolved)return null;let u=f("comments.resolve"),m=s.commentResolutionDisabledReason!==null,c=m?f("editingMode.viewingHint"):null,p={type:"button",className:`docx-review__action${o?` ${o}`:""}`,"data-testid":"review-resolve","aria-label":u,title:c??u,disabled:m,onMouseDown:e.guardMousedown,onClick:w=>{w.stopPropagation(),!m&&s.resolve(d);}};return a?jsx(Q,{engineDisabled:m,disabledReason:c,slotProps:p,children:l}):jsx("button",{...p,children:n??l??$(we)})}t.docxReviewPart="Resolve";function r({className:o,asChild:a,hidden:i,children:l,icon:n}){let s=e.useReview(),d=e.useItem(),f=e.useLabel();if(i||!d||d.kind!=="comment"||!d.resolved)return null;let u=f("comments.reopen"),m=s.commentResolutionDisabledReason!==null,c=m?f("editingMode.viewingHint"):null,p={type:"button",className:`docx-review__action${o?` ${o}`:""}`,"data-testid":"review-reopen","aria-label":u,title:c??u,disabled:m,onMouseDown:e.guardMousedown,onClick:w=>{w.stopPropagation(),!m&&s.reopen(d);}};return a?jsx(Q,{engineDisabled:m,disabledReason:c,slotProps:p,children:l}):jsx("button",{...p,children:n??l??$(ao)})}return r.docxReviewPart="Reopen",{ReviewResolve:t,ReviewReopen:r}}function go(e){function t({top:o=0,left:a=null,className:i,hidden:l}){let{review:n,endDraft:s,measure:d,readOnly:f,draftAuthor:u,draftAuthorInfo:m,draftAuthorSlot:c}=e.useRail(),p=e.useLabel(),[w,R]=useState(""),[C,y]=useState(false),g=useRef(null),A=useId();useEffect(()=>{f||g.current?.focus({preventScroll:true});},[]);let E=useCallback(()=>{if(f||w.trim().length===0)return;let h=n.comment(w.trim());y(!h),h&&(R(""),s());},[f,w,n,s]);return l?null:jsx("div",{className:`docx-review__slot${i?` ${i}`:""}${a===null?"":" docx-review__slot--compact"}`,style:{position:"absolute",top:o,...a===null?{}:{left:a,width:ve}},ref:h=>{d(h,e.composeKey);},children:jsx("div",{className:"docx-review__card","data-testid":"review-draft","data-draft":"",...u?{"data-review-author":u,"data-review-author-slot":c}:{},style:ae(u??void 0,m,c),children:jsxs("form",{className:"docx-review__reply-box",onSubmit:h=>{h.preventDefault(),E();},children:[jsx("label",{className:"docx-editor-sr-only",htmlFor:A,children:p("comments.addComment")}),jsx("input",{id:A,ref:g,"data-testid":"review-draft-input",className:"docx-review__input",value:w,placeholder:p("comments.addComment"),readOnly:f,...C?{"aria-invalid":true}:{},onChange:h=>{f||(y(false),R(h.target.value));},onKeyDown:h=>{if(h.key==="Escape"){h.preventDefault(),s();return}f||h.key!=="Enter"||(h.preventDefault(),E());}}),jsxs("div",{className:"docx-review__reply-actions",children:[jsx("button",{type:"button","data-testid":"review-draft-cancel",className:"docx-review__text-button",onMouseDown:e.guardMousedown,onClick:s,children:p("common.cancel")}),jsx("button",{type:"submit","data-testid":"review-draft-submit",className:"docx-review__submit",disabled:f||w.trim().length===0,title:f?p("editingMode.viewingHint"):void 0,children:p("common.comment")})]}),C?jsx("span",{className:"docx-review__refused",role:"alert",children:p("review.commentRefused")}):null]})})})}t.docxReviewPart="Draft";function r({className:o,hidden:a,children:i}){let{review:l,readOnly:n}=e.useRail(),s=e.useItem(),d=e.useLabel(),[f,u]=useState(""),[m,c]=useState(false),p=useId(),w=useCallback(()=>{if(!s||n||f.trim().length===0)return;let R=l.reply(s,f.trim());c(!R),R&&u("");},[s,n,f,l]);return a||!s||!s.isActive||s.kind==="comment"&&s.resolved?null:i?jsx(Fragment,{children:i}):jsxs("form",{className:`docx-review__reply-box${o?` ${o}`:""}`,onSubmit:R=>{R.preventDefault(),w();},children:[jsx("label",{className:"docx-editor-sr-only",htmlFor:p,children:d("comments.replyPlaceholder")}),jsx("input",{id:p,"data-testid":"review-reply-input",className:"docx-review__input",value:f,placeholder:d("comments.replyPlaceholder"),readOnly:n,...m?{"aria-invalid":true,"data-refused":""}:{},onChange:R=>{n||(c(false),u(R.target.value));},onClick:R=>R.stopPropagation(),onKeyDown:R=>{n||R.key!=="Enter"||(R.preventDefault(),w());}}),jsxs("div",{className:"docx-review__reply-actions",children:[jsx("button",{type:"button","data-testid":"review-reply-cancel",className:"docx-review__text-button",onMouseDown:e.guardMousedown,onClick:R=>{R.stopPropagation(),u(""),c(false),l.setActive(null);},children:d("common.cancel")}),jsx("button",{type:"submit","data-testid":"review-reply-submit",className:"docx-review__submit",disabled:n||f.trim().length===0,title:n?d("editingMode.viewingHint"):void 0,children:d("review.reply")})]}),m?jsx("span",{className:"docx-review__refused",role:"alert","data-testid":"review-reply-refused",children:d("review.replyRefused")}):null]})}return r.docxReviewPart="Reply",{ReviewDraft:t,ReviewReply:r}}function dt(e,t){if(e==="paragraphMark")return t==="delete"?"revisions.paragraphMarkDeleted":t==="moveFrom"?"revisions.paragraphMarkMovedFrom":t==="moveTo"?"revisions.paragraphMarkMovedTo":"revisions.paragraphMarkInserted";switch(e){case "insert":return "review.inserted";case "delete":return "review.deleted";case "replace":return "review.replaced";case "moveFrom":return "review.movedFrom";case "moveTo":return "review.movedTo";case "format":return "revisions.runPropertiesChanged";default:return "review.structural"}}var Wn=e=>e.isLoading||e.parseError!==null||e.pageSetup==null,Gn=e=>e.editingMode==="viewing",ft=createContext(null),_=createContext(null);function Qn(){return useContext(_)}function Jn(e){let{authorInfo:t}=H();return e===void 0?void 0:t.get(e)}var Ke="\0compose",Xn=72,er=64,tr=480,or=30,nr=Object.freeze({placement:false});function vt(e,t){return e.kind!=="comment"?false:e.parentId!==void 0?t.has(e.parentId):e.parentRevisionId!==void 0?t.has(e.parentRevisionId):false}function pt(e){return new Set(e.map(t=>t.id))}function Y(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function H(){let e=useContext(ft);return e||rr}function K(){let{t:e}=useContext(ft)??{},{t}=useTranslation();return useCallback(r=>e?.(r)??t(r),[e,t])}var{ReviewResolve:No,ReviewReopen:Po}=Ro({useReview:()=>H().review,useItem:()=>useContext(_),useLabel:K,guardMousedown:Y}),{ReviewDraft:Io,ReviewReply:_o}=go({useRail:H,useItem:()=>useContext(_),useLabel:K,guardMousedown:Y,composeKey:Ke}),rr={t:void 0,cardClassName:void 0,readOnly:false,review:{items:[],activeKey:null,setActive:()=>false,accept:()=>false,reject:()=>false,resolve:()=>false,reopen:()=>false,commentResolutionDisabledReason:null,remove:()=>false,reply:()=>false,selectionAnchorY:null,comment:()=>false,paneOpen:true,setPaneOpen:()=>{},ready:false},allItems:[],authorSlots:new Map,authorInfo:new Map,draftAuthor:null,draftAuthorInfo:void 0,draftAuthorSlot:0,byId:new Map,measure:()=>{},beginDraft:()=>{},endDraft:()=>{}};function ar({className:e,furniture:t,asChild:r,hidden:o,children:a,t:i,card:l,preset:n=true,stack:s=true,gap:d=8,filter:f,structural:u=false,formatting:m=false}){let c=useDocxEditor(),p=useEditorState(Wn),w=useEditorState(Gn),R=useMemo(()=>{let b=[];return u||b.push("structural"),m||b.push("format"),b.length>0?b:void 0},[u,m]),C=useMemo(()=>R?{excludeRevisionKinds:R}:void 0,[R]);useEffect(()=>(c?.setReviewActivationExclusions(R??null),()=>c?.setReviewActivationExclusions(null)),[c,R]);let y=Te(nr),g=Te(C),A=g.setPaneOpen,{t:E}=useTranslation(),h=useCallback(b=>i?.(b)??E(b),[i,E]),M=useRef(null),oe=useContext(ReviewRailContext);useEffect(()=>oe?.register(),[oe]);let Z=g.paneOpen,de=useReviewGutter(),ne=Z&&de.inlineEnd>0&&de.inlineEnd<REVIEW_PANE_GUTTER,Ne=Z&&!ne,T=useMemo(()=>f?g.items.filter(b=>f(b)):g.items,[g.items,f]),q=useSyncExternalStore(useCallback(b=>c?.on("selectionChange",b)??(()=>{}),[c]),()=>c?.getConfiguredAuthor()??null,()=>null),Pe=useMemo(()=>{let b=new Map;for(let x of T)x.author&&!b.has(x.author)&&b.set(x.author,b.size);return q&&!b.has(q)&&b.set(q,b.size),b},[T,q]),It=useMemo(()=>{let b=new Map;for(let x of T)b.set(x.id,x);return b},[T]),[_t,Yo]=useState(()=>new Map),Zo=useCallback((b,x)=>{x<=0||Yo(P=>{if(P.get(b)===x)return P;let D=new Map(P);return D.set(b,x),D});},[]),St=eo(Zo),I=Jt(c,M,T,!p&&!o,ne),ue=Xt(c,M,!p&&!o);useEffect(()=>{let b=M.current;if(!c||!b)return;let x=P=>{let D=P.target;if(!(D instanceof Node)||b.contains(D))return;let k=b.offsetParent;!k||!k.contains(D)||k.querySelector(".docx-paginated-surface")?.contains(D)||c.setActiveReviewItem(null);};return document.addEventListener("mousedown",x,true),()=>document.removeEventListener("mousedown",x,true)},[c,p,o]);let[V,Je]=useState(null),Xe=useRef(null),j=useCallback(()=>{let b=Xe.current;b&&(b.editor.releaseSelection(b.pin),Xe.current=null);},[]),Ie=useCallback(()=>{if(!c||w)return;let b=c.getSelectionPlacement()?.anchorY??null;if(b===null)return;j();let x=c.retainSelection();x&&(Xe.current={editor:c,pin:x},A(true),Je(b));},[c,w,j,A]);useEffect(()=>{if(!(o||w))return oe?.registerCommentDraft(Ie)},[Ie,o,w,oe]);let Mt=useCallback(()=>{j(),Je(null),c?.focus();},[c,j]);useEffect(()=>j,[j]),useEffect(()=>{Z||V===null||(j(),Je(null));},[Z,V,j]);let et=V??g.selectionAnchorY,F=useMemo(()=>{let b=pt(T);return T.filter(x=>!vt(x,b))},[T]),Dt=useMemo(()=>{if(V===null)return F;let b=F.findIndex(P=>P.anchorY!==null&&P.anchorY>V),x={key:Ke,anchorY:V};return b===-1?[...F,x]:[...F.slice(0,b),x,...F.slice(b)]},[F,V]),kt=useMemo(()=>{let b=new Map(_t);for(let x of F){if(b.has(x.key))continue;let P=x.text.length+(x.kind==="revision"?x.replacedText?.length??0:0),D=Math.min(6,Math.max(1,Math.ceil(P/36)));b.set(x.key,64+D*20);}return b},[_t,F]),{stacked:tt,collapsedKeys:Tt}=useMemo(()=>{let b=I.scale,x=new Map,P=new Set,D=Number.NEGATIVE_INFINITY;for(let k of Dt){let Me=k.anchorY===null?Number.isFinite(D)?D:0:Math.max(k.anchorY,D);x.set(k.key,Me);let Go=k.anchorY===null?0:(Me-k.anchorY)*b,Qo="isActive"in k&&k.isActive,Ft=Go>tr&&!Qo&&k.key!==Ke;Ft&&P.add(k.key);let Jo=Ft?er:kt.get(k.key)??Xn;D=Me+(Jo+d)/b;}return {stacked:x,collapsedKeys:P}},[Dt,kt,d,I.scale]),ot=et===null?null:I.top+(ne?et:tt.get(Ke)??et)*I.scale,me=l?.className,jo=useReviewAuthors(),nt=oo(jo,T,Pe,c),Ot=q?Pe.get(q)??0:0,Lt=q?nt.get(q):void 0,Bo=useMemo(()=>({t:i,cardClassName:me,readOnly:w,review:{...g,items:T},allItems:y.items,authorSlots:Pe,authorInfo:nt,draftAuthor:q,draftAuthorInfo:Lt,draftAuthorSlot:Ot,byId:It,measure:St,beginDraft:Ie,endDraft:Mt}),[i,me,w,g,y.items,T,Pe,nt,q,Lt,Ot,It,St,Ie,Mt]);if(o||p)return null;let Ht={ref:M,className:`docx-review${e?` ${e}`:""}`,"data-testid":"review-rail","data-count":T.length,"data-open":Ne?"":void 0,"data-compact":ne?"":void 0,role:"complementary","aria-label":h("review.ariaLabel"),onMouseDown:Y,style:I.left===null?void 0:{left:I.left,right:"auto"}},z=typeof a=="function"?{parts:{},rest:a}:De(a,"root"),W=z.parts,fe=(b,x)=>{if(!(b in W))return x;let P=W[b];return !isValidElement(P)||!isValidElement(x)?P:cloneElement(P,{...x.props,...P.props})},$t=jsxs(Fragment,{children:[n||"AddComment"in W?fe("AddComment",jsx(yt,{top:ot,drafting:V!==null})):null,!Z||V===null||ot===null||!n&&!("Draft"in W)?null:fe("Draft",jsx(Io,{top:ot,left:ne?I.compactCardLeft:null})),n||"Balloon"in W?fe("Balloon",jsx(Rt,{})):null]}),zo=jsx(qe,{stack:s,positions:tt,collapsed:Tt,scale:I.scale,offset:I.top,window:ue,children:z.rest}),Kt=jsx(wt,{scale:I.scale,offset:I.top,window:ue}),G=ne?F.find(b=>b.key===g.activeKey)??null:null,qt=G===null?null:G.anchorY!==null?I.top+G.anchorY*I.scale:ue!==null?ue.top+ke+24:null,_e=r?null:z.rest,Se=typeof _e=="function"?null:De(_e,"list"),Ut=typeof _e=="function"?G&&_e(G):Se?.parts.Card&&isValidElement(Se.parts.Card)?at(Se.parts.Card,me):n?jsx(Ue,{...me?{className:me}:{},children:Se?.rest}):null,Vt=G&&qt!==null&&I.compactCardLeft!==null&&Ut?jsx(_.Provider,{value:G,children:jsx("div",{className:"docx-review__slot docx-review__slot--compact","data-testid":"review-compact-card",style:{position:"absolute",top:qt,left:I.compactCardLeft,width:ve},children:Ut})}):null,Wo=Ne?n||"List"in W?fe("List",zo):typeof z.rest=="function"?null:z.rest:n||"Markers"in W?jsxs(Fragment,{children:[fe("Markers",Kt),Vt]}):typeof z.rest=="function"?null:z.rest;return jsx(wo,{items:T,children:jsx(ft.Provider,{value:Bo,children:r&&isValidElement(a)?jsx(Slot,{...Ht,children:cloneElement(a,void 0,a.props.children,n?Ne?jsx(qe,{stack:s,positions:tt,collapsed:Tt,scale:I.scale,offset:I.top,window:ue}):jsxs(Fragment,{children:[Kt,Vt]}):null,$t)}):jsxs("aside",{...Ht,children:[Ne&&t!==void 0?jsx("div",{className:"docx-review__furniture","data-testid":"review-furniture",children:t}):null,Wo,$t]})})})}function qe({stack:e=true,positions:t,collapsed:r,scale:o=1,offset:a=0,window:i=null,children:l,className:n,hidden:s}){let{review:d,measure:f,cardClassName:u}=H();if(s)return null;let m=typeof l=="function"?null:De(l,"list"),c=pt(d.items),p=d.items.filter(w=>!vt(w,c));return p.length===0?typeof l=="function"?null:m?.parts.Empty??jsx(bt,{}):jsx("div",{className:`docx-review__list${n?` ${n}`:""}`,children:p.map(w=>{let R=e?t?.get(w.key)??w.anchorY:w.anchorY,C=R==null?null:a+R*o;if(C!==null&&i&&(C<i.top||C>i.bottom))return null;let y=C===null?{}:{position:"absolute",top:C};return jsx(_.Provider,{value:w,children:jsx("div",{className:"docx-review__slot",style:y,...r?.has(w.key)?{"data-collapsed":""}:{},ref:g=>{f(g,w.key);},children:typeof l=="function"?l(w):m?.parts.Card&&isValidElement(m.parts.Card)?at(m.parts.Card,u):jsx(Ue,{...u?{className:u}:{},children:m?.rest})})},w.key)})})}qe.docxReviewPart="List";function wt({scale:e=1,offset:t=0,window:r=null,className:o,hidden:a,icon:i}){let{review:l,authorSlots:n,authorInfo:s}=H(),d=ct(),f=K(),{roots:u,stackedTops:m}=useMemo(()=>{let c=pt(l.items),p=l.items.filter(C=>!vt(C,c)),w=new Map,R=Number.NEGATIVE_INFINITY;for(let C of p){if(C.anchorY===null)continue;let y=Math.max(t+C.anchorY*e,R);w.set(C.key,y),R=y+or;}return {roots:p,stackedTops:w}},[l.items,t,e]);return a?null:jsx("div",{className:`docx-review__markers${o?` ${o}`:""}`,children:u.map(c=>{let p=m.get(c.key);return p===void 0||r&&(p<r.top||p>r.bottom)?null:jsx("button",{type:"button",className:"docx-review__marker","data-testid":"review-marker","data-kind":c.kind==="revision"?c.revisionKind:c.kind,...c.author?{"data-review-author":c.author,"data-review-author-slot":pe(s.get(c.author),n.get(c.author)??0)}:{},style:{position:"absolute",top:p,...c.author?{"--doc-review-author-current":lt(s.get(c.author),n.get(c.author)??0)}:{}},title:c.author?`${c.author}: ${c.text}`:c.text,"aria-label":`${f("review.showPane")}: ${c.author?`${c.author}. `:""}${c.text}`,onMouseDown:Y,onClick:()=>{c.kind==="comment"&&c.resolved&&d.open(c.key),l.setPaneOpen(true),l.setActive(c.key);},children:(typeof i=="function"?i(c):i)??(c.kind==="comment"&&c.resolved?Le():$(lo(c)))},c.key)})})}wt.docxReviewPart="Markers";function yt({top:e=null,drafting:t=false,className:r,hidden:o,children:a}){let{beginDraft:i,readOnly:l}=H(),n=K();if(o||t||e===null||l)return null;let s={type:"button",className:`docx-review__add${r?` ${r}`:""}`,"data-testid":"review-add-comment",style:{position:"absolute",top:e},"aria-label":n("common.comment"),title:n("common.comment"),onMouseDown:Y,onClick:i};return a?jsx(Slot,{...s,children:a}):jsx("button",{...s,children:$(ro)})}yt.docxReviewPart="AddComment";function Rt({className:e,hidden:t}){let{review:r,allItems:o,authorSlots:a,authorInfo:i}=H(),l=K(),n=useRef(null),[s,d]=useState(null),f=useRef(false);f.current=s!==null,useEffect(()=>{let w=n.current,R=w?.closest(".docx-review"),C=R?.closest(".docx-editor__scroll-container")??R?.offsetParent;if(!w||!R||!C)return;let y=(A,E)=>{let h=R.getBoundingClientRect(),M=A.getBoundingClientRect(),oe=A.ownerDocument.defaultView?.innerHeight??1/0,Z=Number(A.dataset.start),de=Number(A.dataset.end);d({revisionId:A.dataset.revisionId,author:A.dataset.reviewAuthor??"",...A.dataset.revisionDate!==void 0?{date:A.dataset.revisionDate}:{},...A.dataset.revisionKind!==void 0?{kind:A.dataset.revisionKind}:{},structuralSite:E,...A.dataset.paragraphId!==void 0?{paragraphId:A.dataset.paragraphId}:{},...Number.isFinite(Z)?{start:Z}:{},...Number.isFinite(de)?{end:de}:{},left:M.left-h.left,top:M.top-h.top,bottom:M.bottom-h.top,above:M.bottom+220>oe});},g=A=>{let E=A.target;if(!(E instanceof Element)||w.contains(E))return;let h=E.closest("[data-revision-id]");if(h instanceof HTMLElement&&C.contains(h)){let M=h.classList.contains("docx-table-row--revision");if(h.dataset.revisionKind==="format"||M){y(h,M);return}}f.current&&d(null);};return C.addEventListener("pointerdown",g,true),C.addEventListener("mousedown",g,true),()=>{C.removeEventListener("pointerdown",g,true),C.removeEventListener("mousedown",g,true);}},[]);let u=useMemo(()=>{if(!s)return null;let w=null,R=false,C=null,y=false,g=null,A=false;for(let E of o)if(!(E.kind!=="revision"||E.item.kind!=="revision")){for(let h of E.item.addresses)if(h.id===s.revisionId){if(h.author===s.author){if(h.date===s.date)return E;w===null?w=E:w!==E&&(R=true);}C===null?C=E:C!==E&&(y=true);}if(s.paragraphId!==void 0&&s.start!==void 0&&s.end!==void 0&&(E.revisionKind==="format"||E.revisionKind==="structural")){for(let h of E.item.ranges)if(h.start.paragraphId===s.paragraphId&&h.start.offset<s.end&&h.end.offset>s.start){g===null?g=E:g!==E&&(A=true);break}}}return w!==null&&!R?w:C!==null&&!y?C:g!==null&&!A?g:null},[o,s]),m=u&&(u.revisionKind==="format"||u.revisionKind==="structural")?u:null,c=useRef(false);if(useEffect(()=>{if(m){c.current=true;return}c.current&&(c.current=false,d(null));},[m]),t)return null;let p=s?.kind==="format"?"format":"structural";return jsx("div",{ref:n,className:`docx-review__balloon-root${e?` ${e}`:""}`,children:s===null?null:jsx("div",{className:"docx-review__balloon","data-testid":"review-balloon",style:{left:s.left,top:s.above?s.top-6:s.bottom+6,transform:s.above?"translateY(-100%)":void 0},onMouseDown:Y,children:m?jsx(_.Provider,{value:m,children:jsxs("div",{className:"docx-review__card","data-testid":"review-balloon-card","data-kind":m.revisionKind??"revision",...m.author?{"data-review-author":m.author,"data-review-author-slot":pe(i.get(m.author),a.get(m.author)??0)}:{},style:ae(m.author,i.get(m.author),a.get(m.author)??0),onClick:()=>r.setActive(m.key),children:[jsxs("div",{className:"docx-review__head",children:[jsx(be,{}),jsxs("div",{className:"docx-review__meta",children:[jsx(Ce,{}),jsx(ge,{})]}),m.kind==="revision"&&!m.readOnly?jsxs("div",{className:"docx-review__actions",children:[jsx(Ve,{}),jsx(Fe,{})]}):null]}),jsx(he,{})]})}):jsxs("div",{className:"docx-review__card","data-testid":"review-balloon-card","data-kind":p,...s.author?{"data-review-author":s.author,"data-review-author-slot":pe(i.get(s.author),a.get(s.author)??0)}:{},style:ae(s.author,i.get(s.author),a.get(s.author)??0),children:[jsxs("div",{className:"docx-review__head",children:[jsx("span",{className:"docx-review__avatar","aria-hidden":"true",children:ir(s.author)}),jsxs("div",{className:"docx-review__meta",children:[jsx("span",{className:"docx-review__author",children:s.author||l("comments.unknown")}),s.date?jsx(sr,{raw:s.date}):null]})]}),jsx("div",{className:"docx-review__summary",children:jsx("span",{className:"docx-review__label","data-kind":p,children:l(dt(p))})})]})})})}Rt.docxReviewPart="Balloon";function ir(e){let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"?":t.slice(0,2).map(r=>r[0].toUpperCase()).join("")}function sr({raw:e}){let t=new Date(e);return Number.isNaN(t.getTime())?null:jsx("time",{className:"docx-review__time",dateTime:e,children:So.format(t)})}function bt({className:e,hidden:t,children:r}){let o=K();return t?null:jsx("div",{className:`docx-review__empty${e?` ${e}`:""}`,"data-testid":"review-empty",children:r??o("review.empty")})}bt.docxReviewPart="Empty";function Ue({className:e,asChild:t,hidden:r,children:o}){let{review:a,authorSlots:i,authorInfo:l}=H(),n=useContext(_),s=useId(),d=K();if(r||!n)return null;let f=i.get(n.author)??0,u=!t&&n.kind==="comment"&&n.resolved,m={className:`docx-review__card${e?` ${e}`:""}`,"data-testid":"review-card",...u?{}:{"aria-labelledby":`${s}-author ${s}-summary`},"data-kind":n.kind==="revision"?n.revisionKind??"revision":n.kind,...n.author?{"data-review-author":n.author,"data-review-author-slot":pe(l.get(n.author),f)}:{},...n.kind==="custom"&&n.item.kind==="custom"?{"data-node-name":n.item.name}:{},...n.isActive?{"data-active":""}:{},...n.kind==="comment"&&n.resolved?{"data-resolved":""}:{},...u?{"data-resolved-miniature":""}:{},style:ae(n.author,l.get(n.author),f),...u?{}:{tabIndex:0,role:"button"},id:s,...u?{}:{onMouseDown:c=>{c.target?.closest("[data-review-selectable]")||c.currentTarget.focus({preventScroll:true});},onClick:()=>a.setActive(n.key),onKeyDown:c=>{c.target===c.currentTarget&&(c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),a.setActive(n.key)));}}};return t?jsx(Slot,{...m,children:o}):u?jsx(yo,{...m,label:d("review.showResolvedComment"),statusLabel:d("review.resolved"),entryKey:n.key,onActivate:()=>a.setActive(n.key),onDeactivate:()=>a.setActive(null),children:jsx(Ao,{children:o})}):jsx("div",{...m,children:jsx(Ao,{children:o})})}Ue.docxReviewPart="Card";function Ao({children:e}){let t=useContext(_),r=useMemo(()=>lr(e),[e]),o=(i,l)=>i in r?r[i]:l;if(!t)return null;if(t.kind==="custom"&&t.item.kind==="custom"){let i=t.item;return jsxs(Fragment,{children:[jsxs("div",{className:"docx-review__head",children:[o("Avatar",null),jsx("div",{className:"docx-review__meta",children:o("Author",jsx("span",{className:"docx-review__author","data-testid":"review-custom-title",children:i.title}))})]}),o("Summary",i.detail?jsx("div",{className:"docx-review__summary","data-testid":"review-summary","data-review-selectable":"",children:jsx("span",{className:"docx-review__text",children:i.detail})}):null),r.__extra]})}let a=t.kind==="revision"&&!t.readOnly;return jsxs(Fragment,{children:[jsxs("div",{className:"docx-review__head",children:[o("Avatar",jsx(be,{})),jsxs("div",{className:"docx-review__meta",children:[o("Author",jsx(Ce,{})),o("Time",jsx(ge,{}))]}),a||t.kind==="comment"?jsxs("div",{className:"docx-review__actions",children:[o("Accept",jsx(Ve,{})),o("Reject",jsx(Fe,{})),o("Resolve",jsx(No,{})),o("Reopen",jsx(Po,{})),o("Delete",jsx(Ye,{}))]}):null]}),o("Summary",jsx(he,{})),o("Replies",jsx(Ct,{})),o("Reply",jsx(_o,{})),r.__extra]})}function lr(e){let t={},r=[],o=a=>{if(Array.isArray(a)){a.forEach(o);return}if(!a||typeof a!="object"||!("type"in a)){a&&r.push(a);return}if(a.type===Fragment$1){o(a.props.children);return}let i=a.type.docxReviewPart;i?t[i]=a:r.push(a);};return o(e),r.length>0&&(t.__extra=r),t}function be({className:e,asChild:t,hidden:r,children:o}){let{authorInfo:a}=H(),i=useContext(_);if(r||!i||o===void 0&&!i.initials)return null;let l={className:`docx-review__avatar${e?` ${e}`:""}`,"data-testid":"review-avatar","aria-hidden":true};if(t)return jsx(Slot,{...l,children:o});let n=a.get(i.author)?.style?.avatarUrl,s=o??(n?jsx("img",{className:"docx-review__avatar-img",src:n,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"}):void 0)??i.initials;return jsx("span",{...l,children:s})}be.docxReviewPart="Avatar";function Ce({className:e,asChild:t,hidden:r,children:o}){let a=useContext(_),i=K();if(r||!a)return null;let l=a.author||i("comments.unknown"),n={className:`docx-review__author${e?` ${e}`:""}`,"data-testid":"review-author"};return t?jsx(Slot,{...n,children:o}):jsx("span",{...n,children:o??l})}Ce.docxReviewPart="Author";function ge({className:e,asChild:t,hidden:r,children:o}){let a=useContext(_);if(r||!a)return null;let i=a.date;if(!i)return null;let l=new Date(i);if(Number.isNaN(l.getTime()))return null;let n={className:`docx-review__time${e?` ${e}`:""}`,"data-testid":"review-time",dateTime:i};return t?jsx(Slot,{...n,children:o}):jsx("time",{...n,children:o??So.format(l)})}ge.docxReviewPart="Time";var So=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function he({className:e,asChild:t,hidden:r,children:o}){let a=useContext(_),i=K();if(r||!a)return null;let l=a.text,n=a.kind!=="revision"?null:i(dt(a.revisionKind,a.item.markDirection)),s=a.kind==="revision"&&a.revisionKind==="replace",d={className:`docx-review__summary${e?` ${e}`:""}`,"data-testid":"review-summary","data-review-selectable":""};return t?jsx(Slot,{...d,children:o}):jsx("div",{...d,children:o??(s?jsxs("span",{className:"docx-review__text",children:[i("review.replaced")," ",jsxs("span",{className:"docx-review__removed",children:['"',a.replacedText,'"']})," ",i("review.replacedWith")," ",jsxs("span",{className:"docx-review__added",children:['"',l,'"']})]}):jsxs(Fragment,{children:[n?jsx("span",{className:"docx-review__label","data-kind":a.kind==="revision"?a.revisionKind:"revision",children:n}):null,l?jsx("span",{className:"docx-review__text",children:l}):null]}))})}he.docxReviewPart="Summary";function Ve({className:e,asChild:t,hidden:r,children:o,icon:a}){let{readOnly:i,review:l}=H(),n=useContext(_),s=K();if(r||!n||n.kind!=="revision"||n.readOnly)return null;let d=s("review.accept"),f=i?s("editingMode.viewingHint"):null,u={type:"button",className:`docx-review__action${e?` ${e}`:""}`,"data-testid":"review-accept","aria-label":d,title:f??d,disabled:i,onMouseDown:Y,onClick:m=>{m.stopPropagation(),!i&&l.accept(n);}};return t?jsx(Q,{engineDisabled:i,disabledReason:f,slotProps:u,children:o}):jsx("button",{...u,children:a??o??$(we)})}Ve.docxReviewPart="Accept";function Fe({className:e,asChild:t,hidden:r,children:o,icon:a}){let{readOnly:i,review:l}=H(),n=useContext(_),s=K();if(r||!n||n.kind!=="revision"||n.readOnly)return null;let d=s("review.reject"),f=i?s("editingMode.viewingHint"):null,u={type:"button",className:`docx-review__action${e?` ${e}`:""}`,"data-testid":"review-reject","aria-label":d,title:f??d,disabled:i,onMouseDown:Y,onClick:m=>{m.stopPropagation(),!i&&l.reject(n);}};return t?jsx(Q,{engineDisabled:i,disabledReason:f,slotProps:u,children:o}):jsx("button",{...u,children:a??o??$(io)})}Fe.docxReviewPart="Reject";function Ye({className:e,asChild:t,hidden:r,children:o,icon:a}){let{readOnly:i,review:l}=H(),n=useContext(_),{t:s}=useTranslation();if(r||!n||n.kind==="custom"||n.kind==="revision"&&n.readOnly)return null;let d=n.kind==="comment"?s("review.deleteComment"):s("review.discardChange"),f=i?s("editingMode.viewingHint"):null,u={type:"button",className:`docx-review__action${e?` ${e}`:""}`,"data-testid":"review-delete","aria-label":d,title:f??d,disabled:i,onMouseDown:Y,onClick:m=>{m.stopPropagation(),!i&&l.remove(n);}};return t?jsx(Q,{engineDisabled:i,disabledReason:f,slotProps:u,children:o}):jsx("button",{...u,children:a??o??$(so)})}Ye.docxReviewPart="Delete";function Ct({className:e,hidden:t}){let{byId:r}=H(),o=useContext(_);if(t||!o||o.kind==="custom")return null;let a=o.replyIds.map(i=>r.get(i)).filter(i=>i!==void 0);return a.length===0?null:jsx("ol",{className:`docx-review__replies${e?` ${e}`:""}`,children:a.map(i=>jsx(_.Provider,{value:i,children:jsxs("li",{className:"docx-review__reply","data-testid":"review-reply",children:[jsxs("div",{className:"docx-review__head",children:[jsx(be,{}),jsxs("div",{className:"docx-review__meta",children:[jsx(Ce,{}),jsx(ge,{})]}),jsx("div",{className:"docx-review__actions",children:jsx(Ye,{})})]}),jsx(he,{})]})},i.key))})}Ct.docxReviewPart="Replies";var cr=Object.assign(ar,{List:qe,Empty:bt,Card:Ue,Avatar:be,Author:Ce,Time:ge,Summary:he,Accept:Ve,Reject:Fe,Resolve:No,Reopen:Po,Delete:Ye,Replies:Ct,Reply:_o,Markers:wt,AddComment:yt,Draft:Io,Balloon:Rt});var xe=8;function Mo(e){let t=/^var\(--doc-review-author-(\d{1,2})\)$/.exec(e);return t?Number(t[1])%xe:null}function je(e,t,r,o){let a=new Map(e.map(n=>[n.author,n])),i=new Map,l=new Map;for(let n of t){if(l.has(n.actorId))continue;let s=safeParticipantColor(o?.(n.name));if(s!==void 0){l.set(n.actorId,{color:s,slot:Mo(s)});continue}let d=safeParticipantColor(n.color);if(d!==void 0){l.set(n.actorId,{color:d,slot:null});continue}let f=a.get(n.name),u=safeParticipantColor(r?.(n.name));if(u!==void 0){l.set(n.actorId,{color:u,slot:Mo(u)??(f?f.slot%xe:null)});continue}if(f!==void 0){let c=f.slot%xe;l.set(n.actorId,{color:safeParticipantColor(f.color)??`var(--doc-review-author-${c})`,slot:c});continue}let m=i.get(n.name);m===void 0&&(m=e.length+i.size,i.set(n.name,m)),l.set(n.actorId,{color:`var(--doc-review-author-${m%xe})`,slot:m%xe});}return l}function gt(e,t,r,o){return je(e,[t],r,o).get(t.actorId)}function ht(e){let t=e.trim().split(/\s+/,2),r="";for(let o of t){let a=[...o][0];a!==void 0&&(r+=a.toUpperCase());}return r}function Do(e){return [...e].sort((t,r)=>{if(t.isLocal!==r.isLocal)return t.isLocal?-1:1;let o=t.name.localeCompare(r.name);return o!==0?o:t.actorId<r.actorId?-1:t.actorId>r.actorId?1:0})}function Be(e,t,r){for(let o of e)if(o.author===t)return o.style?.avatarUrl;return r?.(t)?.avatarUrl}var mr=e=>e.collaborationStatus;function ee(){let e=useDocxEditor();return useEditorState(mr),e?.collaborationSession()??null}var xt=Object.freeze([]);function pr(e,t){if(e===t)return true;if(e.length!==t.length)return false;for(let r=0;r<e.length;r+=1){let o=e[r],a=t[r];if(o.actorId!==a.actorId||o.name!==a.name||o.color!==a.color||o.role!==a.role||o.isLocal!==a.isLocal)return false}return true}function ko(e,t){if(!e)return t.current=xt,xt;let r=e.participants();return pr(t.current,r)?t.current:(t.current=r,r)}function ze(e){let t=ee(),r=e===void 0?t:e,o=useRef(xt);return useSyncExternalStore(a=>r?.subscribeParticipants(()=>a())??(()=>{}),()=>ko(r,o),()=>ko(r,o))}var To=createContext(null);function Ar(e){return {"--doc-collaboration-accent":e.color}}function Oo(e){return e!==void 0?{avatarUrl:e}:{}}function Lo({participant:e,className:t,children:r}){let o=useDocxEditor(),a=useReviewAuthors(),l=useContext(To)?.get(e.actorId)??gt(a,e,o?s=>o.presenceColorFor(s):void 0,o?s=>o.getReviewAuthorStyle(s)?.color:void 0),n=Er(e.name);return jsx("span",{className:`docx-collaboration-avatar${t?` ${t}`:""}`,"data-collaboration-avatar":"",...e.isLocal?{"data-local":""}:{},...l.slot!==null?{"data-collaboration-author-slot":l.slot}:{},title:e.name,role:"img","aria-label":e.name,style:Ar(l),children:r??(n!==void 0?jsx("img",{className:"docx-collaboration-avatar__image",src:n,alt:""}):ht(e.name))})}function Er(e){let t=useDocxEditor(),r=useReviewAuthors();return Be(r,e,t?o=>t.getReviewAuthorStyle(o):void 0)}function Nr({session:e,max:t,className:r,children:o}){let a=useDocxEditor(),i=ze(e),l=useReviewAuthors(),{t:n}=useTranslation(),s=useMemo(()=>je(l,i,a?p=>a.presenceColorFor(p):void 0,a?p=>a.getReviewAuthorStyle(p)?.color:void 0),[l,i,a]),d=useMemo(()=>{let p=a?R=>a.getReviewAuthorStyle(R):void 0,w=new Map;for(let R of i){if(w.has(R.name))continue;let C=Be(l,R.name,p);C!==void 0&&w.set(R.name,C);}return w},[a,i,l]),f=useMemo(()=>Do(i),[i]);if(f.length===0)return null;let u=t===void 0?f:f.slice(0,Math.max(0,t)),m=f.length-u.length,c=n("collaboration.moreParticipants",{count:m});return jsxs("span",{className:`docx-collaboration-avatars${r?` ${r}`:""}`,"data-collaboration-avatars":"",role:"group","aria-label":n("collaboration.participants"),children:[jsx(To.Provider,{value:s,children:u.map(p=>o?jsx(Fragment$1,{children:o({participant:p,color:s.get(p.actorId).color,initials:ht(p.name),...Oo(d.get(p.name))})},p.actorId):jsx(Lo,{participant:p},p.actorId))}),m>0?jsx("span",{className:"docx-collaboration-avatar","data-collaboration-avatar":"","data-overflow":"",title:c,role:"img","aria-label":c,children:`+${m}`}):null]})}var We=Object.freeze([]);function Pr(){return We}function Ir(){let e=useRef(null);if(e.current===null){let t=We,r=false,o=new Set;e.current={subscribe:a=>(o.add(a),()=>o.delete(a)),read:()=>t,write:a=>{t=a.length===0?We:a,!r&&(r=true,queueMicrotask(()=>{r=false;for(let i of [...o])i();}));}};}return e.current}function _r({session:e,children:t}){let r=useDocxEditor(),o=ee(),a=e===void 0?o:e,i=ze(a),l=useReviewAuthors(),n=Ir(),s=useSyncExternalStore(n.subscribe,n.read,Pr);if(useEffect(()=>{if(!(!r||!a))return r.setRemoteCaretLabelHost({publish:n.write}),()=>{r.setRemoteCaretLabelHost(null),n.write(We);}},[r,a,n]),s.length===0)return null;let d=je(l,i);return jsx(Fragment,{children:s.map(f=>{let{selection:u}=f,m=i.find(w=>w.actorId===u.actorId)??null,c=f.element.style.getPropertyValue("--doc-remote-color"),p=c!==""?c:d.get(u.actorId)?.color??gt(l,{actorId:u.actorId,name:u.name,...u.color!==void 0?{color:u.color}:{},isLocal:false}).color;return createPortal(t?t({selection:u,participant:m,color:p,...Oo(Be(l,u.name,r?w=>r.getReviewAuthorStyle(w):void 0))}):u.name,f.element,u.actorId)})})}var Sr=Object.freeze({CaretLabels:_r,Avatars:Nr,Avatar:Lo});function Ae(e){let t=useDocxEditor();return useMemo(()=>e||(t?.getCustomNodeDefinitions()??[]).filter(j),[e,t])}var Hr=".docx-content-control-boundary";function le(e,t){let{node:r,definition:o,controlId:a}=e,i=a?t?.getReviewItems().find(s=>s.kind==="custom"&&s.item.id===a):void 0;if(i&&i.kind==="custom"){let s=i.item;return {...r,attrs:s.attrs,text:s.text,...s.data===void 0?{}:{data:s.data},...a?{nodeId:a}:{}}}let l=a?$r(t,a,o):void 0,n=o.fromDocx?o.fromDocx({attrs:r.attrs,text:"",...l===void 0?{}:{data:l}}):r.attrs;return n===null?null:{...r,attrs:n,...l===void 0?{}:{data:l},...a?{nodeId:a}:{}}}function $r(e$1,t,r){let o=e$1?.surface;if(!o)return;let a=partOfNodeId(o.session,t),i=customNodePayloadsByControl(o.session.currentPackage(),(a??o.session.part()).name,o.session.part().name).get(t);if(!i)return;let l=e(r.schema,i.data);return l.ok?l.value:void 0}function ce(e,t){let r=e?.closest?.(Hr),o=r?.closest(".docx-content-control-chrome"),a=o?.getAttribute("data-tag"),i=a?c(a):null;if(!r||!i||!a)return null;let l=t.find(n=>n.tagPrefix===i.prefix&&n.name===i.name);return l?{node:{name:i.name,attrs:i.attrs,tag:a,rect:r.getBoundingClientRect()},definition:l,controlId:o?.getAttribute("data-docx-content-control")??null}:null}var Et=".docx-content-control-boundary",qr=e=>{if(!k.test(e.tagPrefix)||!k.test(e.name))return [];let t=`${e.tagPrefix}:${e.name}`;return [`.docx-content-control-chrome[data-tag="${t}"]`,`.docx-content-control-chrome[data-tag^="${t}?"]`]};function Ur(e){let{onNodeClick:t,onNodeHover:r}=e,o=useDocxEditor(),a=Ae(e.nodes);return useEffect(()=>{let i=document.createElement("style"),l=[];for(let n of a){let s=qr(n);if(s.length===0)continue;let d=n.chrome?.color!==void 0&&CSS.supports("color",n.chrome.color)?n.chrome.color:"var(--doc-accent)";l.push(`${s.map(f=>`${f} ${Et}`).join(", ")} {`," pointer-events: auto !important;"," opacity: 1;"," border: none;",` background: color-mix(in srgb, ${d} 12%, transparent);`," border-radius: 6px;"," cursor: default;","}");}return i.textContent=l.join(`
2
+ `),document.head.append(i),()=>i.remove()},[a]),useEffect(()=>{let i=null,l=null,n=u=>ce(document.elementFromPoint(u.clientX,u.clientY),a),s=u=>{let m=u.button===0?n(u):null;i=m?.controlId??null,l=m?.node.tag??null;},d=u=>{let m=i,c=l;if(i=null,l=null,c===null)return;let p=n(u);if(!p||p.node.tag!==c||m!==null&&p.controlId!==m)return;let w=le(p,o);w&&(p.definition.onClick?.(w),t?.(w));},f=u=>{let m=ce(u.target,a);if(!m||u.relatedTarget?.closest?.(Et)===u.target.closest(Et))return;let p=le(m,o);p&&(m.definition.onHover?.(p),r?.(p));};return document.addEventListener("pointerdown",s,true),document.addEventListener("pointerup",d,true),document.addEventListener("mouseover",f),()=>{document.removeEventListener("pointerdown",s,true),document.removeEventListener("pointerup",d,true),document.removeEventListener("mouseover",f);}},[a,o,t,r]),null}var jr=e=>e.editingMode==="viewing";function qo(e){let{onEditNode:t,onRemoveRefused:r,remove:o=true}=e,a=Ae(e.nodes),i=useContextMenuTarget(),l=useDocxEditor(),{t:n}=useTranslation(),s=useMemo(()=>i?ce(i,a):null,[i,a]),d=useMemo(()=>s?le(s,l):null,[s,l]),f=useEditorState(jr),u=useMemo(()=>!s?.definition.reviewCard||!d?null:s.definition.reviewCard({attrs:d.attrs,text:d.text??"",...d.data===void 0?{}:{data:d.data}}),[s,d]);if(!s||!d)return null;let{definition:m}=s,c=m.label??m.name,p=!f&&(m.onEdit!==void 0||t!==void 0),w=!f&&o&&d.nodeId!==void 0&&l!==null;return !u&&!p&&!w?null:jsxs(Fragment,{children:[u?jsxs("div",{className:"docx-contextmenu__custom-info","data-testid":"custom-node-info",children:[jsx("span",{className:"docx-contextmenu__custom-title",children:u.title}),u.detail?jsx("span",{className:"docx-contextmenu__custom-detail",children:u.detail}):null]}):null,p?jsx(ContextMenuItem,{label:n("contextMenu.editCustomNode",{label:c}),className:"docx-contextmenu__custom-edit",onSelect:()=>{m.onEdit?.(d),t?.(d,m);}}):null,w?jsx(ContextMenuItem,{label:n("contextMenu.removeCustomNode",{label:c}),className:"docx-contextmenu__custom-remove",onSelect:()=>{let R=q(l,d.nodeId);R.ok||r?.(d,R.reason);}}):null,jsx("div",{role:"separator",className:"docx-toolbar__menu-separator"})]})}qo.docxRowPlacement="start";var Pt=Object.freeze({status:"inactive",reason:void 0,lastFailure:void 0,live:false,diverged:false,attached:false});function Uo(e,t){return e===t?true:!e||!t?false:e.code===t.code&&e.detail===t.detail}function Gr(e,t){return e.status===t.status&&Uo(e.reason,t.reason)&&Uo(e.lastFailure,t.lastFailure)}function Qr(e){return e.attached??false}function Vo(e,t){if(!e)return t.current=Pt,Pt;let r=e.statusSnapshot(),o=Qr(e);if(Gr(t.current,r)&&t.current.attached===o)return t.current;let a=Object.freeze({status:r.status,reason:r.reason,lastFailure:r.lastFailure,live:r.status==="ready",diverged:r.status==="error"||r.status==="destroyed",attached:o});return t.current=a,a}function Jr(e){let t=ee(),r=e===void 0?t:e,o=useRef(Pt);return useSyncExternalStore(a=>r?.subscribeStatus(()=>a())??(()=>{}),()=>Vo(r,o),()=>Vo(r,o))}function ea({collaboration:e,fallback:t=null,author:r,children:o,...a}){let{document:i,modules:l,session:n}=e;if(!i)return jsx(Fragment,{children:t});let s=r??n?.identity.name;return jsx(DocxEditorRoot,{document:i,modules:l,...s!==void 0?{author:s}:{},...a,children:o},n?.sessionId??"local")}var ra=Symbol("useDocumentCollaboration.createRoom");async function aa(e){let{createDocumentCollaboration:t}=await import('../document-session-CULOPWY6.js');return t(e)}function ia(e){return e[ra]??aa}function sa(e){return e?`${e.documentId}:${e.bootstrap.kind}:${e.identity.actorId}`:""}function la(e={}){let t=useId(),r=b({ownerKey:`react-document:${t}`,hookName:"useDocumentCollaboration",createRoom:ia(e),hostModules:e.modules??a,autoRoom:e.room??null,autoKey:sa(e.room??null),rejoinOptionsOf:o=>({...o,bootstrap:{kind:"join"}}),identityOf:o=>o.identity});return useMemo(()=>({document:r.document,modules:r.modules,session:r.session,pending:r.pending,error:r.error,connect:r.connect,leave:r.leave}),[r])}export{Ur as CustomNodeChrome,qo as CustomNodeContextMenu,Sr as DocxEditorCollaboration,ea as DocxEditorCollaborationRoot,cr as DocxEditorReview,le as activatedCustomNodeOf,ce as resolveCustomNodeActivation,ze as useCollaborationParticipants,ee as useCollaborationSession,Jr as useCollaborationStatus,Ae as useCustomNodeDefinitions,la as useDocumentCollaboration,Te as useReview,Jn as useReviewAuthor,Qn as useReviewItem,to as useReviewOf,yn as useStackedReviewPositions};
@@ -1 +1 @@
1
- 'use strict';var chunkQ4YPX2DT_cjs=require('../chunk-Q4YPX2DT.cjs'),vue=require('vue');var c=Symbol("useHocuspocusCollaboration.createRoom");function p(o){return o?`${o.url}:${o.roomId}:${o.bootstrap.kind}:${o.identity.actorId}`:""}async function d(o){let{createHocuspocusCollaboration:r}=await import('../hocuspocus-IIJMOMM5.cjs');return r(o)}function y(o){return o?.[c]??d}function C(o){let r=vue.getCurrentInstance(),e=chunkQ4YPX2DT_cjs.d({ownerKey:`vue-hocuspocus:${String(r?.uid??"anonymous")}`,hookName:"useHocuspocusCollaboration",createRoomOf:()=>y(vue.toValue(o)),hostModulesOf:()=>vue.toValue(o)?.modules??chunkQ4YPX2DT_cjs.c,autoRoomOf:()=>vue.toValue(o)?.room??null,autoKeyOf:()=>p(vue.toValue(o)?.room),rejoinOptionsOf:l=>({...l,bootstrap:{kind:"join"}}),identityOf:l=>l.identity});return {document:vue.readonly(e.document),modules:vue.readonly(e.modules),session:vue.readonly(e.session),ydoc:vue.computed(()=>e.room.value?.ydoc??null),provider:vue.computed(()=>e.room.value?.provider??null),pending:vue.readonly(e.pending),error:vue.readonly(e.error),connect:e.connect,leave:e.leave,rejoin:e.rejoin}}exports.useHocuspocusCollaboration=C;
1
+ 'use strict';var chunkQ4YPX2DT_cjs=require('../chunk-Q4YPX2DT.cjs'),vue=require('vue');var c=Symbol("useHocuspocusCollaboration.createRoom");function p(o){return o?`${o.url}:${o.roomId}:${o.bootstrap.kind}:${o.identity.actorId}`:""}async function d(o){let{createHocuspocusCollaboration:r}=await import('../hocuspocus-TST45TQ6.cjs');return r(o)}function y(o){return o?.[c]??d}function C(o){let r=vue.getCurrentInstance(),e=chunkQ4YPX2DT_cjs.d({ownerKey:`vue-hocuspocus:${String(r?.uid??"anonymous")}`,hookName:"useHocuspocusCollaboration",createRoomOf:()=>y(vue.toValue(o)),hostModulesOf:()=>vue.toValue(o)?.modules??chunkQ4YPX2DT_cjs.c,autoRoomOf:()=>vue.toValue(o)?.room??null,autoKeyOf:()=>p(vue.toValue(o)?.room),rejoinOptionsOf:l=>({...l,bootstrap:{kind:"join"}}),identityOf:l=>l.identity});return {document:vue.readonly(e.document),modules:vue.readonly(e.modules),session:vue.readonly(e.session),ydoc:vue.computed(()=>e.room.value?.ydoc??null),provider:vue.computed(()=>e.room.value?.provider??null),pending:vue.readonly(e.pending),error:vue.readonly(e.error),connect:e.connect,leave:e.leave,rejoin:e.rejoin}}exports.useHocuspocusCollaboration=C;
@@ -1 +1 @@
1
- import {d as d$1,c as c$1}from'../chunk-W3V54DWZ.js';import {getCurrentInstance,toValue,readonly,computed}from'vue';var c=Symbol("useHocuspocusCollaboration.createRoom");function p(o){return o?`${o.url}:${o.roomId}:${o.bootstrap.kind}:${o.identity.actorId}`:""}async function d(o){let{createHocuspocusCollaboration:r}=await import('../hocuspocus-ABVDFDOK.js');return r(o)}function y(o){return o?.[c]??d}function C(o){let r=getCurrentInstance(),e=d$1({ownerKey:`vue-hocuspocus:${String(r?.uid??"anonymous")}`,hookName:"useHocuspocusCollaboration",createRoomOf:()=>y(toValue(o)),hostModulesOf:()=>toValue(o)?.modules??c$1,autoRoomOf:()=>toValue(o)?.room??null,autoKeyOf:()=>p(toValue(o)?.room),rejoinOptionsOf:l=>({...l,bootstrap:{kind:"join"}}),identityOf:l=>l.identity});return {document:readonly(e.document),modules:readonly(e.modules),session:readonly(e.session),ydoc:computed(()=>e.room.value?.ydoc??null),provider:computed(()=>e.room.value?.provider??null),pending:readonly(e.pending),error:readonly(e.error),connect:e.connect,leave:e.leave,rejoin:e.rejoin}}export{C as useHocuspocusCollaboration};
1
+ import {d as d$1,c as c$1}from'../chunk-W3V54DWZ.js';import {getCurrentInstance,toValue,readonly,computed}from'vue';var c=Symbol("useHocuspocusCollaboration.createRoom");function p(o){return o?`${o.url}:${o.roomId}:${o.bootstrap.kind}:${o.identity.actorId}`:""}async function d(o){let{createHocuspocusCollaboration:r}=await import('../hocuspocus-AJOJV5NQ.js');return r(o)}function y(o){return o?.[c]??d}function C(o){let r=getCurrentInstance(),e=d$1({ownerKey:`vue-hocuspocus:${String(r?.uid??"anonymous")}`,hookName:"useHocuspocusCollaboration",createRoomOf:()=>y(toValue(o)),hostModulesOf:()=>toValue(o)?.modules??c$1,autoRoomOf:()=>toValue(o)?.room??null,autoKeyOf:()=>p(toValue(o)?.room),rejoinOptionsOf:l=>({...l,bootstrap:{kind:"join"}}),identityOf:l=>l.identity});return {document:readonly(e.document),modules:readonly(e.modules),session:readonly(e.session),ydoc:computed(()=>e.room.value?.ydoc??null),provider:computed(()=>e.room.value?.provider??null),pending:readonly(e.pending),error:readonly(e.error),connect:e.connect,leave:e.leave,rejoin:e.rejoin}}export{C as useHocuspocusCollaboration};