@e-llm-studio/citation 0.0.253 → 0.0.254
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.
- package/dist/cjs/features/ChatDrawer/ChatDrawer.js +1 -1
- package/dist/cjs/features/ChatDrawer/ChatDrawer.js.map +1 -1
- package/dist/cjs/features/IngestionStatus/IngestionStatusComponent.js +1 -1
- package/dist/cjs/features/IngestionStatus/IngestionStatusComponent.js.map +1 -1
- package/dist/cjs/features/IngestionStatus/useIngestionStatus.js +1 -1
- package/dist/cjs/features/IngestionStatus/useIngestionStatus.js.map +1 -1
- package/dist/cjs/features/PdfViewer/PdfViewer.js +1 -1
- package/dist/cjs/features/PdfViewer/PdfViewer.js.map +1 -1
- package/dist/cjs/features/PdfViewer/usePdfHighlight.js +1 -1
- package/dist/cjs/features/PdfViewer/usePdfHighlight.js.map +1 -1
- package/dist/cjs/features/SegmentReviewComponents/CognitiveIntegrity.js +1 -1
- package/dist/cjs/features/SegmentReviewComponents/CognitiveIntegrity.js.map +1 -1
- package/dist/cjs/features/SegmentReviewComponents/SaveAsLearningCard.js +1 -1
- package/dist/cjs/features/SegmentReviewComponents/SaveAsLearningCard.js.map +1 -1
- package/dist/cjs/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js +1 -1
- package/dist/cjs/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js.map +1 -1
- package/dist/features/ChatDrawer/ChatDrawer.js +1 -1
- package/dist/features/ChatDrawer/ChatDrawer.js.map +1 -1
- package/dist/features/IngestionStatus/IngestionStatusComponent.js +1 -1
- package/dist/features/IngestionStatus/IngestionStatusComponent.js.map +1 -1
- package/dist/features/IngestionStatus/useIngestionStatus.js +1 -1
- package/dist/features/IngestionStatus/useIngestionStatus.js.map +1 -1
- package/dist/features/PdfViewer/PdfViewer.js +1 -1
- package/dist/features/PdfViewer/PdfViewer.js.map +1 -1
- package/dist/features/PdfViewer/usePdfHighlight.js +1 -1
- package/dist/features/PdfViewer/usePdfHighlight.js.map +1 -1
- package/dist/features/SegmentReviewComponents/CognitiveIntegrity.js +1 -1
- package/dist/features/SegmentReviewComponents/CognitiveIntegrity.js.map +1 -1
- package/dist/features/SegmentReviewComponents/SaveAsLearningCard.js +1 -1
- package/dist/features/SegmentReviewComponents/SaveAsLearningCard.js.map +1 -1
- package/dist/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js +1 -1
- package/dist/features/SegmentReviewComponents/SegmentReviewPdfWrapper.js.map +1 -1
- package/dist/types/features/ChatDrawer/ChatDrawer.d.ts.map +1 -1
- package/dist/types/features/IngestionStatus/IngestionStatusComponent.d.ts +1 -0
- package/dist/types/features/IngestionStatus/IngestionStatusComponent.d.ts.map +1 -1
- package/dist/types/features/IngestionStatus/useIngestionStatus.d.ts +1 -1
- package/dist/types/features/IngestionStatus/useIngestionStatus.d.ts.map +1 -1
- package/dist/types/features/PdfViewer/PdfViewer.d.ts.map +1 -1
- package/dist/types/features/PdfViewer/usePdfHighlight.d.ts +1 -0
- package/dist/types/features/PdfViewer/usePdfHighlight.d.ts.map +1 -1
- package/dist/types/features/SegmentReviewComponents/CognitiveIntegrity.d.ts +6 -1
- package/dist/types/features/SegmentReviewComponents/CognitiveIntegrity.d.ts.map +1 -1
- package/dist/types/features/SegmentReviewComponents/SaveAsLearningCard.d.ts +2 -1
- package/dist/types/features/SegmentReviewComponents/SaveAsLearningCard.d.ts.map +1 -1
- package/dist/types/features/SegmentReviewComponents/SegmentReviewPdfWrapper.d.ts +8 -1
- package/dist/types/features/SegmentReviewComponents/SegmentReviewPdfWrapper.d.ts.map +1 -1
- 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"),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,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)})})})]})};
|
|
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"),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 x=260;var S=(e=>(e.ActualSize="ActualSize",e.PageFit="PageFit",e.PageWidth="PageWidth",e))(S||{});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=S,exports.default=function({pdfUrl:S,pdfName:C,segments:k,totalPages:P,styles:A,pdfViewerProps:I,specialZoomLevel:M,showBadges:j=!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,renderCognitiveReason:oe,className:se,style:le,viewerStyle:de,railStyle:ge,redirectionData:ue,onBadgeSelected:ce,onSaveAsLearning:me,savedLearningReviewIds:pe=[],closePopups:ve=!1,onPdfLoadError:fe}){console.log("LOG: TOTAL PAGE IN PARENT",P);const{boundaryReviews:he,labelReviews:we,pageReviews:ye}=t.useMemo(()=>g.extractSegmentReviewData(k),[k]),[be,_e]=t.useState(()=>new Map),[xe,Se]=t.useState(()=>new Set),Re=t.useMemo(()=>{const e=new Map;let t=1;return k.forEach((n,i)=>{const r=g.getSegmentReviewKey(n,i);e.has(r)||(e.set(r,t),t+=1)}),e},[k]),Ee=t.useMemo(()=>new Set(we.map(e=>g.getSegmentReviewKey(e.segment))),[we]),Ce=t.useMemo(()=>w.getPendingMergeImpactedSegmentKeys(k),[k]);t.useEffect(()=>{_e(e=>{let t=!1;const n=new Map(e);return e.forEach((e,i)=>{const r=k.find(e=>g.getSegmentReviewKey(e)===i);r&&!w.hasPolledStructuralAction(r,e)||(n.delete(i),t=!0)}),t?n:e})},[k]),t.useEffect(()=>{Se(e=>{let t=!1;const n=new Set(e);return e.forEach(e=>{be.has(e)||(n.delete(e),t=!0)}),t?n:e})},[be]);const ke=t.useMemo(()=>w.getOptimisticMergeImpactedSegmentKeys(k,be,xe),[xe,be,k]),Pe=t.useRef(null),Ae=t.useMemo(()=>[...he.filter(e=>!Ce.has(g.getSegmentReviewKey(e.segment))&&!ke.has(g.getSegmentReviewKey(e.segment))&&!w.shouldHideStructuralBoundaryReview(e.review_step,e.segment,Ee.has(g.getSegmentReviewKey(e.segment)),be.get(g.getSegmentReviewKey(e.segment)))).map(e=>({...e,kind:"boundary",pageNumber:e.metadata.focus_page??e.segment.start_page})),...we.filter(e=>!Ce.has(g.getSegmentReviewKey(e.segment))&&!ke.has(g.getSegmentReviewKey(e.segment))).map(e=>({...e,kind:"label",pageNumber:e.segment.start_page})),...ye.filter(e=>!Ce.has(g.getSegmentReviewKey(e.segment))&&!ke.has(g.getSegmentReviewKey(e.segment))).map(e=>({...e,kind:"page",pageNumber:e.metadata.page_num??e.segment.start_page}))].sort((e,t)=>{const n=Re.get(g.getSegmentReviewKey(e.segment))??Number.MAX_SAFE_INTEGER,i=Re.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)}),[he,we,ye,ke,be,Ce,Re,Ee]),Ie=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]),[Me,je]=t.useState(1),[Ne,Be]=t.useState(G??null),[Te,Le]=t.useState(G??null),[Fe,qe]=t.useState(!1),[We,Ke]=t.useState(null),[ze,$e]=t.useState(null),[Ge,Oe]=t.useState(()=>new Set),[De,Ve]=t.useState(null),[He,Ue]=t.useState(null),[Xe,Ze]=t.useState(null),[Ye,Je]=t.useState(!1),Qe=t.useRef(0),et=t.useRef(null),tt=t.useRef(null),nt=t.useRef(new Map),it=t.useRef(null),rt=t.useRef(null),at=t.useRef(null),[ot,st]=t.useState(x),lt=A?.aside?.width??"40%",dt=`min(${"number"==typeof lt?`${lt}px`:lt}, 260px, 100%)`,gt=t.useCallback(()=>{et.current=null,qe(!1),Be(null),Ke(null),Ue(null),Ze(null),Je(!1),Y?.(null,null)},[Y]);t.useEffect(()=>{ve&>()},[gt,ve]),t.useEffect(()=>{Oe(e=>{if(0===e.size)return e;const t=new Set(e);let n=!1;return Ae.forEach(e=>{null!=e.review_step.review?.action&&t.has(e.id)&&(t.delete(e.id),n=!0)}),n?t:e})},[Ae]),t.useEffect(()=>{const e=Pe.current;if(!e||!j)return;const t=()=>{const t=e.getBoundingClientRect().width;t>0&&st(t)};t();const n="undefined"==typeof ResizeObserver?null:new ResizeObserver(t);return n?.observe(e),()=>n?.disconnect()},[j]);const ut=t.useMemo(()=>{const e=new Set;return Ae.forEach(t=>{null!=t.review_step.review?.action&&e.add(t.id)}),e},[Ae]),ct=t.useMemo(()=>Ae.find(e=>e.id===Ne)??null,[Ne,Ae]),mt=t.useMemo(()=>!(!ie||"label"!==ct?.kind)&&he.some(e=>{if(g.getSegmentReviewKey(e.segment)!==g.getSegmentReviewKey(ct.segment)||ut.has(e.id))return!1;const t=w.getResolvedScore(e.review_step.score,e.review_step.confidence);return null==t||t<85}),[ct,he,ie,ut]),pt=null==ct?-1:k.findIndex(e=>g.getSegmentReviewKey(e)===g.getSegmentReviewKey(ct.segment)),vt=pt>0?k[pt-1]:void 0,ft=pt>=0?k[pt+1]:void 0,ht=vt?.label?.trim()||vt?.title,wt=ft?.label?.trim()||ft?.title,yt=w.getConfidenceColors(ct?.review_step.score,ct?.review_step.confidence,ct?.segment.confidence?.awaiting_llm),bt=ct?.review_step.reasons?.length?ct.review_step.reasons:ct?.segment.confidence?.reasons??[],_t=Boolean(bt.some(e=>e.text.trim()&&["evidence","gap"].includes(e.type.trim().toLowerCase()))||ct?.review_step.reason?.trim()||ct?.review_step.gap?.trim()),xt=null==ct?null:"boundary"===ct.kind?w.getBoundaryReviewActionBadgeLabel(ct.review_step,ct.segment,be.get(ct.segment.stable_key??"")):w.getTitleReviewActionBadgeLabel(ct.review_step,ct.segment,be.get(ct.segment.stable_key??"")),St="label"===ct?.kind?[xt,ct.review_step.human_action_enum,ct.review_step.review?.action,ct.review_step.human_resolution?.action]:[],Rt="label"===ct?.kind&&St.some(e=>{const t=e?.trim().toUpperCase()??"";return t.includes("MERGE")||t.includes("SPLIT")}),Et=null!=ct&&Ae.some(e=>"boundary"===e.kind&&g.getSegmentReviewKey(e.segment)===g.getSegmentReviewKey(ct.segment)),Ct=Rt&&!Et,kt=("boundary"===ct?.kind||Ct)&&null!=ct?(()=>{if("boundary"===ct.kind)return ct;const e=he.find(e=>g.getSegmentReviewKey(e.segment)===g.getSegmentReviewKey(ct.segment));return e?{...e,kind:"boundary",pageNumber:e.metadata.focus_page??e.segment.start_page}:{...ct,kind:"boundary",pageNumber:ct.segment.review_action?.focus_page??ct.segment.start_page,metadata:{focus_page:ct.segment.review_action?.focus_page??null,boundary_margin:ct.segment.boundary_margin??null,user_actions:[]}}})():void 0,Pt=null==ct?"":ct.segment.label?.trim()||ct.segment.title,At=ct?.review_step.revert,It=ct?.segment.revert,Mt=e=>e?.trim().toLowerCase(),jt=null==ct?void 0:[...ct.segment.review_steps??[]].reverse().find(e=>{const t=e.type?.trim().toLowerCase();return("page_boundary"===t||"page boundary review"===t)&&"boundary"===Mt(e.revert?.type)})?.revert,Nt=At??ct?.segment.revert??jt,Bt=Nt?.decision.trim().toUpperCase();xt??(Bt?.includes("SPLIT")||Bt?.includes("MERGE"));const Tt=t.useMemo(()=>new Set(pe),[pe]),Lt="label"===ct?.kind&&"SET_RANGE"===jt?.decision?.trim().toUpperCase()&&jt.current_segment_ids.length!==jt.previous_state.length,Ft="Merged"===xt||"Split"===xt||Lt,qt=null==ct?void 0:Ft?"boundary"===Mt(jt?.type)?jt:"boundary"===Mt(It?.type)?It:"boundary"===Mt(At?.type)?At:void 0:"label"===ct.kind?"label"===Mt(At?.type)?At:void 0:"boundary"===ct.kind?"boundary"===Mt(At?.type)?At:"boundary"===Mt(jt?.type)?jt:"boundary"===Mt(It?.type)?It:void 0:void 0,Wt=Ft&&qt?.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)===qt.operation_id&&Boolean(e.human_resolution?.change_summary?.trim())}):void 0,Kt=qt?.summary?.trim()||null,zt=Ft?Wt?.human_resolution?.change_summary?.trim()||qt?.summary?.trim()||"":ct?.review_step?.human_resolution?.change_summary?.trim()||ct?.review_step?.summary?.trim()||"",$t="page"===ct?.kind?{currentSegment:{title:Pt,startPage:ct.segment.start_page,endPage:ct.segment.end_page},previousSegments:[]}:ct&&qt?{currentSegment:{title:Pt,startPage:ct.segment.start_page,endPage:ct.segment.end_page},previousSegments:(qt.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,Gt="page"===ct?.kind?ct.metadata.type_choices?.map(e=>e.classification_id)??(ct.metadata.classification_id?[ct.metadata.classification_id]:[]):[],Ot="page"===ct?.kind?Boolean(X&&Gt.length>0):Boolean(qt?.operation_id&&qt?.type&&!1!==qt?.revertable),Dt=Boolean($t&&Ot),Vt=t.useCallback((e,t)=>{Qe.current+=1,et.current={requestId:Qe.current,pageNumber:e,reviewId:t},$e({pageNumber:e,requestId:Qe.current})},[]),Ht=t.useCallback(e=>{!0!==e.segment.confidence?.awaiting_llm&&(ce?.({reviewId:e.id,segment_id:e.segment.segment_id??null,reviewStepIndex:e.reviewStepIndex,kind:e.kind,pageNumber:e.pageNumber,metadata:e.metadata}),Ue(null),Ze(null),Be(e.id),Le(e.id),qe(!1),Ke(null),Vt(e.pageNumber,e.id),Y?.(e.id,e.segment))},[Y,ce,Vt]);t.useEffect(()=>{if(!Xe)return;const e=requestAnimationFrame(()=>Je(!0)),t=window.setTimeout(()=>{Je(!1)},3500),n=window.setTimeout(()=>{Ze(null)},4e3);return()=>{cancelAnimationFrame(e),window.clearTimeout(t),window.clearTimeout(n)}},[Xe]),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 Ut(),Ue({pages:e,index:t,label:ue.groupLabel??""}),Qe.current+=1,void $e({pageNumber:n,requestId:Qe.current})}if(Ue(null),ue.reviewId){const e=Ae.find(e=>e.id===ue.reviewId&&(!ue.type||e.kind===ue.type));if(e)return void Ht(e)}if(ue.classificationId){const e=Ae.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 Ht(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=Ae.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?Ht(n):"page"===ue.type&&(Ut(),Qe.current+=1,$e({pageNumber:e,requestId:Qe.current}))},[ue,Ht,Ae]);const Ut=t.useCallback(()=>{et.current=null,qe(!1),Be(null),Ke(null),Y?.(null,null)},[Y]),Xt=t.useCallback(e=>{Je(!1),Ze(null);const t=Ae.find(t=>!ut.has(t.id)&&"boundary"===t.kind&&t.segment.start_page===e.startPage&&t.segment.end_page===e.endPage)??Ae.find(t=>!ut.has(t.id)&&t.segment.start_page<=e.startPage&&t.segment.end_page>=e.startPage);t?Ht(t):(Ut(),Qe.current+=1,$e({pageNumber:e.startPage,requestId:Qe.current}))},[Ut,ut,Ae,Ht]),Zt=t.useCallback((e,t)=>{const n=_.getReviewScoreBand(e.review_step.score),i=null==q||n===q,r=Ge.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,Ge]),Yt=t.useCallback(e=>{if(!F)return void Ut();const t=Ae.findIndex(t=>t.id===e),n=Ae.find((n,i)=>i>t&&Zt(n,e))??Ae.find(t=>Zt(t,e));n?requestAnimationFrame(()=>Ht(n)):Ut()},[F,Ut,Zt,Ae,Ht]),Jt=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});Ve(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)}Oe(t=>{const n=new Set(t);return n.add(e.id),n}),Yt(e.id)}catch(e){Q?.(e,r)}finally{Ve(null)}},[ee,Q,U,Yt]),Qt=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=>g.getSegmentReviewKey(t)===g.getSegmentReviewKey(e.segment)):-1;l&&d>=0&&s&&(tt.current={action:s,originalSegmentIndex:d,segmentSignature:JSON.stringify(k.map((e,t)=>({key:g.getSegmentReviewKey(e,t),startPage:e.start_page,endPage:e.end_page,version:e.version??null}))),ready:!1}),Ve(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)),Oe(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);Se(e=>{const n=new Set(e);return a===r.BoundaryReviewActionEnum.SET_RANGE?n.add(t):n.delete(t),n}),_e(e=>{const n=new Map(e);return n.set(t,s),n})}if(tt.current){if(tt.current.ready=!0,o){const t=Ae.find(t=>"label"===t.kind&&g.getSegmentReviewKey(t.segment)===g.getSegmentReviewKey(e.segment));t&&requestAnimationFrame(()=>Ht(t))}}else Yt(e.id)}catch(e){l&&(tt.current=null),Q?.(e,i)}finally{Ve(null)}},[F,ee,Q,V,H,U,X,Ae,k,Ht,Yt]);t.useEffect(()=>{const e=tt.current;if(!e?.ready)return;if(JSON.stringify(k.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(k.map((e,t)=>[g.getSegmentReviewKey(e,t),t])),i=Ae.find(e=>{const i=n.get(g.getSegmentReviewKey(e.segment));return null!=i&&i>=t&&Zt(e)});if(!i)return tt.current=null,void Ut();requestAnimationFrame(()=>{tt.current=null,Ht(i)})},[Ut,Zt,Ae,k,Ht]),t.useEffect(()=>{tt.current||Ne&&!Ae.some(e=>e.id===Ne)&&Ut()},[Ne,Ut,Ae]),t.useEffect(()=>{if(!L)return;if(tt.current)return;const e=Ae.find(e=>e.pageNumber===Me);e&&e.id!==Ne&&Ht(e)},[Ne,L,Me,Ht,Ae]),t.useEffect(()=>{tt.current||Ne&&!Ae.some(e=>e.id===Ne&&!0!==e.segment.confidence?.awaiting_llm)&&Ut()},[Ne,Ut,Ae]);const en=t.useMemo(()=>{const e=Ae.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,Ae]),tn=en.findIndex(e=>e.id===Te),[nn,rn]=t.useState(null),[an,on]=t.useState(null),sn=t.useRef(!1),ln=t.useCallback(e=>{const t=en[e];t&&Ht(t)},[en,Ht]);t.useCallback(e=>{if(!He||e<0||e>=He.pages.length)return;const t=He.pages[e];null!=t&&(Ut(),Ue(t=>null==t?t:{...t,index:e}),Qe.current+=1,$e({pageNumber:t,requestId:Qe.current}))},[He,Ut]),t.useEffect(()=>{Te&&!en.some(e=>e.id===Te)&&Le(null)},[en,Te]),t.useEffect(()=>{sn.current=!1,on(null),rn(tn>=0?String(tn+1):null)},[tn,en.length]),t.useEffect(()=>{if(!sn.current||null==nn)return;const e=window.setTimeout(()=>{const e=Number(nn.trim()),t=e-1;Number.isInteger(e)&&t>=0&&t<en.length&&(sn.current=!1,ln(t))},300);return()=>window.clearTimeout(e)},[ln,nn,en.length]);const dn=t.useMemo(()=>{const e=new Map;Ae.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=Re.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},[Ae,Re]),gn=t.useMemo(()=>{const e=new Map;Ae.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},[Ae]),un=t.useCallback(e=>({startPage:Math.max(0,e.startPage-W),endPage:Math.min(e.numPages-1,e.endPage+W)}),[W]),cn=t.useCallback(()=>{const e=rt.current,t=at.current;if(!e||!t)return;const n=e.getBoundingClientRect(),i=t.querySelector(".rpv-core__inner-pages"),r=i?.getBoundingClientRect()??t.getBoundingClientRect();Ae.forEach(e=>{const i=nt.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=gn.get(e.id)??0,l=o.top+K+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=it.current;if(a){const e=He?.pages[He.index],i=null==e?null:t.querySelector(`[data-testid="core__page-layer-${e-1}"]`);if(He&&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(Ne&&null==et.current){const e=nt.current.get(Ne);e&&"hidden"!==e.style.visibility&&Ke(t=>t===e?t:e)}},[He,Ne,K,gn,Ae]),mn=t.useCallback(e=>{const t=et.current;t&&t.requestId===e.requestId&&t.pageNumber===e.pageNumber&&(et.current=null,cn(),requestAnimationFrame(()=>{if(null!=et.current)return;const e=nt.current.get(t.reviewId);e&&"hidden"!==e.style.visibility&&Ke(e)}))},[cn]);return t.useEffect(()=>{const e=at.current;if(!e||!j)return;let t=null;const n=()=>{null==t&&(t=requestAnimationFrame(()=>{t=null,cn()}))};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()}},[j,cn]),e.jsxs("div",{ref:rt,className:se,style:{...le,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:at,style:{...de,flex:"1 1 auto",width:j?"auto":"100%",minWidth:0,height:"100%",boxSizing:"border-box"},children:e.jsx(i.default,{highlightText:[],highlightPages:{},highlightCordinatePages:[],useCoordinates:!1,showRotateButton:!0,...I,onError:fe,defaultScale:void 0===M?I?.defaultScale??n.SpecialZoomLevel.PageFit:R[M],disablePdfAnnotations:te,disablePdfTextLayer:ne,pdfUrl:S,pdfName:C,segments:Ie,navigationRequest:ze,onNavigationSettled:mn,setRenderRange:un,onCurrentPageChange:e=>{je(e),null==et.current&&ct&&ct.pageNumber!==e&&Ut(),J?.(e)}})}),j&&e.jsxs("aside",{"aria-label":"Page review badges",ref:Pe,style:{...ge,position:"relative",width:dt,maxWidth:x,flex:`0 1 ${dt}`,minHeight:0,overflow:"hidden",boxSizing:"border-box"},children:[He&&e.jsx("span",{ref:it,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:[He.label||"Pages"," Pg: ",He.index+1]})}),T&&en.length>0&&!He&&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"===an?"Please enter valid number present in the range":"Please enter valid numbers",open:null!=an,placement:"top",arrow:!0,children:e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:nn??"-",min:0,max:en.length,"aria-label":"Review badge number","aria-invalid":null!=an,onFocus:()=>{null==nn&&rn("")},onBlur:()=>{on(null);const e=Number(nn);(null==nn||""===nn||!Number.isInteger(e)||e<1||e>en.length)&&(sn.current=!1,rn(tn>=0?String(tn+1):null))},onChange:e=>{const t=e.target.value;if(!/^\d*$/.test(t))return void on("invalid-number");const n=Number(t),i=""!==t&&(n<1||n>en.length);on(i?"out-of-range":null),sn.current=!0,rn(t)},style:{width:30,height:28,padding:0,border:"1px solid "+(an?"#DC2626":"#A5B4FC"),borderRadius:3,color:"#4F46E5",backgroundColor:"#FFFFFF",textAlign:"center",font:"inherit",fontSize:15,outline:"none"}})}),e.jsxs("span",{"aria-label":`${en.length} reviews`,style:{flex:1,color:"#4F46E5",fontSize:14,whiteSpace:"nowrap",textAlign:"center"},children:["of ",en.length]}),["previous","next"].map(t=>{const n="previous"===t,i=tn+(n?-1:1),r=i<0||i>=en.length;return e.jsx("button",{type:"button","aria-label":(n?"Previous":"Next")+" review badge",disabled:r,onClick:()=>ln(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)})]}),!He&&Ae.map(t=>{const n=Ne===t.id,i=dn.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,be.get(g.getSegmentReviewKey(t.segment))):"label"===t.kind?w.getTitleReviewActionBadgeLabel(t.review_step,t.segment,be.get(g.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=ut.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?nt.current.set(t.id,e):nt.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:()=>Ht(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)})]})]}),ct&&We&&e.jsxs(a.default,{anchorElement:We,placement:"bottom-start",offset:{top:8},width:Math.min(ot,x),maxWidth:x,heightBuffer:D??25,children:[Fe&&e.jsx(o.default,{width:"100%",maxWidth:"100%",score:ct.review_step.score,reasons:bt,reason:ct.review_step.reason,gap:ct.review_step.gap,renderReason:oe,onBack:()=>qe(!1),onClose:Ut}),e.jsx("div",{style:{display:Fe?"none":"block"},children:ut.has(ct.id)?e.jsx(m.default,{width:"100%",maxWidth:"100%",headerName:"page"===ct.kind?"Page format approved":"Split"===xt?"Split approved":"Merged"===xt?"Merge approved":"User approved",headerIcon:"page"===ct.kind?e.jsx(u.Check,{size:18,strokeWidth:2}):"Merged"===xt?e.jsx(u.GitMerge,{size:18,strokeWidth:2}):"Split"===xt?e.jsx(y.default,{width:18,height:18}):e.jsx(u.CircleCheck,{size:18,strokeWidth:2}),title:Pt,pageNo:`Page ${ct.segment.start_page}-${ct.segment.end_page}`,summary:Dt&&$t?e.jsxs(c.Stack,{spacing:.75,children:[zt&&e.jsx(b.default,{icon:e.jsx(u.CircleCheck,{size:14,strokeWidth:2}),description:zt}),me&&e.jsx(f.default,{isSaved:!!ct&&Tt.has(ct.id),disabled:ee,onSave:async()=>{const e=await me({operationId:qt?.operation_id??null},E(ct));return e&&e.success&&Ut(),e},onSaveComplete:()=>{Ut()},onSaveError:e=>{Q?.(e,E(ct))}}),e.jsx(v.default,{icon:e.jsx(u.CircleCheck,{size:14,strokeWidth:2}),title:Pt,pageRange:`Page ${ct.segment.start_page}-${ct.segment.end_page}`,description:zt??null,revertData:$t,confirmDisabled:"page"===ct.kind?!Ot:null==Z||!Ot,showDocumentHeader:!1,onRevert:async()=>{if("page"===ct.kind){if(!X||0===Gt.length){const e=new Error("SegmentReviewPdfWrapper requires onPageTypeRevert and at least one classification id to revert a page-type decision.");throw Q?.(e,E(ct)),e}let e;for(const t of Gt)e=await X({classification_id:t,human_verdict:"No"},E(ct));return e}if(!Z)throw new Error("SegmentReviewPdfWrapper requires onRevert to handle a revert confirmation.");if(!qt)throw new Error("There is no valid revert operation for this review.");const e=Ft?"boundary":"label"===ct.kind?"label":"boundary"===ct.kind?"boundary":null,t=Mt(qt.type);if(e&&t!==e)throw new Error(`Cannot use ${t??"unknown"} revert metadata for this review. Expected ${e}.`);return Z(qt,E(ct))},onRevertError:e=>{Q?.(e,E(ct))},onRevertComplete:e=>{Oe(()=>new Set),"page"!==ct.kind&&(Se(()=>new Set),_e(()=>new Map));const t=$t.previousSegments[0]??$t.currentSegment,n=We?.getBoundingClientRect(),i=at.current?.getBoundingClientRect(),r=Math.min(x,Math.max(220,ot)),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;Oe(()=>new Set),"page"!==ct.kind&&(tt.current=null),Je(!1),Ze({title:"Split"===xt?"Split reverted":"Merged"===xt?"Merge reverted":"Approval reverted",description:e?.message?.trim()||null,segment:t,position:{top:s,left:o,width:r}}),Ut()}})]}):void 0,additionalActions:kt?e.jsx(p.default,{metadata:kt.metadata,reviewAction:ct.segment.review_action??void 0,startPage:ct.segment.start_page,endPage:ct.segment.end_page,title:Pt,previousSegmentTitle:ht,nextSegmentTitle:wt,disabled:ee||!V||De===ct.id,onConfirm:(e,t)=>{Qt(kt,e,t)}}):void 0,cognitiveScore:ct.review_step.score,styles:{root:{borderColor:"#16A34A"},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:"#16A34A"}}},onCognitiveClick:_t?()=>{qe(!0),ae?.(E(ct))}:void 0,onClose:Ut}):"boundary"===ct.kind?e.jsx(r.default,{width:"100%",maxWidth:"100%",totalPages:P,title:ct.segment.label||ct.segment.title,pageNo:`Page ${ct.pageNumber}`,content:ct.review_step.question??null,revertSummary:Kt,cognitiveScore:ct.review_step.score,metadata:ct.metadata,reviewAction:ct.segment.review_action??void 0,previousSegmentTitle:ht,nextSegmentTitle:wt,manualPrompt:O??"Set a custom boundary",defaultStartPage:ct.segment.start_page,defaultEndPage:ct.segment.end_page,styles:{root:{borderColor:yt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:yt.text}}},confirmDisabled:ee||!V||De===ct.id,onConfirm:(e,t,n)=>{n&&r.isBoundaryReviewAction(t.id)&&Qt(ct,t.id,n)},onAdjustManually:()=>re?.(E(ct)),onCognitiveClick:_t?()=>{qe(!0),ae?.(E(ct))}:void 0,onClose:Ut},ct.id):"label"===ct.kind?e.jsx(s.default,{width:"100%",maxWidth:"100%",title:ct.metadata.current_label||ct.segment.label||ct.segment.title,pageNo:`Pages ${ct.segment.start_page}-${ct.segment.end_page}`,content:ct.review_step.question??null,revertSummary:Kt,cognitiveScore:ct.review_step.score,metadata:ct.metadata,styles:{root:{borderColor:yt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:yt.text}}},confirmDisabled:ee||!H||De===ct.id,confirmationBlocked:mt,confirmationWarning:mt?"Please confirm the boundary before confirming the title.":void 0,onActionConfirm:(e,t)=>{Qt(ct,e,t)},onAdjustManually:()=>re?.(E(ct)),onCognitiveClick:_t?()=>{qe(!0),ae?.(E(ct))}:void 0,onClose:Ut},ct.id):2===ct.metadata.type_choices?.length?e.jsx(d.default,{width:"100%",maxWidth:"100%",title:ct.segment.label||ct.segment.title,pageNo:`Page ${ct.pageNumber}`,content:ct.review_step.reason,choices:ct.metadata.type_choices,cognitiveScore:ct.review_step.score,styles:{root:{borderColor:yt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:yt.text}}},confirmDisabled:ee||!U||De===ct.id,onConfirm:e=>{Jt(ct,e)},onCognitiveClick:_t?()=>{qe(!0),ae?.(E(ct))}:void 0,onClose:Ut},ct.id):e.jsx(l.default,{width:"100%",maxWidth:"100%",title:ct.segment.label||ct.segment.title,pageNo:`Page ${ct.pageNumber}`,content:ct.review_step.reason,cognitiveScore:ct.review_step.score,pageType:ct.metadata.page_type,metadata:ct.metadata,styles:{root:{borderColor:yt.cardBorder},header:{"& > .MuiSvgIcon-root, & .MuiTypography-root":{color:yt.text}}},confirmDisabled:ee||!U||De===ct.id,onActionConfirm:(e,t)=>{Qt(ct,e,t)},onCognitiveClick:_t?()=>{qe(!0),ae?.(E(ct))}:void 0,onClose:Ut},ct.id)})]}),Xe&&e.jsx(c.Portal,{children:e.jsx(c.Box,{"aria-live":"polite",sx:{position:"fixed",top:Xe.position.top,left:Xe.position.left,zIndex:1600,width:Xe.position.width,maxWidth:"calc(100vw - 16px)",opacity:Ye?1:0,transform:Ye?"translateY(0)":"translateY(-6px)",transition:"opacity 500ms ease, transform 500ms ease",filter:"drop-shadow(0 12px 24px rgba(15, 23, 42, 0.18))",pointerEvents:Ye?"auto":"none"},children:e.jsx(h.default,{title:Xe.title,description:Xe.description,onReview:()=>Xt(Xe.segment)})})})]})};
|
|
2
2
|
//# sourceMappingURL=SegmentReviewPdfWrapper.js.map
|