@e-llm-studio/citation 0.0.252 → 0.0.253

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 (47) hide show
  1. package/dist/cjs/features/PdfViewer/PdfContainer.js +1 -1
  2. package/dist/cjs/features/PdfViewer/PdfContainer.js.map +1 -1
  3. package/dist/cjs/features/PdfViewer/PdfViewer.js +1 -1
  4. package/dist/cjs/features/PdfViewer/PdfViewer.js.map +1 -1
  5. package/dist/cjs/features/SegmentReviewComponents/ApprovalDescriptionBanner.js +2 -0
  6. package/dist/cjs/features/SegmentReviewComponents/ApprovalDescriptionBanner.js.map +1 -0
  7. package/dist/cjs/features/SegmentReviewComponents/RevertCard.js +1 -1
  8. package/dist/cjs/features/SegmentReviewComponents/RevertCard.js.map +1 -1
  9. package/dist/cjs/features/SegmentReviewComponents/SaveAsLearningCard.js +2 -0
  10. package/dist/cjs/features/SegmentReviewComponents/SaveAsLearningCard.js.map +1 -0
  11. package/dist/cjs/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js +1 -1
  12. package/dist/cjs/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js.map +1 -1
  13. package/dist/cjs/hooks/useOnDemandCitationFetch.js +1 -1
  14. package/dist/cjs/hooks/useOnDemandCitationFetch.js.map +1 -1
  15. package/dist/cjs/service/onDemandApi.js +1 -1
  16. package/dist/cjs/service/onDemandApi.js.map +1 -1
  17. package/dist/features/PdfViewer/PdfContainer.js +1 -1
  18. package/dist/features/PdfViewer/PdfContainer.js.map +1 -1
  19. package/dist/features/PdfViewer/PdfViewer.js +1 -1
  20. package/dist/features/PdfViewer/PdfViewer.js.map +1 -1
  21. package/dist/features/SegmentReviewComponents/ApprovalDescriptionBanner.js +2 -0
  22. package/dist/features/SegmentReviewComponents/ApprovalDescriptionBanner.js.map +1 -0
  23. package/dist/features/SegmentReviewComponents/RevertCard.js +1 -1
  24. package/dist/features/SegmentReviewComponents/RevertCard.js.map +1 -1
  25. package/dist/features/SegmentReviewComponents/SaveAsLearningCard.js +2 -0
  26. package/dist/features/SegmentReviewComponents/SaveAsLearningCard.js.map +1 -0
  27. package/dist/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js +1 -1
  28. package/dist/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js.map +1 -1
  29. package/dist/hooks/useOnDemandCitationFetch.js +1 -1
  30. package/dist/hooks/useOnDemandCitationFetch.js.map +1 -1
  31. package/dist/service/onDemandApi.js +1 -1
  32. package/dist/service/onDemandApi.js.map +1 -1
  33. package/dist/types/features/PdfViewer/PdfContainer.d.ts +3 -2
  34. package/dist/types/features/PdfViewer/PdfContainer.d.ts.map +1 -1
  35. package/dist/types/features/PdfViewer/PdfViewer.d.ts +3 -2
  36. package/dist/types/features/PdfViewer/PdfViewer.d.ts.map +1 -1
  37. package/dist/types/features/SegmentReviewComponents/ApprovalDescriptionBanner.d.ts +11 -0
  38. package/dist/types/features/SegmentReviewComponents/ApprovalDescriptionBanner.d.ts.map +1 -0
  39. package/dist/types/features/SegmentReviewComponents/RevertCard.d.ts +9 -1
  40. package/dist/types/features/SegmentReviewComponents/RevertCard.d.ts.map +1 -1
  41. package/dist/types/features/SegmentReviewComponents/SaveAsLearningCard.d.ts +15 -0
  42. package/dist/types/features/SegmentReviewComponents/SaveAsLearningCard.d.ts.map +1 -0
  43. package/dist/types/features/SegmentReviewComponents/SegmentReviewPdfWrapper.d.ts +12 -1
  44. package/dist/types/features/SegmentReviewComponents/SegmentReviewPdfWrapper.d.ts.map +1 -1
  45. package/dist/types/hooks/useOnDemandCitationFetch.d.ts.map +1 -1
  46. package/dist/types/service/onDemandApi.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("@react-pdf-viewer/core"),i=require("../PdfViewer/PdfViewer.js"),r=require("./BoundaryCard.js"),a=require("./CardWrapper.js"),o=require("./CognitiveIntegrity.js"),s=require("./LabelCheck.js"),l=require("./PageCheck.js"),d=require("./PageTypeChoiceCheck.js"),g=require("./reviewStepAdapters.js"),u=require("lucide-react"),c=require("@mui/material"),m=require("./ReviewedCard.js"),p=require("./ReviewedBoundaryActions.js"),f=require("./RevertCard.js"),v=require("./RevertSuccessCard.js"),h=require("./helper.js"),w=require("./ChartBreakoutCircle.js"),y=require("./reviewScore.js");const b=260;var _=(e=>(e.ActualSize="ActualSize",e.PageFit="PageFit",e.PageWidth="PageWidth",e))(_||{});const x={ActualSize:n.SpecialZoomLevel.ActualSize,PageFit:n.SpecialZoomLevel.PageFit,PageWidth:n.SpecialZoomLevel.PageWidth},S=e=>({reviewId:e.id,segment:e.segment,pageNumber:e.pageNumber});exports.SegmentPdfSpecialZoomLevel=_,exports.default=function({pdfUrl:_,pdfName:R,segments:E,totalPages:C,styles:k,pdfViewerProps:P,specialZoomLevel:A,showBadges:M=!0,sortByConfidence:I="low",filterByConfidence:j="all",showBadgeNavigation:N=!0,autoSelectReviewOnPageChange:B=!1,autoAdvanceAfterConfirm:T=!0,autoAdvanceScoreBand:F,badgePreloadPages:L=8,badgeOffsetTop:q=20,badgeOffsetRight:W=68,badgeOffsetLeft:K=0,initialReviewId:z,manualPrompt:$,heightBuffer:G,onBoundaryAction:O,onLabelAction:D,onPageAction:V,onPageTypeRevert:H,onRevert:U,onActiveReviewChange:X,onCurrentPageChange:Z,onActionError:Y,disableAllActions:J=!1,disablePdfAnnotations:Q=!1,disablePdfTextLayer:ee=!0,disableTitleCheckUntilBoundaryCheckCompleted:te=!1,onAdjustManually:ne,onCognitiveClick:ie,className:re,style:ae,viewerStyle:oe,railStyle:se,redirectionData:le,onBadgeSelected:de,closePopups:ge=!1}){console.log("LOG: TOTAL PAGE IN PARENT",C);const{boundaryReviews:ue,labelReviews:ce,pageReviews:me}=t.useMemo(()=>g.extractSegmentReviewData(E),[E]),[pe,fe]=t.useState(()=>new Map),[ve,he]=t.useState(()=>new Set),we=t.useMemo(()=>{const e=new Map;let t=1;return E.forEach((n,i)=>{const r=g.getSegmentReviewKey(n,i);e.has(r)||(e.set(r,t),t+=1)}),e},[E]),ye=t.useMemo(()=>new Set(ce.map(e=>g.getSegmentReviewKey(e.segment))),[ce]),be=t.useMemo(()=>h.getPendingMergeImpactedSegmentKeys(E),[E]);t.useEffect(()=>{fe(e=>{let t=!1;const n=new Map(e);return e.forEach((e,i)=>{const r=E.find(e=>g.getSegmentReviewKey(e)===i);r&&!h.hasPolledStructuralAction(r,e)||(n.delete(i),t=!0)}),t?n:e})},[E]),t.useEffect(()=>{he(e=>{let t=!1;const n=new Set(e);return e.forEach(e=>{pe.has(e)||(n.delete(e),t=!0)}),t?n:e})},[pe]);const _e=t.useMemo(()=>h.getOptimisticMergeImpactedSegmentKeys(E,pe,ve),[ve,pe,E]),xe=t.useRef(null),Se=t.useMemo(()=>[...ue.filter(e=>!be.has(g.getSegmentReviewKey(e.segment))&&!_e.has(g.getSegmentReviewKey(e.segment))&&!h.shouldHideStructuralBoundaryReview(e.review_step,e.segment,ye.has(g.getSegmentReviewKey(e.segment)),pe.get(g.getSegmentReviewKey(e.segment)))).map(e=>({...e,kind:"boundary",pageNumber:e.metadata.focus_page??e.segment.start_page})),...ce.filter(e=>!be.has(g.getSegmentReviewKey(e.segment))&&!_e.has(g.getSegmentReviewKey(e.segment))).map(e=>({...e,kind:"label",pageNumber:e.segment.start_page})),...me.filter(e=>!be.has(g.getSegmentReviewKey(e.segment))&&!_e.has(g.getSegmentReviewKey(e.segment))).map(e=>({...e,kind:"page",pageNumber:e.metadata.page_num??e.segment.start_page}))].sort((e,t)=>{const n=we.get(g.getSegmentReviewKey(e.segment))??Number.MAX_SAFE_INTEGER,i=we.get(g.getSegmentReviewKey(t.segment))??Number.MAX_SAFE_INTEGER;return e.pageNumber-t.pageNumber||n-i||e.reviewStepIndex-t.reviewStepIndex||e.id.localeCompare(t.id)}),[ue,ce,me,_e,pe,be,we,ye]),Re=t.useMemo(()=>E.map(e=>({...e,title:e.label?.trim()||e.title,page_count:e.page_count??e.end_page-e.start_page+1})),[E]),[Ee,Ce]=t.useState(1),[ke,Pe]=t.useState(z??null),[Ae,Me]=t.useState(z??null),[Ie,je]=t.useState(!1),[Ne,Be]=t.useState(null),[Te,Fe]=t.useState(null),[Le,qe]=t.useState(()=>new Set),[We,Ke]=t.useState(null),[ze,$e]=t.useState(null),[Ge,Oe]=t.useState(null),[De,Ve]=t.useState(!1),He=t.useRef(0),Ue=t.useRef(null),Xe=t.useRef(null),Ze=t.useRef(new Map),Ye=t.useRef(null),Je=t.useRef(null),Qe=t.useRef(null),[et,tt]=t.useState(b),nt=k?.aside?.width??"40%",it=`min(${"number"==typeof nt?`${nt}px`:nt}, 260px, 100%)`,rt=t.useCallback(()=>{Ue.current=null,je(!1),Pe(null),Be(null),$e(null),Oe(null),Ve(!1),X?.(null,null)},[X]);t.useEffect(()=>{ge&&rt()},[rt,ge]),t.useEffect(()=>{qe(e=>{if(0===e.size)return e;const t=new Set(e);let n=!1;return Se.forEach(e=>{null!=e.review_step.review?.action&&t.has(e.id)&&(t.delete(e.id),n=!0)}),n?t:e})},[Se]),t.useEffect(()=>{const e=xe.current;if(!e||!M)return;const t=()=>{const t=e.getBoundingClientRect().width;t>0&&tt(t)};t();const n="undefined"==typeof ResizeObserver?null:new ResizeObserver(t);return n?.observe(e),()=>n?.disconnect()},[M]);const at=t.useMemo(()=>{const e=new Set;return Se.forEach(t=>{null!=t.review_step.review?.action&&e.add(t.id)}),e},[Se]),ot=t.useMemo(()=>Se.find(e=>e.id===ke)??null,[ke,Se]),st=t.useMemo(()=>!(!te||"label"!==ot?.kind)&&ue.some(e=>{if(g.getSegmentReviewKey(e.segment)!==g.getSegmentReviewKey(ot.segment)||at.has(e.id))return!1;const t=h.getResolvedScore(e.review_step.score,e.review_step.confidence);return null==t||t<85}),[ot,ue,te,at]),lt=null==ot?-1:E.findIndex(e=>g.getSegmentReviewKey(e)===g.getSegmentReviewKey(ot.segment)),dt=lt>0?E[lt-1]:void 0,gt=lt>=0?E[lt+1]:void 0,ut=dt?.label?.trim()||dt?.title,ct=gt?.label?.trim()||gt?.title,mt=h.getConfidenceColors(ot?.review_step.score,ot?.review_step.confidence,ot?.segment.confidence?.awaiting_llm),pt=ot?.review_step.reasons?.length?ot.review_step.reasons:ot?.segment.confidence?.reasons??[],ft=Boolean(pt.some(e=>e.text.trim()&&["evidence","gap"].includes(e.type.trim().toLowerCase()))||ot?.review_step.reason?.trim()||ot?.review_step.gap?.trim()),vt=null==ot?null:"boundary"===ot.kind?h.getBoundaryReviewActionBadgeLabel(ot.review_step,ot.segment,pe.get(ot.segment.stable_key??"")):h.getTitleReviewActionBadgeLabel(ot.review_step,ot.segment,pe.get(ot.segment.stable_key??"")),ht="label"===ot?.kind?[vt,ot.review_step.human_action_enum,ot.review_step.review?.action,ot.review_step.human_resolution?.action]:[],wt="label"===ot?.kind&&ht.some(e=>{const t=e?.trim().toUpperCase()??"";return t.includes("MERGE")||t.includes("SPLIT")}),yt=null!=ot&&Se.some(e=>"boundary"===e.kind&&g.getSegmentReviewKey(e.segment)===g.getSegmentReviewKey(ot.segment)),bt=wt&&!yt,_t=("boundary"===ot?.kind||bt)&&null!=ot?(()=>{if("boundary"===ot.kind)return ot;const e=ue.find(e=>g.getSegmentReviewKey(e.segment)===g.getSegmentReviewKey(ot.segment));return e?{...e,kind:"boundary",pageNumber:e.metadata.focus_page??e.segment.start_page}:{...ot,kind:"boundary",pageNumber:ot.segment.review_action?.focus_page??ot.segment.start_page,metadata:{focus_page:ot.segment.review_action?.focus_page??null,boundary_margin:ot.segment.boundary_margin??null,user_actions:[]}}})():void 0,xt=null==ot?"":ot.segment.label?.trim()||ot.segment.title,St=ot?.review_step.revert,Rt=ot?.segment.revert,Et=e=>e?.trim().toLowerCase(),Ct=null==ot?void 0:[...ot.segment.review_steps??[]].reverse().find(e=>{const t=e.type?.trim().toLowerCase();return("page_boundary"===t||"page boundary review"===t)&&"boundary"===Et(e.revert?.type)})?.revert,kt=St??ot?.segment.revert??Ct,Pt=kt?.decision.trim().toUpperCase();vt??(Pt?.includes("SPLIT")||Pt?.includes("MERGE"));const At="label"===ot?.kind&&"SET_RANGE"===Ct?.decision?.trim().toUpperCase()&&Ct.current_segment_ids.length!==Ct.previous_state.length,Mt="Merged"===vt||"Split"===vt||At,It=null==ot?void 0:Mt?"boundary"===Et(Ct?.type)?Ct:"boundary"===Et(Rt?.type)?Rt:"boundary"===Et(St?.type)?St:void 0:"label"===ot.kind?"label"===Et(St?.type)?St:void 0:"boundary"===ot.kind?"boundary"===Et(St?.type)?St:"boundary"===Et(Ct?.type)?Ct:"boundary"===Et(Rt?.type)?Rt:void 0:void 0,jt=Mt&&It?.operation_id?E.flatMap(e=>e.review_steps??[]).find(e=>{const t=e.type?.trim().toLowerCase();if(!("page_boundary"===t||"page boundary review"===t))return!1;return(e.human_resolution?.operation_id??e.revert?.operation_id??e.operation_id)===It.operation_id&&Boolean(e.human_resolution?.change_summary?.trim())}):void 0,Nt=It?.summary?.trim()||null,Bt=Mt?jt?.human_resolution?.change_summary?.trim()||It?.summary?.trim()||"":ot?.review_step?.human_resolution?.change_summary?.trim()||ot?.review_step?.summary?.trim()||"",Tt="page"===ot?.kind?{currentSegment:{title:xt,startPage:ot.segment.start_page,endPage:ot.segment.end_page},previousSegments:[]}:ot&&It?{currentSegment:{title:xt,startPage:ot.segment.start_page,endPage:ot.segment.end_page},previousSegments:(It.previous_state??[]).flatMap(e=>{const t=null===e.label?"Untitled document":e.label?.trim();return t?[{title:t,startPage:e.start_page,endPage:e.end_page}]:[]})}:null,Ft="page"===ot?.kind?ot.metadata.type_choices?.map(e=>e.classification_id)??(ot.metadata.classification_id?[ot.metadata.classification_id]:[]):[],Lt="page"===ot?.kind?Boolean(H&&Ft.length>0):Boolean(It?.operation_id&&It?.type&&!1!==It?.revertable),qt=Boolean(Tt&&Lt),Wt=t.useCallback((e,t)=>{He.current+=1,Ue.current={requestId:He.current,pageNumber:e,reviewId:t},Fe({pageNumber:e,requestId:He.current})},[]),Kt=t.useCallback(e=>{!0!==e.segment.confidence?.awaiting_llm&&(de?.({reviewId:e.id,segment_id:e.segment.segment_id??null,reviewStepIndex:e.reviewStepIndex,kind:e.kind,pageNumber:e.pageNumber,metadata:e.metadata}),$e(null),Oe(null),Pe(e.id),Me(e.id),je(!1),Be(null),Wt(e.pageNumber,e.id),X?.(e.id,e.segment))},[X,de,Wt]);t.useEffect(()=>{if(!Ge)return;const e=requestAnimationFrame(()=>Ve(!0)),t=window.setTimeout(()=>{Ve(!1)},3500),n=window.setTimeout(()=>{Oe(null)},4e3);return()=>{cancelAnimationFrame(e),window.clearTimeout(t),window.clearTimeout(n)}},[Ge]),t.useEffect(()=>{if(!le)return;if("pageGroup"===le.type){const e=le.pages??[],t=le.pageIndex??0,n=e[t];if(null==n)return;return zt(),$e({pages:e,index:t,label:le.groupLabel??""}),He.current+=1,void Fe({pageNumber:n,requestId:He.current})}if($e(null),le.reviewId){const e=Se.find(e=>e.id===le.reviewId&&(!le.type||e.kind===le.type));if(e)return void Kt(e)}if(le.classificationId){const e=Se.find(e=>"page"===e.kind&&(e.metadata.classification_id===le.classificationId||e.metadata.type_choices?.some(e=>e.classification_id===le.classificationId))&&(!le.segmentId||e.segment.segment_id===le.segmentId)&&(!le.type||e.kind===le.type));if(e)return void Kt(e)}if(!le.pageNumber||!le.type)return;const e=Number(le.pageNumber);if(!Number.isInteger(e)||e<1)return;const t=le.pageType?.trim().toLowerCase(),n=Se.find(n=>{const i="page"===n.kind?n.pageNumber:n.segment.start_page,r="page"!==n.kind||!t||n.metadata.page_type===t||n.metadata.type_choices?.some(e=>e.page_type===t);return(!le.segmentId||n.segment.segment_id===le.segmentId)&&i===e&&n.kind===le.type&&r});n?Kt(n):"page"===le.type&&(zt(),He.current+=1,Fe({pageNumber:e,requestId:He.current}))},[le,Kt,Se]);const zt=t.useCallback(()=>{Ue.current=null,je(!1),Pe(null),Be(null),X?.(null,null)},[X]),$t=t.useCallback(e=>{Ve(!1),Oe(null);const t=Se.find(t=>!at.has(t.id)&&"boundary"===t.kind&&t.segment.start_page===e.startPage&&t.segment.end_page===e.endPage)??Se.find(t=>!at.has(t.id)&&t.segment.start_page<=e.startPage&&t.segment.end_page>=e.startPage);t?Kt(t):(zt(),He.current+=1,Fe({pageNumber:e.startPage,requestId:He.current}))},[zt,at,Se,Kt]),Gt=t.useCallback((e,t)=>{const n=y.getReviewScoreBand(e.review_step.score),i=null==F||n===F,r=Le.has(e.id)&&h.isReviewStepResolutionCurrent(e.review_step,e.segment);return e.id!==t&&i&&!0!==e.segment.confidence?.awaiting_llm&&!h.isReviewStepResolved(e.review_step,e.segment)&&!r},[F,Le]),Ot=t.useCallback(e=>{if(!T)return void zt();const t=Se.findIndex(t=>t.id===e),n=Se.find((n,i)=>i>t&&Gt(n,e))??Se.find(t=>Gt(t,e));n?requestAnimationFrame(()=>Kt(n)):zt()},[T,zt,Gt,Se,Kt]),Dt=t.useCallback(async(e,t)=>{if(J||!V||0===t.length)return;const n=e.metadata.type_choices??[];if(2!==n.length)return;const i=new Set(t),r=S(e),a=[...n].sort((e,t)=>{const n=i.has(e.page_type);return n===i.has(t.page_type)?0:n?-1:1});Ke(e.id);try{for(const t of a){const n=i.has(t.page_type)?l.PageCheckActionEnum.YES:l.PageCheckActionEnum.NO;await V(n,{action:n,pageType:t.page_type,metadata:{user_actions:[l.PageCheckActionEnum.YES,l.PageCheckActionEnum.NO],page_num:e.metadata.page_num,page_type:t.page_type,classification_id:t.classification_id}},r)}qe(t=>{const n=new Set(t);return n.add(e.id),n}),Ot(e.id)}catch(e){Y?.(e,r)}finally{Ke(null)}},[J,Y,V,Ot]),Vt=t.useCallback(async(e,t,n)=>{if(J)return;if("boundary"===e.kind&&!O)return;if("label"===e.kind&&!D)return;if("page"===e.kind&&!V)return;const i=S(e),a=t,o=n,s=a===r.BoundaryReviewActionEnum.SET_RANGE?(()=>{const t=o.startPage,n=o.endPage;if(null==t||null==n)return null;const i=t<e.segment.start_page||n>e.segment.end_page,a=t>e.segment.start_page||n<e.segment.end_page;return i&&!a?t<e.segment.start_page?r.BoundaryReviewActionEnum.MERGE_PREV:r.BoundaryReviewActionEnum.MERGE_NEXT:a?r.BoundaryReviewActionEnum.SPLIT_HERE:null})():a,l="boundary"===e.kind&&null!=O&&T&&(s===r.BoundaryReviewActionEnum.SPLIT_HERE||s===r.BoundaryReviewActionEnum.MERGE_NEXT||s===r.BoundaryReviewActionEnum.MERGE_PREV||s===r.BoundaryReviewActionEnum.MERGE_PREVIOUS),d=l?E.findIndex(t=>g.getSegmentReviewKey(t)===g.getSegmentReviewKey(e.segment)):-1;l&&d>=0&&s&&(Xe.current={action:s,originalSegmentIndex:d,segmentSignature:JSON.stringify(E.map((e,t)=>({key:g.getSegmentReviewKey(e,t),startPage:e.start_page,endPage:e.end_page,version:e.version??null}))),ready:!1}),Ke(e.id);try{"boundary"===e.kind?await(O?.(t,n,i)):"label"===e.kind?await(D?.(t,n,i)):"page"===e.kind&&await(V?.(t,n,i)),qe(t=>{const n=new Set(t);return n.add(e.id),n});const o="boundary"===e.kind&&(s===r.BoundaryReviewActionEnum.MERGE_NEXT||s===r.BoundaryReviewActionEnum.MERGE_PREV||s===r.BoundaryReviewActionEnum.MERGE_PREVIOUS);if(("boundary"===e.kind&&s===r.BoundaryReviewActionEnum.SPLIT_HERE||o)&&s){const t=g.getSegmentReviewKey(e.segment);he(e=>{const n=new Set(e);return a===r.BoundaryReviewActionEnum.SET_RANGE?n.add(t):n.delete(t),n}),fe(e=>{const n=new Map(e);return n.set(t,s),n})}if(Xe.current){if(Xe.current.ready=!0,o){const t=Se.find(t=>"label"===t.kind&&g.getSegmentReviewKey(t.segment)===g.getSegmentReviewKey(e.segment));t&&requestAnimationFrame(()=>Kt(t))}}else Ot(e.id)}catch(e){l&&(Xe.current=null),Y?.(e,i)}finally{Ke(null)}},[T,J,Y,O,D,V,H,Se,E,Kt,Ot]);t.useEffect(()=>{const e=Xe.current;if(!e?.ready)return;if(JSON.stringify(E.map((e,t)=>({key:g.getSegmentReviewKey(e,t),startPage:e.start_page,endPage:e.end_page,version:e.version??null})))===e.segmentSignature)return;const t=e.action===r.BoundaryReviewActionEnum.SPLIT_HERE?e.originalSegmentIndex+1:e.action===r.BoundaryReviewActionEnum.MERGE_PREV||e.action===r.BoundaryReviewActionEnum.MERGE_PREVIOUS?Math.max(0,e.originalSegmentIndex-1):e.originalSegmentIndex,n=new Map(E.map((e,t)=>[g.getSegmentReviewKey(e,t),t])),i=Se.find(e=>{const i=n.get(g.getSegmentReviewKey(e.segment));return null!=i&&i>=t&&Gt(e)});if(!i)return Xe.current=null,void zt();requestAnimationFrame(()=>{Xe.current=null,Kt(i)})},[zt,Gt,Se,E,Kt]),t.useEffect(()=>{Xe.current||ke&&!Se.some(e=>e.id===ke)&&zt()},[ke,zt,Se]),t.useEffect(()=>{if(!B)return;if(Xe.current)return;const e=Se.find(e=>e.pageNumber===Ee);e&&e.id!==ke&&Kt(e)},[ke,B,Ee,Kt,Se]),t.useEffect(()=>{Xe.current||ke&&!Se.some(e=>e.id===ke&&!0!==e.segment.confidence?.awaiting_llm)&&zt()},[ke,zt,Se]);const Ht=t.useMemo(()=>{const e=Se.filter(e=>!0!==e.segment.confidence?.awaiting_llm);if("all"===j)return e;const t=["low","medium","high"].filter(e=>e!==I),n=[I,...t],i=new Map(n.map((e,t)=>[e,t]));return e.map((e,t)=>({item:e,index:t})).sort((e,t)=>{const r=e.item.review_step.confidence?.trim().toLowerCase(),a=t.item.review_step.confidence?.trim().toLowerCase();return(null==r?n.length:i.get(r)??n.length)-(null==a?n.length:i.get(a)??n.length)||e.index-t.index}).map(({item:e})=>e)},[j,I,Se]),Ut=Ht.findIndex(e=>e.id===Ae),[Xt,Zt]=t.useState(null),[Yt,Jt]=t.useState(null),Qt=t.useRef(!1),en=t.useCallback(e=>{const t=Ht[e];t&&Kt(t)},[Ht,Kt]);t.useCallback(e=>{if(!ze||e<0||e>=ze.pages.length)return;const t=ze.pages[e];null!=t&&(zt(),$e(t=>null==t?t:{...t,index:e}),He.current+=1,Fe({pageNumber:t,requestId:He.current}))},[ze,zt]),t.useEffect(()=>{Ae&&!Ht.some(e=>e.id===Ae)&&Me(null)},[Ht,Ae]),t.useEffect(()=>{Qt.current=!1,Jt(null),Zt(Ut>=0?String(Ut+1):null)},[Ut,Ht.length]),t.useEffect(()=>{if(!Qt.current||null==Xt)return;const e=window.setTimeout(()=>{const e=Number(Xt.trim()),t=e-1;Number.isInteger(e)&&t>=0&&t<Ht.length&&(Qt.current=!1,en(t))},300);return()=>window.clearTimeout(e)},[en,Xt,Ht.length]);const tn=t.useMemo(()=>{const e=new Map;Se.forEach(t=>{const n=e.get(g.getSegmentReviewKey(t.segment))??[];n.push(t),e.set(g.getSegmentReviewKey(t.segment),n)});const t=new Map;return e.forEach((e,n)=>{const i=we.get(n)??1;e.sort((e,t)=>e.reviewStepIndex-t.reviewStepIndex).forEach((e,n)=>{t.set(e.id,`${i}${(e=>{let t=e+1,n="";for(;t>0;)t-=1,n=String.fromCharCode(65+t%26)+n,t=Math.floor(t/26);return n})(n)}`)})}),t},[Se,we]),nn=t.useMemo(()=>{const e=new Map;Se.forEach(t=>{const n=e.get(t.pageNumber)??[];n.push(t),e.set(t.pageNumber,n)});const t=new Map;return e.forEach(e=>{e.forEach((e,n)=>t.set(e.id,n))}),t},[Se]),rn=t.useCallback(e=>({startPage:Math.max(0,e.startPage-L),endPage:Math.min(e.numPages-1,e.endPage+L)}),[L]),an=t.useCallback(()=>{const e=Je.current,t=Qe.current;if(!e||!t)return;const n=e.getBoundingClientRect(),i=t.querySelector(".rpv-core__inner-pages"),r=i?.getBoundingClientRect()??t.getBoundingClientRect();Se.forEach(e=>{const i=Ze.current.get(e.id);if(!i)return;const a=t.querySelector(`[data-testid="core__page-layer-${e.pageNumber-1}"]`);if(!a)return void(i.style.visibility="hidden");const o=a.getBoundingClientRect(),s=nn.get(e.id)??0,l=o.top+q+40*s,d=l+(i.offsetHeight||32),g=l>=r.top&&d<=r.bottom;i.style.top=l-n.top+"px",i.style.visibility=g?"visible":"hidden"});const a=Ye.current;if(a){const e=ze?.pages[ze.index],i=null==e?null:t.querySelector(`[data-testid="core__page-layer-${e-1}"]`);if(ze&&i){const e=i.getBoundingClientRect().top+q,t=e+(a.offsetHeight||25),o=e>=r.top&&t<=r.bottom;a.style.top=e-n.top+"px",a.style.visibility=o?"visible":"hidden"}else a.style.visibility="hidden"}if(ke&&null==Ue.current){const e=Ze.current.get(ke);e&&"hidden"!==e.style.visibility&&Be(t=>t===e?t:e)}},[ze,ke,q,nn,Se]),on=t.useCallback(e=>{const t=Ue.current;t&&t.requestId===e.requestId&&t.pageNumber===e.pageNumber&&(Ue.current=null,an(),requestAnimationFrame(()=>{if(null!=Ue.current)return;const e=Ze.current.get(t.reviewId);e&&"hidden"!==e.style.visibility&&Be(e)}))},[an]);return t.useEffect(()=>{const e=Qe.current;if(!e||!M)return;let t=null;const n=()=>{null==t&&(t=requestAnimationFrame(()=>{t=null,an()}))};e.addEventListener("scroll",n,!0),window.addEventListener("resize",n);const i=new MutationObserver(n);i.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]});const r="undefined"==typeof ResizeObserver?null:new ResizeObserver(n);return r?.observe(e),n(),()=>{null!=t&&cancelAnimationFrame(t),e.removeEventListener("scroll",n,!0),window.removeEventListener("resize",n),i.disconnect(),r?.disconnect()}},[M,an]),e.jsxs("div",{ref:Je,className:re,style:{...ae,display:"block",position:"relative",width:"100%",height:"100%",minWidth:0,overflowX:"auto",overflowY:"hidden"},children:[e.jsxs("div",{className:"segment-review-wrapper__container",style:{display:"flex",alignItems:"stretch",gap:0,width:"100%",minWidth:700,height:"100%"},children:[e.jsx("div",{ref:Qe,style:{...oe,flex:"1 1 auto",width:M?"auto":"100%",minWidth:0,height:"100%",boxSizing:"border-box"},children:e.jsx(i.default,{highlightText:[],highlightPages:{},highlightCordinatePages:[],useCoordinates:!1,showRotateButton:!0,...P,defaultScale:void 0===A?P?.defaultScale??n.SpecialZoomLevel.PageFit:x[A],disablePdfAnnotations:Q,disablePdfTextLayer:ee,pdfUrl:_,pdfName:R,segments:Re,navigationRequest:Te,onNavigationSettled:on,setRenderRange:rn,onCurrentPageChange:e=>{Ce(e),null==Ue.current&&ot&&ot.pageNumber!==e&&zt(),Z?.(e)}})}),M&&e.jsxs("aside",{"aria-label":"Page review badges",ref:xe,style:{...se,position:"relative",width:it,maxWidth:b,flex:`0 1 ${it}`,minHeight:0,overflow:"hidden",boxSizing:"border-box"},children:[ze&&e.jsx("span",{ref:Ye,style:{position:"absolute",top:0,left:10,visibility:"hidden",zIndex:2,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:4,minHeight:25,padding:"2px 8px",border:"1px solid #E2E8F0",borderRadius:16,backgroundColor:"#F8FAFC",boxSizing:"border-box",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.08)",font:"inherit"},children:e.jsxs(c.Typography,{fontFamily:"Inter",sx:{fontSize:11,fontWeight:500,color:"#475569",whiteSpace:"nowrap"},children:[ze.label||"Pages"," Pg: ",ze.index+1]})}),N&&Ht.length>0&&!ze&&e.jsxs("nav",{"aria-label":"Review badge navigation",style:{position:"absolute",top:8,right:W||"auto",left:K||"auto",zIndex:2,display:"flex",alignItems:"center",gap:7,width:128,minHeight:40,padding:"4px 6px",border:"1px solid #CBD5E1",borderRadius:6,backgroundColor:"#FFFFFF",boxSizing:"border-box",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.06)",font:"inherit"},children:[e.jsx(c.Tooltip,{title:"out-of-range"===Yt?"Please enter valid number present in the range":"Please enter valid numbers",open:null!=Yt,placement:"top",arrow:!0,children:e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:Xt??"-",min:0,max:Ht.length,"aria-label":"Review badge number","aria-invalid":null!=Yt,onFocus:()=>{null==Xt&&Zt("")},onBlur:()=>{Jt(null);const e=Number(Xt);(null==Xt||""===Xt||!Number.isInteger(e)||e<1||e>Ht.length)&&(Qt.current=!1,Zt(Ut>=0?String(Ut+1):null))},onChange:e=>{const t=e.target.value;if(!/^\d*$/.test(t))return void Jt("invalid-number");const n=Number(t),i=""!==t&&(n<1||n>Ht.length);Jt(i?"out-of-range":null),Qt.current=!0,Zt(t)},style:{width:30,height:28,padding:0,border:"1px solid "+(Yt?"#DC2626":"#A5B4FC"),borderRadius:3,color:"#4F46E5",backgroundColor:"#FFFFFF",textAlign:"center",font:"inherit",fontSize:15,outline:"none"}})}),e.jsxs("span",{"aria-label":`${Ht.length} reviews`,style:{flex:1,color:"#4F46E5",fontSize:14,whiteSpace:"nowrap",textAlign:"center"},children:["of ",Ht.length]}),["previous","next"].map(t=>{const n="previous"===t,i=Ut+(n?-1:1),r=i<0||i>=Ht.length;return e.jsx("button",{type:"button","aria-label":(n?"Previous":"Next")+" review badge",disabled:r,onClick:()=>en(i),style:{display:"grid",placeItems:"center",width:17,height:28,padding:0,border:0,background:"transparent",color:r?"#C7D2FE":"#4F46E5",cursor:r?"default":"pointer"},children:e.jsx("svg",{width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",children:e.jsx("path",{d:n?"M1 7L6 2L11 7":"M1 1L6 6L11 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})},t)})]}),!ze&&Se.map(t=>{const n=ke===t.id,i=tn.get(t.id)??"1A",r=t.review_step.score,a=t.review_step.confidence,o=h.formatScore(r,a),s="boundary"===t.kind?h.getBoundaryReviewActionBadgeLabel(t.review_step,t.segment,pe.get(g.getSegmentReviewKey(t.segment))):"label"===t.kind?h.getTitleReviewActionBadgeLabel(t.review_step,t.segment,pe.get(g.getSegmentReviewKey(t.segment))):null,l=s??("N/A"===o?o:`${o}%`),d=!0===t.segment.confidence?.awaiting_llm,m=h.getConfidenceColors(r,a,d),p=at.has(t.id),f=d;return e.jsx(c.Tooltip,{title:d?"data is being processed":"",arrow:!0,children:e.jsx("span",{ref:e=>{e?Ze.current.set(t.id,e):Ze.current.delete(t.id)},style:{position:"absolute",top:0,left:10,visibility:"hidden",display:"inline-flex",cursor:f?"not-allowed":"pointer"},children:e.jsx("button",{disabled:f,type:"button","aria-pressed":n,"aria-label":d?`${t.review_step.type} · Page ${t.pageNumber} · Data is being processed`:`${t.review_step.type} · Page ${t.pageNumber}`,onClick:()=>Kt(t),style:{cursor:"inherit",display:"flex",alignItems:"center",justifyContent:"space-around",gap:4,width:s?p&&!d?115:90:p&&!d?105:80,minHeight:25,padding:"2px 5px",border:`1px solid ${p&&!d?"#E2E8F0":m.border}`,borderRadius:16,backgroundColor:p&&!d?"#F8FAFC":m.background,color:p&&!d?"#475569":m.text,font:"inherit",alignContent:"center",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.08)"},children:p&&!d?e.jsxs(c.Typography,{fontFamily:"Inter",sx:{display:"flex",gap:1,alignItems:"center",flexDirection:"row"},children:[e.jsx("span",{style:{fontSize:11,fontWeight:500},children:i}),e.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[e.jsx("svg",{width:"2",height:"14",viewBox:"0 0 1 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M0.399902 0V14",stroke:"#CBD5E1",strokeWidth:"0.8"})}),e.jsx("span",{style:{fontSize:11,fontWeight:500,marginLeft:"7px",display:"flex",alignItems:"center"},children:l})]}),e.jsxs("span",{style:{fontSize:11,fontWeight:500,display:"flex",alignItems:"center"},children:[e.jsx("svg",{width:"2",height:"14",viewBox:"0 0 1 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M0.399902 0V14",stroke:"#CBD5E1",strokeWidth:"0.8"})}),e.jsx("span",{style:{display:"flex",marginLeft:"7px",alignItems:"center"},children:e.jsx(u.CircleCheck,{height:14,width:14,strokeWidth:2,color:"#16A34A"})})]})]}):e.jsxs(c.Typography,{fontFamily:"Inter",sx:{display:"flex",gap:1,alignItems:"center",flexDirection:"row"},children:[e.jsx("span",{style:{fontSize:11,fontWeight:500},children:i}),e.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[e.jsx("svg",{width:"2",height:"14",viewBox:"0 0 1 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M0.399902 0V14",stroke:m.divider,strokeWidth:"0.8"})}),e.jsx("span",{style:{fontSize:11,fontWeight:500,marginLeft:"7px",display:"flex",alignItems:"center"},children:l})]})]})})})},t.id)})]})]}),ot&&Ne&&e.jsxs(a.default,{anchorElement:Ne,placement:"bottom-start",offset:{top:8},width:Math.min(et,b),maxWidth:b,heightBuffer:G??25,children:[Ie&&e.jsx(o.default,{width:"100%",maxWidth:"100%",score:ot.review_step.score,reasons:pt,reason:ot.review_step.reason,gap:ot.review_step.gap,onBack:()=>je(!1),onClose:zt}),e.jsx("div",{style:{display:Ie?"none":"block"},children:at.has(ot.id)?e.jsx(m.default,{width:"100%",maxWidth:"100%",headerName:"page"===ot.kind?"Page format approved":"Split"===vt?"Split approved":"Merged"===vt?"Merge approved":"User approved",headerIcon:"page"===ot.kind?e.jsx(u.Check,{size:18,strokeWidth:2}):"Merged"===vt?e.jsx(u.GitMerge,{size:18,strokeWidth:2}):"Split"===vt?e.jsx(w.default,{width:18,height:18}):e.jsx(u.CircleCheck,{size:18,strokeWidth:2}),title:xt,pageNo:`Page ${ot.segment.start_page}-${ot.segment.end_page}`,summary:qt&&Tt?e.jsx(f.default,{icon:e.jsx(u.CircleCheck,{size:14,strokeWidth:2}),title:xt,pageRange:`Page ${ot.segment.start_page}-${ot.segment.end_page}`,description:Bt??null,revertData:Tt,confirmDisabled:"page"===ot.kind?!Lt:null==U||!Lt,showDocumentHeader:!1,onRevert:async()=>{if("page"===ot.kind){if(!H||0===Ft.length){const e=new Error("SegmentReviewPdfWrapper requires onPageTypeRevert and at least one classification id to revert a page-type decision.");throw Y?.(e,S(ot)),e}let e;for(const t of Ft)e=await H({classification_id:t,human_verdict:"No"},S(ot));return e}if(!U)throw new Error("SegmentReviewPdfWrapper requires onRevert to handle a revert confirmation.");if(!It)throw new Error("There is no valid revert operation for this review.");const e=Mt?"boundary":"label"===ot.kind?"label":"boundary"===ot.kind?"boundary":null,t=Et(It.type);if(e&&t!==e)throw new Error(`Cannot use ${t??"unknown"} revert metadata for this review. Expected ${e}.`);return U(It,S(ot))},onRevertError:e=>{Y?.(e,S(ot))},onRevertComplete:e=>{qe(()=>new Set),"page"!==ot.kind&&(he(()=>new Set),fe(()=>new Map)),ot.id;const t=Tt.previousSegments[0]??Tt.currentSegment,n=Ne?.getBoundingClientRect(),i=Qe.current?.getBoundingClientRect(),r=Math.min(b,Math.max(220,et)),a=n?.left??(i?.right??window.innerWidth-r-8)+8,o=Math.max(8,Math.min(a,window.innerWidth-r-8)),s=null==n?.bottom?Math.max(8,i?.top??8):n.bottom+8;qe(()=>new Set),"page"!==ot.kind&&(Xe.current=null),Ve(!1),Oe({title:"Split"===vt?"Split reverted":"Merged"===vt?"Merge reverted":"Approval reverted",description:e?.message?.trim()||null,segment:t,position:{top:s,left:o,width:r}}),zt()}},ot.id):void 0,additionalActions:_t?e.jsx(p.default,{metadata:_t.metadata,reviewAction:ot.segment.review_action??void 0,startPage:ot.segment.start_page,endPage:ot.segment.end_page,title:xt,previousSegmentTitle:ut,nextSegmentTitle:ct,disabled:J||!O||We===ot.id,onConfirm:(e,t)=>{Vt(_t,e,t)}}):void 0,cognitiveScore:ot.review_step.score,styles:{root:{borderColor:"#16A34A"},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:"#16A34A"}}},onCognitiveClick:ft?()=>{je(!0),ie?.(S(ot))}:void 0,onClose:zt}):"boundary"===ot.kind?e.jsx(r.default,{width:"100%",maxWidth:"100%",totalPages:C,title:ot.segment.label||ot.segment.title,pageNo:`Page ${ot.pageNumber}`,content:ot.review_step.question??null,revertSummary:Nt,cognitiveScore:ot.review_step.score,metadata:ot.metadata,reviewAction:ot.segment.review_action??void 0,previousSegmentTitle:ut,nextSegmentTitle:ct,manualPrompt:$??"Set a custom boundary",defaultStartPage:ot.segment.start_page,defaultEndPage:ot.segment.end_page,styles:{root:{borderColor:mt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:mt.text}}},confirmDisabled:J||!O||We===ot.id,onConfirm:(e,t,n)=>{n&&r.isBoundaryReviewAction(t.id)&&Vt(ot,t.id,n)},onAdjustManually:()=>ne?.(S(ot)),onCognitiveClick:ft?()=>{je(!0),ie?.(S(ot))}:void 0,onClose:zt},ot.id):"label"===ot.kind?e.jsx(s.default,{width:"100%",maxWidth:"100%",title:ot.metadata.current_label||ot.segment.label||ot.segment.title,pageNo:`Pages ${ot.segment.start_page}-${ot.segment.end_page}`,content:ot.review_step.question??null,revertSummary:Nt,cognitiveScore:ot.review_step.score,metadata:ot.metadata,styles:{root:{borderColor:mt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:mt.text}}},confirmDisabled:J||!D||We===ot.id,confirmationBlocked:st,confirmationWarning:st?"Please confirm the boundary before confirming the title.":void 0,onActionConfirm:(e,t)=>{Vt(ot,e,t)},onAdjustManually:()=>ne?.(S(ot)),onCognitiveClick:ft?()=>{je(!0),ie?.(S(ot))}:void 0,onClose:zt},ot.id):2===ot.metadata.type_choices?.length?e.jsx(d.default,{width:"100%",maxWidth:"100%",title:ot.segment.label||ot.segment.title,pageNo:`Page ${ot.pageNumber}`,content:ot.review_step.reason,choices:ot.metadata.type_choices,cognitiveScore:ot.review_step.score,styles:{root:{borderColor:mt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:mt.text}}},confirmDisabled:J||!V||We===ot.id,onConfirm:e=>{Dt(ot,e)},onCognitiveClick:ft?()=>{je(!0),ie?.(S(ot))}:void 0,onClose:zt},ot.id):e.jsx(l.default,{width:"100%",maxWidth:"100%",title:ot.segment.label||ot.segment.title,pageNo:`Page ${ot.pageNumber}`,content:ot.review_step.reason,cognitiveScore:ot.review_step.score,pageType:ot.metadata.page_type,metadata:ot.metadata,styles:{root:{borderColor:mt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:mt.text}}},confirmDisabled:J||!V||We===ot.id,onActionConfirm:(e,t)=>{Vt(ot,e,t)},onCognitiveClick:ft?()=>{je(!0),ie?.(S(ot))}:void 0,onClose:zt},ot.id)})]}),Ge&&e.jsx(c.Portal,{children:e.jsx(c.Box,{"aria-live":"polite",sx:{position:"fixed",top:Ge.position.top,left:Ge.position.left,zIndex:1600,width:Ge.position.width,maxWidth:"calc(100vw - 16px)",opacity:De?1:0,transform:De?"translateY(0)":"translateY(-6px)",transition:"opacity 500ms ease, transform 500ms ease",filter:"drop-shadow(0 12px 24px rgba(15, 23, 42, 0.18))",pointerEvents:De?"auto":"none"},children:e.jsx(v.default,{title:Ge.title,description:Ge.description,onReview:()=>$t(Ge.segment)})})})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("@react-pdf-viewer/core"),i=require("../PdfViewer/PdfViewer.js"),r=require("./BoundaryCard.js"),a=require("./CardWrapper.js"),o=require("./CognitiveIntegrity.js"),s=require("./LabelCheck.js"),l=require("./PageCheck.js"),d=require("./PageTypeChoiceCheck.js"),u=require("./reviewStepAdapters.js"),g=require("lucide-react"),c=require("@mui/material"),m=require("./ReviewedCard.js"),p=require("./ReviewedBoundaryActions.js"),v=require("./RevertCard.js"),f=require("./SaveAsLearningCard.js"),h=require("./RevertSuccessCard.js"),w=require("./helper.js"),y=require("./ChartBreakoutCircle.js"),b=require("./ApprovalDescriptionBanner.js"),_=require("./reviewScore.js");const S=260;var x=(e=>(e.ActualSize="ActualSize",e.PageFit="PageFit",e.PageWidth="PageWidth",e))(x||{});const R={ActualSize:n.SpecialZoomLevel.ActualSize,PageFit:n.SpecialZoomLevel.PageFit,PageWidth:n.SpecialZoomLevel.PageWidth},E=e=>({reviewId:e.id,segment:e.segment,pageNumber:e.pageNumber});exports.SegmentPdfSpecialZoomLevel=x,exports.default=function({pdfUrl:x,pdfName:C,segments:k,totalPages:P,styles:A,pdfViewerProps:j,specialZoomLevel:I,showBadges:M=!0,sortByConfidence:N="low",filterByConfidence:B="all",showBadgeNavigation:T=!0,autoSelectReviewOnPageChange:L=!1,autoAdvanceAfterConfirm:F=!0,autoAdvanceScoreBand:q,badgePreloadPages:W=8,badgeOffsetTop:K=20,badgeOffsetRight:z=68,badgeOffsetLeft:$=0,initialReviewId:G,manualPrompt:O,heightBuffer:D,onBoundaryAction:V,onLabelAction:H,onPageAction:U,onPageTypeRevert:X,onRevert:Z,onActiveReviewChange:Y,onCurrentPageChange:J,onActionError:Q,disableAllActions:ee=!1,disablePdfAnnotations:te=!1,disablePdfTextLayer:ne=!0,disableTitleCheckUntilBoundaryCheckCompleted:ie=!1,onAdjustManually:re,onCognitiveClick:ae,className:oe,style:se,viewerStyle:le,railStyle:de,redirectionData:ue,onBadgeSelected:ge,onSaveAsLearning:ce,closePopups:me=!1,onPdfLoadError:pe}){console.log("LOG: TOTAL PAGE IN PARENT",P);const{boundaryReviews:ve,labelReviews:fe,pageReviews:he}=t.useMemo(()=>u.extractSegmentReviewData(k),[k]),[we,ye]=t.useState(()=>new Map),[be,_e]=t.useState(()=>new Set),Se=t.useMemo(()=>{const e=new Map;let t=1;return k.forEach((n,i)=>{const r=u.getSegmentReviewKey(n,i);e.has(r)||(e.set(r,t),t+=1)}),e},[k]),xe=t.useMemo(()=>new Set(fe.map(e=>u.getSegmentReviewKey(e.segment))),[fe]),Re=t.useMemo(()=>w.getPendingMergeImpactedSegmentKeys(k),[k]);t.useEffect(()=>{ye(e=>{let t=!1;const n=new Map(e);return e.forEach((e,i)=>{const r=k.find(e=>u.getSegmentReviewKey(e)===i);r&&!w.hasPolledStructuralAction(r,e)||(n.delete(i),t=!0)}),t?n:e})},[k]),t.useEffect(()=>{_e(e=>{let t=!1;const n=new Set(e);return e.forEach(e=>{we.has(e)||(n.delete(e),t=!0)}),t?n:e})},[we]);const Ee=t.useMemo(()=>w.getOptimisticMergeImpactedSegmentKeys(k,we,be),[be,we,k]),Ce=t.useRef(null),ke=t.useMemo(()=>[...ve.filter(e=>!Re.has(u.getSegmentReviewKey(e.segment))&&!Ee.has(u.getSegmentReviewKey(e.segment))&&!w.shouldHideStructuralBoundaryReview(e.review_step,e.segment,xe.has(u.getSegmentReviewKey(e.segment)),we.get(u.getSegmentReviewKey(e.segment)))).map(e=>({...e,kind:"boundary",pageNumber:e.metadata.focus_page??e.segment.start_page})),...fe.filter(e=>!Re.has(u.getSegmentReviewKey(e.segment))&&!Ee.has(u.getSegmentReviewKey(e.segment))).map(e=>({...e,kind:"label",pageNumber:e.segment.start_page})),...he.filter(e=>!Re.has(u.getSegmentReviewKey(e.segment))&&!Ee.has(u.getSegmentReviewKey(e.segment))).map(e=>({...e,kind:"page",pageNumber:e.metadata.page_num??e.segment.start_page}))].sort((e,t)=>{const n=Se.get(u.getSegmentReviewKey(e.segment))??Number.MAX_SAFE_INTEGER,i=Se.get(u.getSegmentReviewKey(t.segment))??Number.MAX_SAFE_INTEGER;return e.pageNumber-t.pageNumber||n-i||e.reviewStepIndex-t.reviewStepIndex||e.id.localeCompare(t.id)}),[ve,fe,he,Ee,we,Re,Se,xe]),Pe=t.useMemo(()=>k.map(e=>({...e,title:e.label?.trim()||e.title,page_count:e.page_count??e.end_page-e.start_page+1})),[k]),[Ae,je]=t.useState(1),[Ie,Me]=t.useState(G??null),[Ne,Be]=t.useState(G??null),[Te,Le]=t.useState(!1),[Fe,qe]=t.useState(null),[We,Ke]=t.useState(null),[ze,$e]=t.useState(()=>new Set),[Ge,Oe]=t.useState(null),[De,Ve]=t.useState(null),[He,Ue]=t.useState(null),[Xe,Ze]=t.useState(!1),Ye=t.useRef(0),Je=t.useRef(null),Qe=t.useRef(null),et=t.useRef(new Map),tt=t.useRef(null),nt=t.useRef(null),it=t.useRef(null),[rt,at]=t.useState(S),ot=A?.aside?.width??"40%",st=`min(${"number"==typeof ot?`${ot}px`:ot}, 260px, 100%)`,lt=t.useCallback(()=>{Je.current=null,Le(!1),Me(null),qe(null),Ve(null),Ue(null),Ze(!1),Y?.(null,null)},[Y]);t.useEffect(()=>{me&&lt()},[lt,me]),t.useEffect(()=>{$e(e=>{if(0===e.size)return e;const t=new Set(e);let n=!1;return ke.forEach(e=>{null!=e.review_step.review?.action&&t.has(e.id)&&(t.delete(e.id),n=!0)}),n?t:e})},[ke]),t.useEffect(()=>{const e=Ce.current;if(!e||!M)return;const t=()=>{const t=e.getBoundingClientRect().width;t>0&&at(t)};t();const n="undefined"==typeof ResizeObserver?null:new ResizeObserver(t);return n?.observe(e),()=>n?.disconnect()},[M]);const dt=t.useMemo(()=>{const e=new Set;return ke.forEach(t=>{null!=t.review_step.review?.action&&e.add(t.id)}),e},[ke]),ut=t.useMemo(()=>ke.find(e=>e.id===Ie)??null,[Ie,ke]),gt=t.useMemo(()=>!(!ie||"label"!==ut?.kind)&&ve.some(e=>{if(u.getSegmentReviewKey(e.segment)!==u.getSegmentReviewKey(ut.segment)||dt.has(e.id))return!1;const t=w.getResolvedScore(e.review_step.score,e.review_step.confidence);return null==t||t<85}),[ut,ve,ie,dt]),ct=null==ut?-1:k.findIndex(e=>u.getSegmentReviewKey(e)===u.getSegmentReviewKey(ut.segment)),mt=ct>0?k[ct-1]:void 0,pt=ct>=0?k[ct+1]:void 0,vt=mt?.label?.trim()||mt?.title,ft=pt?.label?.trim()||pt?.title,ht=w.getConfidenceColors(ut?.review_step.score,ut?.review_step.confidence,ut?.segment.confidence?.awaiting_llm),wt=ut?.review_step.reasons?.length?ut.review_step.reasons:ut?.segment.confidence?.reasons??[],yt=Boolean(wt.some(e=>e.text.trim()&&["evidence","gap"].includes(e.type.trim().toLowerCase()))||ut?.review_step.reason?.trim()||ut?.review_step.gap?.trim()),bt=null==ut?null:"boundary"===ut.kind?w.getBoundaryReviewActionBadgeLabel(ut.review_step,ut.segment,we.get(ut.segment.stable_key??"")):w.getTitleReviewActionBadgeLabel(ut.review_step,ut.segment,we.get(ut.segment.stable_key??"")),_t="label"===ut?.kind?[bt,ut.review_step.human_action_enum,ut.review_step.review?.action,ut.review_step.human_resolution?.action]:[],St="label"===ut?.kind&&_t.some(e=>{const t=e?.trim().toUpperCase()??"";return t.includes("MERGE")||t.includes("SPLIT")}),xt=null!=ut&&ke.some(e=>"boundary"===e.kind&&u.getSegmentReviewKey(e.segment)===u.getSegmentReviewKey(ut.segment)),Rt=St&&!xt,Et=("boundary"===ut?.kind||Rt)&&null!=ut?(()=>{if("boundary"===ut.kind)return ut;const e=ve.find(e=>u.getSegmentReviewKey(e.segment)===u.getSegmentReviewKey(ut.segment));return e?{...e,kind:"boundary",pageNumber:e.metadata.focus_page??e.segment.start_page}:{...ut,kind:"boundary",pageNumber:ut.segment.review_action?.focus_page??ut.segment.start_page,metadata:{focus_page:ut.segment.review_action?.focus_page??null,boundary_margin:ut.segment.boundary_margin??null,user_actions:[]}}})():void 0,Ct=null==ut?"":ut.segment.label?.trim()||ut.segment.title,kt=ut?.review_step.revert,Pt=ut?.segment.revert,At=e=>e?.trim().toLowerCase(),jt=null==ut?void 0:[...ut.segment.review_steps??[]].reverse().find(e=>{const t=e.type?.trim().toLowerCase();return("page_boundary"===t||"page boundary review"===t)&&"boundary"===At(e.revert?.type)})?.revert,It=kt??ut?.segment.revert??jt,Mt=It?.decision.trim().toUpperCase();bt??(Mt?.includes("SPLIT")||Mt?.includes("MERGE"));const[Nt,Bt]=t.useState(()=>new Set),Tt="label"===ut?.kind&&"SET_RANGE"===jt?.decision?.trim().toUpperCase()&&jt.current_segment_ids.length!==jt.previous_state.length,Lt="Merged"===bt||"Split"===bt||Tt,Ft=null==ut?void 0:Lt?"boundary"===At(jt?.type)?jt:"boundary"===At(Pt?.type)?Pt:"boundary"===At(kt?.type)?kt:void 0:"label"===ut.kind?"label"===At(kt?.type)?kt:void 0:"boundary"===ut.kind?"boundary"===At(kt?.type)?kt:"boundary"===At(jt?.type)?jt:"boundary"===At(Pt?.type)?Pt:void 0:void 0,qt=Lt&&Ft?.operation_id?k.flatMap(e=>e.review_steps??[]).find(e=>{const t=e.type?.trim().toLowerCase();if(!("page_boundary"===t||"page boundary review"===t))return!1;return(e.human_resolution?.operation_id??e.revert?.operation_id??e.operation_id)===Ft.operation_id&&Boolean(e.human_resolution?.change_summary?.trim())}):void 0,Wt=Ft?.summary?.trim()||null,Kt=Lt?qt?.human_resolution?.change_summary?.trim()||Ft?.summary?.trim()||"":ut?.review_step?.human_resolution?.change_summary?.trim()||ut?.review_step?.summary?.trim()||"",zt="page"===ut?.kind?{currentSegment:{title:Ct,startPage:ut.segment.start_page,endPage:ut.segment.end_page},previousSegments:[]}:ut&&Ft?{currentSegment:{title:Ct,startPage:ut.segment.start_page,endPage:ut.segment.end_page},previousSegments:(Ft.previous_state??[]).flatMap(e=>{const t=null===e.label?"Untitled document":e.label?.trim();return t?[{title:t,startPage:e.start_page,endPage:e.end_page}]:[]})}:null,$t="page"===ut?.kind?ut.metadata.type_choices?.map(e=>e.classification_id)??(ut.metadata.classification_id?[ut.metadata.classification_id]:[]):[],Gt="page"===ut?.kind?Boolean(X&&$t.length>0):Boolean(Ft?.operation_id&&Ft?.type&&!1!==Ft?.revertable),Ot=Boolean(zt&&Gt),Dt=t.useCallback((e,t)=>{Ye.current+=1,Je.current={requestId:Ye.current,pageNumber:e,reviewId:t},Ke({pageNumber:e,requestId:Ye.current})},[]),Vt=t.useCallback(e=>{!0!==e.segment.confidence?.awaiting_llm&&(ge?.({reviewId:e.id,segment_id:e.segment.segment_id??null,reviewStepIndex:e.reviewStepIndex,kind:e.kind,pageNumber:e.pageNumber,metadata:e.metadata}),Ve(null),Ue(null),Me(e.id),Be(e.id),Le(!1),qe(null),Dt(e.pageNumber,e.id),Y?.(e.id,e.segment))},[Y,ge,Dt]);t.useEffect(()=>{if(!He)return;const e=requestAnimationFrame(()=>Ze(!0)),t=window.setTimeout(()=>{Ze(!1)},3500),n=window.setTimeout(()=>{Ue(null)},4e3);return()=>{cancelAnimationFrame(e),window.clearTimeout(t),window.clearTimeout(n)}},[He]),t.useEffect(()=>{if(!ue)return;if("pageGroup"===ue.type){const e=ue.pages??[],t=ue.pageIndex??0,n=e[t];if(null==n)return;return Ht(),Ve({pages:e,index:t,label:ue.groupLabel??""}),Ye.current+=1,void Ke({pageNumber:n,requestId:Ye.current})}if(Ve(null),ue.reviewId){const e=ke.find(e=>e.id===ue.reviewId&&(!ue.type||e.kind===ue.type));if(e)return void Vt(e)}if(ue.classificationId){const e=ke.find(e=>"page"===e.kind&&(e.metadata.classification_id===ue.classificationId||e.metadata.type_choices?.some(e=>e.classification_id===ue.classificationId))&&(!ue.segmentId||e.segment.segment_id===ue.segmentId)&&(!ue.type||e.kind===ue.type));if(e)return void Vt(e)}if(!ue.pageNumber||!ue.type)return;const e=Number(ue.pageNumber);if(!Number.isInteger(e)||e<1)return;const t=ue.pageType?.trim().toLowerCase(),n=ke.find(n=>{const i="page"===n.kind?n.pageNumber:n.segment.start_page,r="page"!==n.kind||!t||n.metadata.page_type===t||n.metadata.type_choices?.some(e=>e.page_type===t);return(!ue.segmentId||n.segment.segment_id===ue.segmentId)&&i===e&&n.kind===ue.type&&r});n?Vt(n):"page"===ue.type&&(Ht(),Ye.current+=1,Ke({pageNumber:e,requestId:Ye.current}))},[ue,Vt,ke]);const Ht=t.useCallback(()=>{Je.current=null,Le(!1),Me(null),qe(null),Y?.(null,null)},[Y]),Ut=t.useCallback(e=>{Ze(!1),Ue(null);const t=ke.find(t=>!dt.has(t.id)&&"boundary"===t.kind&&t.segment.start_page===e.startPage&&t.segment.end_page===e.endPage)??ke.find(t=>!dt.has(t.id)&&t.segment.start_page<=e.startPage&&t.segment.end_page>=e.startPage);t?Vt(t):(Ht(),Ye.current+=1,Ke({pageNumber:e.startPage,requestId:Ye.current}))},[Ht,dt,ke,Vt]),Xt=t.useCallback((e,t)=>{const n=_.getReviewScoreBand(e.review_step.score),i=null==q||n===q,r=ze.has(e.id)&&w.isReviewStepResolutionCurrent(e.review_step,e.segment);return e.id!==t&&i&&!0!==e.segment.confidence?.awaiting_llm&&!w.isReviewStepResolved(e.review_step,e.segment)&&!r},[q,ze]),Zt=t.useCallback(e=>{if(!F)return void Ht();const t=ke.findIndex(t=>t.id===e),n=ke.find((n,i)=>i>t&&Xt(n,e))??ke.find(t=>Xt(t,e));n?requestAnimationFrame(()=>Vt(n)):Ht()},[F,Ht,Xt,ke,Vt]),Yt=t.useCallback(async(e,t)=>{if(ee||!U||0===t.length)return;const n=e.metadata.type_choices??[];if(2!==n.length)return;const i=new Set(t),r=E(e),a=[...n].sort((e,t)=>{const n=i.has(e.page_type);return n===i.has(t.page_type)?0:n?-1:1});Oe(e.id);try{for(const t of a){const n=i.has(t.page_type)?l.PageCheckActionEnum.YES:l.PageCheckActionEnum.NO;await U(n,{action:n,pageType:t.page_type,metadata:{user_actions:[l.PageCheckActionEnum.YES,l.PageCheckActionEnum.NO],page_num:e.metadata.page_num,page_type:t.page_type,classification_id:t.classification_id}},r)}$e(t=>{const n=new Set(t);return n.add(e.id),n}),Zt(e.id)}catch(e){Q?.(e,r)}finally{Oe(null)}},[ee,Q,U,Zt]),Jt=t.useCallback(async(e,t,n)=>{if(ee)return;if("boundary"===e.kind&&!V)return;if("label"===e.kind&&!H)return;if("page"===e.kind&&!U)return;const i=E(e),a=t,o=n,s=a===r.BoundaryReviewActionEnum.SET_RANGE?(()=>{const t=o.startPage,n=o.endPage;if(null==t||null==n)return null;const i=t<e.segment.start_page||n>e.segment.end_page,a=t>e.segment.start_page||n<e.segment.end_page;return i&&!a?t<e.segment.start_page?r.BoundaryReviewActionEnum.MERGE_PREV:r.BoundaryReviewActionEnum.MERGE_NEXT:a?r.BoundaryReviewActionEnum.SPLIT_HERE:null})():a,l="boundary"===e.kind&&null!=V&&F&&(s===r.BoundaryReviewActionEnum.SPLIT_HERE||s===r.BoundaryReviewActionEnum.MERGE_NEXT||s===r.BoundaryReviewActionEnum.MERGE_PREV||s===r.BoundaryReviewActionEnum.MERGE_PREVIOUS),d=l?k.findIndex(t=>u.getSegmentReviewKey(t)===u.getSegmentReviewKey(e.segment)):-1;l&&d>=0&&s&&(Qe.current={action:s,originalSegmentIndex:d,segmentSignature:JSON.stringify(k.map((e,t)=>({key:u.getSegmentReviewKey(e,t),startPage:e.start_page,endPage:e.end_page,version:e.version??null}))),ready:!1}),Oe(e.id);try{"boundary"===e.kind?await(V?.(t,n,i)):"label"===e.kind?await(H?.(t,n,i)):"page"===e.kind&&await(U?.(t,n,i)),$e(t=>{const n=new Set(t);return n.add(e.id),n});const o="boundary"===e.kind&&(s===r.BoundaryReviewActionEnum.MERGE_NEXT||s===r.BoundaryReviewActionEnum.MERGE_PREV||s===r.BoundaryReviewActionEnum.MERGE_PREVIOUS);if(("boundary"===e.kind&&s===r.BoundaryReviewActionEnum.SPLIT_HERE||o)&&s){const t=u.getSegmentReviewKey(e.segment);_e(e=>{const n=new Set(e);return a===r.BoundaryReviewActionEnum.SET_RANGE?n.add(t):n.delete(t),n}),ye(e=>{const n=new Map(e);return n.set(t,s),n})}if(Qe.current){if(Qe.current.ready=!0,o){const t=ke.find(t=>"label"===t.kind&&u.getSegmentReviewKey(t.segment)===u.getSegmentReviewKey(e.segment));t&&requestAnimationFrame(()=>Vt(t))}}else Zt(e.id)}catch(e){l&&(Qe.current=null),Q?.(e,i)}finally{Oe(null)}},[F,ee,Q,V,H,U,X,ke,k,Vt,Zt]);t.useEffect(()=>{const e=Qe.current;if(!e?.ready)return;if(JSON.stringify(k.map((e,t)=>({key:u.getSegmentReviewKey(e,t),startPage:e.start_page,endPage:e.end_page,version:e.version??null})))===e.segmentSignature)return;const t=e.action===r.BoundaryReviewActionEnum.SPLIT_HERE?e.originalSegmentIndex+1:e.action===r.BoundaryReviewActionEnum.MERGE_PREV||e.action===r.BoundaryReviewActionEnum.MERGE_PREVIOUS?Math.max(0,e.originalSegmentIndex-1):e.originalSegmentIndex,n=new Map(k.map((e,t)=>[u.getSegmentReviewKey(e,t),t])),i=ke.find(e=>{const i=n.get(u.getSegmentReviewKey(e.segment));return null!=i&&i>=t&&Xt(e)});if(!i)return Qe.current=null,void Ht();requestAnimationFrame(()=>{Qe.current=null,Vt(i)})},[Ht,Xt,ke,k,Vt]),t.useEffect(()=>{Qe.current||Ie&&!ke.some(e=>e.id===Ie)&&Ht()},[Ie,Ht,ke]),t.useEffect(()=>{if(!L)return;if(Qe.current)return;const e=ke.find(e=>e.pageNumber===Ae);e&&e.id!==Ie&&Vt(e)},[Ie,L,Ae,Vt,ke]),t.useEffect(()=>{Qe.current||Ie&&!ke.some(e=>e.id===Ie&&!0!==e.segment.confidence?.awaiting_llm)&&Ht()},[Ie,Ht,ke]);const Qt=t.useMemo(()=>{const e=ke.filter(e=>!0!==e.segment.confidence?.awaiting_llm);if("all"===B)return e;const t=["low","medium","high"].filter(e=>e!==N),n=[N,...t],i=new Map(n.map((e,t)=>[e,t]));return e.map((e,t)=>({item:e,index:t})).sort((e,t)=>{const r=e.item.review_step.confidence?.trim().toLowerCase(),a=t.item.review_step.confidence?.trim().toLowerCase();return(null==r?n.length:i.get(r)??n.length)-(null==a?n.length:i.get(a)??n.length)||e.index-t.index}).map(({item:e})=>e)},[B,N,ke]),en=Qt.findIndex(e=>e.id===Ne),[tn,nn]=t.useState(null),[rn,an]=t.useState(null),on=t.useRef(!1),sn=t.useCallback(e=>{const t=Qt[e];t&&Vt(t)},[Qt,Vt]);t.useCallback(e=>{if(!De||e<0||e>=De.pages.length)return;const t=De.pages[e];null!=t&&(Ht(),Ve(t=>null==t?t:{...t,index:e}),Ye.current+=1,Ke({pageNumber:t,requestId:Ye.current}))},[De,Ht]),t.useEffect(()=>{Ne&&!Qt.some(e=>e.id===Ne)&&Be(null)},[Qt,Ne]),t.useEffect(()=>{on.current=!1,an(null),nn(en>=0?String(en+1):null)},[en,Qt.length]),t.useEffect(()=>{if(!on.current||null==tn)return;const e=window.setTimeout(()=>{const e=Number(tn.trim()),t=e-1;Number.isInteger(e)&&t>=0&&t<Qt.length&&(on.current=!1,sn(t))},300);return()=>window.clearTimeout(e)},[sn,tn,Qt.length]);const ln=t.useMemo(()=>{const e=new Map;ke.forEach(t=>{const n=e.get(u.getSegmentReviewKey(t.segment))??[];n.push(t),e.set(u.getSegmentReviewKey(t.segment),n)});const t=new Map;return e.forEach((e,n)=>{const i=Se.get(n)??1;e.sort((e,t)=>e.reviewStepIndex-t.reviewStepIndex).forEach((e,n)=>{t.set(e.id,`${i}${(e=>{let t=e+1,n="";for(;t>0;)t-=1,n=String.fromCharCode(65+t%26)+n,t=Math.floor(t/26);return n})(n)}`)})}),t},[ke,Se]),dn=t.useMemo(()=>{const e=new Map;ke.forEach(t=>{const n=e.get(t.pageNumber)??[];n.push(t),e.set(t.pageNumber,n)});const t=new Map;return e.forEach(e=>{e.forEach((e,n)=>t.set(e.id,n))}),t},[ke]),un=t.useCallback(e=>({startPage:Math.max(0,e.startPage-W),endPage:Math.min(e.numPages-1,e.endPage+W)}),[W]),gn=t.useCallback(()=>{const e=nt.current,t=it.current;if(!e||!t)return;const n=e.getBoundingClientRect(),i=t.querySelector(".rpv-core__inner-pages"),r=i?.getBoundingClientRect()??t.getBoundingClientRect();ke.forEach(e=>{const i=et.current.get(e.id);if(!i)return;const a=t.querySelector(`[data-testid="core__page-layer-${e.pageNumber-1}"]`);if(!a)return void(i.style.visibility="hidden");const o=a.getBoundingClientRect(),s=dn.get(e.id)??0,l=o.top+K+40*s,d=l+(i.offsetHeight||32),u=l>=r.top&&d<=r.bottom;i.style.top=l-n.top+"px",i.style.visibility=u?"visible":"hidden"});const a=tt.current;if(a){const e=De?.pages[De.index],i=null==e?null:t.querySelector(`[data-testid="core__page-layer-${e-1}"]`);if(De&&i){const e=i.getBoundingClientRect().top+K,t=e+(a.offsetHeight||25),o=e>=r.top&&t<=r.bottom;a.style.top=e-n.top+"px",a.style.visibility=o?"visible":"hidden"}else a.style.visibility="hidden"}if(Ie&&null==Je.current){const e=et.current.get(Ie);e&&"hidden"!==e.style.visibility&&qe(t=>t===e?t:e)}},[De,Ie,K,dn,ke]),cn=t.useCallback(e=>{const t=Je.current;t&&t.requestId===e.requestId&&t.pageNumber===e.pageNumber&&(Je.current=null,gn(),requestAnimationFrame(()=>{if(null!=Je.current)return;const e=et.current.get(t.reviewId);e&&"hidden"!==e.style.visibility&&qe(e)}))},[gn]);return t.useEffect(()=>{const e=it.current;if(!e||!M)return;let t=null;const n=()=>{null==t&&(t=requestAnimationFrame(()=>{t=null,gn()}))};e.addEventListener("scroll",n,!0),window.addEventListener("resize",n);const i=new MutationObserver(n);i.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]});const r="undefined"==typeof ResizeObserver?null:new ResizeObserver(n);return r?.observe(e),n(),()=>{null!=t&&cancelAnimationFrame(t),e.removeEventListener("scroll",n,!0),window.removeEventListener("resize",n),i.disconnect(),r?.disconnect()}},[M,gn]),e.jsxs("div",{ref:nt,className:oe,style:{...se,display:"block",position:"relative",width:"100%",height:"100%",minWidth:0,overflowX:"auto",overflowY:"hidden"},children:[e.jsxs("div",{className:"segment-review-wrapper__container",style:{display:"flex",alignItems:"stretch",gap:0,width:"100%",minWidth:700,height:"100%"},children:[e.jsx("div",{ref:it,style:{...le,flex:"1 1 auto",width:M?"auto":"100%",minWidth:0,height:"100%",boxSizing:"border-box"},children:e.jsx(i.default,{highlightText:[],highlightPages:{},highlightCordinatePages:[],useCoordinates:!1,showRotateButton:!0,...j,onError:pe,defaultScale:void 0===I?j?.defaultScale??n.SpecialZoomLevel.PageFit:R[I],disablePdfAnnotations:te,disablePdfTextLayer:ne,pdfUrl:x,pdfName:C,segments:Pe,navigationRequest:We,onNavigationSettled:cn,setRenderRange:un,onCurrentPageChange:e=>{je(e),null==Je.current&&ut&&ut.pageNumber!==e&&Ht(),J?.(e)}})}),M&&e.jsxs("aside",{"aria-label":"Page review badges",ref:Ce,style:{...de,position:"relative",width:st,maxWidth:S,flex:`0 1 ${st}`,minHeight:0,overflow:"hidden",boxSizing:"border-box"},children:[De&&e.jsx("span",{ref:tt,style:{position:"absolute",top:0,left:10,visibility:"hidden",zIndex:2,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:4,minHeight:25,padding:"2px 8px",border:"1px solid #E2E8F0",borderRadius:16,backgroundColor:"#F8FAFC",boxSizing:"border-box",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.08)",font:"inherit"},children:e.jsxs(c.Typography,{fontFamily:"Inter",sx:{fontSize:11,fontWeight:500,color:"#475569",whiteSpace:"nowrap"},children:[De.label||"Pages"," Pg: ",De.index+1]})}),T&&Qt.length>0&&!De&&e.jsxs("nav",{"aria-label":"Review badge navigation",style:{position:"absolute",top:8,right:z||"auto",left:$||"auto",zIndex:2,display:"flex",alignItems:"center",gap:7,width:128,minHeight:40,padding:"4px 6px",border:"1px solid #CBD5E1",borderRadius:6,backgroundColor:"#FFFFFF",boxSizing:"border-box",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.06)",font:"inherit"},children:[e.jsx(c.Tooltip,{title:"out-of-range"===rn?"Please enter valid number present in the range":"Please enter valid numbers",open:null!=rn,placement:"top",arrow:!0,children:e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:tn??"-",min:0,max:Qt.length,"aria-label":"Review badge number","aria-invalid":null!=rn,onFocus:()=>{null==tn&&nn("")},onBlur:()=>{an(null);const e=Number(tn);(null==tn||""===tn||!Number.isInteger(e)||e<1||e>Qt.length)&&(on.current=!1,nn(en>=0?String(en+1):null))},onChange:e=>{const t=e.target.value;if(!/^\d*$/.test(t))return void an("invalid-number");const n=Number(t),i=""!==t&&(n<1||n>Qt.length);an(i?"out-of-range":null),on.current=!0,nn(t)},style:{width:30,height:28,padding:0,border:"1px solid "+(rn?"#DC2626":"#A5B4FC"),borderRadius:3,color:"#4F46E5",backgroundColor:"#FFFFFF",textAlign:"center",font:"inherit",fontSize:15,outline:"none"}})}),e.jsxs("span",{"aria-label":`${Qt.length} reviews`,style:{flex:1,color:"#4F46E5",fontSize:14,whiteSpace:"nowrap",textAlign:"center"},children:["of ",Qt.length]}),["previous","next"].map(t=>{const n="previous"===t,i=en+(n?-1:1),r=i<0||i>=Qt.length;return e.jsx("button",{type:"button","aria-label":(n?"Previous":"Next")+" review badge",disabled:r,onClick:()=>sn(i),style:{display:"grid",placeItems:"center",width:17,height:28,padding:0,border:0,background:"transparent",color:r?"#C7D2FE":"#4F46E5",cursor:r?"default":"pointer"},children:e.jsx("svg",{width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",children:e.jsx("path",{d:n?"M1 7L6 2L11 7":"M1 1L6 6L11 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})},t)})]}),!De&&ke.map(t=>{const n=Ie===t.id,i=ln.get(t.id)??"1A",r=t.review_step.score,a=t.review_step.confidence,o=w.formatScore(r,a),s="boundary"===t.kind?w.getBoundaryReviewActionBadgeLabel(t.review_step,t.segment,we.get(u.getSegmentReviewKey(t.segment))):"label"===t.kind?w.getTitleReviewActionBadgeLabel(t.review_step,t.segment,we.get(u.getSegmentReviewKey(t.segment))):null,l=s??("N/A"===o?o:`${o}%`),d=!0===t.segment.confidence?.awaiting_llm,m=w.getConfidenceColors(r,a,d),p=dt.has(t.id),v=d;return e.jsx(c.Tooltip,{title:d?"data is being processed":"",arrow:!0,children:e.jsx("span",{ref:e=>{e?et.current.set(t.id,e):et.current.delete(t.id)},style:{position:"absolute",top:0,left:10,visibility:"hidden",display:"inline-flex",cursor:v?"not-allowed":"pointer"},children:e.jsx("button",{disabled:v,type:"button","aria-pressed":n,"aria-label":d?`${t.review_step.type} · Page ${t.pageNumber} · Data is being processed`:`${t.review_step.type} · Page ${t.pageNumber}`,onClick:()=>Vt(t),style:{cursor:"inherit",display:"flex",alignItems:"center",justifyContent:"space-around",gap:4,width:s?p&&!d?115:90:p&&!d?105:80,minHeight:25,padding:"2px 5px",border:`1px solid ${p&&!d?"#E2E8F0":m.border}`,borderRadius:16,backgroundColor:p&&!d?"#F8FAFC":m.background,color:p&&!d?"#475569":m.text,font:"inherit",alignContent:"center",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.08)"},children:p&&!d?e.jsxs(c.Typography,{fontFamily:"Inter",sx:{display:"flex",gap:1,alignItems:"center",flexDirection:"row"},children:[e.jsx("span",{style:{fontSize:11,fontWeight:500},children:i}),e.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[e.jsx("svg",{width:"2",height:"14",viewBox:"0 0 1 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M0.399902 0V14",stroke:"#CBD5E1",strokeWidth:"0.8"})}),e.jsx("span",{style:{fontSize:11,fontWeight:500,marginLeft:"7px",display:"flex",alignItems:"center"},children:l})]}),e.jsxs("span",{style:{fontSize:11,fontWeight:500,display:"flex",alignItems:"center"},children:[e.jsx("svg",{width:"2",height:"14",viewBox:"0 0 1 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M0.399902 0V14",stroke:"#CBD5E1",strokeWidth:"0.8"})}),e.jsx("span",{style:{display:"flex",marginLeft:"7px",alignItems:"center"},children:e.jsx(g.CircleCheck,{height:14,width:14,strokeWidth:2,color:"#16A34A"})})]})]}):e.jsxs(c.Typography,{fontFamily:"Inter",sx:{display:"flex",gap:1,alignItems:"center",flexDirection:"row"},children:[e.jsx("span",{style:{fontSize:11,fontWeight:500},children:i}),e.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[e.jsx("svg",{width:"2",height:"14",viewBox:"0 0 1 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M0.399902 0V14",stroke:m.divider,strokeWidth:"0.8"})}),e.jsx("span",{style:{fontSize:11,fontWeight:500,marginLeft:"7px",display:"flex",alignItems:"center"},children:l})]})]})})})},t.id)})]})]}),ut&&Fe&&e.jsxs(a.default,{anchorElement:Fe,placement:"bottom-start",offset:{top:8},width:Math.min(rt,S),maxWidth:S,heightBuffer:D??25,children:[Te&&e.jsx(o.default,{width:"100%",maxWidth:"100%",score:ut.review_step.score,reasons:wt,reason:ut.review_step.reason,gap:ut.review_step.gap,onBack:()=>Le(!1),onClose:Ht}),e.jsx("div",{style:{display:Te?"none":"block"},children:dt.has(ut.id)?e.jsx(m.default,{width:"100%",maxWidth:"100%",headerName:"page"===ut.kind?"Page format approved":"Split"===bt?"Split approved":"Merged"===bt?"Merge approved":"User approved",headerIcon:"page"===ut.kind?e.jsx(g.Check,{size:18,strokeWidth:2}):"Merged"===bt?e.jsx(g.GitMerge,{size:18,strokeWidth:2}):"Split"===bt?e.jsx(y.default,{width:18,height:18}):e.jsx(g.CircleCheck,{size:18,strokeWidth:2}),title:Ct,pageNo:`Page ${ut.segment.start_page}-${ut.segment.end_page}`,summary:Ot&&zt?e.jsxs(c.Stack,{spacing:.75,children:[Kt&&e.jsx(b.default,{icon:e.jsx(g.CircleCheck,{size:14,strokeWidth:2}),description:Kt}),ce&&e.jsx(f.default,{disabled:ee,onSave:async()=>{const e=await ce({operationId:Ft?.operation_id??null},E(ut));return e&&e.success&&Ht(),e},onSaveComplete:()=>{Bt(e=>{const t=new Set(e);return t.add(ut.id),t}),Ht()},onSaveError:e=>{Q?.(e,E(ut))}}),e.jsx(v.default,{icon:e.jsx(g.CircleCheck,{size:14,strokeWidth:2}),title:Ct,pageRange:`Page ${ut.segment.start_page}-${ut.segment.end_page}`,description:Kt??null,revertData:zt,confirmDisabled:"page"===ut.kind?!Gt:null==Z||!Gt,showDocumentHeader:!1,onRevert:async()=>{if("page"===ut.kind){if(!X||0===$t.length){const e=new Error("SegmentReviewPdfWrapper requires onPageTypeRevert and at least one classification id to revert a page-type decision.");throw Q?.(e,E(ut)),e}let e;for(const t of $t)e=await X({classification_id:t,human_verdict:"No"},E(ut));return e}if(!Z)throw new Error("SegmentReviewPdfWrapper requires onRevert to handle a revert confirmation.");if(!Ft)throw new Error("There is no valid revert operation for this review.");const e=Lt?"boundary":"label"===ut.kind?"label":"boundary"===ut.kind?"boundary":null,t=At(Ft.type);if(e&&t!==e)throw new Error(`Cannot use ${t??"unknown"} revert metadata for this review. Expected ${e}.`);return Z(Ft,E(ut))},onRevertError:e=>{Q?.(e,E(ut))},onRevertComplete:e=>{$e(()=>new Set),"page"!==ut.kind&&(_e(()=>new Set),ye(()=>new Map));const t=zt.previousSegments[0]??zt.currentSegment,n=Fe?.getBoundingClientRect(),i=it.current?.getBoundingClientRect(),r=Math.min(S,Math.max(220,rt)),a=n?.left??(i?.right??window.innerWidth-r-8)+8,o=Math.max(8,Math.min(a,window.innerWidth-r-8)),s=null==n?.bottom?Math.max(8,i?.top??8):n.bottom+8;$e(()=>new Set),"page"!==ut.kind&&(Qe.current=null),Ze(!1),Ue({title:"Split"===bt?"Split reverted":"Merged"===bt?"Merge reverted":"Approval reverted",description:e?.message?.trim()||null,segment:t,position:{top:s,left:o,width:r}}),Ht()}})]}):void 0,additionalActions:Et?e.jsx(p.default,{metadata:Et.metadata,reviewAction:ut.segment.review_action??void 0,startPage:ut.segment.start_page,endPage:ut.segment.end_page,title:Ct,previousSegmentTitle:vt,nextSegmentTitle:ft,disabled:ee||!V||Ge===ut.id,onConfirm:(e,t)=>{Jt(Et,e,t)}}):void 0,cognitiveScore:ut.review_step.score,styles:{root:{borderColor:"#16A34A"},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:"#16A34A"}}},onCognitiveClick:yt?()=>{Le(!0),ae?.(E(ut))}:void 0,onClose:Ht}):"boundary"===ut.kind?e.jsx(r.default,{width:"100%",maxWidth:"100%",totalPages:P,title:ut.segment.label||ut.segment.title,pageNo:`Page ${ut.pageNumber}`,content:ut.review_step.question??null,revertSummary:Wt,cognitiveScore:ut.review_step.score,metadata:ut.metadata,reviewAction:ut.segment.review_action??void 0,previousSegmentTitle:vt,nextSegmentTitle:ft,manualPrompt:O??"Set a custom boundary",defaultStartPage:ut.segment.start_page,defaultEndPage:ut.segment.end_page,styles:{root:{borderColor:ht.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:ht.text}}},confirmDisabled:ee||!V||Ge===ut.id,onConfirm:(e,t,n)=>{n&&r.isBoundaryReviewAction(t.id)&&Jt(ut,t.id,n)},onAdjustManually:()=>re?.(E(ut)),onCognitiveClick:yt?()=>{Le(!0),ae?.(E(ut))}:void 0,onClose:Ht},ut.id):"label"===ut.kind?e.jsx(s.default,{width:"100%",maxWidth:"100%",title:ut.metadata.current_label||ut.segment.label||ut.segment.title,pageNo:`Pages ${ut.segment.start_page}-${ut.segment.end_page}`,content:ut.review_step.question??null,revertSummary:Wt,cognitiveScore:ut.review_step.score,metadata:ut.metadata,styles:{root:{borderColor:ht.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:ht.text}}},confirmDisabled:ee||!H||Ge===ut.id,confirmationBlocked:gt,confirmationWarning:gt?"Please confirm the boundary before confirming the title.":void 0,onActionConfirm:(e,t)=>{Jt(ut,e,t)},onAdjustManually:()=>re?.(E(ut)),onCognitiveClick:yt?()=>{Le(!0),ae?.(E(ut))}:void 0,onClose:Ht},ut.id):2===ut.metadata.type_choices?.length?e.jsx(d.default,{width:"100%",maxWidth:"100%",title:ut.segment.label||ut.segment.title,pageNo:`Page ${ut.pageNumber}`,content:ut.review_step.reason,choices:ut.metadata.type_choices,cognitiveScore:ut.review_step.score,styles:{root:{borderColor:ht.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:ht.text}}},confirmDisabled:ee||!U||Ge===ut.id,onConfirm:e=>{Yt(ut,e)},onCognitiveClick:yt?()=>{Le(!0),ae?.(E(ut))}:void 0,onClose:Ht},ut.id):e.jsx(l.default,{width:"100%",maxWidth:"100%",title:ut.segment.label||ut.segment.title,pageNo:`Page ${ut.pageNumber}`,content:ut.review_step.reason,cognitiveScore:ut.review_step.score,pageType:ut.metadata.page_type,metadata:ut.metadata,styles:{root:{borderColor:ht.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:ht.text}}},confirmDisabled:ee||!U||Ge===ut.id,onActionConfirm:(e,t)=>{Jt(ut,e,t)},onCognitiveClick:yt?()=>{Le(!0),ae?.(E(ut))}:void 0,onClose:Ht},ut.id)})]}),He&&e.jsx(c.Portal,{children:e.jsx(c.Box,{"aria-live":"polite",sx:{position:"fixed",top:He.position.top,left:He.position.left,zIndex:1600,width:He.position.width,maxWidth:"calc(100vw - 16px)",opacity:Xe?1:0,transform:Xe?"translateY(0)":"translateY(-6px)",transition:"opacity 500ms ease, transform 500ms ease",filter:"drop-shadow(0 12px 24px rgba(15, 23, 42, 0.18))",pointerEvents:Xe?"auto":"none"},children:e.jsx(h.default,{title:He.title,description:He.description,onReview:()=>Ut(He.segment)})})})]})};
2
2
  //# sourceMappingURL=SegmentReviewPdfWrapper.js.map