@embedpdf-editor/react-chapter-viewer 0.2.0 → 0.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../editor-engine/dist/react/index.js","../../editor-engine/dist/index.js","../../chapter-viewer/dist/index.js","../../plugin-paragraph-bookmark/dist/index.js","../../plugin-chapter-manager/dist/index.js","../../plugin-chapter-scroll/dist/index.js","../src/ChapterTreePanel.tsx","../../chapter-core/dist/index.js"],"sourcesContent":["import{jsx as t,jsxs as e,Fragment as a}from\"react/jsx-runtime\";import{useRef as s,useState as i,useEffect as r,useMemo as o,useCallback as n}from\"react\";import{useCapability as h,useDocumentState as l,useRegistry as d,EmbedPDF as c}from\"@embedpdf/core/react\";import{GlobalPointerProvider as u,PagePointerProvider as p}from\"@embedpdf/plugin-interaction-manager/react\";import{Rotate as g}from\"@embedpdf/plugin-rotate/react\";import{SelectionLayer as f}from\"@embedpdf/plugin-selection/react\";import{glyphAt as m,expandToLineBoundary as v,rectsWithinSlice as b,SelectionPlugin as P,SelectionPluginPackage as w}from\"@embedpdf/plugin-selection\";import{AnnotationLayer as I}from\"@embedpdf/plugin-annotation/react\";import{RedactionLayer as y}from\"@embedpdf/plugin-redaction/react\";import{BasePlugin as C,createBehaviorEmitter as M,createEmitter as S,createPluginRegistration as x}from\"@embedpdf/core\";import{PdfErrorCode as $,PdfAnnotationSubtype as k,uuidV4 as L,PdfBlendMode as z}from\"@embedpdf/models\";import{DocumentManagerPlugin as D,DocumentManagerPluginPackage as T}from\"@embedpdf/plugin-document-manager\";import{RenderLayer as G}from\"@embedpdf/plugin-render/react\";import\"@embedpdf/plugin-tiling/react\";import{LockModeType as O,AnnotationPlugin as A,ANNOTATION_PLUGIN_ID as N,AnnotationPluginPackage as V}from\"@embedpdf/plugin-annotation\";import{InteractionManagerPluginPackage as R}from\"@embedpdf/plugin-interaction-manager\";import{RenderPluginPackage as E}from\"@embedpdf/plugin-render\";import{RotatePluginPackage as U}from\"@embedpdf/plugin-rotate\";import{HistoryPluginPackage as _}from\"@embedpdf/plugin-history\";import{RedactionPluginPackage as F}from\"@embedpdf/plugin-redaction\";import{FormPluginPackage as q}from\"@embedpdf/plugin-form\";import{StampPluginPackage as W}from\"@embedpdf/plugin-stamp\";import{SignaturePluginPackage as H}from\"@embedpdf/plugin-signature\";import{CommandsPluginPackage as B}from\"@embedpdf/plugin-commands\";import{I18nPluginPackage as j}from\"@embedpdf/plugin-i18n\";import{isToolbarOpen as Y,UIPluginPackage as X}from\"@embedpdf/plugin-ui\";const K={kind:\"first-wins\"};function Z(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let Q=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function J(t,e=K){const a=function(t,e=K){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Z(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new Q(r)}const tt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=K,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??K,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=J(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};tt.id=\"chapter-manager\";let et=tt;const at=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(et.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};at.id=\"chapter-scroll\";let st=at;function it({item:e,renderPage:a,renderPlaceholder:s}){const n=function(t,e){const a=l(t),s=o(()=>!(!a||\"loaded\"!==a.status||!a.document)&&Boolean(a.document.pages[e]),[a,e]),[n,h]=i(s);return r(()=>{h(s)},[s]),r(()=>{if(s)return;if(!a||\"loaded\"!==a.status||!a.document)return;let t=!1,i=0;const r=()=>{var s;t||((null==(s=a.document)?void 0:s.pages[e])?h(!0):++i<120&&requestAnimationFrame(r))};return requestAnimationFrame(r),()=>{t=!0}},[a,e,s]),n}(e.chapterId,e.localPageIndex);/* @__PURE__ */\nreturn t(\"div\",{\"data-global-page-index\":e.globalPageIndex,\"data-chapter-id\":e.chapterId,\"data-local-page-index\":e.localPageIndex,style:{position:\"absolute\",top:`${e.offsetTop}px`,left:\"50%\",transform:\"translateX(-50%)\",width:`${e.width}px`,height:`${e.height}px`,backgroundColor:n?\"#fff\":\"#f3f4f6\",boxShadow:\"0 1px 4px rgba(0,0,0,0.08)\"},children:n?a(e):(null==s?void 0:s(e))??/* @__PURE__ */t(\"div\",{style:{display:\"flex\",width:\"100%\",height:\"100%\",alignItems:\"center\",justifyContent:\"center\",color:\"#9ca3af\",fontSize:\"12px\"},children:\"Loading chapter…\"})})}function rt({renderPage:e,renderPlaceholder:a,className:o,style:n,...l}){const{provides:d}=h(st.id),{provides:c}=h(D.id),u=s(null),[p,g]=i(null);r(()=>{if(!d)return;const t=u.current;d.registerViewport(t);const e=t=>g(t),a=d.onLayoutChange(e),s=null==c?void 0:c.onDocumentOpened(()=>e(d.getLayout())),i=null==c?void 0:c.onDocumentClosed(()=>e(d.getLayout()));return()=>{a(),null==s||s(),null==i||i(),d.registerViewport(null)}},[d,c]);const f=(null==p?void 0:p.totalHeight)??0,m=(null==p?void 0:p.totalWidth)??0;/* @__PURE__ */\nreturn t(\"div\",{...l,ref:u,\"data-chapter-scroll-viewport\":\"\",className:o,style:{overflow:\"auto\",position:\"relative\",width:\"100%\",height:\"100%\",...n},children:/* @__PURE__ */t(\"div\",{style:{position:\"relative\",width:`${m}px`,height:`${f}px`,margin:\"0 auto\"},children:null==p?void 0:p.items.map(s=>/* @__PURE__ */t(it,{item:s,renderPage:e,renderPlaceholder:a},s.globalPageIndex))})})}function ot({chapterId:e,localPageIndex:a,scale:s,dpr:i,className:r}){return t(G,{documentId:e,pageIndex:a,scale:s,dpr:i,className:r,style:{pointerEvents:\"none\"}})}const nt={kind:\"first-wins\"};function ht(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let lt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function dt(t,e=nt){const a=function(t,e=nt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,ht(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new lt(r)}const ct=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=nt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??nt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=dt(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ct.id=\"chapter-manager\";let ut=ct;const pt={kind:\"first-wins\"};function gt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let ft=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function mt(t,e=pt){const a=function(t,e=pt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,gt(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ft(r)}const vt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=pt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??pt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=mt(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};vt.id=\"chapter-manager\";let bt=vt;const Pt=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(bt.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Pt.id=\"chapter-scroll\";let wt=Pt;const It=class t extends C{constructor(t,e){super(t,e),this.notesChange$=M([]),this.noteActivated$=S(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(wt.id),this.chapterManager=this.registry.getPlugin(ut.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){if(this.config=e,e.callbacks.loadNotes)try{const t=await e.callbacks.loadNotes();for(const e of t)this.notes.set(e.noteId,e);this.notesChange$.emit(this.listAll())}catch(a){this.logger.error(t.id,\"LoadNotes\",\"Failed to load notes\",a)}}buildCapability(){return{createNoteFromSelection:t=>this.createNoteFromSelection(t),requestCreateFromSelection:t=>this.requestCreateFromSelection(t),registerNote:t=>this.registerNote(t),listNotesForPage:(t,e)=>this.listAll().filter(a=>a.chapterId===t&&a.localPageIndex===e),listAllNotes:()=>this.listAll(),getNote:t=>this.notes.get(t)??null,deleteNote:t=>this.deleteNote(t),updateNoteContent:(t,e)=>this.updateNoteContent(t,e),scrollToNote:t=>this.scrollToNote(t),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(t){this.notes.set(t.noteId,t),this.notesChange$.emit(this.listAll())}requestEdit(t){const e=this.notes.get(t);e&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(t,e):this.activateNote(t))}activateNote(t){var e,a;const s=this.notes.get(t);s&&(null==(a=(e=this.config.callbacks).onActivateNote)||a.call(e,t,s),this.noteActivated$.emit({noteId:t,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(t){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageNumber:t.globalPageNumber,globalPageIndex:t.globalPageIndex,rectsPdfCoord:t.rectsPdfCoord,endAnchor:Ct(t.rectsPdfCoord),selectedText:t.selectedText,content:t.content}}async requestCreateFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:e,complete:async t=>{const a={...e,noteId:t};this.registerNote(a)}}),null):this.createNoteFromSelection(t)}async createNoteFromSelection(e){if(0===e.rectsPdfCoord.length)return null;const a=this.buildDraft(e),s=this.config.callbacks.onCreateNote;if(!s)return this.logger.error(t.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await s(a)}catch(o){return this.logger.error(t.id,\"OnCreateNote\",\"Callback failed\",o),null}if(!i)return null;const r={...a,noteId:i.noteId};return this.registerNote(r),r}async deleteNote(e){var a,s;if(this.notes.has(e)){try{await(null==(s=(a=this.config.callbacks).onDeleteNote)?void 0:s.call(a,e))}catch(i){return void this.logger.error(t.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(e),this.notesChange$.emit(this.listAll())}}async updateNoteContent(e,a){var s,i;const r=this.notes.get(e);if(!r)return;const o={...r,content:a};try{await(null==(i=(s=this.config.callbacks).onUpdateNote)?void 0:i.call(s,o))}catch(n){return void this.logger.error(t.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(e,o),this.notesChange$.emit(this.listAll())}async scrollToNote(t){var e;const a=this.notes.get(t);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(e=this.documentManager.provides().getDocument(a.chapterId))?void 0:e.pages[a.localPageIndex])?(s.scrollToGlobalPageIndex(a.globalPageIndex),await this.waitForPageInLayout(a.globalPageIndex),s.scrollToGlobalPdfPoint(a.globalPageIndex,a.endAnchor.y,{marginTop:80})):s.scrollToGlobalPageIndex(a.globalPageIndex)}waitForPageInLayout(t){const e=this.chapterScroll.provides(),a=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=e.onLayoutChange(e=>{const r=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);r&&(clearTimeout(s),i(),a(r))})})}};It.id=\"note\";let yt=It;function Ct(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function Mt({chapterId:a,localPageIndex:s,pdfPageWidth:o,pdfPageHeight:n,cssPageWidth:h,cssPageHeight:l,color:c=\"#f59e0b\",ui:u,className:p,style:g}){const{plugin:f}=(()=>{const{registry:t}=d();if(null===t)return{plugin:null,isLoading:!0,ready:new Promise(()=>{})};const e=t.getPlugin(yt.id);return{plugin:e,isLoading:!1,ready:(null==e?void 0:e.ready())??Promise.resolve()}})(),{provides:m}=(()=>{const{registry:t}=d();if(null===t)return{provides:null,isLoading:!0,ready:new Promise(()=>{})};const e=t.getPlugin(yt.id);return(null==e?void 0:e.provides)?{provides:e.provides(),isLoading:!1,ready:e.ready()}:{provides:null,isLoading:!1,ready:Promise.resolve()}})(),[v,b]=i([]),[P,w]=i(null),[I,y]=i(null);if(r(()=>{if(m)return m.onNotesChange(t=>{b(t.filter(t=>t.chapterId===a&&t.localPageIndex===s))})},[m,a,s]),r(()=>{if(!I)return;const t=t=>{var e;const a=t.target;(null==(e=a.closest)?void 0:e.call(a,`[data-note-marker-zone=\"${I}\"]`))||(y(null),w(null))};return document.addEventListener(\"mousedown\",t),()=>document.removeEventListener(\"mousedown\",t)},[I]),!m||0===v.length||!o||!n)return null;const C=h/o,M=l/n,S=(null==u?void 0:u.iconSize)??16,x=(null==u?void 0:u.highlightColor)??\"rgba(245, 158, 11, 0.08)\";/* @__PURE__ */\nreturn t(\"div\",{className:p,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",zIndex:25,...g},children:v.map(a=>{const s=P===a.noteId,i=I===a.noteId,r=s||i,{left:o,top:n}=function(t){const{markerPdf:e,lineRects:a,sx:s,sy:i,cssPageWidth:r,iconSize:o,gapPx:n=6}=t,h=(null==a?void 0:a.length)?a[a.length-1]:void 0;let l,d;h?(l=(h.origin.x+h.size.width)*s+n,d=h.origin.y*i+(h.size.height*i-o)/2):(l=e.x*s-o/2,d=e.y*i-o-n);const c=Math.max(0,r-o-2);return l>c&&(l=c),d<0&&(d=0),{left:l,top:d}}({markerPdf:a.endAnchor,lineRects:a.rectsPdfCoord,sx:C,sy:M,cssPageWidth:h,iconSize:S}),l=function(t,e,a){let s=1/0,i=1/0,r=-1/0,o=-1/0;for(const n of t)s=Math.min(s,n.origin.x*e),i=Math.min(i,n.origin.y*a),r=Math.max(r,(n.origin.x+n.size.width)*e),o=Math.max(o,(n.origin.y+n.size.height)*a);return{left:s,top:i,width:r-s,height:o-i}}(a.rectsPdfCoord,C,M),d=i?72:0,p=Math.max(0,Math.min(l.left,o)-8),g=Math.max(0,Math.min(l.top,n)-8),v=Math.min(h,Math.max(l.left+l.width,o+S)+8)-p,b=Math.max(l.top+l.height,n+S+6+d)+8-g;/* @__PURE__ */\nreturn e(\"div\",{children:[a.rectsPdfCoord.map((e,s)=>/* @__PURE__ */t(\"div\",{style:{position:\"absolute\",left:e.origin.x*C+\"px\",top:e.origin.y*M+\"px\",width:e.size.width*C+\"px\",height:e.size.height*M+\"px\",background:x,borderRadius:\"2px\",pointerEvents:\"auto\",cursor:\"default\"},onMouseEnter:()=>w(a.noteId)},`${a.noteId}-bg-${s}`)),r&&/* @__PURE__ */e(\"div\",{\"data-note-marker-zone\":a.noteId,style:{position:\"absolute\",left:`${p}px`,top:`${g}px`,width:`${v}px`,height:`${b}px`,pointerEvents:\"auto\",zIndex:26},onMouseEnter:()=>w(a.noteId),onMouseLeave:()=>{I!==a.noteId&&w(null)},children:[(null==u?void 0:u.renderIcon)?/* @__PURE__ */t(\"div\",{role:\"button\",tabIndex:0,title:\"笔记\",\"aria-label\":\"笔记\",onMouseDown:t=>t.stopPropagation(),onClick:t=>{t.stopPropagation(),y(t=>t===a.noteId?null:a.noteId)},style:{position:\"absolute\",left:o-p+\"px\",top:n-g+\"px\",width:`${S}px`,height:`${S}px`,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",padding:0},children:u.renderIcon({note:a})}):/* @__PURE__ */t(\"button\",{type:\"button\",title:\"笔记\",onMouseDown:t=>t.stopPropagation(),onClick:t=>{t.stopPropagation(),y(t=>t===a.noteId?null:a.noteId)},style:{position:\"absolute\",left:o-p+\"px\",top:n-g+\"px\",width:`${S}px`,height:`${S}px`,border:\"none\",borderRadius:\"50%\",background:c,color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 6px rgba(0,0,0,0.2)\",padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:\"11px\",lineHeight:1},\"aria-label\":\"笔记\",children:\"💬\"}),i&&((null==u?void 0:u.renderMenuActions)?/* @__PURE__ */t(\"div\",{style:{position:\"absolute\",left:o-p+S/2+\"px\",top:`${n-g+S+6}px`,transform:\"translateX(-50%)\",zIndex:30,pointerEvents:\"auto\"},onMouseDown:t=>t.stopPropagation(),children:u.renderMenuActions({note:a,onEdit:()=>{y(null),w(null),null==f||f.requestEdit(a.noteId)},onDelete:()=>{y(null),w(null),m.deleteNote(a.noteId)}})}):/* @__PURE__ */e(\"div\",{style:{position:\"absolute\",left:o-p+S/2+\"px\",top:`${n-g+S+6}px`,transform:\"translateX(-50%)\",zIndex:30,pointerEvents:\"auto\",minWidth:\"80px\",padding:\"4px\",borderRadius:\"6px\",background:\"#fff\",border:\"1px solid #e5e7eb\",boxShadow:\"0 4px 12px rgba(0,0,0,0.12)\"},onMouseDown:t=>t.stopPropagation(),children:[\n/* @__PURE__ */t(\"button\",{type:\"button\",style:St,onClick:t=>{t.stopPropagation(),y(null),w(null),null==f||f.requestEdit(a.noteId)},children:\"编辑\"}),\n/* @__PURE__ */t(\"button\",{type:\"button\",style:{...St,color:\"#dc2626\"},onClick:t=>{t.stopPropagation(),y(null),w(null),m.deleteNote(a.noteId)},children:\"删除\"})]}))]})]},a.noteId)})})}const St={display:\"block\",width:\"100%\",padding:\"6px 10px\",fontSize:\"12px\",border:\"none\",borderRadius:\"4px\",background:\"transparent\",color:\"#334155\",cursor:\"pointer\",textAlign:\"left\"};const xt={kind:\"first-wins\"};function $t(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let kt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function Lt(t,e=xt){const a=function(t,e=xt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,$t(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new kt(r)}const zt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=xt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??xt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Lt(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};zt.id=\"chapter-manager\";let Dt=zt;const Tt={kind:\"first-wins\"};function Gt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let Ot=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function At(t,e=Tt){const a=function(t,e=Tt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Gt(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new Ot(r)}const Nt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Tt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Tt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=At(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Nt.id=\"chapter-manager\";let Vt=Nt;const Rt=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(Vt.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Rt.id=\"chapter-scroll\";let Et=Rt;function Ut(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function _t(t,e){const a=t.origin.y,s=t.origin.y+t.size.height,i=e.origin.y,r=e.origin.y+e.size.height,o=Math.max(s,r)-Math.min(a,i);if(o<=0)return 0;return Math.max(0,Math.min(s,r)-Math.max(a,i))/o}function Ft(t,e){var a,s;if(t.chapterId!==e.chapterId||t.localPageIndex!==e.localPageIndex)return!1;const i=(null==(a=t.rectsPdfCoord)?void 0:a.length)?t.rectsPdfCoord:[t.rectPdfCoord],r=(null==(s=e.rectsPdfCoord)?void 0:s.length)?e.rectsPdfCoord:[e.rectPdfCoord],o=t.markerAnchor??Ut(i),n=e.markerAnchor??Ut(r);if(Math.hypot(o.x-n.x,o.y-n.y)<=6)return!0;for(const h of i)for(const t of r){if(_t(h,t)<.5)continue;const e=Math.max(h.origin.x,t.origin.x);if(Math.min(h.origin.x+h.size.width,t.origin.x+t.size.width)-e>.25*Math.min(h.size.width,t.size.width))return!0}return!1}async function qt(t,e,a){t.scrollToGlobalPageIndex(e),await function(t,e,a=2500){const s=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{r(),s(null)},a),r=t.onLayoutChange(t=>{const a=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);a&&(clearTimeout(i),r(),s(a))})})}(t,e),t.scrollToGlobalPdfPoint(e,a,{marginTop:80})}const Wt=class t extends C{constructor(t,e){super(t,e),this.change$=M([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(Et.id),this.chapterManager=this.registry.getPlugin(Dt.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){var a;if(this.config=e,null==(a=e.callbacks)?void 0:a.load)try{const t=await e.callbacks.load();for(const e of t)this.entries.set(e.id,e);this.change$.emit(this.list())}catch(s){this.logger.error(t.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:t=>this.addBookmark(t),removeBookmark:t=>this.removeBookmark(t),updateBookmark:(t,e)=>this.updateBookmark(t,e),listBookmarks:()=>this.list(),getBookmark:t=>this.entries.get(t)??null,scrollToBookmark:t=>this.scrollToBookmark(t),requestRemoveBookmark:t=>this.requestRemoveBookmark(t),onBookmarksChange:this.change$.on}}addBookmark(t){for(const s of this.entries.values())if(Ft(s.anchor,t.anchor))return s;const e=t.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:e,label:t.label,anchor:t.anchor,metadata:t.metadata,createdAt:Date.now()};return this.entries.set(e,a),this.notifyAndPersist(),a}removeBookmark(t){var e,a,s;this.entries.delete(t)&&(this.notifyAndPersist(),null==(s=null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,t))}async requestRemoveBookmark(e){var a,s;const i=this.entries.get(e);if(!i)return!1;const r=null==(s=null==(a=this.config)?void 0:a.callbacks)?void 0:s.onRequestRemove;if(r)try{if(!(await r(i)))return!1}catch(o){return this.logger.error(t.id,\"RequestRemove\",\"callback failed\",o),!1}return this.removeBookmark(e),!0}updateBookmark(t,e){const a=this.entries.get(t);a&&(this.entries.set(t,{...a,...e}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((t,e)=>t.createdAt-e.createdAt)}notifyAndPersist(){var e,a;const s=this.list();this.change$.emit(s),(null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(e=>this.logger.error(t.id,\"Persist\",\"persist callback rejected\",e))}async scrollToBookmark(t){const e=this.entries.get(t);if(!e)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(e.anchor.chapterId);let s=e.anchor.globalPageIndex;if(void 0===s){const t=this.chapterManager.provides().getVirtualPageMap().toGlobal(e.anchor.chapterId,e.anchor.localPageIndex);if(!t)return;s=t.globalPageIndex}const i=function(t){if(t.markerAnchor)return t.markerAnchor.y;const e=t.rectPdfCoord;return e.origin.y+e.size.height}(e.anchor);await qt(a,s,i)}};Wt.id=\"paragraph-bookmark\";let Ht=Wt;function Bt({chapterId:a,localPageIndex:o,pdfPageWidth:n,pdfPageHeight:l,cssPageWidth:d,cssPageHeight:c,onBookmarkClick:u,ui:p,className:g,style:f}){const{provides:m}=h(Ht.id),[v,b]=i([]),[P,w]=i(null),I=s(null);if(r(()=>{if(!m)return;const t=()=>{b(m.listBookmarks().filter(t=>t.anchor.chapterId===a&&t.anchor.localPageIndex===o))};return t(),m.onBookmarksChange(t)},[m,a,o]),r(()=>{if(!P)return;const t=t=>{var e;(null==(e=I.current)?void 0:e.contains(t.target))||w(null)};return document.addEventListener(\"mousedown\",t),()=>document.removeEventListener(\"mousedown\",t)},[P]),!m||0===v.length||!n||!l)return null;const y=d/n,C=c/l,M=(null==p?void 0:p.iconSize)??16;/* @__PURE__ */\nreturn t(\"div\",{className:g,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",...f},children:v.map(a=>{var s;const i=(null==(s=a.anchor.rectsPdfCoord)?void 0:s.length)?a.anchor.rectsPdfCoord:[a.anchor.rectPdfCoord],r=a.anchor.markerAnchor??{x:a.anchor.rectPdfCoord.origin.x+a.anchor.rectPdfCoord.size.width,y:a.anchor.rectPdfCoord.origin.y+a.anchor.rectPdfCoord.size.height},{left:o,top:n}=function(t){const{markerPdf:e,lineRects:a,sx:s,sy:i,cssPageWidth:r,iconSize:o,gapPx:n=6}=t,h=(null==a?void 0:a.length)?a[a.length-1]:void 0;let l,d;h?(l=(h.origin.x+h.size.width)*s+n,d=h.origin.y*i+(h.size.height*i-o)/2):(l=e.x*s-o/2,d=e.y*i-o-n);const c=Math.max(0,r-o-2);return l>c&&(l=c),d<0&&(d=0),{left:l,top:d}}({markerPdf:r,lineRects:i,sx:y,sy:C,cssPageWidth:d,iconSize:M}),h=Math.max(0,o-6),l=Math.max(0,n-6);/* @__PURE__ */\nreturn e(\"div\",{style:{position:\"absolute\",left:`${h}px`,top:`${l}px`,width:`${M+12}px`,height:`${M+12}px`,pointerEvents:\"auto\",zIndex:20},onMouseDown:t=>t.stopPropagation(),children:[(null==p?void 0:p.renderIcon)?/* @__PURE__ */t(\"div\",{role:\"button\",tabIndex:0,title:a.label,\"aria-label\":`bookmark ${a.label}`,style:{position:\"absolute\",left:\"6px\",top:\"6px\",width:`${M}px`,height:`${M}px`,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",padding:0},onClick:t=>{t.stopPropagation(),w(t=>t===a.id?null:a.id),null==u||u(a)},children:p.renderIcon({bookmark:a})}):/* @__PURE__ */t(\"button\",{type:\"button\",title:a.label,onClick:t=>{t.stopPropagation(),w(t=>t===a.id?null:a.id),null==u||u(a)},style:{position:\"absolute\",left:\"6px\",top:\"6px\",width:`${M}px`,height:`${M}px`,border:\"none\",borderRadius:\"4px\",background:\"#3b82f6\",color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 6px rgba(37, 99, 235, 0.35)\",padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:\"11px\",lineHeight:1},\"aria-label\":`bookmark ${a.label}`,children:\"🔖\"}),P===a.id&&/* @__PURE__ */t(\"div\",{ref:I,style:{position:\"absolute\",left:\"6px\",top:\"-36px\",zIndex:30,pointerEvents:\"auto\",minWidth:\"88px\",padding:\"4px\",borderRadius:\"6px\",background:\"#fff\",border:\"1px solid #e5e7eb\",boxShadow:\"0 4px 12px rgba(0,0,0,0.12)\"},onClick:t=>t.stopPropagation(),children:/* @__PURE__ */t(\"button\",{type:\"button\",style:{width:\"100%\",padding:\"6px 8px\",fontSize:\"12px\",border:\"none\",borderRadius:\"4px\",background:\"transparent\",color:\"#dc2626\",cursor:\"pointer\",textAlign:\"left\"},onClick:()=>{m.requestRemoveBookmark(a.id).then(t=>{t&&w(null)})},children:\"删除书签\"})})]},a.id)})})}function jt(t){return t.chapterId}function Yt(t,e){t.wait(e,()=>{})}function Xt(t,e,a){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageIndex:t.globalPageIndex,globalPageNumber:t.globalPageNumber,rectsPdfCoord:e,selectedText:a}}const Kt=\"note\",Zt={id:Kt,name:\"Note Plugin\",version:\"0.1.0\",provides:[\"note\"],requires:[\"selection\",\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{callbacks:{onCreateNote:async()=>null,onActivateNote:()=>{}},markerSize:18}};const Qt={kind:\"first-wins\"};function Jt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let te=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function ee(t,e=Qt){const a=function(t,e=Qt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Jt(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new te(r)}const ae=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Qt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Qt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=ee(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ae.id=\"chapter-manager\";let se=ae;const ie={kind:\"first-wins\"};function re(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let oe=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function ne(t,e=ie){const a=function(t,e=ie){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,re(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new oe(r)}const he=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=ie,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ie,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=ne(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};he.id=\"chapter-manager\";let le=he;const de=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(le.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};de.id=\"chapter-scroll\";let ce=de;const ue=class t extends C{constructor(t,e){super(t,e),this.notesChange$=M([]),this.noteActivated$=S(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(ce.id),this.chapterManager=this.registry.getPlugin(se.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){if(this.config=e,e.callbacks.loadNotes)try{const t=await e.callbacks.loadNotes();for(const e of t)this.notes.set(e.noteId,e);this.notesChange$.emit(this.listAll())}catch(a){this.logger.error(t.id,\"LoadNotes\",\"Failed to load notes\",a)}}buildCapability(){return{createNoteFromSelection:t=>this.createNoteFromSelection(t),requestCreateFromSelection:t=>this.requestCreateFromSelection(t),registerNote:t=>this.registerNote(t),listNotesForPage:(t,e)=>this.listAll().filter(a=>a.chapterId===t&&a.localPageIndex===e),listAllNotes:()=>this.listAll(),getNote:t=>this.notes.get(t)??null,deleteNote:t=>this.deleteNote(t),updateNoteContent:(t,e)=>this.updateNoteContent(t,e),scrollToNote:t=>this.scrollToNote(t),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(t){this.notes.set(t.noteId,t),this.notesChange$.emit(this.listAll())}requestEdit(t){const e=this.notes.get(t);e&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(t,e):this.activateNote(t))}activateNote(t){var e,a;const s=this.notes.get(t);s&&(null==(a=(e=this.config.callbacks).onActivateNote)||a.call(e,t,s),this.noteActivated$.emit({noteId:t,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(t){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageNumber:t.globalPageNumber,globalPageIndex:t.globalPageIndex,rectsPdfCoord:t.rectsPdfCoord,endAnchor:ge(t.rectsPdfCoord),selectedText:t.selectedText,content:t.content}}async requestCreateFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:e,complete:async t=>{const a={...e,noteId:t};this.registerNote(a)}}),null):this.createNoteFromSelection(t)}async createNoteFromSelection(e){if(0===e.rectsPdfCoord.length)return null;const a=this.buildDraft(e),s=this.config.callbacks.onCreateNote;if(!s)return this.logger.error(t.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await s(a)}catch(o){return this.logger.error(t.id,\"OnCreateNote\",\"Callback failed\",o),null}if(!i)return null;const r={...a,noteId:i.noteId};return this.registerNote(r),r}async deleteNote(e){var a,s;if(this.notes.has(e)){try{await(null==(s=(a=this.config.callbacks).onDeleteNote)?void 0:s.call(a,e))}catch(i){return void this.logger.error(t.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(e),this.notesChange$.emit(this.listAll())}}async updateNoteContent(e,a){var s,i;const r=this.notes.get(e);if(!r)return;const o={...r,content:a};try{await(null==(i=(s=this.config.callbacks).onUpdateNote)?void 0:i.call(s,o))}catch(n){return void this.logger.error(t.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(e,o),this.notesChange$.emit(this.listAll())}async scrollToNote(t){var e;const a=this.notes.get(t);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(e=this.documentManager.provides().getDocument(a.chapterId))?void 0:e.pages[a.localPageIndex])?(s.scrollToGlobalPageIndex(a.globalPageIndex),await this.waitForPageInLayout(a.globalPageIndex),s.scrollToGlobalPdfPoint(a.globalPageIndex,a.endAnchor.y,{marginTop:80})):s.scrollToGlobalPageIndex(a.globalPageIndex)}waitForPageInLayout(t){const e=this.chapterScroll.provides(),a=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=e.onLayoutChange(e=>{const r=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);r&&(clearTimeout(s),i(),a(r))})})}};ue.id=\"note\";let pe=ue;function ge(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}const fe={manifest:Zt,create:t=>new pe(Kt,t),reducer:t=>t,initialState:{}},me=\"paragraph-bookmark\",ve={id:me,name:\"Paragraph Bookmark Plugin\",version:\"0.1.0\",provides:[\"paragraph-bookmark\"],requires:[\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{}};const be={kind:\"first-wins\"};function Pe(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let we=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function Ie(t,e=be){const a=function(t,e=be){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Pe(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new we(r)}const ye=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=be,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??be,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Ie(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ye.id=\"chapter-manager\";let Ce=ye;const Me={kind:\"first-wins\"};function Se(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class xe{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function $e(t,e=Me){const a=function(t,e=Me){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Se(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new xe(r)}const ke=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Me,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Me,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=$e(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ke.id=\"chapter-manager\";let Le=ke;const ze=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(Le.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};ze.id=\"chapter-scroll\";let De=ze;function Te(t){if(0===t.length)throw new Error(\"unionRects: empty rects\");let e=1/0,a=1/0,s=-1/0,i=-1/0;for(const r of t)e=Math.min(e,r.origin.x),a=Math.min(a,r.origin.y),s=Math.max(s,r.origin.x+r.size.width),i=Math.max(i,r.origin.y+r.size.height);return{origin:{x:e,y:a},size:{width:s-e,height:i-a}}}function Ge(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function Oe(t,e){const a=t.origin.y,s=t.origin.y+t.size.height,i=e.origin.y,r=e.origin.y+e.size.height,o=Math.max(s,r)-Math.min(a,i);if(o<=0)return 0;return Math.max(0,Math.min(s,r)-Math.max(a,i))/o}function Ae(t,e){var a,s;if(t.chapterId!==e.chapterId||t.localPageIndex!==e.localPageIndex)return!1;const i=(null==(a=t.rectsPdfCoord)?void 0:a.length)?t.rectsPdfCoord:[t.rectPdfCoord],r=(null==(s=e.rectsPdfCoord)?void 0:s.length)?e.rectsPdfCoord:[e.rectPdfCoord],o=t.markerAnchor??Ge(i),n=e.markerAnchor??Ge(r);if(Math.hypot(o.x-n.x,o.y-n.y)<=6)return!0;for(const h of i)for(const t of r){if(Oe(h,t)<.5)continue;const e=Math.max(h.origin.x,t.origin.x);if(Math.min(h.origin.x+h.size.width,t.origin.x+t.size.width)-e>.25*Math.min(h.size.width,t.size.width))return!0}return!1}async function Ne(t,e,a){t.scrollToGlobalPageIndex(e),await function(t,e,a=2500){const s=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{r(),s(null)},a),r=t.onLayoutChange(t=>{const a=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);a&&(clearTimeout(i),r(),s(a))})})}(t,e),t.scrollToGlobalPdfPoint(e,a,{marginTop:80})}const Ve=class t extends C{constructor(t,e){super(t,e),this.change$=M([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(De.id),this.chapterManager=this.registry.getPlugin(Ce.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){var a;if(this.config=e,null==(a=e.callbacks)?void 0:a.load)try{const t=await e.callbacks.load();for(const e of t)this.entries.set(e.id,e);this.change$.emit(this.list())}catch(s){this.logger.error(t.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:t=>this.addBookmark(t),removeBookmark:t=>this.removeBookmark(t),updateBookmark:(t,e)=>this.updateBookmark(t,e),listBookmarks:()=>this.list(),getBookmark:t=>this.entries.get(t)??null,scrollToBookmark:t=>this.scrollToBookmark(t),requestRemoveBookmark:t=>this.requestRemoveBookmark(t),onBookmarksChange:this.change$.on}}addBookmark(t){for(const s of this.entries.values())if(Ae(s.anchor,t.anchor))return s;const e=t.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:e,label:t.label,anchor:t.anchor,metadata:t.metadata,createdAt:Date.now()};return this.entries.set(e,a),this.notifyAndPersist(),a}removeBookmark(t){var e,a,s;this.entries.delete(t)&&(this.notifyAndPersist(),null==(s=null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,t))}async requestRemoveBookmark(e){var a,s;const i=this.entries.get(e);if(!i)return!1;const r=null==(s=null==(a=this.config)?void 0:a.callbacks)?void 0:s.onRequestRemove;if(r)try{if(!(await r(i)))return!1}catch(o){return this.logger.error(t.id,\"RequestRemove\",\"callback failed\",o),!1}return this.removeBookmark(e),!0}updateBookmark(t,e){const a=this.entries.get(t);a&&(this.entries.set(t,{...a,...e}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((t,e)=>t.createdAt-e.createdAt)}notifyAndPersist(){var e,a;const s=this.list();this.change$.emit(s),(null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(e=>this.logger.error(t.id,\"Persist\",\"persist callback rejected\",e))}async scrollToBookmark(t){const e=this.entries.get(t);if(!e)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(e.anchor.chapterId);let s=e.anchor.globalPageIndex;if(void 0===s){const t=this.chapterManager.provides().getVirtualPageMap().toGlobal(e.anchor.chapterId,e.anchor.localPageIndex);if(!t)return;s=t.globalPageIndex}const i=function(t){if(t.markerAnchor)return t.markerAnchor.y;const e=t.rectPdfCoord;return e.origin.y+e.size.height}(e.anchor);await Ne(a,s,i)}};Ve.id=\"paragraph-bookmark\";let Re=Ve;const Ee={manifest:ve,create:t=>new Re(me,t),reducer:t=>t,initialState:{}};function Ue(t){const{provides:e}=h(D.id);r(()=>{e&&t&&e.isDocumentOpen(t)&&e.setActiveDocument(t)},[e,t])}function _e(){const{registry:t}=d();return!!t?.getPlugin(pe.id)}function Fe(){const{registry:t}=d();return!!t?.getPlugin(Re.id)}function qe(){const{registry:t}=d();return o(()=>{const e=t?.getPlugin(pe.id)?.provides?.();return e?t=>e.createNoteFromSelection(t):null},[t])}function We({item:e,pdfPageWidth:a,pdfPageHeight:o,cssPageWidth:l,cssPageHeight:d,hoverUi:c}){const u=jt(e),{provides:p}=h(P.id),{provides:g}=h(Re.id),f=s(null),[w,I]=i(null),[y,C]=i(null),[M,S]=i(null),x=c?.iconSize??16;r(()=>{if(!p)return;const t=p.forDocument(u),a=()=>{const a=t.getState().geometry[e.localPageIndex];a&&I(a)},s=t.onSelectionChange(a);let i=!1;const r=()=>{if(!i){try{if(a(),t.getState().geometry[e.localPageIndex])return}catch{}requestAnimationFrame(r)}};return r(),()=>{i=!0,s()}},[p,u,e.localPageIndex]);const $=M??y;r(()=>{if(!w||!a)return;const t=t=>{if(M)return;if(p)try{if(p.forDocument(u).getState().selecting)return void C(null)}catch{}const e=f.current;if(!e)return;const s=e.getBoundingClientRect();if(t.clientX<s.left||t.clientX>s.right||t.clientY<s.top||t.clientY>s.bottom)return void C(null);const i=function(t,e){const a=m(t,e);if(a<0)return null;const s=v(t,a);if(!s)return null;const i=b(t,s.from,s.to);return 0===i.length?null:{lineRects:i,charFrom:s.from,charTo:s.to}}(w,{x:(t.clientX-s.left)/(l/a),y:(t.clientY-s.top)/(d/o)});C(i?.lineRects??null)};return document.addEventListener(\"mousemove\",t),()=>document.removeEventListener(\"mousemove\",t)},[w,a,o,l,d,p,u,M]);const k=$?.length?function(t,e,a,s){const i=a.length>0?a:[];if(0===i.length)throw new Error(\"buildParagraphBookmarkAnchor: no rects\");return{chapterId:t,localPageIndex:e,globalPageIndex:null==s?void 0:s.globalPageIndex,globalPageNumber:null==s?void 0:s.globalPageNumber,rectPdfCoord:Te(i),rectsPdfCoord:i,markerAnchor:Ge(i)}}(e.chapterId,e.localPageIndex,$,{globalPageIndex:e.globalPageIndex,globalPageNumber:e.globalPageNumber}):null,L=k&&g?.listBookmarks().some(t=>Ae(t.anchor,k)),z=n(()=>{g&&k&&!L&&(g.addBookmark({label:`书签 ${/* @__PURE__ */(new Date).toLocaleTimeString(\"zh-CN\",{hour:\"2-digit\",minute:\"2-digit\"})}`,anchor:k}),C(null),S(null))},[g,k,L]);if(!g||!a||!o)return null;const D=l/a,T=d/o,G=$?.[$.length-1],O=G?Math.min((G.origin.x+G.size.width)*D+6,Math.max(0,l-x-2)):0,A=G?G.origin.y*T+(G.size.height*T-x)/2:0,N=G?Math.max(0,(G.origin.x+G.size.width)*D-4):0,V=G?Math.max(0,G.origin.y*T-4):0;/* @__PURE__ */\nreturn t(\"div\",{ref:f,style:{position:\"absolute\",inset:0,zIndex:14,pointerEvents:\"none\"},children:$&&G&&!L&&/* @__PURE__ */t(\"div\",{style:{position:\"absolute\",left:`${N}px`,top:`${V}px`,width:`${x+20}px`,height:`${G.size.height*T+x+12}px`,pointerEvents:\"auto\"},onMouseEnter:()=>S($),onMouseLeave:()=>S(null),children:c?.renderAddIcon?/* @__PURE__ */t(\"div\",{role:\"button\",tabIndex:0,title:\"添加书签\",onClick:t=>{t.stopPropagation(),z()},style:{position:\"absolute\",left:O-N+\"px\",top:A-V+\"px\",width:x,height:x,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",padding:0},children:c.renderAddIcon()}):/* @__PURE__ */t(\"button\",{type:\"button\",title:\"添加书签\",onClick:t=>{t.stopPropagation(),z()},style:{position:\"absolute\",left:O-N+\"px\",top:A-V+\"px\",width:`${x}px`,height:`${x}px`,border:\"none\",borderRadius:\"4px\",background:\"#3b82f6\",color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 8px rgba(37, 99, 235, 0.45)\",fontSize:\"12px\",lineHeight:1,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:\"🔖\"})})})}const He={position:\"relative\",height:\"100%\",width:\"100%\"},Be={height:\"100%\",width:\"100%\"},je={highlight:{offsetY:0},underline:{offsetY:2.5},squiggly:{offsetY:0},strikeout:{offsetY:0}},Ye={highlight:k.HIGHLIGHT,underline:k.UNDERLINE,squiggly:k.SQUIGGLY,strikeout:k.STRIKEOUT};function Xe(t,e){return 0===e?t:t.map(t=>({origin:{x:t.origin.x,y:t.origin.y+e},size:{...t.size}}))}function Ke(t){let e=1/0,a=1/0,s=-1/0,i=-1/0;for(const r of t)e=Math.min(e,r.origin.x),a=Math.min(a,r.origin.y),s=Math.max(s,r.origin.x+r.size.width),i=Math.max(i,r.origin.y+r.size.height);return{origin:{x:e,y:a},size:{width:s-e,height:i-a}}}function Ze(t,e,a,s,i){const r=a.forDocument(t),o=s.forDocument(t);if(!r||!o)return!1;const n=\"highlight\"===e?\"highlight\":\"underline\"===e?\"underline\":\"squiggly\"===e?\"squiggly\":\"strikeout\",h=a.getTool(n);if(!h)return!1;const l=h.defaults,d=function(t,e){return{...je[t],...null==e?void 0:e[t]}}(e,i),c=o.getFormattedSelection();if(0===c.length)return!1;r.setLocked({type:O.Exclude,categories:[\"markup\",\"shape\"]});for(const u of c){const t=L(),a=d.color??l.color??l.strokeColor,s=d.opacity??l.opacity,i=d.thickness??l.strokeWidth,o=d.offsetY??0,n=\"underline\"===e||\"squiggly\"===e||\"strikeout\"===e?Xe(u.segmentRects,o):u.segmentRects,h=\"underline\"===e||\"squiggly\"===e||\"strikeout\"===e?Ke(n):u.rect;r.createAnnotation(u.pageIndex,{id:t,created:/* @__PURE__ */new Date,flags:[\"print\"],type:Ye[e],...\"highlight\"===e?{blendMode:z.Multiply}:{},strokeColor:a,opacity:s,...null!=i?{strokeWidth:i}:{},pageIndex:u.pageIndex,rect:h,segmentRects:n})}return o.clear(),!0}const Qe=[{id:\"highlight\",label:\"高亮背景\",icon:/* @__PURE__ */t(aa,{})},{id:\"underline\",label:\"下划线\",icon:/* @__PURE__ */t(sa,{})},{id:\"squiggly\",label:\"波浪线\",icon:/* @__PURE__ */t(ia,{})},{id:\"strikeout\",label:\"删除线\",icon:/* @__PURE__ */t(ra,{})},{id:\"note\",label:\"添加笔记\",icon:/* @__PURE__ */t(oa,{})}];function Je({placementAbove:s,anchorHeight:i,onAction:r,hiddenBuiltinActions:o=[],extraActions:n=[]}){const h=new Set(o),l=Qe.filter(t=>\"note\"!==t.id&&!h.has(t.id)),d=Qe.find(t=>\"note\"===t.id),c=d&&!h.has(\"note\"),u=[...n].sort((t,e)=>(t.order??0)-(e.order??0));/* @__PURE__ */\nreturn e(\"div\",{style:{position:\"absolute\",pointerEvents:\"auto\",left:\"50%\",transform:\"translateX(-50%)\",top:s?void 0:i+10,bottom:s?i+10:void 0,display:\"flex\",alignItems:\"center\",gap:2,padding:\"6px 8px\",borderRadius:10,background:\"#ffffff\",border:\"1px solid rgba(15, 23, 42, 0.08)\",boxShadow:\"0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 10px 24px -4px rgba(15, 23, 42, 0.12)\"},role:\"toolbar\",\"aria-label\":\"选区工具\",children:[l.map(e=>/* @__PURE__ */t(ta,{label:e.label,onClick:()=>r(e.id),children:e.icon},e.id)),u.map(e=>/* @__PURE__ */t(ta,{label:e.label,onClick:()=>r(e.id),children:/* @__PURE__ */t(\"span\",{style:{fontSize:11,fontWeight:600},children:e.label.slice(0,2)})},e.id)),c&&/* @__PURE__ */e(a,{children:[\n/* @__PURE__ */t(\"span\",{style:{width:1,height:28,margin:\"0 4px\",background:\"#e2e8f0\",flexShrink:0},\"aria-hidden\":!0}),\n/* @__PURE__ */t(ta,{label:d.label,onClick:()=>r(\"note\"),accent:!0,children:d.icon})]})]})}function ta({label:e,onClick:a,accent:s,children:i}){/* @__PURE__ */\nreturn t(\"button\",{type:\"button\",title:e,\"aria-label\":e,onClick:a,style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:36,height:36,padding:0,border:\"none\",borderRadius:8,background:\"transparent\",color:s?\"#b45309\":\"#334155\",cursor:\"pointer\"},onMouseEnter:t=>{t.currentTarget.style.background=s?\"#fffbeb\":\"#f1f5f9\"},onMouseLeave:t=>{t.currentTarget.style.background=\"transparent\"},children:i})}function ea({behind:a,mark:s}){/* @__PURE__ */\nreturn e(\"svg\",{width:\"28\",height:\"28\",viewBox:\"0 0 28 28\",fill:\"none\",\"aria-hidden\":!0,children:[a,\n/* @__PURE__ */t(\"text\",{x:\"14\",y:\"19\",textAnchor:\"middle\",fontSize:\"15\",fontWeight:\"700\",fontFamily:\"system-ui, sans-serif\",fill:\"#0f172a\",children:\"A\"}),s]})}function aa(){/* @__PURE__ */\nreturn t(ea,{behind:/* @__PURE__ */t(\"rect\",{x:\"5\",y:\"4\",width:\"18\",height:\"20\",rx:\"3\",fill:\"#facc15\"})})}function sa(){/* @__PURE__ */\nreturn t(ea,{mark:/* @__PURE__ */t(\"path\",{d:\"M6 22h16\",stroke:\"#dc2626\",strokeWidth:\"2.2\",strokeLinecap:\"round\"})})}function ia(){/* @__PURE__ */\nreturn t(ea,{mark:/* @__PURE__ */t(\"path\",{d:\"M6 22c2-2 3-2 5 0s3 2 5 0 3-2 5 0\",stroke:\"#dc2626\",strokeWidth:\"2\",strokeLinecap:\"round\",fill:\"none\"})})}function ra(){/* @__PURE__ */\nreturn t(ea,{mark:/* @__PURE__ */t(\"path\",{d:\"M5 14h18\",stroke:\"#dc2626\",strokeWidth:\"2.2\",strokeLinecap:\"round\"})})}function oa(){/* @__PURE__ */\nreturn e(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":!0,children:[\n/* @__PURE__ */t(\"path\",{d:\"M8 3h8l4 4v14H8V3z\",fill:\"#fef3c7\",stroke:\"#d97706\",strokeWidth:\"1.2\",strokeLinejoin:\"round\"}),\n/* @__PURE__ */t(\"path\",{d:\"M16 3v4h4\",stroke:\"#d97706\",strokeWidth:\"1.2\"}),\n/* @__PURE__ */t(\"path\",{d:\"M10 12h6M10 16h4\",stroke:\"#92400e\",strokeWidth:\"1.2\",strokeLinecap:\"round\"})]})}const na={highlight:\"highlight\",underline:\"underline\",squiggly:\"squiggly\",strikeout:\"strikeout\"};function ha(e,a){const s=e?.selectionToolbar,i=!1!==e?.markup?.enabled,r=!1!==e?.notes?.enabled;if(!1===s?.enabled)return;if(!i&&!r&&!s?.extraActions?.length)return;const{provides:n}=h(P.id),{provides:l}=h(A.id),{provides:d}=h(pe.id);return o(()=>o=>{const h=jt(o.item);return c=>/* @__PURE__ */t(\"div\",{...c.menuWrapperProps,children:/* @__PURE__ */t(Je,{placementAbove:!!c.placement?.suggestTop,anchorHeight:c.rect.size.height,onAction:t=>{if(\"highlight\"!==t&&\"underline\"!==t&&\"squiggly\"!==t&&\"strikeout\"!==t){if(\"note\"===t){if(!n||!d||!r)return;const t=n.getHighlightRectsForPage(o.item.localPageIndex,h);return void Yt(n.getSelectedText(h),e=>{d.requestCreateFromSelection({chapterId:o.item.chapterId,localPageIndex:o.item.localPageIndex,globalPageIndex:o.item.globalPageIndex,globalPageNumber:o.item.globalPageNumber,rectsPdfCoord:t,selectedText:e.join(\"\\n\")})})}a?.onExtraAction?.(t,o)}else{if(!n||!l||!i)return;Ze(h,na[t],l,n,e?.markup?.styles)}},hiddenBuiltinActions:s?.hiddenBuiltinActions,extraActions:s?.extraActions})})},[l,e?.markup?.styles,a?.onExtraAction,i,d,r,n,s?.extraActions,s?.hiddenBuiltinActions])}function la({className:s,buildSelectionMenu:i,annotationSelectionMenu:r,redactionSelectionMenu:n,showNoteMarkers:h=!0,showBookmarkMarkers:l=!0,showRedactionLayer:d=!1,renderPageOverlay:c,features:u,onExtraSelectionAction:p,children:g}){const f=qe(),m=_e(),v=Fe(),b=h&&m&&!1!==u?.notes?.enabled,P=l&&v&&!1!==u?.bookmarks?.enabled,w=v&&!1!==u?.bookmarks?.enabled,I=ha(u,{onExtraAction:p}),y=o(()=>{if(i||I)return t=>{const e=I?I(t):t.defaultMenu;return i?i({...t,defaultMenu:e}):e}},[i,I]),C=o(()=>c||w?s=>/* @__PURE__ */e(a,{children:[w&&/* @__PURE__ */t(da,{item:s,hoverUi:u?.bookmarks?.hover}),c?.(s)]}):c,[u?.bookmarks?.hover,w,c]);/* @__PURE__ */\nreturn e(\"div\",{className:s,style:s?void 0:He,children:[\n/* @__PURE__ */t(rt,{renderPage:e=>/* @__PURE__ */t(ca,{item:e,showNoteMarkers:b,showBookmarkMarkers:P,noteMarkerUi:u?.notes?.marker,bookmarkMarkerUi:u?.bookmarks?.marker,renderPageOverlay:C,buildSelectionMenu:y,createNote:f,annotationSelectionMenu:r,redactionSelectionMenu:n,showRedactionLayer:d})}),g]})}function da({item:e,hoverUi:a}){const s=jt(e),i=l(s),r=i?.document?.pages[e.localPageIndex]??null;return r?/* @__PURE__ */t(We,{item:e,pdfPageWidth:r.size.width,pdfPageHeight:r.size.height,cssPageWidth:e.width,cssPageHeight:e.height,hoverUi:a}):null}function ca({item:a,showNoteMarkers:s,showBookmarkMarkers:i,noteMarkerUi:r,bookmarkMarkerUi:n,renderPageOverlay:d,createNote:c,buildSelectionMenu:m,annotationSelectionMenu:v,redactionSelectionMenu:b,showRedactionLayer:w=!1}){const C=jt(a);Ue(C);const M=l(C),S=M?.document?.pages[a.localPageIndex]??null,x=function(e,a){const{provides:s}=h(P.id),i=jt(e);return o(()=>{if(a)return r=>{const o={position:\"absolute\",pointerEvents:\"auto\",left:\"50%\",transform:\"translateX(-50%)\",top:r.placement?.suggestTop?-40:r.rect.size.height+8};/* @__PURE__ */\nreturn t(\"div\",{...r.menuWrapperProps,children:/* @__PURE__ */t(\"div\",{style:o,children:/* @__PURE__ */t(\"button\",{type:\"button\",onClick:()=>{if(!s)return;const t=s.getHighlightRectsForPage(e.localPageIndex,i);Yt(s.getSelectedText(i),s=>{const i=s.join(\"\\n\"),r=Xt(e,t,i);a(r)})},style:{padding:\"6px 10px\",fontSize:\"12px\",border:\"1px solid #e5e7eb\",borderRadius:\"6px\",background:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 8px rgba(0,0,0,0.08)\"},children:\"添加附注\"})})})}},[a,i,e,s])}(a,c),$=void 0!==m?m({item:a,defaultMenu:x,createNote:c}):x;return S?/* @__PURE__ */t(u,{documentId:C,children:/* @__PURE__ */t(g,{documentId:C,pageIndex:a.localPageIndex,style:{backgroundColor:\"#fff\"},children:/* @__PURE__ */e(p,{documentId:C,pageIndex:a.localPageIndex,children:[\n/* @__PURE__ */t(ot,{chapterId:C,localPageIndex:a.localPageIndex}),\n/* @__PURE__ */t(f,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:$}),w&&/* @__PURE__ */t(y,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:b}),\n/* @__PURE__ */t(I,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:v}),i&&S&&/* @__PURE__ */t(Bt,{chapterId:C,localPageIndex:a.localPageIndex,pdfPageWidth:S.size.width,pdfPageHeight:S.size.height,cssPageWidth:a.width,cssPageHeight:a.height,ui:n}),d?.(a),s&&S&&/* @__PURE__ */t(Mt,{chapterId:C,localPageIndex:a.localPageIndex,pdfPageWidth:S.size.width,pdfPageHeight:S.size.height,cssPageWidth:a.width,cssPageHeight:a.height,ui:r})]})})}):null}const ua=\"chapter-manager\",pa={id:ua,name:\"Chapter Manager Plugin\",version:\"0.1.0\",provides:[\"chapter-manager\"],requires:[\"document-manager\"],optional:[],defaultConfig:{manifest:{chapters:[]},prefetchChapters:1,unloadTimeoutMs:6e4,autoActivateOnLoad:!0}};const ga={kind:\"first-wins\"};function fa(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let ma=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function va(t,e=ga){const a=function(t,e=ga){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,fa(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ma(r)}const ba=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=ga,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ga,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=va(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ba.id=\"chapter-manager\";let Pa=ba;const wa={manifest:pa,create:t=>new Pa(ua,t),reducer:t=>t,initialState:{}},Ia=\"chapter-scroll\",ya={id:Ia,name:\"Chapter Scroll Plugin\",version:\"0.1.0\",provides:[\"chapter-scroll\"],requires:[\"chapter-manager\"],optional:[],defaultConfig:{placeholderPageHeight:1200,placeholderPageWidth:900,bufferSize:2,pageGap:20}};const Ca={kind:\"first-wins\"};function Ma(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class Sa{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function xa(t,e=Ca){const a=function(t,e=Ca){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Ma(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new Sa(r)}const $a=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Ca,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Ca,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=xa(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==$.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};$a.id=\"chapter-manager\";let ka=$a;const La=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(ka.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};La.id=\"chapter-scroll\";let za=La;const Da={manifest:ya,create:t=>new za(Ia,t),reducer:t=>t,initialState:{}},Ta={\"annotation-toolbar\":{id:\"annotation-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"],show:[\"overflow-annotation-tools\"]},md:{minWidth:640,hide:[\"overflow-annotation-tools\"],show:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"]}}},permanent:!1,categories:[\"annotation\"],items:[{type:\"spacer\",id:\"spacer-3\",flex:!0},{type:\"group\",id:\"annotation-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-highlight\",commandId:\"annotation:add-highlight\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-highlight\"]},{type:\"command-button\",id:\"add-strikeout\",commandId:\"annotation:add-strikeout\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-strikeout\"]},{type:\"command-button\",id:\"add-underline\",commandId:\"annotation:add-underline\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-underline\"]},{type:\"command-button\",id:\"add-squiggly\",commandId:\"annotation:add-squiggly\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-squiggly\"]},{type:\"command-button\",id:\"add-ink\",commandId:\"annotation:add-ink\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-ink-highlighter\",commandId:\"annotation:add-ink-highlighter\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-text\",commandId:\"annotation:add-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"add-insert-text\",commandId:\"annotation:add-insert-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-insert-text\"]},{type:\"command-button\",id:\"add-replace-text\",commandId:\"annotation:add-replace-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-replace-text\"]},{type:\"command-button\",id:\"add-comment\",commandId:\"annotation:add-comment\",variant:\"icon\",categories:[\"annotation\",\"annotation-comment-tool\"]},{type:\"command-button\",id:\"add-callout\",commandId:\"annotation:add-callout\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"overflow-annotation-tools\",commandId:\"annotation:overflow-tools\",variant:\"icon\",categories:[\"annotation\",\"annotation-overflow\"]},{type:\"divider\",id:\"annotation-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"annotation-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-4\",flex:!0}]},\"shapes-toolbar\":{id:\"shapes-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-polygon\",\"add-polyline\"],show:[\"overflow-shapes-tools\"]},md:{minWidth:640,hide:[\"overflow-shapes-tools\"],show:[\"add-polygon\",\"add-polyline\"]}}},permanent:!1,categories:[\"annotation\",\"annotation-shape\"],items:[{type:\"spacer\",id:\"spacer-5\",flex:!0},{type:\"group\",id:\"shapes-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rectangle\",commandId:\"annotation:add-rectangle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-rectangle\"]},{type:\"command-button\",id:\"add-circle\",commandId:\"annotation:add-circle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-circle\"]},{type:\"command-button\",id:\"add-line\",commandId:\"annotation:add-line\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-line\"]},{type:\"command-button\",id:\"add-arrow\",commandId:\"annotation:add-arrow\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-arrow\"]},{type:\"command-button\",id:\"add-polygon\",commandId:\"annotation:add-polygon\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polygon\"]},{type:\"command-button\",id:\"add-polyline\",commandId:\"annotation:add-polyline\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polyline\"]},{type:\"command-button\",id:\"overflow-shapes-tools\",commandId:\"annotation:overflow-shapes\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-overflow\"]},{type:\"divider\",id:\"shapes-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"shapes-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-6\",flex:!0}]},\"form-toolbar\":{id:\"form-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-form-select\",\"add-form-listbox\"],show:[\"overflow-forms-tools\"]},md:{minWidth:640,hide:[\"overflow-forms-tools\"],show:[\"add-form-select\",\"add-form-listbox\"]}}},permanent:!1,categories:[\"form\"],items:[{type:\"spacer\",id:\"spacer-form-1\",flex:!0},{type:\"group\",id:\"form-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-form-textfield\",commandId:\"form:add-textfield\",variant:\"icon\",categories:[\"form\",\"form-textfield\"]},{type:\"command-button\",id:\"add-form-checkbox\",commandId:\"form:add-checkbox\",variant:\"icon\",categories:[\"form\",\"form-checkbox\"]},{type:\"command-button\",id:\"add-form-radio\",commandId:\"form:add-radio\",variant:\"icon\",categories:[\"form\",\"form-radio\"]},{type:\"command-button\",id:\"add-form-select\",commandId:\"form:add-select\",variant:\"icon\",categories:[\"form\",\"form-select\"]},{type:\"command-button\",id:\"add-form-listbox\",commandId:\"form:add-listbox\",variant:\"icon\",categories:[\"form\",\"form-listbox\"]},{type:\"command-button\",id:\"overflow-forms-tools\",commandId:\"form:overflow-tools\",variant:\"icon\",categories:[\"form\",\"form-overflow\"]},{type:\"divider\",id:\"form-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"command-button\",id:\"toggle-form-fill-mode\",commandId:\"form:toggle-fill-mode\",variant:\"icon\",categories:[\"form\",\"form-fill-mode\"]},{type:\"divider\",id:\"form-tools-divider-2\",orientation:\"vertical\"},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-form-2\",flex:!0}]},\"insert-toolbar\":{id:\"insert-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"insert\"],items:[{type:\"spacer\",id:\"spacer-insert-1\",flex:!0},{type:\"group\",id:\"insert-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rubber-stamp\",commandId:\"insert:add-rubber-stamp\",variant:\"icon\",categories:[\"insert\",\"insert-rubber-stamp\"]},{type:\"command-button\",id:\"add-signature\",commandId:\"insert:add-signature\",variant:\"icon\",categories:[\"insert\",\"insert-signature\"]},{type:\"command-button\",id:\"add-image\",commandId:\"insert:add-image\",variant:\"icon\",categories:[\"insert\",\"insert-image\"]},{type:\"divider\",id:\"insert-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"insert-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-insert-2\",flex:!0}]},\"redaction-toolbar\":{id:\"redaction-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"redaction\"],items:[{type:\"spacer\",id:\"spacer-7\",flex:!0},{type:\"group\",id:\"redaction-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"redact\",commandId:\"redaction:redact\",variant:\"icon\",categories:[\"redaction\",\"redaction-combined\"]},{type:\"divider\",id:\"redaction-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-redaction-panel\",commandId:\"panel:toggle-redaction\",variant:\"icon\",categories:[\"panel\",\"panel-redaction\"]},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"redaction-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-8\",flex:!0}]}};class Ga{constructor(){this.specs=[]}register(t){if(this.specs.some(e=>e.id===t.id))throw new Error(`OperationRegistry: duplicate operation id \"${t.id}\"`);this.specs.push(t)}registerAll(t){for(const e of t)e&&this.register(e)}list(){return this.specs}buildToolbars(){const t=structuredClone(Ta);for(const e of this.specs){const a=t[e.toolbarSlot];if(!a)continue;const s={type:\"command-button\",id:e.id,commandId:e.commandId,variant:\"icon\",...e.icon?{icon:e.icon}:{},...e.i18nKey?{labelKey:e.i18nKey}:{},...e.label?{label:e.label}:{},categories:e.categories??[]};a.items=Oa(a.items,s,e.position)}return t}}function Oa(t,e,a){return(null==a?void 0:a.after)||(null==a?void 0:a.before)?function(t,e,a){const s=t=>{const i=[];for(const r of t)\"group\"!==r.type?a.before&&r.id===a.before?i.push(e,r):(i.push(r),a.after&&r.id===a.after&&i.push(e)):i.push({...r,items:s(r.items)});return i};return s(t)}(t,e,a):function(t,e){return t.map(t=>\"group\"===t.type?{...t,items:[...t.items,e]}:t)}(t,e)}const Aa={annotate:\"annotation-toolbar\",shapes:\"shapes-toolbar\",insert:\"insert-toolbar\",form:\"form-toolbar\",redact:\"redaction-toolbar\"};function Na(){return{\"mode:view\":{id:\"mode:view\",label:\"View\",categories:[\"mode\",\"mode-view\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides(),s=t.getPlugin(\"interaction-manager\")?.provides();a&&s&&(s.forDocument(e)?.activateDefaultMode(),a.forDocument(e).closeToolbarSlot(\"top\",\"secondary\"),t.getPlugin(N)?.provides().forDocument(e).setLocked((t=>t.getPluginConfig(N).locked??{type:O.None})(t)))},active:({state:t,documentId:e})=>!Y(t.plugins,e,\"top\",\"secondary\")},\"mode:annotate\":{id:\"mode:annotate\",label:\"Annotate\",categories:[\"mode\",\"mode-annotate\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"annotation-toolbar\",e),t.getPlugin(N)?.provides().forDocument(e).setLocked({type:O.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>Y(t.plugins,e,\"top\",\"secondary\",\"annotation-toolbar\")},\"mode:shapes\":{id:\"mode:shapes\",label:\"Shapes\",categories:[\"mode\",\"mode-shapes\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"shapes-toolbar\",e),t.getPlugin(N)?.provides().forDocument(e).setLocked({type:O.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>Y(t.plugins,e,\"top\",\"secondary\",\"shapes-toolbar\")},\"mode:insert\":{id:\"mode:insert\",label:\"Insert\",categories:[\"mode\",\"mode-insert\",\"insert\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"insert-toolbar\",e),t.getPlugin(N)?.provides().forDocument(e).setLocked({type:O.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>Y(t.plugins,e,\"top\",\"secondary\",\"insert-toolbar\")},\"mode:form\":{id:\"mode:form\",label:\"Form\",categories:[\"mode\",\"mode-form\",\"form\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"form-toolbar\",e),t.getPlugin(N)?.provides().forDocument(e).setLocked({type:O.None}))},active:({state:t,documentId:e})=>Y(t.plugins,e,\"top\",\"secondary\",\"form-toolbar\")},\"mode:redact\":{id:\"mode:redact\",label:\"Redact\",categories:[\"mode\",\"mode-redact\",\"redaction\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"redaction-toolbar\",e),t.getPlugin(N)?.provides().forDocument(e).setLocked({type:O.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>Y(t.plugins,e,\"top\",\"secondary\",\"redaction-toolbar\")}}}function Va(t){const e=t.toolbar??{},a=e.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"],s=a.length>0,{schema:i,operationRegistry:r}=function(t={}){var e,a,s,i,r,o;const n=new Set(t.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"]),h=new Ga;(null==(e=t.customOperations)?void 0:e.length)&&h.registerAll(t.customOperations);const l=h.buildToolbars(),d={};for(const u of n){if(\"view\"===u)continue;const t=Aa[u];l[t]&&(d[t]=l[t])}const c=function(t){if(0===t.size)return null;const e=(t,e,a)=>({type:\"command-button\",id:`${t}-mode`,commandId:a,variant:\"text\",label:e,categories:[\"mode\",t]});return{id:\"chapter-editor-main-toolbar\",position:{placement:\"top\",slot:\"main\",order:0},permanent:!0,items:[{type:\"spacer\",id:\"main-spacer-left\",flex:!0},{type:\"group\",id:\"mode-group\",alignment:\"start\",gap:2,items:[...t.has(\"view\")?[e(\"view\",\"View\",\"mode:view\")]:[],...t.has(\"annotate\")?[e(\"annotate\",\"Annotate\",\"mode:annotate\")]:[],...t.has(\"shapes\")?[e(\"shapes\",\"Shapes\",\"mode:shapes\")]:[],...t.has(\"insert\")?[e(\"insert\",\"Insert\",\"mode:insert\")]:[],...t.has(\"form\")?[e(\"form\",\"Form\",\"mode:form\")]:[],...t.has(\"redact\")?[e(\"redact\",\"Redact\",\"mode:redact\")]:[]]},{type:\"spacer\",id:\"main-spacer-right\",flex:!0}]}}(n);return c&&(d[\"chapter-editor-main-toolbar\"]=c),(null==(a=t.extend)?void 0:a.toolbars)&&Object.assign(d,t.extend.toolbars),{schema:{id:\"chapter-pdf-editor-ui\",version:\"1.0.0\",toolbars:d,menus:(null==(s=t.extend)?void 0:s.menus)??{},sidebars:(null==(i=t.extend)?void 0:i.sidebars)??{},modals:(null==(r=t.extend)?void 0:r.modals)??{},selectionMenus:(null==(o=t.extend)?void 0:o.selectionMenus)??{}},operationRegistry:h}}({...e,enabledModes:a}),o={...s?Na():{},...s?Ra(r.list()):{},...t.commands??{}},n=[x(T,{initialDocuments:[]}),x(wa,{manifest:t.manifest,overlapStrategy:t.overlapStrategy,passwordProvider:t.passwordProvider,chapterPdfLoader:t.chapterPdfLoader,prefetchChapters:t.prefetchChapters,unloadTimeoutMs:t.unloadTimeoutMs}),x(Da,{placeholderPageHeight:t.placeholderPageHeight,placeholderPageWidth:t.placeholderPageWidth}),x(R),x(E),x(U),x(w,{marquee:{enabled:!1},toleranceFactor:1.2,minSelectionDragDistance:4}),x(_),x(V),x(F),x(q),x(W,!1===t.loadDefaultStampLibrary?{manifests:[]}:void 0),x(H),...Object.keys(o).length>0?[x(B,{commands:o})]:[],...s?[x(j),x(X,{schema:i})]:[]];return t.notes&&n.push(x(fe,{callbacks:t.notes.callbacks,ui:t.features?.notes?.marker})),t.bookmarks&&n.push(x(Ee,{callbacks:t.bookmarks.callbacks,ui:t.features?.bookmarks?.marker,hover:t.features?.bookmarks?.hover})),{plugins:n,uiSchema:i,operationRegistry:r}}function Ra(t){const e={};for(const a of t)a.handler&&(e[a.commandId]={id:a.commandId,labelKey:a.i18nKey,label:a.label,icon:a.icon,categories:a.categories,action:({documentId:t})=>{a.handler?.({documentId:t,chapterId:t})}});return e}const Ea={markup:{enabled:!0},bookmarks:{enabled:!0},notes:{enabled:!0},selectionToolbar:{enabled:!0},zoom:{enabled:!0,min:.5,max:3,initial:1}};function Ua(t){return Va({...t,toolbar:t.toolbar??{enabledModes:[]},features:{...Ea,...t.features,markup:{...Ea.markup,...t.features?.markup},bookmarks:{...Ea.bookmarks,...t.features?.bookmarks},notes:{...Ea.notes,...t.features?.notes},selectionToolbar:{...Ea.selectionToolbar,...t.features?.selectionToolbar},zoom:{...Ea.zoom,...t.features?.zoom}}})}function _a(t,e,a){return Math.min(a,Math.max(e,t))}function Fa({engine:a,editorOptions:n,features:h,className:l,viewportClassName:d,buildSelectionMenu:u,onExtraSelectionAction:p,renderPageOverlay:g,children:f}){const m=o(()=>({...Ea,...h}),[h]),v=o(()=>Ua({...n,features:m}),[n,m]),b=!1!==m.zoom?.enabled,[P,w]=i(m.zoom?.initial??1),I=s(null);return r(()=>{if(!b)return;const t=I.current;if(!t)return;const e=t.querySelector(\"[data-chapter-scroll-viewport]\");return e?function({container:t,getScale:e,setScale:a,minZoom:s=.5,maxZoom:i=3}){let r=0,o=1,n=null,h=1,l=1;const d=t=>{(t.ctrlKey||t.metaKey)&&(t.preventDefault(),null===n?(l=e(),h=1):clearTimeout(n),h*=1-.01*t.deltaY,h=_a(h,.1,10),a(_a(l*h,s,i)),n=setTimeout(()=>{n=null},120))},c=/* @__PURE__ */new Map,u=t=>{if(c.set(t.pointerId,{x:t.clientX,y:t.clientY}),2===c.size){const[t,a]=[...c.values()];r=Math.hypot(a.x-t.x,a.y-t.y),o=e()}},p=t=>{if(c.has(t.pointerId)&&(c.set(t.pointerId,{x:t.clientX,y:t.clientY}),2===c.size&&r>0)){t.preventDefault();const[e,n]=[...c.values()],h=Math.hypot(n.x-e.x,n.y-e.y);a(_a(o*(h/r),s,i))}},g=t=>{c.delete(t.pointerId),c.size<2&&(r=0)};return t.addEventListener(\"wheel\",d,{passive:!1}),t.addEventListener(\"pointerdown\",u),t.addEventListener(\"pointermove\",p,{passive:!1}),t.addEventListener(\"pointerup\",g),t.addEventListener(\"pointercancel\",g),()=>{t.removeEventListener(\"wheel\",d),t.removeEventListener(\"pointerdown\",u),t.removeEventListener(\"pointermove\",p),t.removeEventListener(\"pointerup\",g),t.removeEventListener(\"pointercancel\",g),n&&clearTimeout(n)}}({container:e,getScale:()=>P,setScale:w,minZoom:m.zoom?.min??.5,maxZoom:m.zoom?.max??3}):void 0},[m.zoom?.max,m.zoom?.min,P,b]),/* @__PURE__ */t(\"div\",{ref:I,className:l,style:l?void 0:He,children:/* @__PURE__ */t(c,{engine:a,plugins:v.plugins,children:({pluginsReady:a})=>a?/* @__PURE__ */e(\"div\",{style:b?{...Be,transform:`scale(${P})`,transformOrigin:\"top center\"}:Be,children:[\n/* @__PURE__ */t(la,{className:d,features:m,buildSelectionMenu:u,onExtraSelectionAction:p,renderPageOverlay:g}),f]}):null})})}export{Fa as ChapterPdfViewer,Ea as DEFAULT_CHAPTER_VIEWER_FEATURES,We as HoverBookmarkLayer,la as PdfChapterViewport,Je as SelectionToolbarCard,Xt as buildChapterSelectionSnapshot,jt as chapterDocumentIdForPage,Ua as createChapterViewerEditor,Va as createPdfChapterEditor,ha as useChapterFeaturesSelectionMenu,qe as useCreateNoteFromChapterSelection,Ue as useEnsureChapterActiveDocument,_e as useIsNotePluginRegistered,Fe as useIsParagraphBookmarkPluginRegistered,Yt as waitSelectedText};\n//# sourceMappingURL=index.js.map\n","import{BasePlugin as t,createBehaviorEmitter as e,createEmitter as a,createPluginRegistration as s}from\"@embedpdf/core\";import{DocumentManagerPlugin as i,DocumentManagerPluginPackage as o}from\"@embedpdf/plugin-document-manager\";import{InteractionManagerPluginPackage as r}from\"@embedpdf/plugin-interaction-manager\";import{RenderPluginPackage as n}from\"@embedpdf/plugin-render\";import{RotatePluginPackage as h}from\"@embedpdf/plugin-rotate\";import{SelectionPluginPackage as d}from\"@embedpdf/plugin-selection\";import{ANNOTATION_PLUGIN_ID as l,LockModeType as c,AnnotationPluginPackage as u}from\"@embedpdf/plugin-annotation\";import{HistoryPluginPackage as p}from\"@embedpdf/plugin-history\";import{RedactionPluginPackage as g}from\"@embedpdf/plugin-redaction\";import{FormPluginPackage as f}from\"@embedpdf/plugin-form\";import{StampPluginPackage as m}from\"@embedpdf/plugin-stamp\";import{SignaturePluginPackage as v}from\"@embedpdf/plugin-signature\";import{CommandsPluginPackage as b}from\"@embedpdf/plugin-commands\";import{I18nPluginPackage as P}from\"@embedpdf/plugin-i18n\";import{isToolbarOpen as w,UIPluginPackage as y}from\"@embedpdf/plugin-ui\";import{PdfErrorCode as I}from\"@embedpdf/models\";const C=\"chapter-manager\",M={id:C,name:\"Chapter Manager Plugin\",version:\"0.1.0\",provides:[\"chapter-manager\"],requires:[\"document-manager\"],optional:[],defaultConfig:{manifest:{chapters:[]},prefetchChapters:1,unloadTimeoutMs:6e4,autoActivateOnLoad:!0}};const S={kind:\"first-wins\"};function x(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let $=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function L(t,e=S){const a=function(t,e=S){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,x(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new $(o)}const D=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=S,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??S,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=L(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};D.id=\"chapter-manager\";let T=D;const k={manifest:M,create:t=>new T(C,t),reducer:t=>t,initialState:{}},z=\"chapter-scroll\",G={id:z,name:\"Chapter Scroll Plugin\",version:\"0.1.0\",provides:[\"chapter-scroll\"],requires:[\"chapter-manager\"],optional:[],defaultConfig:{placeholderPageHeight:1200,placeholderPageWidth:900,bufferSize:2,pageGap:20}};const O={kind:\"first-wins\"};function A(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class N{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function V(t,e=O){const a=function(t,e=O){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,A(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new N(o)}const R=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=O,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??O,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=V(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};R.id=\"chapter-manager\";let _=R;const U=class extends t{constructor(t,a){super(t,a),this.layoutChange$=e(),this.visibleChange$=e(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(_.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const o=this.getChapterDocumentScale(t),r=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&r.push({localPageIndex:n.localPageIndex,width:t.size.width*o,height:t.size.height*o})}0!==r.length?this.applyChapterPageSizes(t,r):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const o=[];let r=s,n=-1;for(let h=s;h<i;h++){o.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,r=h)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=e;o<=s;o++){const t=this.virtualPageMap.atIndex(o);if(!t)continue;const e=this.getPageSize(o),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:o,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(t);if(!o)return void this.scrollToIndex(t,a);const r=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(t,a);const h=r.height/n.size.height,d=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,d),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};U.id=\"chapter-scroll\";let E=U;const F={manifest:G,create:t=>new E(z,t),reducer:t=>t,initialState:{}},q=\"note\",W={id:q,name:\"Note Plugin\",version:\"0.1.0\",provides:[\"note\"],requires:[\"selection\",\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{callbacks:{onCreateNote:async()=>null,onActivateNote:()=>{}},markerSize:18}};const H={kind:\"first-wins\"};function B(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let j=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function K(t,e=H){const a=function(t,e=H){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,B(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new j(o)}const J=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=H,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??H,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=K(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};J.id=\"chapter-manager\";let Q=J;const X={kind:\"first-wins\"};function Y(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let Z=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function tt(t,e=X){const a=function(t,e=X){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Y(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new Z(o)}const et=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=X,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??X,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=tt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};et.id=\"chapter-manager\";let at=et;const st=class extends t{constructor(t,a){super(t,a),this.layoutChange$=e(),this.visibleChange$=e(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(at.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const o=this.getChapterDocumentScale(t),r=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&r.push({localPageIndex:n.localPageIndex,width:t.size.width*o,height:t.size.height*o})}0!==r.length?this.applyChapterPageSizes(t,r):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const o=[];let r=s,n=-1;for(let h=s;h<i;h++){o.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,r=h)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=e;o<=s;o++){const t=this.virtualPageMap.atIndex(o);if(!t)continue;const e=this.getPageSize(o),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:o,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(t);if(!o)return void this.scrollToIndex(t,a);const r=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(t,a);const h=r.height/n.size.height,d=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,d),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};st.id=\"chapter-scroll\";let it=st;const ot=class s extends t{constructor(t,s){super(t,s),this.notesChange$=e([]),this.noteActivated$=a(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(it.id),this.chapterManager=this.registry.getPlugin(Q.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,t.callbacks.loadNotes)try{const e=await t.callbacks.loadNotes();for(const t of e)this.notes.set(t.noteId,t);this.notesChange$.emit(this.listAll())}catch(e){this.logger.error(s.id,\"LoadNotes\",\"Failed to load notes\",e)}}buildCapability(){return{createNoteFromSelection:t=>this.createNoteFromSelection(t),requestCreateFromSelection:t=>this.requestCreateFromSelection(t),registerNote:t=>this.registerNote(t),listNotesForPage:(t,e)=>this.listAll().filter(a=>a.chapterId===t&&a.localPageIndex===e),listAllNotes:()=>this.listAll(),getNote:t=>this.notes.get(t)??null,deleteNote:t=>this.deleteNote(t),updateNoteContent:(t,e)=>this.updateNoteContent(t,e),scrollToNote:t=>this.scrollToNote(t),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(t){this.notes.set(t.noteId,t),this.notesChange$.emit(this.listAll())}requestEdit(t){const e=this.notes.get(t);e&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(t,e):this.activateNote(t))}activateNote(t){var e,a;const s=this.notes.get(t);s&&(null==(a=(e=this.config.callbacks).onActivateNote)||a.call(e,t,s),this.noteActivated$.emit({noteId:t,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(t){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageNumber:t.globalPageNumber,globalPageIndex:t.globalPageIndex,rectsPdfCoord:t.rectsPdfCoord,endAnchor:nt(t.rectsPdfCoord),selectedText:t.selectedText,content:t.content}}async requestCreateFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:e,complete:async t=>{const a={...e,noteId:t};this.registerNote(a)}}),null):this.createNoteFromSelection(t)}async createNoteFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),a=this.config.callbacks.onCreateNote;if(!a)return this.logger.error(s.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await a(e)}catch(r){return this.logger.error(s.id,\"OnCreateNote\",\"Callback failed\",r),null}if(!i)return null;const o={...e,noteId:i.noteId};return this.registerNote(o),o}async deleteNote(t){var e,a;if(this.notes.has(t)){try{await(null==(a=(e=this.config.callbacks).onDeleteNote)?void 0:a.call(e,t))}catch(i){return void this.logger.error(s.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(t),this.notesChange$.emit(this.listAll())}}async updateNoteContent(t,e){var a,i;const o=this.notes.get(t);if(!o)return;const r={...o,content:e};try{await(null==(i=(a=this.config.callbacks).onUpdateNote)?void 0:i.call(a,r))}catch(n){return void this.logger.error(s.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(t,r),this.notesChange$.emit(this.listAll())}async scrollToNote(t){var e;const a=this.notes.get(t);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(e=this.documentManager.provides().getDocument(a.chapterId))?void 0:e.pages[a.localPageIndex])?(s.scrollToGlobalPageIndex(a.globalPageIndex),await this.waitForPageInLayout(a.globalPageIndex),s.scrollToGlobalPdfPoint(a.globalPageIndex,a.endAnchor.y,{marginTop:80})):s.scrollToGlobalPageIndex(a.globalPageIndex)}waitForPageInLayout(t){const e=this.chapterScroll.provides(),a=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=e.onLayoutChange(e=>{const o=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);o&&(clearTimeout(s),i(),a(o))})})}};ot.id=\"note\";let rt=ot;function nt(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}const ht={manifest:W,create:t=>new rt(q,t),reducer:t=>t,initialState:{}},dt=\"paragraph-bookmark\",lt={id:dt,name:\"Paragraph Bookmark Plugin\",version:\"0.1.0\",provides:[\"paragraph-bookmark\"],requires:[\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{}};const ct={kind:\"first-wins\"};function ut(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let pt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function gt(t,e=ct){const a=function(t,e=ct){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,ut(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new pt(o)}const ft=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=ct,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ct,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=gt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ft.id=\"chapter-manager\";let mt=ft;const vt={kind:\"first-wins\"};function bt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class Pt{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function wt(t,e=vt){const a=function(t,e=vt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,bt(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new Pt(o)}const yt=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=vt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??vt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=wt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};yt.id=\"chapter-manager\";let It=yt;const Ct=class extends t{constructor(t,a){super(t,a),this.layoutChange$=e(),this.visibleChange$=e(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(It.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const o=this.getChapterDocumentScale(t),r=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&r.push({localPageIndex:n.localPageIndex,width:t.size.width*o,height:t.size.height*o})}0!==r.length?this.applyChapterPageSizes(t,r):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const o=[];let r=s,n=-1;for(let h=s;h<i;h++){o.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,r=h)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=e;o<=s;o++){const t=this.virtualPageMap.atIndex(o);if(!t)continue;const e=this.getPageSize(o),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:o,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(t);if(!o)return void this.scrollToIndex(t,a);const r=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(t,a);const h=r.height/n.size.height,d=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,d),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Ct.id=\"chapter-scroll\";let Mt=Ct;function St(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function xt(t,e){const a=t.origin.y,s=t.origin.y+t.size.height,i=e.origin.y,o=e.origin.y+e.size.height,r=Math.max(s,o)-Math.min(a,i);if(r<=0)return 0;return Math.max(0,Math.min(s,o)-Math.max(a,i))/r}function $t(t,e){var a,s;if(t.chapterId!==e.chapterId||t.localPageIndex!==e.localPageIndex)return!1;const i=(null==(a=t.rectsPdfCoord)?void 0:a.length)?t.rectsPdfCoord:[t.rectPdfCoord],o=(null==(s=e.rectsPdfCoord)?void 0:s.length)?e.rectsPdfCoord:[e.rectPdfCoord],r=t.markerAnchor??St(i),n=e.markerAnchor??St(o);if(Math.hypot(r.x-n.x,r.y-n.y)<=6)return!0;for(const h of i)for(const t of o){if(xt(h,t)<.5)continue;const e=Math.max(h.origin.x,t.origin.x);if(Math.min(h.origin.x+h.size.width,t.origin.x+t.size.width)-e>.25*Math.min(h.size.width,t.size.width))return!0}return!1}async function Lt(t,e,a){t.scrollToGlobalPageIndex(e),await function(t,e,a=2500){const s=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{o(),s(null)},a),o=t.onLayoutChange(t=>{const a=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);a&&(clearTimeout(i),o(),s(a))})})}(t,e),t.scrollToGlobalPdfPoint(e,a,{marginTop:80})}const Dt=class a extends t{constructor(t,a){super(t,a),this.change$=e([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(Mt.id),this.chapterManager=this.registry.getPlugin(mt.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){var e;if(this.config=t,null==(e=t.callbacks)?void 0:e.load)try{const e=await t.callbacks.load();for(const t of e)this.entries.set(t.id,t);this.change$.emit(this.list())}catch(s){this.logger.error(a.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:t=>this.addBookmark(t),removeBookmark:t=>this.removeBookmark(t),updateBookmark:(t,e)=>this.updateBookmark(t,e),listBookmarks:()=>this.list(),getBookmark:t=>this.entries.get(t)??null,scrollToBookmark:t=>this.scrollToBookmark(t),requestRemoveBookmark:t=>this.requestRemoveBookmark(t),onBookmarksChange:this.change$.on}}addBookmark(t){for(const s of this.entries.values())if($t(s.anchor,t.anchor))return s;const e=t.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:e,label:t.label,anchor:t.anchor,metadata:t.metadata,createdAt:Date.now()};return this.entries.set(e,a),this.notifyAndPersist(),a}removeBookmark(t){var e,a,s;this.entries.delete(t)&&(this.notifyAndPersist(),null==(s=null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,t))}async requestRemoveBookmark(t){var e,s;const i=this.entries.get(t);if(!i)return!1;const o=null==(s=null==(e=this.config)?void 0:e.callbacks)?void 0:s.onRequestRemove;if(o)try{if(!(await o(i)))return!1}catch(r){return this.logger.error(a.id,\"RequestRemove\",\"callback failed\",r),!1}return this.removeBookmark(t),!0}updateBookmark(t,e){const a=this.entries.get(t);a&&(this.entries.set(t,{...a,...e}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((t,e)=>t.createdAt-e.createdAt)}notifyAndPersist(){var t,e;const s=this.list();this.change$.emit(s),(null==(e=null==(t=this.config)?void 0:t.callbacks)?void 0:e.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(t=>this.logger.error(a.id,\"Persist\",\"persist callback rejected\",t))}async scrollToBookmark(t){const e=this.entries.get(t);if(!e)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(e.anchor.chapterId);let s=e.anchor.globalPageIndex;if(void 0===s){const t=this.chapterManager.provides().getVirtualPageMap().toGlobal(e.anchor.chapterId,e.anchor.localPageIndex);if(!t)return;s=t.globalPageIndex}const i=function(t){if(t.markerAnchor)return t.markerAnchor.y;const e=t.rectPdfCoord;return e.origin.y+e.size.height}(e.anchor);await Lt(a,s,i)}};Dt.id=\"paragraph-bookmark\";let Tt=Dt;const kt={manifest:lt,create:t=>new Tt(dt,t),reducer:t=>t,initialState:{}},zt={\"annotation-toolbar\":{id:\"annotation-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"],show:[\"overflow-annotation-tools\"]},md:{minWidth:640,hide:[\"overflow-annotation-tools\"],show:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"]}}},permanent:!1,categories:[\"annotation\"],items:[{type:\"spacer\",id:\"spacer-3\",flex:!0},{type:\"group\",id:\"annotation-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-highlight\",commandId:\"annotation:add-highlight\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-highlight\"]},{type:\"command-button\",id:\"add-strikeout\",commandId:\"annotation:add-strikeout\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-strikeout\"]},{type:\"command-button\",id:\"add-underline\",commandId:\"annotation:add-underline\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-underline\"]},{type:\"command-button\",id:\"add-squiggly\",commandId:\"annotation:add-squiggly\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-squiggly\"]},{type:\"command-button\",id:\"add-ink\",commandId:\"annotation:add-ink\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-ink-highlighter\",commandId:\"annotation:add-ink-highlighter\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-text\",commandId:\"annotation:add-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"add-insert-text\",commandId:\"annotation:add-insert-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-insert-text\"]},{type:\"command-button\",id:\"add-replace-text\",commandId:\"annotation:add-replace-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-replace-text\"]},{type:\"command-button\",id:\"add-comment\",commandId:\"annotation:add-comment\",variant:\"icon\",categories:[\"annotation\",\"annotation-comment-tool\"]},{type:\"command-button\",id:\"add-callout\",commandId:\"annotation:add-callout\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"overflow-annotation-tools\",commandId:\"annotation:overflow-tools\",variant:\"icon\",categories:[\"annotation\",\"annotation-overflow\"]},{type:\"divider\",id:\"annotation-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"annotation-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-4\",flex:!0}]},\"shapes-toolbar\":{id:\"shapes-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-polygon\",\"add-polyline\"],show:[\"overflow-shapes-tools\"]},md:{minWidth:640,hide:[\"overflow-shapes-tools\"],show:[\"add-polygon\",\"add-polyline\"]}}},permanent:!1,categories:[\"annotation\",\"annotation-shape\"],items:[{type:\"spacer\",id:\"spacer-5\",flex:!0},{type:\"group\",id:\"shapes-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rectangle\",commandId:\"annotation:add-rectangle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-rectangle\"]},{type:\"command-button\",id:\"add-circle\",commandId:\"annotation:add-circle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-circle\"]},{type:\"command-button\",id:\"add-line\",commandId:\"annotation:add-line\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-line\"]},{type:\"command-button\",id:\"add-arrow\",commandId:\"annotation:add-arrow\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-arrow\"]},{type:\"command-button\",id:\"add-polygon\",commandId:\"annotation:add-polygon\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polygon\"]},{type:\"command-button\",id:\"add-polyline\",commandId:\"annotation:add-polyline\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polyline\"]},{type:\"command-button\",id:\"overflow-shapes-tools\",commandId:\"annotation:overflow-shapes\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-overflow\"]},{type:\"divider\",id:\"shapes-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"shapes-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-6\",flex:!0}]},\"form-toolbar\":{id:\"form-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-form-select\",\"add-form-listbox\"],show:[\"overflow-forms-tools\"]},md:{minWidth:640,hide:[\"overflow-forms-tools\"],show:[\"add-form-select\",\"add-form-listbox\"]}}},permanent:!1,categories:[\"form\"],items:[{type:\"spacer\",id:\"spacer-form-1\",flex:!0},{type:\"group\",id:\"form-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-form-textfield\",commandId:\"form:add-textfield\",variant:\"icon\",categories:[\"form\",\"form-textfield\"]},{type:\"command-button\",id:\"add-form-checkbox\",commandId:\"form:add-checkbox\",variant:\"icon\",categories:[\"form\",\"form-checkbox\"]},{type:\"command-button\",id:\"add-form-radio\",commandId:\"form:add-radio\",variant:\"icon\",categories:[\"form\",\"form-radio\"]},{type:\"command-button\",id:\"add-form-select\",commandId:\"form:add-select\",variant:\"icon\",categories:[\"form\",\"form-select\"]},{type:\"command-button\",id:\"add-form-listbox\",commandId:\"form:add-listbox\",variant:\"icon\",categories:[\"form\",\"form-listbox\"]},{type:\"command-button\",id:\"overflow-forms-tools\",commandId:\"form:overflow-tools\",variant:\"icon\",categories:[\"form\",\"form-overflow\"]},{type:\"divider\",id:\"form-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"command-button\",id:\"toggle-form-fill-mode\",commandId:\"form:toggle-fill-mode\",variant:\"icon\",categories:[\"form\",\"form-fill-mode\"]},{type:\"divider\",id:\"form-tools-divider-2\",orientation:\"vertical\"},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-form-2\",flex:!0}]},\"insert-toolbar\":{id:\"insert-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"insert\"],items:[{type:\"spacer\",id:\"spacer-insert-1\",flex:!0},{type:\"group\",id:\"insert-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rubber-stamp\",commandId:\"insert:add-rubber-stamp\",variant:\"icon\",categories:[\"insert\",\"insert-rubber-stamp\"]},{type:\"command-button\",id:\"add-signature\",commandId:\"insert:add-signature\",variant:\"icon\",categories:[\"insert\",\"insert-signature\"]},{type:\"command-button\",id:\"add-image\",commandId:\"insert:add-image\",variant:\"icon\",categories:[\"insert\",\"insert-image\"]},{type:\"divider\",id:\"insert-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"insert-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-insert-2\",flex:!0}]},\"redaction-toolbar\":{id:\"redaction-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"redaction\"],items:[{type:\"spacer\",id:\"spacer-7\",flex:!0},{type:\"group\",id:\"redaction-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"redact\",commandId:\"redaction:redact\",variant:\"icon\",categories:[\"redaction\",\"redaction-combined\"]},{type:\"divider\",id:\"redaction-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-redaction-panel\",commandId:\"panel:toggle-redaction\",variant:\"icon\",categories:[\"panel\",\"panel-redaction\"]},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"redaction-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-8\",flex:!0}]}};class Gt{constructor(){this.specs=[]}register(t){if(this.specs.some(e=>e.id===t.id))throw new Error(`OperationRegistry: duplicate operation id \"${t.id}\"`);this.specs.push(t)}registerAll(t){for(const e of t)e&&this.register(e)}list(){return this.specs}buildToolbars(){const t=structuredClone(zt);for(const e of this.specs){const a=t[e.toolbarSlot];if(!a)continue;const s={type:\"command-button\",id:e.id,commandId:e.commandId,variant:\"icon\",...e.icon?{icon:e.icon}:{},...e.i18nKey?{labelKey:e.i18nKey}:{},...e.label?{label:e.label}:{},categories:e.categories??[]};a.items=Ot(a.items,s,e.position)}return t}}function Ot(t,e,a){return(null==a?void 0:a.after)||(null==a?void 0:a.before)?function(t,e,a){const s=t=>{const i=[];for(const o of t)\"group\"!==o.type?a.before&&o.id===a.before?i.push(e,o):(i.push(o),a.after&&o.id===a.after&&i.push(e)):i.push({...o,items:s(o.items)});return i};return s(t)}(t,e,a):function(t,e){return t.map(t=>\"group\"===t.type?{...t,items:[...t.items,e]}:t)}(t,e)}const At={annotate:\"annotation-toolbar\",shapes:\"shapes-toolbar\",insert:\"insert-toolbar\",form:\"form-toolbar\",redact:\"redaction-toolbar\"};function Nt(){return{\"mode:view\":{id:\"mode:view\",label:\"View\",categories:[\"mode\",\"mode-view\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides(),s=t.getPlugin(\"interaction-manager\")?.provides();a&&s&&(s.forDocument(e)?.activateDefaultMode(),a.forDocument(e).closeToolbarSlot(\"top\",\"secondary\"),t.getPlugin(l)?.provides().forDocument(e).setLocked((t=>t.getPluginConfig(l).locked??{type:c.None})(t)))},active:({state:t,documentId:e})=>!w(t.plugins,e,\"top\",\"secondary\")},\"mode:annotate\":{id:\"mode:annotate\",label:\"Annotate\",categories:[\"mode\",\"mode-annotate\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"annotation-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"annotation-toolbar\")},\"mode:shapes\":{id:\"mode:shapes\",label:\"Shapes\",categories:[\"mode\",\"mode-shapes\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"shapes-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"shapes-toolbar\")},\"mode:insert\":{id:\"mode:insert\",label:\"Insert\",categories:[\"mode\",\"mode-insert\",\"insert\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"insert-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"insert-toolbar\")},\"mode:form\":{id:\"mode:form\",label:\"Form\",categories:[\"mode\",\"mode-form\",\"form\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"form-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.None}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"form-toolbar\")},\"mode:redact\":{id:\"mode:redact\",label:\"Redact\",categories:[\"mode\",\"mode-redact\",\"redaction\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"redaction-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"redaction-toolbar\")}}}function Vt(t){const e=t.toolbar??{},a=e.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"],i=a.length>0,{schema:l,operationRegistry:c}=function(t={}){var e,a,s,i,o,r;const n=new Set(t.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"]),h=new Gt;(null==(e=t.customOperations)?void 0:e.length)&&h.registerAll(t.customOperations);const d=h.buildToolbars(),l={};for(const u of n){if(\"view\"===u)continue;const t=At[u];d[t]&&(l[t]=d[t])}const c=function(t){if(0===t.size)return null;const e=(t,e,a)=>({type:\"command-button\",id:`${t}-mode`,commandId:a,variant:\"text\",label:e,categories:[\"mode\",t]});return{id:\"chapter-editor-main-toolbar\",position:{placement:\"top\",slot:\"main\",order:0},permanent:!0,items:[{type:\"spacer\",id:\"main-spacer-left\",flex:!0},{type:\"group\",id:\"mode-group\",alignment:\"start\",gap:2,items:[...t.has(\"view\")?[e(\"view\",\"View\",\"mode:view\")]:[],...t.has(\"annotate\")?[e(\"annotate\",\"Annotate\",\"mode:annotate\")]:[],...t.has(\"shapes\")?[e(\"shapes\",\"Shapes\",\"mode:shapes\")]:[],...t.has(\"insert\")?[e(\"insert\",\"Insert\",\"mode:insert\")]:[],...t.has(\"form\")?[e(\"form\",\"Form\",\"mode:form\")]:[],...t.has(\"redact\")?[e(\"redact\",\"Redact\",\"mode:redact\")]:[]]},{type:\"spacer\",id:\"main-spacer-right\",flex:!0}]}}(n);return c&&(l[\"chapter-editor-main-toolbar\"]=c),(null==(a=t.extend)?void 0:a.toolbars)&&Object.assign(l,t.extend.toolbars),{schema:{id:\"chapter-pdf-editor-ui\",version:\"1.0.0\",toolbars:l,menus:(null==(s=t.extend)?void 0:s.menus)??{},sidebars:(null==(i=t.extend)?void 0:i.sidebars)??{},modals:(null==(o=t.extend)?void 0:o.modals)??{},selectionMenus:(null==(r=t.extend)?void 0:r.selectionMenus)??{}},operationRegistry:h}}({...e,enabledModes:a}),w={...i?Nt():{},...i?Rt(c.list()):{},...t.commands??{}},I=[s(o,{initialDocuments:[]}),s(k,{manifest:t.manifest,overlapStrategy:t.overlapStrategy,passwordProvider:t.passwordProvider,chapterPdfLoader:t.chapterPdfLoader,prefetchChapters:t.prefetchChapters,unloadTimeoutMs:t.unloadTimeoutMs}),s(F,{placeholderPageHeight:t.placeholderPageHeight,placeholderPageWidth:t.placeholderPageWidth}),s(r),s(n),s(h),s(d,{marquee:{enabled:!1},toleranceFactor:1.2,minSelectionDragDistance:4}),s(p),s(u),s(g),s(f),s(m,!1===t.loadDefaultStampLibrary?{manifests:[]}:void 0),s(v),...Object.keys(w).length>0?[s(b,{commands:w})]:[],...i?[s(P),s(y,{schema:l})]:[]];return t.notes&&I.push(s(ht,{callbacks:t.notes.callbacks,ui:t.features?.notes?.marker})),t.bookmarks&&I.push(s(kt,{callbacks:t.bookmarks.callbacks,ui:t.features?.bookmarks?.marker,hover:t.features?.bookmarks?.hover})),{plugins:I,uiSchema:l,operationRegistry:c}}function Rt(t){const e={};for(const a of t)a.handler&&(e[a.commandId]={id:a.commandId,labelKey:a.i18nKey,label:a.label,icon:a.icon,categories:a.categories,action:({documentId:t})=>{a.handler?.({documentId:t,chapterId:t})}});return e}const _t={markup:{enabled:!0},bookmarks:{enabled:!0},notes:{enabled:!0},selectionToolbar:{enabled:!0},zoom:{enabled:!0,min:.5,max:3,initial:1}};function Ut(t){return Vt({...t,toolbar:t.toolbar??{enabledModes:[]},features:{..._t,...t.features,markup:{..._t.markup,...t.features?.markup},bookmarks:{..._t.bookmarks,...t.features?.bookmarks},notes:{..._t.notes,...t.features?.notes},selectionToolbar:{..._t.selectionToolbar,...t.features?.selectionToolbar},zoom:{..._t.zoom,...t.features?.zoom}}})}class Et{constructor(t){this.cb=t}resolvePassword(t,e){return this.cb(t,e)}}function Ft(t){return{manifest:t.manifest,chapterPdfLoader:t.chapterPdfLoader,overlapStrategy:{kind:\"first-wins\"},passwordProvider:new Et(async()=>null),prefetchChapters:1,loadDefaultStampLibrary:!1,unloadTimeoutMs:12e4,toolbar:{enabledModes:[]},bookmarks:t.bookmarks,notes:t.notes}}function qt(t){return t.chapterId}function Wt(t,e){t.wait(e,()=>{})}function Ht(t,e,a){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageIndex:t.globalPageIndex,globalPageNumber:t.globalPageNumber,rectsPdfCoord:e,selectedText:a}}export{_t as DEFAULT_CHAPTER_VIEWER_FEATURES,Ht as buildChapterSelectionSnapshot,qt as chapterDocumentIdForPage,Nt as createChapterEditorModeCommands,Ut as createChapterViewerEditor,Ft as createChapterViewerEditorOptions,Vt as createPdfChapterEditor,Wt as waitSelectedText};\n//# sourceMappingURL=index.js.map\n","import { LockModeType } from \"@embedpdf/plugin-annotation\";\nimport { PdfAnnotationSubtype, uuidV4, PdfBlendMode } from \"@embedpdf/models\";\nconst DEFAULT_STYLES = {\n highlight: { offsetY: 0 },\n underline: { offsetY: 2.5 },\n squiggly: { offsetY: 0 },\n strikeout: { offsetY: 0 }\n};\nconst SUBTYPE = {\n highlight: PdfAnnotationSubtype.HIGHLIGHT,\n underline: PdfAnnotationSubtype.UNDERLINE,\n squiggly: PdfAnnotationSubtype.SQUIGGLY,\n strikeout: PdfAnnotationSubtype.STRIKEOUT\n};\nfunction offsetRectsDown(rects, dy) {\n if (dy === 0) return rects;\n return rects.map((r) => ({\n origin: { x: r.origin.x, y: r.origin.y + dy },\n size: { ...r.size }\n }));\n}\nfunction unionRects(rects) {\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const r of rects) {\n minX = Math.min(minX, r.origin.x);\n minY = Math.min(minY, r.origin.y);\n maxX = Math.max(maxX, r.origin.x + r.size.width);\n maxY = Math.max(maxY, r.origin.y + r.size.height);\n }\n return {\n origin: { x: minX, y: minY },\n size: { width: maxX - minX, height: maxY - minY }\n };\n}\nfunction resolveStyle(kind, styles) {\n return {\n ...DEFAULT_STYLES[kind],\n ...styles == null ? void 0 : styles[kind]\n };\n}\nfunction applySelectionMarkup(documentId, kind, annotation, selection, styles) {\n const annotationScope = annotation.forDocument(documentId);\n const selectionScope = selection.forDocument(documentId);\n if (!annotationScope || !selectionScope) return false;\n const toolId = kind === \"highlight\" ? \"highlight\" : kind === \"underline\" ? \"underline\" : kind === \"squiggly\" ? \"squiggly\" : \"strikeout\";\n const tool = annotation.getTool(toolId);\n if (!tool) return false;\n const defaults = tool.defaults;\n const style = resolveStyle(kind, styles);\n const formatted = selectionScope.getFormattedSelection();\n if (formatted.length === 0) return false;\n annotationScope.setLocked({ type: LockModeType.Exclude, categories: [\"markup\", \"shape\"] });\n for (const sel of formatted) {\n const id = uuidV4();\n const strokeColor = style.color ?? defaults.color ?? defaults.strokeColor;\n const opacity = style.opacity ?? defaults.opacity;\n const strokeWidth = style.thickness ?? defaults.strokeWidth;\n const offsetY = style.offsetY ?? 0;\n const needsOffset = kind === \"underline\" || kind === \"squiggly\" || kind === \"strikeout\";\n const segmentRects = needsOffset ? offsetRectsDown(sel.segmentRects, offsetY) : sel.segmentRects;\n const rect = kind === \"underline\" || kind === \"squiggly\" || kind === \"strikeout\" ? unionRects(segmentRects) : sel.rect;\n annotationScope.createAnnotation(sel.pageIndex, {\n id,\n created: /* @__PURE__ */ new Date(),\n flags: [\"print\"],\n type: SUBTYPE[kind],\n ...kind === \"highlight\" ? { blendMode: PdfBlendMode.Multiply } : {},\n strokeColor,\n opacity,\n ...strokeWidth != null ? { strokeWidth } : {},\n pageIndex: sel.pageIndex,\n rect,\n segmentRects\n });\n }\n selectionScope.clear();\n return true;\n}\nexport {\n applySelectionMarkup\n};\n//# sourceMappingURL=index.js.map\n","import { BasePlugin, createBehaviorEmitter, createEmitter } from \"@embedpdf/core\";\nimport { DocumentManagerPlugin } from \"@embedpdf/plugin-document-manager\";\nimport { PdfErrorCode } from \"@embedpdf/models\";\nconst PARAGRAPH_BOOKMARK_PLUGIN_ID = \"paragraph-bookmark\";\nconst manifest = {\n id: PARAGRAPH_BOOKMARK_PLUGIN_ID,\n name: \"Paragraph Bookmark Plugin\",\n version: \"0.1.0\",\n // 注意:provides 不叫 'bookmark',避免和 @embedpdf/plugin-bookmark(PDF outline)冲突\n provides: [\"paragraph-bookmark\"],\n requires: [\"chapter-scroll\", \"chapter-manager\"],\n optional: [],\n defaultConfig: {}\n};\nfunction e$1(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n22] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n22 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n22}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n22 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n22 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n22) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t$1 = { kind: \"first-wins\" };\nfunction s$1(e2, s2 = t$1) {\n const n22 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n22.get(a2);\n e4 ? e4.push(t2) : n22.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n22) r2.set(t2, a$1(t2, o, s2));\n return r2;\n}\nfunction a$1(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nlet n$1 = class n {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n};\nfunction r$1(e2, a2 = t$1) {\n const r2 = s$1(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n22] = s2.localPageRange, l2 = n22 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n$1(c);\n}\nconst _ChapterManagerPlugin$1 = class _ChapterManagerPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t$1;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t$1;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e$1(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r$1(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin$1.id = \"chapter-manager\";\nlet ChapterManagerPlugin$1 = _ChapterManagerPlugin$1;\nfunction e(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n22] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n22 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n22}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n22 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n22 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n22) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t = { kind: \"first-wins\" };\nfunction s(e2, s2 = t) {\n const n22 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n22.get(a2);\n e4 ? e4.push(t2) : n22.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n22) r2.set(t2, a(t2, o, s2));\n return r2;\n}\nfunction a(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nclass n2 {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n}\nfunction r(e2, a2 = t) {\n const r2 = s(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n22] = s2.localPageRange, l2 = n22 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n2(c);\n}\nconst _ChapterManagerPlugin2 = class _ChapterManagerPlugin22 extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin22.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin22.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin2.id = \"chapter-manager\";\nlet ChapterManagerPlugin = _ChapterManagerPlugin2;\nconst _ChapterScrollPlugin = class _ChapterScrollPlugin2 extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.layoutChange$ = createBehaviorEmitter();\n this.visibleChange$ = createBehaviorEmitter();\n this.virtualPageMap = null;\n this.pageSizes = /* @__PURE__ */ new Map();\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n this.viewportEl = null;\n this.viewportObservers = null;\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.chapterManagerUnsubs = [];\n this.chapterManager = this.registry.getPlugin(ChapterManagerPlugin.id);\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = {\n placeholderPageHeight: config.placeholderPageHeight ?? 1200,\n placeholderPageWidth: config.placeholderPageWidth ?? 900,\n bufferSize: config.bufferSize ?? 2,\n pageGap: config.pageGap ?? 20\n };\n this.virtualPageMap = this.chapterManager.provides().getVirtualPageMap();\n this.rebuildOffsets();\n this.chapterManagerUnsubs.push(\n this.chapterManager.provides().onManifestChange(({ map }) => {\n this.virtualPageMap = map;\n this.pageSizes.clear();\n this.rebuildOffsets();\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n })\n );\n this.syncReadyChapterSizes();\n }\n /** 章节 PDF 在 core 中是否已可渲染(documentId === chapterId) */\n isChapterDocumentReady(chapterId) {\n const coreDoc = this.coreState.core.documents[chapterId];\n if (!coreDoc || coreDoc.status !== \"loaded\" || !coreDoc.document) return false;\n return coreDoc.document.pages.length > 0;\n }\n refreshLayout() {\n this.layoutChange$.emit(this.computeLayout());\n }\n /** 对已打开且可渲染的章节补采页尺寸 */\n syncReadyChapterSizes() {\n for (const ch of this.chapterManager.provides().getManifest().chapters) {\n if (this.isChapterDocumentReady(ch.chapterId)) {\n this.harvestChapterSizes(ch.chapterId);\n }\n }\n this.refreshLayout();\n }\n onDocumentLoaded(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n const dm = this.documentManager.provides();\n if (!dm.getActiveDocumentId()) {\n dm.setActiveDocument(documentId);\n }\n this.harvestChapterSizes(documentId);\n this.refreshLayout();\n }\n onDocumentClosed(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n this.dropChapterSizes(documentId);\n this.refreshLayout();\n }\n buildCapability() {\n return {\n registerViewport: (el) => this.bindViewport(el),\n reportChapterPageSizes: (chapterId, sizes) => this.applyChapterPageSizes(chapterId, sizes),\n getLayout: () => this.computeLayout(),\n getCurrentGlobalPageIndex: () => this.currentGlobalPageIndex,\n getVisibleGlobalPageIndices: () => this.currentVisible.slice(),\n scrollToGlobalPageIndex: (i, o) => this.scrollToIndex(i, o),\n scrollToChapter: (cid, o) => this.scrollToChapter(cid, o),\n scrollToGlobalPageNumber: (n22, o) => this.scrollToGlobalNumber(n22, o),\n scrollToGlobalPdfPoint: (i, pdfY, o) => this.scrollToGlobalPdfPoint(i, pdfY, o),\n onLayoutChange: this.layoutChange$.on,\n onVisibleChange: this.visibleChange$.on\n };\n }\n destroy() {\n var _a;\n super.destroy();\n for (const u of this.chapterManagerUnsubs) u();\n this.chapterManagerUnsubs = [];\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportObservers = null;\n this.viewportEl = null;\n this.layoutChange$.clear();\n this.visibleChange$.clear();\n }\n /* ───────────────── 尺寸 / 偏移 ───────────────── */\n getPageSize(globalPageIndex) {\n return this.pageSizes.get(globalPageIndex) ?? {\n width: this.config.placeholderPageWidth,\n height: this.config.placeholderPageHeight\n };\n }\n rebuildOffsets() {\n if (!this.virtualPageMap) {\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n return;\n }\n const total = this.virtualPageMap.totalPages;\n this.offsets = new Array(total);\n let y = 0;\n let maxW = 0;\n for (let i = 0; i < total; i++) {\n const { width, height } = this.getPageSize(i);\n this.offsets[i] = y;\n y += height + this.config.pageGap;\n if (width > maxW) maxW = width;\n }\n this.totalHeight = total > 0 ? y - this.config.pageGap : 0;\n this.totalWidth = maxW;\n this.layoutChange$.emit(this.computeLayout());\n }\n applyChapterPageSizes(chapterId, sizes) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const s2 of sizes) {\n const loc = this.virtualPageMap.toGlobal(chapterId, s2.localPageIndex);\n if (!loc) continue;\n const prev = this.pageSizes.get(loc.globalPageIndex);\n if (!prev || prev.width !== s2.width || prev.height !== s2.height) {\n this.pageSizes.set(loc.globalPageIndex, { width: s2.width, height: s2.height });\n changed = true;\n }\n }\n if (changed) {\n const anchorIdx = this.currentGlobalPageIndex;\n const oldOffset = this.offsets[anchorIdx] ?? 0;\n this.rebuildOffsets();\n if (this.viewportEl) {\n const newOffset = this.offsets[anchorIdx] ?? 0;\n const delta = newOffset - oldOffset;\n if (delta !== 0) this.viewportEl.scrollTop += delta;\n }\n this.recomputeVisible();\n }\n }\n /** 章节 document 在 core store 中的缩放(与 RenderLayer / Annotation 一致) */\n getChapterDocumentScale(chapterId) {\n var _a;\n return ((_a = this.coreState.core.documents[chapterId]) == null ? void 0 : _a.scale) ?? 1;\n }\n /** 从已加载的 PdfDocumentObject 拉取章节内所有页尺寸并上报 */\n harvestChapterSizes(chapterId, attempt = 0) {\n var _a;\n if (!this.virtualPageMap) return;\n const pdfDoc = this.documentManager.provides().getDocument(chapterId);\n const owned = this.virtualPageMap.pagesOfChapter(chapterId);\n if (!((_a = pdfDoc == null ? void 0 : pdfDoc.pages) == null ? void 0 : _a.length) || owned.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n const scale = this.getChapterDocumentScale(chapterId);\n const sizes = [];\n for (const loc of owned) {\n const page = pdfDoc.pages[loc.localPageIndex];\n if (!(page == null ? void 0 : page.size)) continue;\n sizes.push({\n localPageIndex: loc.localPageIndex,\n width: page.size.width * scale,\n height: page.size.height * scale\n });\n }\n if (sizes.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n this.applyChapterPageSizes(chapterId, sizes);\n }\n /** core SET_SCALE 后重算布局,使滚动占位与 PDF 渲染尺寸一致 */\n onScaleChanged(documentId) {\n const coreDoc = this.coreState.core.documents[documentId];\n if (!coreDoc || coreDoc.status !== \"loaded\") return;\n if (!this.chapterManager.provides().getChapter(documentId)) return;\n this.harvestChapterSizes(documentId);\n }\n dropChapterSizes(chapterId) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const p of this.virtualPageMap.pagesOfChapter(chapterId)) {\n if (this.pageSizes.delete(p.globalPageIndex)) changed = true;\n }\n if (changed) {\n this.rebuildOffsets();\n this.recomputeVisible();\n }\n }\n /* ───────────────── viewport 绑定 ───────────────── */\n bindViewport(el) {\n var _a;\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportEl = el;\n this.viewportObservers = null;\n if (!el) return;\n const onScroll = () => this.recomputeVisible();\n const ro = new ResizeObserver(() => this.recomputeVisible());\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n ro.observe(el);\n this.viewportObservers = {\n unbind: () => {\n el.removeEventListener(\"scroll\", onScroll);\n ro.disconnect();\n }\n };\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n if (el.clientHeight === 0) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => this.recomputeVisible());\n });\n }\n }\n /* ───────────────── visible / layout ───────────────── */\n recomputeVisible() {\n if (!this.viewportEl || !this.virtualPageMap) return;\n const total = this.virtualPageMap.totalPages;\n if (total === 0) {\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.layoutChange$.emit(this.computeLayout());\n return;\n }\n const scrollTop = this.viewportEl.scrollTop;\n const clientH = this.viewportEl.clientHeight;\n const viewportEnd = scrollTop + clientH;\n const start = this.findFirstVisibleIndex(scrollTop);\n let end = start;\n while (end < total) {\n const size = this.getPageSize(end);\n const pageTop = this.offsets[end];\n pageTop + size.height;\n if (pageTop >= viewportEnd) break;\n end++;\n }\n const visible = [];\n let maxOverlapIdx = start;\n let maxOverlap = -1;\n for (let i = start; i < end; i++) {\n visible.push(i);\n const pageTop = this.offsets[i];\n const pageBottom = pageTop + this.getPageSize(i).height;\n const overlap = Math.max(\n 0,\n Math.min(pageBottom, viewportEnd) - Math.max(pageTop, scrollTop)\n );\n if (overlap > maxOverlap) {\n maxOverlap = overlap;\n maxOverlapIdx = i;\n }\n }\n this.currentVisible = visible;\n this.currentGlobalPageIndex = maxOverlapIdx;\n this.visibleChange$.emit({\n visibleGlobalPageIndices: visible,\n currentGlobalPageIndex: maxOverlapIdx\n });\n this.chapterManager.provides().setVisibleGlobalPages(visible);\n this.layoutChange$.emit(this.computeLayout());\n }\n findFirstVisibleIndex(scrollTop) {\n let lo = 0;\n let hi = this.offsets.length - 1;\n let ans = 0;\n while (lo <= hi) {\n const mid = lo + hi >> 1;\n if (this.offsets[mid] <= scrollTop) {\n ans = mid;\n lo = mid + 1;\n } else {\n hi = mid - 1;\n }\n }\n return ans;\n }\n computeLayout() {\n const buffer = this.config.bufferSize;\n const start = Math.max(0, (this.currentVisible[0] ?? 0) - buffer);\n const last = this.currentVisible[this.currentVisible.length - 1] ?? -1;\n const end = Math.min(this.offsets.length - 1, (last >= 0 ? last : 0) + buffer);\n const items = [];\n if (this.virtualPageMap && this.offsets.length > 0) {\n for (let i = start; i <= end; i++) {\n const loc = this.virtualPageMap.atIndex(i);\n if (!loc) continue;\n const size = this.getPageSize(i);\n const isPlaceholder = !this.isChapterDocumentReady(loc.chapterId);\n items.push({\n globalPageIndex: i,\n globalPageNumber: loc.globalPageNumber,\n chapterId: loc.chapterId,\n localPageIndex: loc.localPageIndex,\n width: size.width,\n height: size.height,\n offsetTop: this.offsets[i],\n isPlaceholder\n });\n }\n }\n return {\n totalHeight: this.totalHeight,\n totalWidth: this.totalWidth || this.config.placeholderPageWidth,\n items,\n pageGap: this.config.pageGap\n };\n }\n /* ───────────────── scroll-to ───────────────── */\n scrollToIndex(idx, options) {\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length) return;\n const targetTop = (this.offsets[idx] ?? 0) - ((options == null ? void 0 : options.topOffset) ?? 0);\n this.viewportEl.scrollTo({ top: targetTop, behavior: (options == null ? void 0 : options.behavior) ?? \"auto\" });\n }\n scrollToGlobalPdfPoint(idx, pdfY, options) {\n var _a;\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length || !this.virtualPageMap) {\n return;\n }\n const marginTop = (options == null ? void 0 : options.marginTop) ?? 80;\n const loc = this.virtualPageMap.atIndex(idx);\n if (!loc) {\n this.scrollToIndex(idx, options);\n return;\n }\n const cssSize = this.pageSizes.get(idx);\n const pdfPage = (_a = this.documentManager.provides().getDocument(loc.chapterId)) == null ? void 0 : _a.pages[loc.localPageIndex];\n if (!cssSize || !pdfPage) {\n this.scrollToIndex(idx, options);\n return;\n }\n const sy = cssSize.height / pdfPage.size.height;\n const absoluteTop = (this.offsets[idx] ?? 0) + pdfY * sy - marginTop;\n this.viewportEl.scrollTo({\n top: Math.max(0, absoluteTop),\n behavior: (options == null ? void 0 : options.behavior) ?? \"auto\"\n });\n }\n scrollToChapter(chapterId, options) {\n if (!this.virtualPageMap) return;\n const idx = this.virtualPageMap.firstIndexOfChapter(chapterId);\n if (idx < 0) return;\n void this.chapterManager.provides().ensureChapterLoaded(chapterId);\n this.scrollToIndex(idx, options);\n }\n scrollToGlobalNumber(n22, options) {\n if (!this.virtualPageMap) return;\n const loc = this.virtualPageMap.byGlobalNumber(n22);\n if (!loc) return;\n this.scrollToIndex(loc.globalPageIndex, options);\n }\n};\n_ChapterScrollPlugin.id = \"chapter-scroll\";\nlet ChapterScrollPlugin = _ChapterScrollPlugin;\nfunction unionRects(rects) {\n if (rects.length === 0) {\n throw new Error(\"unionRects: empty rects\");\n }\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const r2 of rects) {\n minX = Math.min(minX, r2.origin.x);\n minY = Math.min(minY, r2.origin.y);\n maxX = Math.max(maxX, r2.origin.x + r2.size.width);\n maxY = Math.max(maxY, r2.origin.y + r2.size.height);\n }\n return {\n origin: { x: minX, y: minY },\n size: { width: maxX - minX, height: maxY - minY }\n };\n}\nfunction markerAnchorFromRects(rects) {\n const last = rects[rects.length - 1];\n return {\n x: last.origin.x + last.size.width,\n y: last.origin.y + last.size.height\n };\n}\nconst MARKER_MATCH_EPS_PDF = 6;\nfunction verticalOverlapRatio(a2, b) {\n const topA = a2.origin.y;\n const bottomA = a2.origin.y + a2.size.height;\n const topB = b.origin.y;\n const bottomB = b.origin.y + b.size.height;\n const union = Math.max(bottomA, bottomB) - Math.min(topA, topB);\n if (union <= 0) return 0;\n const intersect = Math.max(0, Math.min(bottomA, bottomB) - Math.max(topA, topB));\n return intersect / union;\n}\nfunction anchorsMatch(a2, b) {\n var _a, _b;\n if (a2.chapterId !== b.chapterId || a2.localPageIndex !== b.localPageIndex) {\n return false;\n }\n const rectsA = ((_a = a2.rectsPdfCoord) == null ? void 0 : _a.length) ? a2.rectsPdfCoord : [a2.rectPdfCoord];\n const rectsB = ((_b = b.rectsPdfCoord) == null ? void 0 : _b.length) ? b.rectsPdfCoord : [b.rectPdfCoord];\n const ma = a2.markerAnchor ?? markerAnchorFromRects(rectsA);\n const mb = b.markerAnchor ?? markerAnchorFromRects(rectsB);\n if (Math.hypot(ma.x - mb.x, ma.y - mb.y) <= MARKER_MATCH_EPS_PDF) {\n return true;\n }\n for (const ra of rectsA) {\n for (const rb of rectsB) {\n if (verticalOverlapRatio(ra, rb) < 0.5) continue;\n const left = Math.max(ra.origin.x, rb.origin.x);\n const right = Math.min(ra.origin.x + ra.size.width, rb.origin.x + rb.size.width);\n const overlap = right - left;\n if (overlap > Math.min(ra.size.width, rb.size.width) * 0.25) {\n return true;\n }\n }\n }\n return false;\n}\nfunction buildParagraphBookmarkAnchor(chapterId, localPageIndex, rectsPdfCoord, virtualPage) {\n const rects = rectsPdfCoord.length > 0 ? rectsPdfCoord : [];\n if (rects.length === 0) {\n throw new Error(\"buildParagraphBookmarkAnchor: no rects\");\n }\n return {\n chapterId,\n localPageIndex,\n globalPageIndex: virtualPage == null ? void 0 : virtualPage.globalPageIndex,\n globalPageNumber: virtualPage == null ? void 0 : virtualPage.globalPageNumber,\n rectPdfCoord: unionRects(rects),\n rectsPdfCoord: rects,\n markerAnchor: markerAnchorFromRects(rects)\n };\n}\nconst VIEWPORT_MARGIN_PX = 80;\nfunction waitForPageInLayout(scroll, globalPageIndex, timeoutMs = 2500) {\n const found = scroll.getLayout().items.find((i) => i.globalPageIndex === globalPageIndex && !i.isPlaceholder);\n if (found) return Promise.resolve(found);\n return new Promise((resolve) => {\n const timer = setTimeout(() => {\n unsub();\n resolve(null);\n }, timeoutMs);\n const unsub = scroll.onLayoutChange((layout) => {\n const item = layout.items.find(\n (i) => i.globalPageIndex === globalPageIndex && !i.isPlaceholder\n );\n if (item) {\n clearTimeout(timer);\n unsub();\n resolve(item);\n }\n });\n });\n}\nfunction topOffsetForPdfMarker(markerPdfY, cssPageHeight, pdfPageHeight) {\n if (!pdfPageHeight) return 0;\n const sy = cssPageHeight / pdfPageHeight;\n const markerYCss = markerPdfY * sy;\n return VIEWPORT_MARGIN_PX - markerYCss;\n}\nfunction pdfMarkerYFromBookmarkAnchor(anchor) {\n if (anchor.markerAnchor) return anchor.markerAnchor.y;\n const r2 = anchor.rectPdfCoord;\n return r2.origin.y + r2.size.height;\n}\nasync function scrollToBookmarkAnchor(scroll, globalPageIndex, pdfY) {\n scroll.scrollToGlobalPageIndex(globalPageIndex);\n await waitForPageInLayout(scroll, globalPageIndex);\n scroll.scrollToGlobalPdfPoint(globalPageIndex, pdfY, { marginTop: VIEWPORT_MARGIN_PX });\n}\nconst _ParagraphBookmarkPlugin = class _ParagraphBookmarkPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.change$ = createBehaviorEmitter([]);\n this.entries = /* @__PURE__ */ new Map();\n this.chapterScroll = this.registry.getPlugin(ChapterScrollPlugin.id);\n this.chapterManager = this.registry.getPlugin(ChapterManagerPlugin$1.id);\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n var _a;\n this.config = config;\n if ((_a = config.callbacks) == null ? void 0 : _a.load) {\n try {\n const initial = await config.callbacks.load();\n for (const b of initial) this.entries.set(b.id, b);\n this.change$.emit(this.list());\n } catch (err) {\n this.logger.error(\n _ParagraphBookmarkPlugin.id,\n \"Load\",\n \"Failed to load paragraph bookmarks\",\n err\n );\n }\n }\n }\n buildCapability() {\n return {\n addBookmark: (input) => this.addBookmark(input),\n removeBookmark: (id) => this.removeBookmark(id),\n updateBookmark: (id, patch) => this.updateBookmark(id, patch),\n listBookmarks: () => this.list(),\n getBookmark: (id) => this.entries.get(id) ?? null,\n scrollToBookmark: (id) => this.scrollToBookmark(id),\n requestRemoveBookmark: (id) => this.requestRemoveBookmark(id),\n onBookmarksChange: this.change$.on\n };\n }\n addBookmark(input) {\n for (const existing of this.entries.values()) {\n if (anchorsMatch(existing.anchor, input.anchor)) {\n return existing;\n }\n }\n const id = input.id ?? `bm-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n const entry = {\n id,\n label: input.label,\n anchor: input.anchor,\n metadata: input.metadata,\n createdAt: Date.now()\n };\n this.entries.set(id, entry);\n this.notifyAndPersist();\n return entry;\n }\n removeBookmark(id) {\n var _a, _b, _c;\n if (this.entries.delete(id)) {\n this.notifyAndPersist();\n (_c = (_b = (_a = this.config) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.onRemoveSuccess) == null ? void 0 : _c.call(_b, id);\n }\n }\n async requestRemoveBookmark(id) {\n var _a, _b;\n const entry = this.entries.get(id);\n if (!entry) return false;\n const cb = (_b = (_a = this.config) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.onRequestRemove;\n if (cb) {\n try {\n const ok = await cb(entry);\n if (!ok) return false;\n } catch (err) {\n this.logger.error(_ParagraphBookmarkPlugin.id, \"RequestRemove\", \"callback failed\", err);\n return false;\n }\n }\n this.removeBookmark(id);\n return true;\n }\n updateBookmark(id, patch) {\n const e2 = this.entries.get(id);\n if (!e2) return;\n this.entries.set(id, { ...e2, ...patch });\n this.notifyAndPersist();\n }\n list() {\n return Array.from(this.entries.values()).sort((a2, b) => a2.createdAt - b.createdAt);\n }\n notifyAndPersist() {\n var _a, _b;\n const list = this.list();\n this.change$.emit(list);\n if ((_b = (_a = this.config) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.persist) {\n Promise.resolve(this.config.callbacks.persist(list)).catch(\n (err) => this.logger.error(\n _ParagraphBookmarkPlugin.id,\n \"Persist\",\n \"persist callback rejected\",\n err\n )\n );\n }\n }\n async scrollToBookmark(id) {\n const e2 = this.entries.get(id);\n if (!e2) return;\n const scroll = this.chapterScroll.provides();\n await this.chapterManager.provides().ensureChapterLoaded(e2.anchor.chapterId);\n let globalPageIndex = e2.anchor.globalPageIndex;\n if (globalPageIndex === void 0) {\n const loc = this.chapterManager.provides().getVirtualPageMap().toGlobal(e2.anchor.chapterId, e2.anchor.localPageIndex);\n if (!loc) return;\n globalPageIndex = loc.globalPageIndex;\n }\n const pdfY = pdfMarkerYFromBookmarkAnchor(e2.anchor);\n await scrollToBookmarkAnchor(scroll, globalPageIndex, pdfY);\n }\n};\n_ParagraphBookmarkPlugin.id = \"paragraph-bookmark\";\nlet ParagraphBookmarkPlugin = _ParagraphBookmarkPlugin;\nconst ParagraphBookmarkPluginPackage = {\n manifest,\n create: (registry) => new ParagraphBookmarkPlugin(PARAGRAPH_BOOKMARK_PLUGIN_ID, registry),\n reducer: (state) => state,\n initialState: {}\n};\nexport {\n PARAGRAPH_BOOKMARK_PLUGIN_ID,\n ParagraphBookmarkPlugin,\n ParagraphBookmarkPluginPackage,\n VIEWPORT_MARGIN_PX,\n anchorsMatch,\n buildParagraphBookmarkAnchor,\n manifest,\n markerAnchorFromRects,\n pdfMarkerYFromBookmarkAnchor,\n scrollToBookmarkAnchor,\n topOffsetForPdfMarker,\n unionRects,\n waitForPageInLayout\n};\n//# sourceMappingURL=index.js.map\n","import { BasePlugin, createBehaviorEmitter, createEmitter } from \"@embedpdf/core\";\nimport { PdfErrorCode } from \"@embedpdf/models\";\nimport { DocumentManagerPlugin } from \"@embedpdf/plugin-document-manager\";\nconst CHAPTER_MANAGER_PLUGIN_ID = \"chapter-manager\";\nconst manifest = {\n id: CHAPTER_MANAGER_PLUGIN_ID,\n name: \"Chapter Manager Plugin\",\n version: \"0.1.0\",\n provides: [\"chapter-manager\"],\n // 强依赖 document-manager 来真正打开每个章节 PDF\n requires: [\"document-manager\"],\n optional: [],\n defaultConfig: {\n manifest: { chapters: [] },\n prefetchChapters: 1,\n unloadTimeoutMs: 6e4,\n autoActivateOnLoad: true\n }\n};\nfunction e(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n2] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n2 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n2}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n2 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n2 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n2) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t = { kind: \"first-wins\" };\nfunction s(e2, s2 = t) {\n const n2 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n2.get(a2);\n e4 ? e4.push(t2) : n2.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n2) r2.set(t2, a(t2, o, s2));\n return r2;\n}\nfunction a(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nclass n {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n}\nfunction r(e2, a2 = t) {\n const r2 = s(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n2] = s2.localPageRange, l2 = n2 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n(c);\n}\nconst _ChapterManagerPlugin = class _ChapterManagerPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin.id = \"chapter-manager\";\nlet ChapterManagerPlugin = _ChapterManagerPlugin;\nconst ChapterManagerPluginPackage = {\n manifest,\n create: (registry) => new ChapterManagerPlugin(CHAPTER_MANAGER_PLUGIN_ID, registry),\n reducer: (state) => state,\n initialState: {}\n};\nexport {\n CHAPTER_MANAGER_PLUGIN_ID,\n ChapterManagerPlugin,\n ChapterManagerPluginPackage,\n manifest\n};\n//# sourceMappingURL=index.js.map\n","import { BasePlugin, createBehaviorEmitter, createEmitter } from \"@embedpdf/core\";\nimport { PdfErrorCode } from \"@embedpdf/models\";\nimport { DocumentManagerPlugin } from \"@embedpdf/plugin-document-manager\";\nconst CHAPTER_SCROLL_PLUGIN_ID = \"chapter-scroll\";\nconst manifest = {\n id: CHAPTER_SCROLL_PLUGIN_ID,\n name: \"Chapter Scroll Plugin\",\n version: \"0.1.0\",\n provides: [\"chapter-scroll\"],\n requires: [\"chapter-manager\"],\n optional: [],\n defaultConfig: {\n placeholderPageHeight: 1200,\n placeholderPageWidth: 900,\n bufferSize: 2,\n pageGap: 20\n }\n};\nfunction e(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n2] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n2 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n2}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n2 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n2 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n2) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t = { kind: \"first-wins\" };\nfunction s(e2, s2 = t) {\n const n2 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n2.get(a2);\n e4 ? e4.push(t2) : n2.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n2) r2.set(t2, a(t2, o, s2));\n return r2;\n}\nfunction a(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nclass n {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n}\nfunction r(e2, a2 = t) {\n const r2 = s(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n2] = s2.localPageRange, l2 = n2 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n(c);\n}\nconst _ChapterManagerPlugin = class _ChapterManagerPlugin2 extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin2.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin2.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin.id = \"chapter-manager\";\nlet ChapterManagerPlugin = _ChapterManagerPlugin;\nconst _ChapterScrollPlugin = class _ChapterScrollPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.layoutChange$ = createBehaviorEmitter();\n this.visibleChange$ = createBehaviorEmitter();\n this.virtualPageMap = null;\n this.pageSizes = /* @__PURE__ */ new Map();\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n this.viewportEl = null;\n this.viewportObservers = null;\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.chapterManagerUnsubs = [];\n this.chapterManager = this.registry.getPlugin(ChapterManagerPlugin.id);\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = {\n placeholderPageHeight: config.placeholderPageHeight ?? 1200,\n placeholderPageWidth: config.placeholderPageWidth ?? 900,\n bufferSize: config.bufferSize ?? 2,\n pageGap: config.pageGap ?? 20\n };\n this.virtualPageMap = this.chapterManager.provides().getVirtualPageMap();\n this.rebuildOffsets();\n this.chapterManagerUnsubs.push(\n this.chapterManager.provides().onManifestChange(({ map }) => {\n this.virtualPageMap = map;\n this.pageSizes.clear();\n this.rebuildOffsets();\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n })\n );\n this.syncReadyChapterSizes();\n }\n /** 章节 PDF 在 core 中是否已可渲染(documentId === chapterId) */\n isChapterDocumentReady(chapterId) {\n const coreDoc = this.coreState.core.documents[chapterId];\n if (!coreDoc || coreDoc.status !== \"loaded\" || !coreDoc.document) return false;\n return coreDoc.document.pages.length > 0;\n }\n refreshLayout() {\n this.layoutChange$.emit(this.computeLayout());\n }\n /** 对已打开且可渲染的章节补采页尺寸 */\n syncReadyChapterSizes() {\n for (const ch of this.chapterManager.provides().getManifest().chapters) {\n if (this.isChapterDocumentReady(ch.chapterId)) {\n this.harvestChapterSizes(ch.chapterId);\n }\n }\n this.refreshLayout();\n }\n onDocumentLoaded(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n const dm = this.documentManager.provides();\n if (!dm.getActiveDocumentId()) {\n dm.setActiveDocument(documentId);\n }\n this.harvestChapterSizes(documentId);\n this.refreshLayout();\n }\n onDocumentClosed(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n this.dropChapterSizes(documentId);\n this.refreshLayout();\n }\n buildCapability() {\n return {\n registerViewport: (el) => this.bindViewport(el),\n reportChapterPageSizes: (chapterId, sizes) => this.applyChapterPageSizes(chapterId, sizes),\n getLayout: () => this.computeLayout(),\n getCurrentGlobalPageIndex: () => this.currentGlobalPageIndex,\n getVisibleGlobalPageIndices: () => this.currentVisible.slice(),\n scrollToGlobalPageIndex: (i, o) => this.scrollToIndex(i, o),\n scrollToChapter: (cid, o) => this.scrollToChapter(cid, o),\n scrollToGlobalPageNumber: (n2, o) => this.scrollToGlobalNumber(n2, o),\n scrollToGlobalPdfPoint: (i, pdfY, o) => this.scrollToGlobalPdfPoint(i, pdfY, o),\n onLayoutChange: this.layoutChange$.on,\n onVisibleChange: this.visibleChange$.on\n };\n }\n destroy() {\n var _a;\n super.destroy();\n for (const u of this.chapterManagerUnsubs) u();\n this.chapterManagerUnsubs = [];\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportObservers = null;\n this.viewportEl = null;\n this.layoutChange$.clear();\n this.visibleChange$.clear();\n }\n /* ───────────────── 尺寸 / 偏移 ───────────────── */\n getPageSize(globalPageIndex) {\n return this.pageSizes.get(globalPageIndex) ?? {\n width: this.config.placeholderPageWidth,\n height: this.config.placeholderPageHeight\n };\n }\n rebuildOffsets() {\n if (!this.virtualPageMap) {\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n return;\n }\n const total = this.virtualPageMap.totalPages;\n this.offsets = new Array(total);\n let y = 0;\n let maxW = 0;\n for (let i = 0; i < total; i++) {\n const { width, height } = this.getPageSize(i);\n this.offsets[i] = y;\n y += height + this.config.pageGap;\n if (width > maxW) maxW = width;\n }\n this.totalHeight = total > 0 ? y - this.config.pageGap : 0;\n this.totalWidth = maxW;\n this.layoutChange$.emit(this.computeLayout());\n }\n applyChapterPageSizes(chapterId, sizes) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const s2 of sizes) {\n const loc = this.virtualPageMap.toGlobal(chapterId, s2.localPageIndex);\n if (!loc) continue;\n const prev = this.pageSizes.get(loc.globalPageIndex);\n if (!prev || prev.width !== s2.width || prev.height !== s2.height) {\n this.pageSizes.set(loc.globalPageIndex, { width: s2.width, height: s2.height });\n changed = true;\n }\n }\n if (changed) {\n const anchorIdx = this.currentGlobalPageIndex;\n const oldOffset = this.offsets[anchorIdx] ?? 0;\n this.rebuildOffsets();\n if (this.viewportEl) {\n const newOffset = this.offsets[anchorIdx] ?? 0;\n const delta = newOffset - oldOffset;\n if (delta !== 0) this.viewportEl.scrollTop += delta;\n }\n this.recomputeVisible();\n }\n }\n /** 章节 document 在 core store 中的缩放(与 RenderLayer / Annotation 一致) */\n getChapterDocumentScale(chapterId) {\n var _a;\n return ((_a = this.coreState.core.documents[chapterId]) == null ? void 0 : _a.scale) ?? 1;\n }\n /** 从已加载的 PdfDocumentObject 拉取章节内所有页尺寸并上报 */\n harvestChapterSizes(chapterId, attempt = 0) {\n var _a;\n if (!this.virtualPageMap) return;\n const pdfDoc = this.documentManager.provides().getDocument(chapterId);\n const owned = this.virtualPageMap.pagesOfChapter(chapterId);\n if (!((_a = pdfDoc == null ? void 0 : pdfDoc.pages) == null ? void 0 : _a.length) || owned.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n const scale = this.getChapterDocumentScale(chapterId);\n const sizes = [];\n for (const loc of owned) {\n const page = pdfDoc.pages[loc.localPageIndex];\n if (!(page == null ? void 0 : page.size)) continue;\n sizes.push({\n localPageIndex: loc.localPageIndex,\n width: page.size.width * scale,\n height: page.size.height * scale\n });\n }\n if (sizes.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n this.applyChapterPageSizes(chapterId, sizes);\n }\n /** core SET_SCALE 后重算布局,使滚动占位与 PDF 渲染尺寸一致 */\n onScaleChanged(documentId) {\n const coreDoc = this.coreState.core.documents[documentId];\n if (!coreDoc || coreDoc.status !== \"loaded\") return;\n if (!this.chapterManager.provides().getChapter(documentId)) return;\n this.harvestChapterSizes(documentId);\n }\n dropChapterSizes(chapterId) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const p of this.virtualPageMap.pagesOfChapter(chapterId)) {\n if (this.pageSizes.delete(p.globalPageIndex)) changed = true;\n }\n if (changed) {\n this.rebuildOffsets();\n this.recomputeVisible();\n }\n }\n /* ───────────────── viewport 绑定 ───────────────── */\n bindViewport(el) {\n var _a;\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportEl = el;\n this.viewportObservers = null;\n if (!el) return;\n const onScroll = () => this.recomputeVisible();\n const ro = new ResizeObserver(() => this.recomputeVisible());\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n ro.observe(el);\n this.viewportObservers = {\n unbind: () => {\n el.removeEventListener(\"scroll\", onScroll);\n ro.disconnect();\n }\n };\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n if (el.clientHeight === 0) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => this.recomputeVisible());\n });\n }\n }\n /* ───────────────── visible / layout ───────────────── */\n recomputeVisible() {\n if (!this.viewportEl || !this.virtualPageMap) return;\n const total = this.virtualPageMap.totalPages;\n if (total === 0) {\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.layoutChange$.emit(this.computeLayout());\n return;\n }\n const scrollTop = this.viewportEl.scrollTop;\n const clientH = this.viewportEl.clientHeight;\n const viewportEnd = scrollTop + clientH;\n const start = this.findFirstVisibleIndex(scrollTop);\n let end = start;\n while (end < total) {\n const size = this.getPageSize(end);\n const pageTop = this.offsets[end];\n pageTop + size.height;\n if (pageTop >= viewportEnd) break;\n end++;\n }\n const visible = [];\n let maxOverlapIdx = start;\n let maxOverlap = -1;\n for (let i = start; i < end; i++) {\n visible.push(i);\n const pageTop = this.offsets[i];\n const pageBottom = pageTop + this.getPageSize(i).height;\n const overlap = Math.max(\n 0,\n Math.min(pageBottom, viewportEnd) - Math.max(pageTop, scrollTop)\n );\n if (overlap > maxOverlap) {\n maxOverlap = overlap;\n maxOverlapIdx = i;\n }\n }\n this.currentVisible = visible;\n this.currentGlobalPageIndex = maxOverlapIdx;\n this.visibleChange$.emit({\n visibleGlobalPageIndices: visible,\n currentGlobalPageIndex: maxOverlapIdx\n });\n this.chapterManager.provides().setVisibleGlobalPages(visible);\n this.layoutChange$.emit(this.computeLayout());\n }\n findFirstVisibleIndex(scrollTop) {\n let lo = 0;\n let hi = this.offsets.length - 1;\n let ans = 0;\n while (lo <= hi) {\n const mid = lo + hi >> 1;\n if (this.offsets[mid] <= scrollTop) {\n ans = mid;\n lo = mid + 1;\n } else {\n hi = mid - 1;\n }\n }\n return ans;\n }\n computeLayout() {\n const buffer = this.config.bufferSize;\n const start = Math.max(0, (this.currentVisible[0] ?? 0) - buffer);\n const last = this.currentVisible[this.currentVisible.length - 1] ?? -1;\n const end = Math.min(this.offsets.length - 1, (last >= 0 ? last : 0) + buffer);\n const items = [];\n if (this.virtualPageMap && this.offsets.length > 0) {\n for (let i = start; i <= end; i++) {\n const loc = this.virtualPageMap.atIndex(i);\n if (!loc) continue;\n const size = this.getPageSize(i);\n const isPlaceholder = !this.isChapterDocumentReady(loc.chapterId);\n items.push({\n globalPageIndex: i,\n globalPageNumber: loc.globalPageNumber,\n chapterId: loc.chapterId,\n localPageIndex: loc.localPageIndex,\n width: size.width,\n height: size.height,\n offsetTop: this.offsets[i],\n isPlaceholder\n });\n }\n }\n return {\n totalHeight: this.totalHeight,\n totalWidth: this.totalWidth || this.config.placeholderPageWidth,\n items,\n pageGap: this.config.pageGap\n };\n }\n /* ───────────────── scroll-to ───────────────── */\n scrollToIndex(idx, options) {\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length) return;\n const targetTop = (this.offsets[idx] ?? 0) - ((options == null ? void 0 : options.topOffset) ?? 0);\n this.viewportEl.scrollTo({ top: targetTop, behavior: (options == null ? void 0 : options.behavior) ?? \"auto\" });\n }\n scrollToGlobalPdfPoint(idx, pdfY, options) {\n var _a;\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length || !this.virtualPageMap) {\n return;\n }\n const marginTop = (options == null ? void 0 : options.marginTop) ?? 80;\n const loc = this.virtualPageMap.atIndex(idx);\n if (!loc) {\n this.scrollToIndex(idx, options);\n return;\n }\n const cssSize = this.pageSizes.get(idx);\n const pdfPage = (_a = this.documentManager.provides().getDocument(loc.chapterId)) == null ? void 0 : _a.pages[loc.localPageIndex];\n if (!cssSize || !pdfPage) {\n this.scrollToIndex(idx, options);\n return;\n }\n const sy = cssSize.height / pdfPage.size.height;\n const absoluteTop = (this.offsets[idx] ?? 0) + pdfY * sy - marginTop;\n this.viewportEl.scrollTo({\n top: Math.max(0, absoluteTop),\n behavior: (options == null ? void 0 : options.behavior) ?? \"auto\"\n });\n }\n scrollToChapter(chapterId, options) {\n if (!this.virtualPageMap) return;\n const idx = this.virtualPageMap.firstIndexOfChapter(chapterId);\n if (idx < 0) return;\n void this.chapterManager.provides().ensureChapterLoaded(chapterId);\n this.scrollToIndex(idx, options);\n }\n scrollToGlobalNumber(n2, options) {\n if (!this.virtualPageMap) return;\n const loc = this.virtualPageMap.byGlobalNumber(n2);\n if (!loc) return;\n this.scrollToIndex(loc.globalPageIndex, options);\n }\n};\n_ChapterScrollPlugin.id = \"chapter-scroll\";\nlet ChapterScrollPlugin = _ChapterScrollPlugin;\nconst ChapterScrollPluginPackage = {\n manifest,\n create: (registry) => new ChapterScrollPlugin(CHAPTER_SCROLL_PLUGIN_ID, registry),\n reducer: (state) => state,\n initialState: {}\n};\nexport {\n CHAPTER_SCROLL_PLUGIN_ID,\n ChapterScrollPlugin,\n ChapterScrollPluginPackage,\n manifest\n};\n//# sourceMappingURL=index.js.map\n","import { useCallback, useEffect, useState, type CSSProperties } from 'react';\nimport { useCapability } from '@embedpdf/core/react';\nimport { ChapterManagerPlugin } from '@embedpdf-editor/plugin-chapter-manager';\nimport { ChapterScrollPlugin } from '@embedpdf-editor/plugin-chapter-scroll';\nimport type { ChapterLoadStatus } from '@embedpdf-editor/chapter-core';\nimport type { ChapterTreeNode } from './chapter-tree';\n\nconst STATUS_LABEL: Record<ChapterLoadStatus, string> = {\n idle: '未加载',\n loading: '加载中',\n loaded: '已加载',\n closed: '已卸载',\n error: '失败',\n 'password-required': '需密码',\n};\n\nexport type ChapterTreePanelProps = {\n tree: ChapterTreeNode[];\n activeChapterId: string;\n onActiveChapterChange?: (chapterId: string) => void;\n};\n\nexport function ChapterTreePanel({\n tree,\n activeChapterId,\n onActiveChapterChange,\n}: ChapterTreePanelProps) {\n const { provides: scroll } = useCapability<ChapterScrollPlugin>(ChapterScrollPlugin.id);\n const { provides: chapterManager } = useCapability<ChapterManagerPlugin>(\n ChapterManagerPlugin.id,\n );\n const [chapterStatus, setChapterStatus] = useState<Record<string, ChapterLoadStatus>>({});\n\n const syncStatus = useCallback(() => {\n if (!chapterManager) return;\n const next: Record<string, ChapterLoadStatus> = {};\n const walk = (nodes: ChapterTreeNode[]) => {\n for (const n of nodes) {\n next[n.id] = chapterManager.getChapterStatus(n.id);\n if (n.children?.length) walk(n.children);\n }\n };\n walk(tree);\n setChapterStatus(next);\n }, [chapterManager, tree]);\n\n useEffect(() => {\n syncStatus();\n }, [syncStatus]);\n\n useEffect(() => {\n if (!chapterManager) return;\n return chapterManager.onChapterStatusChange(syncStatus);\n }, [chapterManager, syncStatus]);\n\n const selectChapter = (chapterId: string) => {\n onActiveChapterChange?.(chapterId);\n scroll?.scrollToChapter(chapterId);\n };\n\n return (\n <aside style={asideStyle}>\n <h2 style={headingStyle}>章节目录</h2>\n <nav style={navStyle} aria-label=\"章节目录\">\n <ChapterTreeList\n nodes={tree}\n depth={0}\n activeChapterId={activeChapterId}\n chapterStatus={chapterStatus}\n onSelect={selectChapter}\n />\n </nav>\n </aside>\n );\n}\n\nfunction ChapterTreeList({\n nodes,\n depth,\n activeChapterId,\n chapterStatus,\n onSelect,\n}: {\n nodes: ChapterTreeNode[];\n depth: number;\n activeChapterId: string;\n chapterStatus: Record<string, ChapterLoadStatus>;\n onSelect: (chapterId: string) => void;\n}) {\n return (\n <ul style={{ margin: 0, padding: 0, listStyle: 'none', marginLeft: depth > 0 ? 12 : 0 }}>\n {nodes.map((node) => (\n <ChapterTreeItem\n key={node.id}\n node={node}\n depth={depth}\n activeChapterId={activeChapterId}\n chapterStatus={chapterStatus}\n onSelect={onSelect}\n />\n ))}\n </ul>\n );\n}\n\nfunction ChapterTreeItem({\n node,\n depth,\n activeChapterId,\n chapterStatus,\n onSelect,\n}: {\n node: ChapterTreeNode;\n depth: number;\n activeChapterId: string;\n chapterStatus: Record<string, ChapterLoadStatus>;\n onSelect: (chapterId: string) => void;\n}) {\n const children = node.children ?? [];\n const hasChildren = children.length > 0;\n const [expanded, setExpanded] = useState(depth < 1);\n const isActive = activeChapterId === node.id;\n const status = chapterStatus[node.id] ?? 'idle';\n const isLeaf = !hasChildren;\n\n return (\n <li>\n <div style={{ display: 'flex', alignItems: 'stretch', gap: 2 }}>\n {hasChildren ? (\n <button\n type=\"button\"\n aria-expanded={expanded}\n style={toggleBtnStyle}\n onClick={() => setExpanded((v) => !v)}\n >\n {expanded ? '▼' : '▶'}\n </button>\n ) : (\n <span style={{ width: 16, flexShrink: 0 }} aria-hidden />\n )}\n <button\n type=\"button\"\n style={{\n ...itemBtnStyle,\n background: isActive ? '#1e293b' : 'transparent',\n color: isActive ? '#fff' : '#334155',\n }}\n onClick={() => onSelect(node.id)}\n >\n <div style={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', fontWeight: 500 }}>\n {node.title}\n </div>\n <div\n style={{\n marginTop: 2,\n fontSize: 10,\n color: isActive ? '#cbd5e1' : '#94a3b8',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '4px 8px',\n }}\n >\n <span>\n 第 {node.startPage}\n {node.endPage !== node.startPage ? `–${node.endPage}` : ''} 页\n </span>\n {isLeaf ? <span>{STATUS_LABEL[status]}</span> : null}\n </div>\n </button>\n </div>\n {hasChildren && expanded ? (\n <ChapterTreeList\n nodes={children}\n depth={depth + 1}\n activeChapterId={activeChapterId}\n chapterStatus={chapterStatus}\n onSelect={onSelect}\n />\n ) : null}\n </li>\n );\n}\n\nconst asideStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n width: 224,\n flexShrink: 0,\n borderRadius: 8,\n border: '1px solid #e2e8f0',\n background: '#fff',\n overflow: 'hidden',\n};\n\nconst headingStyle: CSSProperties = {\n margin: 0,\n padding: '8px 12px',\n fontSize: 12,\n fontWeight: 600,\n color: '#334155',\n borderBottom: '1px solid #f1f5f9',\n};\n\nconst navStyle: CSSProperties = {\n flex: 1,\n overflowY: 'auto',\n padding: 4,\n};\n\nconst toggleBtnStyle: CSSProperties = {\n flexShrink: 0,\n padding: '0 4px',\n border: 'none',\n background: 'transparent',\n fontSize: 10,\n color: '#94a3b8',\n cursor: 'pointer',\n};\n\nconst itemBtnStyle: CSSProperties = {\n minWidth: 0,\n flex: 1,\n border: 'none',\n borderRadius: 6,\n padding: '8px',\n textAlign: 'left',\n fontSize: 13,\n cursor: 'pointer',\n};\n","function e(e){const t=[],s=/* @__PURE__ */new Set;for(const a of e.chapters){s.has(a.chapterId)&&t.push(`Duplicate chapterId: ${a.chapterId}`),s.add(a.chapterId);const[e,n]=a.globalPageRange,[r,o]=a.localPageRange;if(e>n&&t.push(`${a.chapterId}: invalid globalPageRange [${e},${n}]`),r>o&&t.push(`${a.chapterId}: invalid localPageRange [${r},${o}]`),n-e!==o-r&&t.push(`${a.chapterId}: page-count mismatch (global ${n-e+1} vs local ${o-r+1})`),a.ownedGlobalPages)for(const s of a.ownedGlobalPages)(s<e||s>n)&&t.push(`${a.chapterId}: ownedGlobalPages contains ${s} outside range`)}return t}const t={kind:\"first-wins\"};function s(e,s=t){const n=/* @__PURE__ */new Map;for(const t of e.chapters){const[e,s]=t.globalPageRange;for(let a=e;a<=s;a++){const e=n.get(a);e?e.push(t):n.set(a,[t])}}const r=/* @__PURE__ */new Map;for(const[t,o]of n)r.set(t,a(t,o,s));return r}function a(e,t,s){if(1===t.length)return t[0].chapterId;switch(s.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const s=t.find(t=>t.ownedGlobalPages?.includes(e));return s?s.chapterId:t[0].chapterId}case\"custom\":return s.resolve(e,t)}}class n{constructor(e){this._pages=e,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const t of e){this._byGlobalNumber.set(t.globalPageNumber,t);let e=this._byChapter.get(t.chapterId);e||(e=[],this._byChapter.set(t.chapterId,e)),e.push(t)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(e){return this._pages[e]??null}byGlobalNumber(e){return this._byGlobalNumber.get(e)??null}toGlobal(e,t){const s=this._byChapter.get(e);return s?s.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){const t=this._byChapter.get(e)?.[0];return t?this._pages.indexOf(t):-1}}function r(e,a=t){const r=s(e,a),o=/* @__PURE__ */new Map;for(const t of e.chapters)o.set(t.chapterId,t);const l=Array.from(r.keys()).sort((e,t)=>e-t),c=[];let h=0;for(const t of l){const e=r.get(t),s=o.get(e);if(!s)continue;const[a]=s.globalPageRange,[n]=s.localPageRange,l=n+(t-a);c.push({globalPageIndex:h++,globalPageNumber:t,chapterId:e,localPageIndex:l})}return new n(c)}class o{constructor(e){this.map=e}resolvePassword(e){return Promise.resolve(this.map[e.chapterId]??null)}getCachedPassword(e){return this.map[e]??null}}class l{constructor(e){this.cb=e}resolvePassword(e,t){return this.cb(e,t)}}class c{constructor(e){this.onPrompt=e,this.pending=/* @__PURE__ */new Map}resolvePassword(e,t){return new Promise(s=>{const a=this.pending.get(e.chapterId);a&&a.resolve(null),this.pending.set(e.chapterId,{resolve:s,attempt:t,chapter:e}),this.onPrompt(e,t)})}submit(e,t){const s=this.pending.get(e);s&&(this.pending.delete(e),s.resolve(t))}}export{l as CallbackPasswordProvider,o as StaticPasswordProvider,c as UiPromptPasswordProvider,n as VirtualPageMap,r as buildVirtualPageMap,t as defaultOverlapStrategy,s as resolveOwners,e as validateChapterManifest};\n//# sourceMappingURL=index.js.map\n"],"names":["K","kind","Z","t","e","a","length","chapterId","find","ownedGlobalPages","includes","resolve","Q","constructor","this","_pages","_byChapter","Map","_byGlobalNumber","set","globalPageNumber","get","push","totalPages","list","atIndex","byGlobalNumber","toGlobal","localPageIndex","pagesOfChapter","firstIndexOfChapter","indexOf","tt","C","super","statusChange$","M","manifestChange$","S","overlapStrategy","chapterStatus","chapterLastUsed","passwordAttempts","pendingLoadPromises","unloadTimer","documentManagerUnsubs","documentManager","registry","getPlugin","D","id","initialize","config","passwordProvider","setManifestInternal","manifest","provides","onDocumentOpened","isOwnedChapter","delete","updateStatus","onDocumentClosed","onDocumentError","documentId","handleDocumentError","code","message","unloadTimeoutMs","Math","max","floor","setInterval","collectIdleChapters","buildCapability","setManifest","getManifest","getVirtualPageMap","virtualPageMap","setVisibleGlobalPages","handleVisibleChange","ensureChapterLoaded","getChapterStatus","getChapter","findChapter","onChapterStatusChange","on","onManifestChange","destroy","clearInterval","clear","Set","s","chapters","has","add","i","globalPageRange","r","o","localPageRange","logger","warn","join","keys","map","closeChapter","n","Array","from","sort","h","l","globalPageIndex","J","emit","eagerPrefetchFromManifest","prefetchChapters","Date","now","min","size","autoActivateOnLoad","isDocumentOpen","getActiveDocumentId","setActiveDocument","Promise","waitForTerminalStatus","startLoad","finally","resolvePdfPayload","source","url","buffer","load","chapterPdfLoader","loadPdf","Error","encrypted","getCachedPassword","openDocumentUrl","name","title","password","autoActivate","openDocumentBuffer","wait","status","$","Password","resolvePassword","error","retryDocument","closeDocument","et","at","layoutChange$","visibleChange$","pageSizes","offsets","totalHeight","totalWidth","viewportEl","viewportObservers","currentVisible","currentGlobalPageIndex","chapterManagerUnsubs","chapterManager","placeholderPageHeight","placeholderPageWidth","bufferSize","pageGap","rebuildOffsets","syncReadyChapterSizes","recomputeVisible","isChapterDocumentReady","coreState","core","documents","document","pages","refreshLayout","computeLayout","harvestChapterSizes","onDocumentLoaded","dropChapterSizes","registerViewport","bindViewport","reportChapterPageSizes","applyChapterPageSizes","getLayout","getCurrentGlobalPageIndex","getVisibleGlobalPageIndices","slice","scrollToGlobalPageIndex","scrollToIndex","scrollToChapter","scrollToGlobalPageNumber","scrollToGlobalNumber","scrollToGlobalPdfPoint","onLayoutChange","onVisibleChange","unbind","getPageSize","width","height","scrollTop","getChapterDocumentScale","scale","getDocument","requestAnimationFrame","onScaleChanged","ResizeObserver","addEventListener","passive","observe","removeEventListener","disconnect","clientHeight","findFirstVisibleIndex","visibleGlobalPageIndices","offsetTop","isPlaceholder","items","topOffset","scrollTo","top","behavior","marginTop","st","it","item","renderPage","renderPlaceholder","Boolean","style","position","left","transform","backgroundColor","boxShadow","children","display","alignItems","justifyContent","color","fontSize","rt","className","d","c","u","p","g","current","f","m","ref","overflow","margin","ot","dpr","G","pageIndex","pointerEvents","nt","ht","lt","ct","dt","ut","pt","gt","ft","vt","mt","bt","Pt","wt","It","notesChange$","noteActivated$","notes","chapterScroll","callbacks","loadNotes","noteId","listAll","createNoteFromSelection","requestCreateFromSelection","registerNote","listNotesForPage","filter","listAllNotes","getNote","deleteNote","updateNoteContent","scrollToNote","onNotesChange","onNoteActivated","requestEdit","onRequestEditNote","activateNote","onActivateNote","call","anchor","values","buildDraft","rectsPdfCoord","endAnchor","Ct","selectedText","content","onRequestCreateNote","onCreateNote","draft","complete","async","onDeleteNote","onUpdateNote","waitForPageInLayout","y","setTimeout","clearTimeout","yt","x","origin","Mt","pdfPageWidth","pdfPageHeight","cssPageWidth","cssPageHeight","ui","plugin","isLoading","ready","v","b","P","w","I","target","closest","iconSize","highlightColor","inset","zIndex","markerPdf","lineRects","sx","sy","gapPx","background","borderRadius","cursor","onMouseEnter","onMouseLeave","renderIcon","role","tabIndex","onMouseDown","stopPropagation","onClick","border","padding","note","type","lineHeight","renderMenuActions","onEdit","onDelete","minWidth","St","textAlign","xt","$t","kt","zt","Lt","Dt","Tt","Gt","Ot","Nt","At","Vt","Rt","Et","Ut","_t","Ft","rectPdfCoord","markerAnchor","hypot","Wt","change$","entries","addBookmark","removeBookmark","updateBookmark","listBookmarks","getBookmark","scrollToBookmark","requestRemoveBookmark","onBookmarksChange","random","toString","label","metadata","createdAt","notifyAndPersist","onRemoveSuccess","onRequestRemove","persist","catch","qt","Ht","Bt","onBookmarkClick","contains","bookmark","then","jt","Yt","Kt","Zt","version","requires","optional","defaultConfig","markerSize","Qt","Jt","te","ae","ee","se","ie","re","oe","he","ne","le","de","ce","ue","ge","pe","fe","create","reducer","initialState","me","ve","be","Pe","we","ye","Ie","Ce","Me","Se","xe","ke","$e","Le","ze","De","Te","Ge","Oe","Ae","Ve","Ne","Re","Ee","We","hoverUi","forDocument","getState","geometry","onSelectionChange","selecting","getBoundingClientRect","clientX","right","clientY","bottom","to","charFrom","charTo","k","L","some","z","toLocaleTimeString","hour","minute","T","O","A","N","V","renderAddIcon","He","Be","je","highlight","offsetY","underline","squiggly","strikeout","Ye","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","Xe","Ke","Qe","icon","aa","sa","ia","ra","oa","Je","placementAbove","anchorHeight","onAction","hiddenBuiltinActions","extraActions","order","gap","ta","fontWeight","flexShrink","accent","currentTarget","ea","behind","mark","viewBox","fill","textAnchor","fontFamily","rx","stroke","strokeWidth","strokeLinecap","strokeLinejoin","na","ha","selectionToolbar","_a","markup","enabled","_b","_c","menuWrapperProps","placement","suggestTop","rect","getHighlightRectsForPage","getSelectedText","onExtraAction","getTool","defaults","getFormattedSelection","setLocked","Exclude","categories","strokeColor","opacity","thickness","segmentRects","createAnnotation","created","flags","blendMode","Multiply","Ze","styles","_d","la","buildSelectionMenu","annotationSelectionMenu","redactionSelectionMenu","showNoteMarkers","showBookmarkMarkers","showRedactionLayer","renderPageOverlay","features","onExtraSelectionAction","qe","_e","Fe","bookmarks","defaultMenu","da","hover","ca","noteMarkerUi","marker","bookmarkMarkerUi","createNote","Ue","Xt","selectionMenu","ua","pa","ga","fa","ma","ba","va","Pa","wa","Ia","ya","Ca","Ma","Sa","$a","xa","ka","La","za","Da","Ta","slot","responsive","breakpoints","sm","maxWidth","hide","show","md","permanent","flex","alignment","commandId","variant","orientation","visibilityDependsOn","itemIds","Ga","specs","register","registerAll","buildToolbars","structuredClone","toolbarSlot","i18nKey","labelKey","Oa","after","before","Aa","annotate","shapes","insert","form","redact","Ra","handler","action","Ea","zoom","initial","Ua","toolbar","enabledModes","schema","operationRegistry","customOperations","extend","toolbars","Object","assign","menus","sidebars","modals","selectionMenus","activateDefaultMode","closeToolbarSlot","getPluginConfig","locked","None","active","state","Y","plugins","setActiveToolbar","Include","commands","initialDocuments","R","E","U","marquee","toleranceFactor","minSelectionDragDistance","_","F","q","W","loadDefaultStampLibrary","manifests","H","B","j","X","_f","uiSchema","Va","cb","DEFAULT_STYLES","SUBTYPE","PdfAnnotationSubtype","offsetRectsDown","rects","dy","unionRects","minX","Infinity","minY","maxX","maxY","t$1","a$1","e2","t2","s2","s3","t3","n$1","e3","r$1","a2","r2","n22","e4","s$1","a3","l2","_ChapterManagerPlugin$1","_ChapterManagerPlugin","BasePlugin","createBehaviorEmitter","createEmitter","DocumentManagerPlugin","docState","evt","tick","visible","manifest2","issues","e$1","prevIds","nextIds","oldId","prefetch","count","visibleChapters","idx","loc","orderedIds","neededIdx","cid","needed","firstVisible","timeout","existing","chapter","currentStatus","promise","src","loader","cachedPwd","payload","cap","openTask","check","unsub","_message","PdfErrorCode","attempt","err","errorMsg","ChapterManagerPlugin$1","n2","_ChapterManagerPlugin2","_ChapterManagerPlugin22","ChapterManagerPlugin","_ChapterScrollPlugin","coreDoc","ch","dm","el","sizes","pdfY","total","maxW","changed","prev","anchorIdx","oldOffset","delta","pdfDoc","owned","page","onScroll","ro","viewportEnd","start","end","pageTop","maxOverlapIdx","maxOverlap","pageBottom","overlap","lo","hi","ans","mid","last","options","targetTop","cssSize","pdfPage","absoluteTop","ChapterScrollPlugin","markerAnchorFromRects","verticalOverlapRatio","topA","bottomA","topB","bottomB","union","anchorsMatch","rectsA","rectsB","mb","rb","scrollToBookmarkAnchor","scroll","timeoutMs","found","timer","layout","_ParagraphBookmarkPlugin","input","patch","entry","pdfMarkerYFromBookmarkAnchor","STATUS_LABEL","idle","loading","loaded","closed","ChapterTreeList","nodes","depth","activeChapterId","onSelect","listStyle","marginLeft","node","jsx","ChapterTreeItem","hasChildren","expanded","setExpanded","useState","isActive","isLeaf","jsxs","toggleBtnStyle","itemBtnStyle","textOverflow","whiteSpace","flexWrap","startPage","endPage","asideStyle","flexDirection","headingStyle","borderBottom","navStyle","overflowY","engine","editorOptions","viewportClassName","querySelector","container","getScale","setScale","minZoom","maxZoom","ctrlKey","metaKey","preventDefault","deltaY","pointerId","pluginsReady","transformOrigin","tree","onActiveChapterChange","useCapability","setChapterStatus","syncStatus","useCallback","next","walk","useEffect","annotation","selection","annotationScope","selectionScope","toolId","tool","resolveStyle","formatted","LockModeType","sel","uuidV4","PdfBlendMode","virtualPage"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../editor-engine/dist/react/index.js","../../editor-engine/dist/index.js","../../chapter-viewer/dist/index.js","../../plugin-paragraph-bookmark/dist/index.js","../../plugin-chapter-manager/dist/index.js","../../plugin-chapter-scroll/dist/index.js","../src/ChapterTreePanel.tsx","../../chapter-core/dist/index.js"],"sourcesContent":["import{jsx as t,jsxs as e,Fragment as a}from\"react/jsx-runtime\";import{useRef as s,useState as i,useEffect as r,useMemo as o,useCallback as n}from\"react\";import{useCapability as h,useDocumentState as l,useRegistry as d,EmbedPDF as c}from\"@embedpdf/core/react\";import{GlobalPointerProvider as u,PagePointerProvider as p}from\"@embedpdf/plugin-interaction-manager/react\";import{Rotate as g}from\"@embedpdf/plugin-rotate/react\";import{SelectionLayer as f}from\"@embedpdf/plugin-selection/react\";import{glyphAt as m,expandToLineBoundary as v,rectsWithinSlice as b,SelectionPlugin as P,SelectionPluginPackage as w}from\"@embedpdf/plugin-selection\";import{AnnotationLayer as I}from\"@embedpdf/plugin-annotation/react\";import{RedactionLayer as y}from\"@embedpdf/plugin-redaction/react\";import{BasePlugin as C,createBehaviorEmitter as M,createEmitter as S,setDefaultScale as x,setScale as $,createPluginRegistration as k}from\"@embedpdf/core\";import{PdfErrorCode as L,PdfAnnotationSubtype as z,uuidV4 as D,PdfBlendMode as T}from\"@embedpdf/models\";import{DocumentManagerPlugin as G,DocumentManagerPluginPackage as O}from\"@embedpdf/plugin-document-manager\";import{RenderLayer as A}from\"@embedpdf/plugin-render/react\";import\"@embedpdf/plugin-tiling/react\";import{LockModeType as N,AnnotationPlugin as V,ANNOTATION_PLUGIN_ID as R,AnnotationPluginPackage as E}from\"@embedpdf/plugin-annotation\";import{InteractionManagerPluginPackage as U}from\"@embedpdf/plugin-interaction-manager\";import{RenderPluginPackage as _}from\"@embedpdf/plugin-render\";import{RotatePluginPackage as F}from\"@embedpdf/plugin-rotate\";import{HistoryPluginPackage as q}from\"@embedpdf/plugin-history\";import{RedactionPluginPackage as W}from\"@embedpdf/plugin-redaction\";import{FormPluginPackage as H}from\"@embedpdf/plugin-form\";import{StampPluginPackage as B}from\"@embedpdf/plugin-stamp\";import{SignaturePluginPackage as j}from\"@embedpdf/plugin-signature\";import{CommandsPluginPackage as Z}from\"@embedpdf/plugin-commands\";import{I18nPluginPackage as Y}from\"@embedpdf/plugin-i18n\";import{isToolbarOpen as X,UIPluginPackage as K}from\"@embedpdf/plugin-ui\";const Q={kind:\"first-wins\"};function J(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let tt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function et(t,e=Q){const a=function(t,e=Q){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,J(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new tt(r)}const at=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Q,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Q,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=et(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};at.id=\"chapter-manager\";let st=at;const it=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(st.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};it.id=\"chapter-scroll\";let rt=it;function ot({item:e,renderPage:a,renderPlaceholder:s}){const n=function(t,e){const a=l(t),s=o(()=>!(!a||\"loaded\"!==a.status||!a.document)&&Boolean(a.document.pages[e]),[a,e]),[n,h]=i(s);return r(()=>{h(s)},[s]),r(()=>{if(s)return;if(!a||\"loaded\"!==a.status||!a.document)return;let t=!1,i=0;const r=()=>{var s;t||((null==(s=a.document)?void 0:s.pages[e])?h(!0):++i<120&&requestAnimationFrame(r))};return requestAnimationFrame(r),()=>{t=!0}},[a,e,s]),n}(e.chapterId,e.localPageIndex);/* @__PURE__ */\nreturn t(\"div\",{\"data-global-page-index\":e.globalPageIndex,\"data-chapter-id\":e.chapterId,\"data-local-page-index\":e.localPageIndex,style:{position:\"absolute\",top:`${e.offsetTop}px`,left:\"50%\",transform:\"translateX(-50%)\",width:`${e.width}px`,height:`${e.height}px`,backgroundColor:n?\"#fff\":\"#f3f4f6\",boxShadow:\"0 1px 4px rgba(0,0,0,0.08)\"},children:n?a(e):(null==s?void 0:s(e))??/* @__PURE__ */t(\"div\",{style:{display:\"flex\",width:\"100%\",height:\"100%\",alignItems:\"center\",justifyContent:\"center\",color:\"#9ca3af\",fontSize:\"12px\"},children:\"Loading chapter…\"})})}function nt({renderPage:e,renderPlaceholder:a,className:o,style:n,...l}){const{provides:d}=h(rt.id),{provides:c}=h(G.id),u=s(null),[p,g]=i(null);r(()=>{if(!d)return;const t=u.current;d.registerViewport(t);const e=t=>g(t),a=d.onLayoutChange(e),s=null==c?void 0:c.onDocumentOpened(()=>e(d.getLayout())),i=null==c?void 0:c.onDocumentClosed(()=>e(d.getLayout()));return()=>{a(),null==s||s(),null==i||i(),d.registerViewport(null)}},[d,c]);const f=(null==p?void 0:p.totalHeight)??0,m=(null==p?void 0:p.totalWidth)??0;/* @__PURE__ */\nreturn t(\"div\",{...l,ref:u,\"data-chapter-scroll-viewport\":\"\",className:o,style:{overflow:\"auto\",position:\"relative\",width:\"100%\",height:\"100%\",...n},children:/* @__PURE__ */t(\"div\",{style:{position:\"relative\",width:`${m}px`,height:`${f}px`,margin:\"0 auto\"},children:null==p?void 0:p.items.map(s=>/* @__PURE__ */t(ot,{item:s,renderPage:e,renderPlaceholder:a},s.globalPageIndex))})})}function ht({chapterId:e,localPageIndex:a,scale:s,dpr:i,className:r}){return t(A,{documentId:e,pageIndex:a,scale:s,dpr:i,className:r,style:{pointerEvents:\"none\"}})}const lt={kind:\"first-wins\"};function dt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let ct=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function ut(t,e=lt){const a=function(t,e=lt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,dt(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ct(r)}const pt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=lt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??lt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=ut(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};pt.id=\"chapter-manager\";let gt=pt;const ft={kind:\"first-wins\"};function mt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let vt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function bt(t,e=ft){const a=function(t,e=ft){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,mt(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new vt(r)}const Pt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=ft,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ft,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=bt(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Pt.id=\"chapter-manager\";let wt=Pt;const It=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(wt.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};It.id=\"chapter-scroll\";let yt=It;const Ct=class t extends C{constructor(t,e){super(t,e),this.notesChange$=M([]),this.noteActivated$=S(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(yt.id),this.chapterManager=this.registry.getPlugin(gt.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(e){if(this.config=e,e.callbacks.loadNotes)try{const t=await e.callbacks.loadNotes();for(const e of t)this.notes.set(e.noteId,e);this.notesChange$.emit(this.listAll())}catch(a){this.logger.error(t.id,\"LoadNotes\",\"Failed to load notes\",a)}}buildCapability(){return{createNoteFromSelection:t=>this.createNoteFromSelection(t),requestCreateFromSelection:t=>this.requestCreateFromSelection(t),registerNote:t=>this.registerNote(t),listNotesForPage:(t,e)=>this.listAll().filter(a=>a.chapterId===t&&a.localPageIndex===e),listAllNotes:()=>this.listAll(),getNote:t=>this.notes.get(t)??null,deleteNote:t=>this.deleteNote(t),updateNoteContent:(t,e)=>this.updateNoteContent(t,e),scrollToNote:t=>this.scrollToNote(t),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(t){this.notes.set(t.noteId,t),this.notesChange$.emit(this.listAll())}requestEdit(t){const e=this.notes.get(t);e&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(t,e):this.activateNote(t))}activateNote(t){var e,a;const s=this.notes.get(t);s&&(null==(a=(e=this.config.callbacks).onActivateNote)||a.call(e,t,s),this.noteActivated$.emit({noteId:t,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(t){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageNumber:t.globalPageNumber,globalPageIndex:t.globalPageIndex,rectsPdfCoord:t.rectsPdfCoord,endAnchor:St(t.rectsPdfCoord),selectedText:t.selectedText,content:t.content}}async requestCreateFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:e,complete:async t=>{const a={...e,noteId:t};this.registerNote(a)}}),null):this.createNoteFromSelection(t)}async createNoteFromSelection(e){if(0===e.rectsPdfCoord.length)return null;const a=this.buildDraft(e),s=this.config.callbacks.onCreateNote;if(!s)return this.logger.error(t.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await s(a)}catch(o){return this.logger.error(t.id,\"OnCreateNote\",\"Callback failed\",o),null}if(!i)return null;const r={...a,noteId:i.noteId};return this.registerNote(r),r}async deleteNote(e){var a,s;if(this.notes.has(e)){try{await(null==(s=(a=this.config.callbacks).onDeleteNote)?void 0:s.call(a,e))}catch(i){return void this.logger.error(t.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(e),this.notesChange$.emit(this.listAll())}}async updateNoteContent(e,a){var s,i;const r=this.notes.get(e);if(!r)return;const o={...r,content:a};try{await(null==(i=(s=this.config.callbacks).onUpdateNote)?void 0:i.call(s,o))}catch(n){return void this.logger.error(t.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(e,o),this.notesChange$.emit(this.listAll())}async scrollToNote(t){var e;const a=this.notes.get(t);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(e=this.documentManager.provides().getDocument(a.chapterId))?void 0:e.pages[a.localPageIndex])?(s.scrollToGlobalPageIndex(a.globalPageIndex),await this.waitForPageInLayout(a.globalPageIndex),s.scrollToGlobalPdfPoint(a.globalPageIndex,a.endAnchor.y,{marginTop:80})):s.scrollToGlobalPageIndex(a.globalPageIndex)}waitForPageInLayout(t){const e=this.chapterScroll.provides(),a=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=e.onLayoutChange(e=>{const r=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);r&&(clearTimeout(s),i(),a(r))})})}};Ct.id=\"note\";let Mt=Ct;function St(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function xt({chapterId:a,localPageIndex:s,pdfPageWidth:o,pdfPageHeight:n,cssPageWidth:h,cssPageHeight:l,color:c=\"#f59e0b\",ui:u,className:p,style:g}){const{plugin:f}=(()=>{const{registry:t}=d();if(null===t)return{plugin:null,isLoading:!0,ready:new Promise(()=>{})};const e=t.getPlugin(Mt.id);return{plugin:e,isLoading:!1,ready:(null==e?void 0:e.ready())??Promise.resolve()}})(),{provides:m}=(()=>{const{registry:t}=d();if(null===t)return{provides:null,isLoading:!0,ready:new Promise(()=>{})};const e=t.getPlugin(Mt.id);return(null==e?void 0:e.provides)?{provides:e.provides(),isLoading:!1,ready:e.ready()}:{provides:null,isLoading:!1,ready:Promise.resolve()}})(),[v,b]=i([]),[P,w]=i(null),[I,y]=i(null);if(r(()=>{if(m)return m.onNotesChange(t=>{b(t.filter(t=>t.chapterId===a&&t.localPageIndex===s))})},[m,a,s]),r(()=>{if(!I)return;const t=t=>{var e;const a=t.target;(null==(e=a.closest)?void 0:e.call(a,`[data-note-marker-zone=\"${I}\"]`))||(y(null),w(null))};return document.addEventListener(\"mousedown\",t),()=>document.removeEventListener(\"mousedown\",t)},[I]),!m||0===v.length||!o||!n)return null;const C=h/o,M=l/n,S=(null==u?void 0:u.iconSize)??16,x=(null==u?void 0:u.highlightColor)??\"rgba(245, 158, 11, 0.08)\";/* @__PURE__ */\nreturn t(\"div\",{className:p,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",zIndex:25,...g},children:v.map(a=>{const s=P===a.noteId,i=I===a.noteId,r=s||i,{left:o,top:n}=function(t){const{markerPdf:e,lineRects:a,sx:s,sy:i,cssPageWidth:r,iconSize:o,gapPx:n=6}=t,h=(null==a?void 0:a.length)?a[a.length-1]:void 0;let l,d;h?(l=(h.origin.x+h.size.width)*s+n,d=h.origin.y*i+(h.size.height*i-o)/2):(l=e.x*s-o/2,d=e.y*i-o-n);const c=Math.max(0,r-o-2);return l>c&&(l=c),d<0&&(d=0),{left:l,top:d}}({markerPdf:a.endAnchor,lineRects:a.rectsPdfCoord,sx:C,sy:M,cssPageWidth:h,iconSize:S}),l=function(t,e,a){let s=1/0,i=1/0,r=-1/0,o=-1/0;for(const n of t)s=Math.min(s,n.origin.x*e),i=Math.min(i,n.origin.y*a),r=Math.max(r,(n.origin.x+n.size.width)*e),o=Math.max(o,(n.origin.y+n.size.height)*a);return{left:s,top:i,width:r-s,height:o-i}}(a.rectsPdfCoord,C,M),d=i?72:0,p=Math.max(0,Math.min(l.left,o)-8),g=Math.max(0,Math.min(l.top,n)-8),v=Math.min(h,Math.max(l.left+l.width,o+S)+8)-p,b=Math.max(l.top+l.height,n+S+6+d)+8-g;/* @__PURE__ */\nreturn e(\"div\",{children:[a.rectsPdfCoord.map((e,s)=>/* @__PURE__ */t(\"div\",{style:{position:\"absolute\",left:e.origin.x*C+\"px\",top:e.origin.y*M+\"px\",width:e.size.width*C+\"px\",height:e.size.height*M+\"px\",background:x,borderRadius:\"2px\",pointerEvents:\"auto\",cursor:\"default\"},onMouseEnter:()=>w(a.noteId)},`${a.noteId}-bg-${s}`)),r&&/* @__PURE__ */e(\"div\",{\"data-note-marker-zone\":a.noteId,style:{position:\"absolute\",left:`${p}px`,top:`${g}px`,width:`${v}px`,height:`${b}px`,pointerEvents:\"auto\",zIndex:26},onMouseEnter:()=>w(a.noteId),onMouseLeave:()=>{I!==a.noteId&&w(null)},children:[(null==u?void 0:u.renderIcon)?/* @__PURE__ */t(\"div\",{role:\"button\",tabIndex:0,title:\"笔记\",\"aria-label\":\"笔记\",onMouseDown:t=>t.stopPropagation(),onClick:t=>{t.stopPropagation(),y(t=>t===a.noteId?null:a.noteId)},style:{position:\"absolute\",left:o-p+\"px\",top:n-g+\"px\",width:`${S}px`,height:`${S}px`,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",padding:0},children:u.renderIcon({note:a})}):/* @__PURE__ */t(\"button\",{type:\"button\",title:\"笔记\",onMouseDown:t=>t.stopPropagation(),onClick:t=>{t.stopPropagation(),y(t=>t===a.noteId?null:a.noteId)},style:{position:\"absolute\",left:o-p+\"px\",top:n-g+\"px\",width:`${S}px`,height:`${S}px`,border:\"none\",borderRadius:\"50%\",background:c,color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 6px rgba(0,0,0,0.2)\",padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:\"11px\",lineHeight:1},\"aria-label\":\"笔记\",children:\"💬\"}),i&&((null==u?void 0:u.renderMenuActions)?/* @__PURE__ */t(\"div\",{style:{position:\"absolute\",left:o-p+S/2+\"px\",top:`${n-g+S+6}px`,transform:\"translateX(-50%)\",zIndex:30,pointerEvents:\"auto\"},onMouseDown:t=>t.stopPropagation(),children:u.renderMenuActions({note:a,onEdit:()=>{y(null),w(null),null==f||f.requestEdit(a.noteId)},onDelete:()=>{y(null),w(null),m.deleteNote(a.noteId)}})}):/* @__PURE__ */e(\"div\",{style:{position:\"absolute\",left:o-p+S/2+\"px\",top:`${n-g+S+6}px`,transform:\"translateX(-50%)\",zIndex:30,pointerEvents:\"auto\",minWidth:\"80px\",padding:\"4px\",borderRadius:\"6px\",background:\"#fff\",border:\"1px solid #e5e7eb\",boxShadow:\"0 4px 12px rgba(0,0,0,0.12)\"},onMouseDown:t=>t.stopPropagation(),children:[\n/* @__PURE__ */t(\"button\",{type:\"button\",style:$t,onClick:t=>{t.stopPropagation(),y(null),w(null),null==f||f.requestEdit(a.noteId)},children:\"编辑\"}),\n/* @__PURE__ */t(\"button\",{type:\"button\",style:{...$t,color:\"#dc2626\"},onClick:t=>{t.stopPropagation(),y(null),w(null),m.deleteNote(a.noteId)},children:\"删除\"})]}))]})]},a.noteId)})})}const $t={display:\"block\",width:\"100%\",padding:\"6px 10px\",fontSize:\"12px\",border:\"none\",borderRadius:\"4px\",background:\"transparent\",color:\"#334155\",cursor:\"pointer\",textAlign:\"left\"};const kt={kind:\"first-wins\"};function Lt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let zt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function Dt(t,e=kt){const a=function(t,e=kt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Lt(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new zt(r)}const Tt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=kt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??kt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Dt(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Tt.id=\"chapter-manager\";let Gt=Tt;const Ot={kind:\"first-wins\"};function At(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let Nt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function Vt(t,e=Ot){const a=function(t,e=Ot){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,At(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new Nt(r)}const Rt=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Ot,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Ot,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Vt(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Rt.id=\"chapter-manager\";let Et=Rt;const Ut=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(Et.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Ut.id=\"chapter-scroll\";let _t=Ut;function Ft(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function qt(t,e){const a=t.origin.y,s=t.origin.y+t.size.height,i=e.origin.y,r=e.origin.y+e.size.height,o=Math.max(s,r)-Math.min(a,i);if(o<=0)return 0;return Math.max(0,Math.min(s,r)-Math.max(a,i))/o}function Wt(t,e){var a,s;if(t.chapterId!==e.chapterId||t.localPageIndex!==e.localPageIndex)return!1;const i=(null==(a=t.rectsPdfCoord)?void 0:a.length)?t.rectsPdfCoord:[t.rectPdfCoord],r=(null==(s=e.rectsPdfCoord)?void 0:s.length)?e.rectsPdfCoord:[e.rectPdfCoord],o=t.markerAnchor??Ft(i),n=e.markerAnchor??Ft(r);if(Math.hypot(o.x-n.x,o.y-n.y)<=6)return!0;for(const h of i)for(const t of r){if(qt(h,t)<.5)continue;const e=Math.max(h.origin.x,t.origin.x);if(Math.min(h.origin.x+h.size.width,t.origin.x+t.size.width)-e>.25*Math.min(h.size.width,t.size.width))return!0}return!1}async function Ht(t,e,a){t.scrollToGlobalPageIndex(e),await function(t,e,a=2500){const s=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{r(),s(null)},a),r=t.onLayoutChange(t=>{const a=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);a&&(clearTimeout(i),r(),s(a))})})}(t,e),t.scrollToGlobalPdfPoint(e,a,{marginTop:80})}const Bt=class t extends C{constructor(t,e){super(t,e),this.change$=M([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(_t.id),this.chapterManager=this.registry.getPlugin(Gt.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(e){var a;if(this.config=e,null==(a=e.callbacks)?void 0:a.load)try{const t=await e.callbacks.load();for(const e of t)this.entries.set(e.id,e);this.change$.emit(this.list())}catch(s){this.logger.error(t.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:t=>this.addBookmark(t),removeBookmark:t=>this.removeBookmark(t),updateBookmark:(t,e)=>this.updateBookmark(t,e),listBookmarks:()=>this.list(),getBookmark:t=>this.entries.get(t)??null,scrollToBookmark:t=>this.scrollToBookmark(t),requestRemoveBookmark:t=>this.requestRemoveBookmark(t),onBookmarksChange:this.change$.on}}addBookmark(t){for(const s of this.entries.values())if(Wt(s.anchor,t.anchor))return s;const e=t.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:e,label:t.label,anchor:t.anchor,metadata:t.metadata,createdAt:Date.now()};return this.entries.set(e,a),this.notifyAndPersist(),a}removeBookmark(t){var e,a,s;this.entries.delete(t)&&(this.notifyAndPersist(),null==(s=null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,t))}async requestRemoveBookmark(e){var a,s;const i=this.entries.get(e);if(!i)return!1;const r=null==(s=null==(a=this.config)?void 0:a.callbacks)?void 0:s.onRequestRemove;if(r)try{if(!(await r(i)))return!1}catch(o){return this.logger.error(t.id,\"RequestRemove\",\"callback failed\",o),!1}return this.removeBookmark(e),!0}updateBookmark(t,e){const a=this.entries.get(t);a&&(this.entries.set(t,{...a,...e}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((t,e)=>t.createdAt-e.createdAt)}notifyAndPersist(){var e,a;const s=this.list();this.change$.emit(s),(null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(e=>this.logger.error(t.id,\"Persist\",\"persist callback rejected\",e))}async scrollToBookmark(t){const e=this.entries.get(t);if(!e)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(e.anchor.chapterId);let s=e.anchor.globalPageIndex;if(void 0===s){const t=this.chapterManager.provides().getVirtualPageMap().toGlobal(e.anchor.chapterId,e.anchor.localPageIndex);if(!t)return;s=t.globalPageIndex}const i=function(t){if(t.markerAnchor)return t.markerAnchor.y;const e=t.rectPdfCoord;return e.origin.y+e.size.height}(e.anchor);await Ht(a,s,i)}};Bt.id=\"paragraph-bookmark\";let jt=Bt;function Zt({chapterId:a,localPageIndex:o,pdfPageWidth:n,pdfPageHeight:l,cssPageWidth:d,cssPageHeight:c,onBookmarkClick:u,ui:p,className:g,style:f}){const{provides:m}=h(jt.id),[v,b]=i([]),[P,w]=i(null),I=s(null);if(r(()=>{if(!m)return;const t=()=>{b(m.listBookmarks().filter(t=>t.anchor.chapterId===a&&t.anchor.localPageIndex===o))};return t(),m.onBookmarksChange(t)},[m,a,o]),r(()=>{if(!P)return;const t=t=>{var e;(null==(e=I.current)?void 0:e.contains(t.target))||w(null)};return document.addEventListener(\"mousedown\",t),()=>document.removeEventListener(\"mousedown\",t)},[P]),!m||0===v.length||!n||!l)return null;const y=d/n,C=c/l,M=(null==p?void 0:p.iconSize)??16;/* @__PURE__ */\nreturn t(\"div\",{className:g,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",...f},children:v.map(a=>{var s;const i=(null==(s=a.anchor.rectsPdfCoord)?void 0:s.length)?a.anchor.rectsPdfCoord:[a.anchor.rectPdfCoord],r=a.anchor.markerAnchor??{x:a.anchor.rectPdfCoord.origin.x+a.anchor.rectPdfCoord.size.width,y:a.anchor.rectPdfCoord.origin.y+a.anchor.rectPdfCoord.size.height},{left:o,top:n}=function(t){const{markerPdf:e,lineRects:a,sx:s,sy:i,cssPageWidth:r,iconSize:o,gapPx:n=6}=t,h=(null==a?void 0:a.length)?a[a.length-1]:void 0;let l,d;h?(l=(h.origin.x+h.size.width)*s+n,d=h.origin.y*i+(h.size.height*i-o)/2):(l=e.x*s-o/2,d=e.y*i-o-n);const c=Math.max(0,r-o-2);return l>c&&(l=c),d<0&&(d=0),{left:l,top:d}}({markerPdf:r,lineRects:i,sx:y,sy:C,cssPageWidth:d,iconSize:M}),h=Math.max(0,o-6),l=Math.max(0,n-6);/* @__PURE__ */\nreturn e(\"div\",{style:{position:\"absolute\",left:`${h}px`,top:`${l}px`,width:`${M+12}px`,height:`${M+12}px`,pointerEvents:\"auto\",zIndex:20},onMouseDown:t=>t.stopPropagation(),children:[(null==p?void 0:p.renderIcon)?/* @__PURE__ */t(\"div\",{role:\"button\",tabIndex:0,title:a.label,\"aria-label\":`bookmark ${a.label}`,style:{position:\"absolute\",left:\"6px\",top:\"6px\",width:`${M}px`,height:`${M}px`,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",padding:0},onClick:t=>{t.stopPropagation(),w(t=>t===a.id?null:a.id),null==u||u(a)},children:p.renderIcon({bookmark:a})}):/* @__PURE__ */t(\"button\",{type:\"button\",title:a.label,onClick:t=>{t.stopPropagation(),w(t=>t===a.id?null:a.id),null==u||u(a)},style:{position:\"absolute\",left:\"6px\",top:\"6px\",width:`${M}px`,height:`${M}px`,border:\"none\",borderRadius:\"4px\",background:\"#3b82f6\",color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 6px rgba(37, 99, 235, 0.35)\",padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:\"11px\",lineHeight:1},\"aria-label\":`bookmark ${a.label}`,children:\"🔖\"}),P===a.id&&/* @__PURE__ */t(\"div\",{ref:I,style:{position:\"absolute\",left:\"6px\",top:\"-36px\",zIndex:30,pointerEvents:\"auto\",minWidth:\"88px\",padding:\"4px\",borderRadius:\"6px\",background:\"#fff\",border:\"1px solid #e5e7eb\",boxShadow:\"0 4px 12px rgba(0,0,0,0.12)\"},onClick:t=>t.stopPropagation(),children:/* @__PURE__ */t(\"button\",{type:\"button\",style:{width:\"100%\",padding:\"6px 8px\",fontSize:\"12px\",border:\"none\",borderRadius:\"4px\",background:\"transparent\",color:\"#dc2626\",cursor:\"pointer\",textAlign:\"left\"},onClick:()=>{m.requestRemoveBookmark(a.id).then(t=>{t&&w(null)})},children:\"删除书签\"})})]},a.id)})})}function Yt(t){return t.chapterId}function Xt(t,e){t.wait(e,()=>{})}function Kt(t,e,a){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageIndex:t.globalPageIndex,globalPageNumber:t.globalPageNumber,rectsPdfCoord:e,selectedText:a}}const Qt=\"note\",Jt={id:Qt,name:\"Note Plugin\",version:\"0.1.0\",provides:[\"note\"],requires:[\"selection\",\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{callbacks:{onCreateNote:async()=>null,onActivateNote:()=>{}},markerSize:18}};const te={kind:\"first-wins\"};function ee(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let ae=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function se(t,e=te){const a=function(t,e=te){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,ee(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ae(r)}const ie=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=te,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??te,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=se(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ie.id=\"chapter-manager\";let re=ie;const oe={kind:\"first-wins\"};function ne(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let he=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function le(t,e=oe){const a=function(t,e=oe){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,ne(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new he(r)}const de=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=oe,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??oe,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=le(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};de.id=\"chapter-manager\";let ce=de;const ue=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(ce.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};ue.id=\"chapter-scroll\";let pe=ue;const ge=class t extends C{constructor(t,e){super(t,e),this.notesChange$=M([]),this.noteActivated$=S(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(pe.id),this.chapterManager=this.registry.getPlugin(re.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(e){if(this.config=e,e.callbacks.loadNotes)try{const t=await e.callbacks.loadNotes();for(const e of t)this.notes.set(e.noteId,e);this.notesChange$.emit(this.listAll())}catch(a){this.logger.error(t.id,\"LoadNotes\",\"Failed to load notes\",a)}}buildCapability(){return{createNoteFromSelection:t=>this.createNoteFromSelection(t),requestCreateFromSelection:t=>this.requestCreateFromSelection(t),registerNote:t=>this.registerNote(t),listNotesForPage:(t,e)=>this.listAll().filter(a=>a.chapterId===t&&a.localPageIndex===e),listAllNotes:()=>this.listAll(),getNote:t=>this.notes.get(t)??null,deleteNote:t=>this.deleteNote(t),updateNoteContent:(t,e)=>this.updateNoteContent(t,e),scrollToNote:t=>this.scrollToNote(t),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(t){this.notes.set(t.noteId,t),this.notesChange$.emit(this.listAll())}requestEdit(t){const e=this.notes.get(t);e&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(t,e):this.activateNote(t))}activateNote(t){var e,a;const s=this.notes.get(t);s&&(null==(a=(e=this.config.callbacks).onActivateNote)||a.call(e,t,s),this.noteActivated$.emit({noteId:t,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(t){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageNumber:t.globalPageNumber,globalPageIndex:t.globalPageIndex,rectsPdfCoord:t.rectsPdfCoord,endAnchor:me(t.rectsPdfCoord),selectedText:t.selectedText,content:t.content}}async requestCreateFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:e,complete:async t=>{const a={...e,noteId:t};this.registerNote(a)}}),null):this.createNoteFromSelection(t)}async createNoteFromSelection(e){if(0===e.rectsPdfCoord.length)return null;const a=this.buildDraft(e),s=this.config.callbacks.onCreateNote;if(!s)return this.logger.error(t.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await s(a)}catch(o){return this.logger.error(t.id,\"OnCreateNote\",\"Callback failed\",o),null}if(!i)return null;const r={...a,noteId:i.noteId};return this.registerNote(r),r}async deleteNote(e){var a,s;if(this.notes.has(e)){try{await(null==(s=(a=this.config.callbacks).onDeleteNote)?void 0:s.call(a,e))}catch(i){return void this.logger.error(t.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(e),this.notesChange$.emit(this.listAll())}}async updateNoteContent(e,a){var s,i;const r=this.notes.get(e);if(!r)return;const o={...r,content:a};try{await(null==(i=(s=this.config.callbacks).onUpdateNote)?void 0:i.call(s,o))}catch(n){return void this.logger.error(t.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(e,o),this.notesChange$.emit(this.listAll())}async scrollToNote(t){var e;const a=this.notes.get(t);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(e=this.documentManager.provides().getDocument(a.chapterId))?void 0:e.pages[a.localPageIndex])?(s.scrollToGlobalPageIndex(a.globalPageIndex),await this.waitForPageInLayout(a.globalPageIndex),s.scrollToGlobalPdfPoint(a.globalPageIndex,a.endAnchor.y,{marginTop:80})):s.scrollToGlobalPageIndex(a.globalPageIndex)}waitForPageInLayout(t){const e=this.chapterScroll.provides(),a=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=e.onLayoutChange(e=>{const r=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);r&&(clearTimeout(s),i(),a(r))})})}};ge.id=\"note\";let fe=ge;function me(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}const ve={manifest:Jt,create:t=>new fe(Qt,t),reducer:t=>t,initialState:{}},be=\"paragraph-bookmark\",Pe={id:be,name:\"Paragraph Bookmark Plugin\",version:\"0.1.0\",provides:[\"paragraph-bookmark\"],requires:[\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{}};const we={kind:\"first-wins\"};function Ie(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let ye=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function Ce(t,e=we){const a=function(t,e=we){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Ie(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ye(r)}const Me=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=we,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??we,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Ce(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Me.id=\"chapter-manager\";let Se=Me;const xe={kind:\"first-wins\"};function $e(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class ke{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function Le(t,e=xe){const a=function(t,e=xe){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,$e(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ke(r)}const ze=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=xe,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??xe,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Le(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ze.id=\"chapter-manager\";let De=ze;const Te=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(De.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Te.id=\"chapter-scroll\";let Ge=Te;function Oe(t){if(0===t.length)throw new Error(\"unionRects: empty rects\");let e=1/0,a=1/0,s=-1/0,i=-1/0;for(const r of t)e=Math.min(e,r.origin.x),a=Math.min(a,r.origin.y),s=Math.max(s,r.origin.x+r.size.width),i=Math.max(i,r.origin.y+r.size.height);return{origin:{x:e,y:a},size:{width:s-e,height:i-a}}}function Ae(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function Ne(t,e){const a=t.origin.y,s=t.origin.y+t.size.height,i=e.origin.y,r=e.origin.y+e.size.height,o=Math.max(s,r)-Math.min(a,i);if(o<=0)return 0;return Math.max(0,Math.min(s,r)-Math.max(a,i))/o}function Ve(t,e){var a,s;if(t.chapterId!==e.chapterId||t.localPageIndex!==e.localPageIndex)return!1;const i=(null==(a=t.rectsPdfCoord)?void 0:a.length)?t.rectsPdfCoord:[t.rectPdfCoord],r=(null==(s=e.rectsPdfCoord)?void 0:s.length)?e.rectsPdfCoord:[e.rectPdfCoord],o=t.markerAnchor??Ae(i),n=e.markerAnchor??Ae(r);if(Math.hypot(o.x-n.x,o.y-n.y)<=6)return!0;for(const h of i)for(const t of r){if(Ne(h,t)<.5)continue;const e=Math.max(h.origin.x,t.origin.x);if(Math.min(h.origin.x+h.size.width,t.origin.x+t.size.width)-e>.25*Math.min(h.size.width,t.size.width))return!0}return!1}async function Re(t,e,a){t.scrollToGlobalPageIndex(e),await function(t,e,a=2500){const s=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{r(),s(null)},a),r=t.onLayoutChange(t=>{const a=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);a&&(clearTimeout(i),r(),s(a))})})}(t,e),t.scrollToGlobalPdfPoint(e,a,{marginTop:80})}const Ee=class t extends C{constructor(t,e){super(t,e),this.change$=M([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(Ge.id),this.chapterManager=this.registry.getPlugin(Se.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(e){var a;if(this.config=e,null==(a=e.callbacks)?void 0:a.load)try{const t=await e.callbacks.load();for(const e of t)this.entries.set(e.id,e);this.change$.emit(this.list())}catch(s){this.logger.error(t.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:t=>this.addBookmark(t),removeBookmark:t=>this.removeBookmark(t),updateBookmark:(t,e)=>this.updateBookmark(t,e),listBookmarks:()=>this.list(),getBookmark:t=>this.entries.get(t)??null,scrollToBookmark:t=>this.scrollToBookmark(t),requestRemoveBookmark:t=>this.requestRemoveBookmark(t),onBookmarksChange:this.change$.on}}addBookmark(t){for(const s of this.entries.values())if(Ve(s.anchor,t.anchor))return s;const e=t.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:e,label:t.label,anchor:t.anchor,metadata:t.metadata,createdAt:Date.now()};return this.entries.set(e,a),this.notifyAndPersist(),a}removeBookmark(t){var e,a,s;this.entries.delete(t)&&(this.notifyAndPersist(),null==(s=null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,t))}async requestRemoveBookmark(e){var a,s;const i=this.entries.get(e);if(!i)return!1;const r=null==(s=null==(a=this.config)?void 0:a.callbacks)?void 0:s.onRequestRemove;if(r)try{if(!(await r(i)))return!1}catch(o){return this.logger.error(t.id,\"RequestRemove\",\"callback failed\",o),!1}return this.removeBookmark(e),!0}updateBookmark(t,e){const a=this.entries.get(t);a&&(this.entries.set(t,{...a,...e}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((t,e)=>t.createdAt-e.createdAt)}notifyAndPersist(){var e,a;const s=this.list();this.change$.emit(s),(null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(e=>this.logger.error(t.id,\"Persist\",\"persist callback rejected\",e))}async scrollToBookmark(t){const e=this.entries.get(t);if(!e)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(e.anchor.chapterId);let s=e.anchor.globalPageIndex;if(void 0===s){const t=this.chapterManager.provides().getVirtualPageMap().toGlobal(e.anchor.chapterId,e.anchor.localPageIndex);if(!t)return;s=t.globalPageIndex}const i=function(t){if(t.markerAnchor)return t.markerAnchor.y;const e=t.rectPdfCoord;return e.origin.y+e.size.height}(e.anchor);await Re(a,s,i)}};Ee.id=\"paragraph-bookmark\";let Ue=Ee;const _e={manifest:Pe,create:t=>new Ue(be,t),reducer:t=>t,initialState:{}};function Fe(t){const{provides:e}=h(G.id);r(()=>{e&&t&&e.isDocumentOpen(t)&&e.setActiveDocument(t)},[e,t])}function qe(){const{registry:t}=d();return!!t?.getPlugin(fe.id)}function We(){const{registry:t}=d();return!!t?.getPlugin(Ue.id)}function He(){const{registry:t}=d();return o(()=>{const e=t?.getPlugin(fe.id)?.provides?.();return e?t=>e.createNoteFromSelection(t):null},[t])}function Be({item:e,pdfPageWidth:a,pdfPageHeight:o,cssPageWidth:l,cssPageHeight:d,hoverUi:c}){const u=Yt(e),{provides:p}=h(P.id),{provides:g}=h(Ue.id),f=s(null),[w,I]=i(null),[y,C]=i(null),[M,S]=i(null),x=c?.iconSize??16;r(()=>{if(!p)return;const t=p.forDocument(u),a=()=>{const a=t.getState().geometry[e.localPageIndex];a&&I(a)},s=t.onSelectionChange(a);let i=!1;const r=()=>{if(!i){try{if(a(),t.getState().geometry[e.localPageIndex])return}catch{}requestAnimationFrame(r)}};return r(),()=>{i=!0,s()}},[p,u,e.localPageIndex]);const $=M??y;r(()=>{if(!w||!a)return;const t=t=>{if(M)return;if(p)try{if(p.forDocument(u).getState().selecting)return void C(null)}catch{}const e=f.current;if(!e)return;const s=e.getBoundingClientRect();if(t.clientX<s.left||t.clientX>s.right||t.clientY<s.top||t.clientY>s.bottom)return void C(null);const i=function(t,e){const a=m(t,e);if(a<0)return null;const s=v(t,a);if(!s)return null;const i=b(t,s.from,s.to);return 0===i.length?null:{lineRects:i,charFrom:s.from,charTo:s.to}}(w,{x:(t.clientX-s.left)/(l/a),y:(t.clientY-s.top)/(d/o)});C(i?.lineRects??null)};return document.addEventListener(\"mousemove\",t),()=>document.removeEventListener(\"mousemove\",t)},[w,a,o,l,d,p,u,M]);const k=$?.length?function(t,e,a,s){const i=a.length>0?a:[];if(0===i.length)throw new Error(\"buildParagraphBookmarkAnchor: no rects\");return{chapterId:t,localPageIndex:e,globalPageIndex:null==s?void 0:s.globalPageIndex,globalPageNumber:null==s?void 0:s.globalPageNumber,rectPdfCoord:Oe(i),rectsPdfCoord:i,markerAnchor:Ae(i)}}(e.chapterId,e.localPageIndex,$,{globalPageIndex:e.globalPageIndex,globalPageNumber:e.globalPageNumber}):null,L=k&&g?.listBookmarks().some(t=>Ve(t.anchor,k)),z=n(()=>{g&&k&&!L&&(g.addBookmark({label:`书签 ${/* @__PURE__ */(new Date).toLocaleTimeString(\"zh-CN\",{hour:\"2-digit\",minute:\"2-digit\"})}`,anchor:k}),C(null),S(null))},[g,k,L]);if(!g||!a||!o)return null;const D=l/a,T=d/o,G=$?.[$.length-1],O=G?Math.min((G.origin.x+G.size.width)*D+6,Math.max(0,l-x-2)):0,A=G?G.origin.y*T+(G.size.height*T-x)/2:0,N=G?Math.max(0,(G.origin.x+G.size.width)*D-4):0,V=G?Math.max(0,G.origin.y*T-4):0;/* @__PURE__ */\nreturn t(\"div\",{ref:f,style:{position:\"absolute\",inset:0,zIndex:14,pointerEvents:\"none\"},children:$&&G&&!L&&/* @__PURE__ */t(\"div\",{style:{position:\"absolute\",left:`${N}px`,top:`${V}px`,width:`${x+20}px`,height:`${G.size.height*T+x+12}px`,pointerEvents:\"auto\"},onMouseEnter:()=>S($),onMouseLeave:()=>S(null),children:c?.renderAddIcon?/* @__PURE__ */t(\"div\",{role:\"button\",tabIndex:0,title:\"添加书签\",onClick:t=>{t.stopPropagation(),z()},style:{position:\"absolute\",left:O-N+\"px\",top:A-V+\"px\",width:x,height:x,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",padding:0},children:c.renderAddIcon()}):/* @__PURE__ */t(\"button\",{type:\"button\",title:\"添加书签\",onClick:t=>{t.stopPropagation(),z()},style:{position:\"absolute\",left:O-N+\"px\",top:A-V+\"px\",width:`${x}px`,height:`${x}px`,border:\"none\",borderRadius:\"4px\",background:\"#3b82f6\",color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 8px rgba(37, 99, 235, 0.45)\",fontSize:\"12px\",lineHeight:1,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:\"🔖\"})})})}const je={position:\"relative\",height:\"100%\",width:\"100%\"},Ze={highlight:{offsetY:0},underline:{offsetY:2.5},squiggly:{offsetY:0},strikeout:{offsetY:0}},Ye={highlight:z.HIGHLIGHT,underline:z.UNDERLINE,squiggly:z.SQUIGGLY,strikeout:z.STRIKEOUT};function Xe(t,e){return 0===e?t:t.map(t=>({origin:{x:t.origin.x,y:t.origin.y+e},size:{...t.size}}))}function Ke(t){let e=1/0,a=1/0,s=-1/0,i=-1/0;for(const r of t)e=Math.min(e,r.origin.x),a=Math.min(a,r.origin.y),s=Math.max(s,r.origin.x+r.size.width),i=Math.max(i,r.origin.y+r.size.height);return{origin:{x:e,y:a},size:{width:s-e,height:i-a}}}function Qe(t,e,a,s,i){const r=a.forDocument(t),o=s.forDocument(t);if(!r||!o)return!1;const n=\"highlight\"===e?\"highlight\":\"underline\"===e?\"underline\":\"squiggly\"===e?\"squiggly\":\"strikeout\",h=a.getTool(n);if(!h)return!1;const l=h.defaults,d=function(t,e){return{...Ze[t],...null==e?void 0:e[t]}}(e,i),c=o.getFormattedSelection();if(0===c.length)return!1;r.setLocked({type:N.Exclude,categories:[\"markup\",\"shape\"]});for(const u of c){const t=D(),a=d.color??l.color??l.strokeColor,s=d.opacity??l.opacity,i=d.thickness??l.strokeWidth,o=d.offsetY??0,n=\"underline\"===e||\"squiggly\"===e||\"strikeout\"===e?Xe(u.segmentRects,o):u.segmentRects,h=\"underline\"===e||\"squiggly\"===e||\"strikeout\"===e?Ke(n):u.rect;r.createAnnotation(u.pageIndex,{id:t,created:/* @__PURE__ */new Date,flags:[\"print\"],type:Ye[e],...\"highlight\"===e?{blendMode:T.Multiply}:{},strokeColor:a,opacity:s,...null!=i?{strokeWidth:i}:{},pageIndex:u.pageIndex,rect:h,segmentRects:n})}return o.clear(),!0}function Je(t,e){const a=t;return!1===t?{...e,enabled:!1}:!0===t||void 0===t?{...e,enabled:e.enabled??!0}:{...e,...a,enabled:!1!==(null==a?void 0:a.enabled)}}function ta(t){const e=Je(null==t?void 0:t.markup,{enabled:!0}),a=Je(null==t?void 0:t.bookmarks,{enabled:!0}),s=Je(null==t?void 0:t.notes,{enabled:!0});return{markup:e,bookmarks:a,notes:s,zoom:Je(null==t?void 0:t.zoom,{enabled:!0,min:.5,max:3,initial:1}),selectionToolbar:Je(void 0===(null==t?void 0:t.selectionToolbar)?!1!==e.enabled||!1!==s.enabled:t.selectionToolbar,{enabled:!0})}}const ea=[{id:\"highlight\",label:\"高亮背景\",icon:/* @__PURE__ */t(ra,{})},{id:\"underline\",label:\"下划线\",icon:/* @__PURE__ */t(oa,{})},{id:\"squiggly\",label:\"波浪线\",icon:/* @__PURE__ */t(na,{})},{id:\"strikeout\",label:\"删除线\",icon:/* @__PURE__ */t(ha,{})},{id:\"note\",label:\"添加笔记\",icon:/* @__PURE__ */t(la,{})}];function aa({placementAbove:s,anchorHeight:i,onAction:r,hiddenBuiltinActions:o=[],extraActions:n=[]}){const h=new Set(o),l=ea.filter(t=>\"note\"!==t.id&&!h.has(t.id)),d=ea.find(t=>\"note\"===t.id),c=d&&!h.has(\"note\"),u=[...n].sort((t,e)=>(t.order??0)-(e.order??0));/* @__PURE__ */\nreturn e(\"div\",{style:{position:\"absolute\",pointerEvents:\"auto\",left:\"50%\",transform:\"translateX(-50%)\",top:s?void 0:i+10,bottom:s?i+10:void 0,display:\"flex\",alignItems:\"center\",gap:2,padding:\"6px 8px\",borderRadius:10,background:\"#ffffff\",border:\"1px solid rgba(15, 23, 42, 0.08)\",boxShadow:\"0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 10px 24px -4px rgba(15, 23, 42, 0.12)\"},role:\"toolbar\",\"aria-label\":\"选区工具\",children:[l.map(e=>/* @__PURE__ */t(sa,{label:e.label,onClick:()=>r(e.id),children:e.icon},e.id)),u.map(e=>/* @__PURE__ */t(sa,{label:e.label,onClick:()=>r(e.id),children:/* @__PURE__ */t(\"span\",{style:{fontSize:11,fontWeight:600},children:e.label.slice(0,2)})},e.id)),c&&/* @__PURE__ */e(a,{children:[\n/* @__PURE__ */t(\"span\",{style:{width:1,height:28,margin:\"0 4px\",background:\"#e2e8f0\",flexShrink:0},\"aria-hidden\":!0}),\n/* @__PURE__ */t(sa,{label:d.label,onClick:()=>r(\"note\"),accent:!0,children:d.icon})]})]})}function sa({label:e,onClick:a,accent:s,children:i}){/* @__PURE__ */\nreturn t(\"button\",{type:\"button\",title:e,\"aria-label\":e,onClick:a,style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:36,height:36,padding:0,border:\"none\",borderRadius:8,background:\"transparent\",color:s?\"#b45309\":\"#334155\",cursor:\"pointer\"},onMouseEnter:t=>{t.currentTarget.style.background=s?\"#fffbeb\":\"#f1f5f9\"},onMouseLeave:t=>{t.currentTarget.style.background=\"transparent\"},children:i})}function ia({behind:a,mark:s}){/* @__PURE__ */\nreturn e(\"svg\",{width:\"28\",height:\"28\",viewBox:\"0 0 28 28\",fill:\"none\",\"aria-hidden\":!0,children:[a,\n/* @__PURE__ */t(\"text\",{x:\"14\",y:\"19\",textAnchor:\"middle\",fontSize:\"15\",fontWeight:\"700\",fontFamily:\"system-ui, sans-serif\",fill:\"#0f172a\",children:\"A\"}),s]})}function ra(){/* @__PURE__ */\nreturn t(ia,{behind:/* @__PURE__ */t(\"rect\",{x:\"5\",y:\"4\",width:\"18\",height:\"20\",rx:\"3\",fill:\"#facc15\"})})}function oa(){/* @__PURE__ */\nreturn t(ia,{mark:/* @__PURE__ */t(\"path\",{d:\"M6 22h16\",stroke:\"#dc2626\",strokeWidth:\"2.2\",strokeLinecap:\"round\"})})}function na(){/* @__PURE__ */\nreturn t(ia,{mark:/* @__PURE__ */t(\"path\",{d:\"M6 22c2-2 3-2 5 0s3 2 5 0 3-2 5 0\",stroke:\"#dc2626\",strokeWidth:\"2\",strokeLinecap:\"round\",fill:\"none\"})})}function ha(){/* @__PURE__ */\nreturn t(ia,{mark:/* @__PURE__ */t(\"path\",{d:\"M5 14h18\",stroke:\"#dc2626\",strokeWidth:\"2.2\",strokeLinecap:\"round\"})})}function la(){/* @__PURE__ */\nreturn e(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":!0,children:[\n/* @__PURE__ */t(\"path\",{d:\"M8 3h8l4 4v14H8V3z\",fill:\"#fef3c7\",stroke:\"#d97706\",strokeWidth:\"1.2\",strokeLinejoin:\"round\"}),\n/* @__PURE__ */t(\"path\",{d:\"M16 3v4h4\",stroke:\"#d97706\",strokeWidth:\"1.2\"}),\n/* @__PURE__ */t(\"path\",{d:\"M10 12h6M10 16h4\",stroke:\"#92400e\",strokeWidth:\"1.2\",strokeLinecap:\"round\"})]})}const da={highlight:\"highlight\",underline:\"underline\",squiggly:\"squiggly\",strikeout:\"strikeout\"};function ca(e,a){const s=e?.selectionToolbar,i=!1!==e?.markup?.enabled,r=!1!==e?.notes?.enabled;if(!1===s?.enabled)return;if(!i&&!r&&!s?.extraActions?.length)return;const{provides:n}=h(P.id),{provides:l}=h(V.id),{provides:d}=h(fe.id);return o(()=>o=>{const h=Yt(o.item);return c=>/* @__PURE__ */t(\"div\",{...c.menuWrapperProps,children:/* @__PURE__ */t(aa,{placementAbove:!!c.placement?.suggestTop,anchorHeight:c.rect.size.height,onAction:t=>{if(\"highlight\"!==t&&\"underline\"!==t&&\"squiggly\"!==t&&\"strikeout\"!==t){if(\"note\"===t){if(!n||!d||!r)return;const t=n.getHighlightRectsForPage(o.item.localPageIndex,h);return void Xt(n.getSelectedText(h),e=>{d.requestCreateFromSelection({chapterId:o.item.chapterId,localPageIndex:o.item.localPageIndex,globalPageIndex:o.item.globalPageIndex,globalPageNumber:o.item.globalPageNumber,rectsPdfCoord:t,selectedText:e.join(\"\\n\")})})}a?.onExtraAction?.(t,o)}else{if(!n||!l||!i)return;Qe(h,da[t],l,n,e?.markup?.styles)}},hiddenBuiltinActions:s?.hiddenBuiltinActions,extraActions:s?.extraActions})})},[l,e?.markup?.styles,a?.onExtraAction,i,d,r,n,s?.extraActions,s?.hiddenBuiltinActions])}const ua=\"chapter-manager\",pa={id:ua,name:\"Chapter Manager Plugin\",version:\"0.1.0\",provides:[\"chapter-manager\"],requires:[\"document-manager\"],optional:[],defaultConfig:{manifest:{chapters:[]},prefetchChapters:1,unloadTimeoutMs:6e4,autoActivateOnLoad:!0}};const ga={kind:\"first-wins\"};function fa(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let ma=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function va(t,e=ga){const a=function(t,e=ga){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,fa(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new ma(r)}const ba=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=ga,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ga,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=va(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};ba.id=\"chapter-manager\";let Pa=ba;const wa={manifest:pa,create:t=>new Pa(ua,t),reducer:t=>t,initialState:{}};function Ia(t,e=.5,a=3){return Math.min(a,Math.max(e,t))}function ya(t,e){const{registry:a}=d(),{provides:o}=h(G.id),{provides:l}=h(Pa.id),c=!1!==e?.enabled,u=e?.min??.5,p=e?.max??3,g=e?.pageWidth,[f,m]=i(()=>e?.initial??1),v=s(f),b=n(e=>{const s=Ia(e,u,p);v.current=s,m(s),function(t,e,a,s=.5,i=3){const r=t?.getStore();if(!r)return;const o=Ia(a,s,i);r.dispatchToCore(x(o));for(const n of e.chapters)r.getState().core.documents[n.chapterId]&&r.dispatchToCore($(o,n.chapterId))}(a,t,s,u,p)},[a,t,u,p]),P=n(t=>{if(!g||!o)return;const e=o.getDocument(t);e&&b(function(t,e,a=0){const s=t.pages[a];return s?.size?.width?e/s.size.width:1}(e,g))},[b,o,g]);return r(()=>{c&&a&&(g||b(e?.initial??1))},[b,c,g,a,e?.initial]),r(()=>{if(!c||!l)return;const e=t=>{g?P(t):b(v.current)},a=l.onChapterStatusChange(t=>{\"loaded\"===t.status&&e(t.chapterId)});for(const s of t.chapters)\"loaded\"===l.getChapterStatus(s.chapterId)&&e(s.chapterId);return a},[P,b,l,c,t.chapters,g]),{scale:f,setScale:b,zoomEnabled:c,minZoom:u,maxZoom:p}}function Ca(t,e,a){return Math.min(a,Math.max(e,t))}function Ma(t,e){if(!t||!1===e.enabled)return()=>{};let a=null,s=null,i=0;const r=()=>{const s=t.querySelector(\"[data-chapter-scroll-viewport]\");return!!s&&(a?.(),a=function({container:t,getScale:e,setScale:a,minZoom:s=.5,maxZoom:i=3}){let r=0,o=1,n=null,h=1,l=1;const d=t=>{(t.ctrlKey||t.metaKey)&&(t.preventDefault(),null===n?(l=e(),h=1):clearTimeout(n),h*=1-.01*t.deltaY,h=Ca(h,.1,10),a(Ca(l*h,s,i)),n=setTimeout(()=>{n=null},120))},c=/* @__PURE__ */new Map,u=t=>{if(c.set(t.pointerId,{x:t.clientX,y:t.clientY}),2===c.size){const[t,a]=[...c.values()];r=Math.hypot(a.x-t.x,a.y-t.y),o=e()}},p=t=>{if(c.has(t.pointerId)&&(c.set(t.pointerId,{x:t.clientX,y:t.clientY}),2===c.size&&r>0)){t.preventDefault();const[e,n]=[...c.values()],h=Math.hypot(n.x-e.x,n.y-e.y);a(Ca(o*(h/r),s,i))}},g=t=>{c.delete(t.pointerId),c.size<2&&(r=0)};return t.addEventListener(\"wheel\",d,{passive:!1}),t.addEventListener(\"pointerdown\",u),t.addEventListener(\"pointermove\",p,{passive:!1}),t.addEventListener(\"pointerup\",g),t.addEventListener(\"pointercancel\",g),()=>{t.removeEventListener(\"wheel\",d),t.removeEventListener(\"pointerdown\",u),t.removeEventListener(\"pointermove\",p),t.removeEventListener(\"pointerup\",g),t.removeEventListener(\"pointercancel\",g),n&&clearTimeout(n)}}({container:s,getScale:e.getScale,setScale:e.setScale,minZoom:e.minZoom,maxZoom:e.maxZoom}),!0)};return r()||(s=new MutationObserver(()=>{r()&&(s?.disconnect(),s=null)}),s.observe(t,{childList:!0,subtree:!0}),i=requestAnimationFrame(()=>r())),()=>{i&&cancelAnimationFrame(i),s?.disconnect(),a?.()}}const Sa={chapters:[]};function xa(t){const e=s(null),{provides:a}=h(Pa.id),i=o(()=>a?.getManifest()??Sa,[a]),{scale:n,setScale:l,zoomEnabled:d,minZoom:c,maxZoom:u}=ya(i,t?.zoom);return function(t,e){const{enabled:a,getScale:s,setScale:i,minZoom:o,maxZoom:n}=e;r(()=>{if(a)return Ma(t.current,{enabled:!0,getScale:s,setScale:i,minZoom:o,maxZoom:n})},[a,s,t,n,o,i])}(e,{enabled:d,getScale:()=>n,setScale:l,minZoom:c,maxZoom:u}),{hostRef:e,scale:n,setScale:l,zoomEnabled:d}}function $a({className:s,buildSelectionMenu:i,annotationSelectionMenu:r,redactionSelectionMenu:n,showNoteMarkers:h=!0,showBookmarkMarkers:l=!0,showRedactionLayer:d=!1,renderPageOverlay:c,features:u,onExtraSelectionAction:p,children:g}){const{hostRef:f}=xa(u),m=He(),v=qe(),b=We(),P=h&&v&&!1!==u?.notes?.enabled,w=l&&b&&!1!==u?.bookmarks?.enabled,I=b&&!1!==u?.bookmarks?.enabled,y=ca(u,{onExtraAction:p}),C=o(()=>{if(i||y)return t=>{const e=y?y(t):t.defaultMenu;return i?i({...t,defaultMenu:e}):e}},[i,y]),M=o(()=>c||I?s=>/* @__PURE__ */e(a,{children:[I&&/* @__PURE__ */t(ka,{item:s,hoverUi:u?.bookmarks?.hover}),c?.(s)]}):c,[u?.bookmarks?.hover,I,c]);/* @__PURE__ */\nreturn e(\"div\",{ref:f,className:s,style:s?void 0:je,children:[\n/* @__PURE__ */t(nt,{renderPage:e=>/* @__PURE__ */t(La,{item:e,showNoteMarkers:P,showBookmarkMarkers:w,noteMarkerUi:u?.notes?.marker,bookmarkMarkerUi:u?.bookmarks?.marker,renderPageOverlay:M,buildSelectionMenu:C,createNote:m,annotationSelectionMenu:r,redactionSelectionMenu:n,showRedactionLayer:d})}),g]})}function ka({item:e,hoverUi:a}){const s=Yt(e),i=l(s),r=i?.document?.pages[e.localPageIndex]??null;return r?/* @__PURE__ */t(Be,{item:e,pdfPageWidth:r.size.width,pdfPageHeight:r.size.height,cssPageWidth:e.width,cssPageHeight:e.height,hoverUi:a}):null}function La({item:a,showNoteMarkers:s,showBookmarkMarkers:i,noteMarkerUi:r,bookmarkMarkerUi:n,renderPageOverlay:d,createNote:c,buildSelectionMenu:m,annotationSelectionMenu:v,redactionSelectionMenu:b,showRedactionLayer:w=!1}){const C=Yt(a);Fe(C);const M=l(C),S=M?.document?.pages[a.localPageIndex]??null,x=function(e,a){const{provides:s}=h(P.id),i=Yt(e);return o(()=>{if(a)return r=>{const o={position:\"absolute\",pointerEvents:\"auto\",left:\"50%\",transform:\"translateX(-50%)\",top:r.placement?.suggestTop?-40:r.rect.size.height+8};/* @__PURE__ */\nreturn t(\"div\",{...r.menuWrapperProps,children:/* @__PURE__ */t(\"div\",{style:o,children:/* @__PURE__ */t(\"button\",{type:\"button\",onClick:()=>{if(!s)return;const t=s.getHighlightRectsForPage(e.localPageIndex,i);Xt(s.getSelectedText(i),s=>{const i=s.join(\"\\n\"),r=Kt(e,t,i);a(r)})},style:{padding:\"6px 10px\",fontSize:\"12px\",border:\"1px solid #e5e7eb\",borderRadius:\"6px\",background:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 8px rgba(0,0,0,0.08)\"},children:\"添加附注\"})})})}},[a,i,e,s])}(a,c),$=void 0!==m?m({item:a,defaultMenu:x,createNote:c}):x;return S?/* @__PURE__ */t(u,{documentId:C,children:/* @__PURE__ */t(g,{documentId:C,pageIndex:a.localPageIndex,style:{backgroundColor:\"#fff\"},children:/* @__PURE__ */e(p,{documentId:C,pageIndex:a.localPageIndex,children:[\n/* @__PURE__ */t(ht,{chapterId:C,localPageIndex:a.localPageIndex}),\n/* @__PURE__ */t(f,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:$}),w&&/* @__PURE__ */t(y,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:b}),\n/* @__PURE__ */t(I,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:v}),i&&S&&/* @__PURE__ */t(Zt,{chapterId:C,localPageIndex:a.localPageIndex,pdfPageWidth:S.size.width,pdfPageHeight:S.size.height,cssPageWidth:a.width,cssPageHeight:a.height,ui:n}),d?.(a),s&&S&&/* @__PURE__ */t(xt,{chapterId:C,localPageIndex:a.localPageIndex,pdfPageWidth:S.size.width,pdfPageHeight:S.size.height,cssPageWidth:a.width,cssPageHeight:a.height,ui:r})]})})}):null}const za=\"chapter-scroll\",Da={id:za,name:\"Chapter Scroll Plugin\",version:\"0.1.0\",provides:[\"chapter-scroll\"],requires:[\"chapter-manager\"],optional:[],defaultConfig:{placeholderPageHeight:1200,placeholderPageWidth:900,bufferSize:2,pageGap:20}};const Ta={kind:\"first-wins\"};function Ga(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class Oa{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function Aa(t,e=Ta){const a=function(t,e=Ta){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,r]of a)s.set(i,Ga(i,r,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),r=[];let o=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,l=h+(n-i);r.push({globalPageIndex:o++,globalPageNumber:n,chapterId:t,localPageIndex:l})}return new Oa(r)}const Na=class t extends C{constructor(t,e){super(t,e),this.statusChange$=M(),this.manifestChange$=S(),this.overlapStrategy=Ta,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Ta,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(e){const a=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[r,o]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),r>o&&e.push(`${s.chapterId}: invalid localPageRange [${r},${o}]`),i-t!==o-r&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${o-r+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(e);a.length>0&&this.logger.warn(t.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(e.chapters.map(t=>t.chapterId));for(const t of s)i.has(t)||(this.closeChapter(t),this.chapterStatus.delete(t));for(const t of e.chapters)this.chapterStatus.has(t.chapterId)||this.chapterStatus.set(t.chapterId,\"idle\");this.manifest=e,this.virtualPageMap=Aa(e,this.overlapStrategy),this.manifestChange$.emit({manifest:e,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),r=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&r.add(e)}const o=/* @__PURE__ */new Set;for(const n of r)o.add(i[n]);for(const n of o){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),r=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>r.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(e,a,s){if(a!==L.Password)return void this.updateStatus(e,\"error\");if(!this.passwordProvider)return void this.updateStatus(e,\"password-required\");const i=this.findChapter(e);if(!i)return;const r=(this.passwordAttempts.get(e)??0)+1;this.passwordAttempts.set(e,r);let o=null;try{o=await this.passwordProvider.resolvePassword(i,r-1)}catch(n){this.logger.error(t.id,\"PasswordProvider\",`Provider rejected for ${e}`,n)}if(!o)return void this.updateStatus(e,\"password-required\");this.updateStatus(e,\"loading\");this.documentManager.provides().retryDocument(e,{password:o}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Na.id=\"chapter-manager\";let Va=Na;const Ra=class extends C{constructor(t,e){super(t,e),this.layoutChange$=M(),this.visibleChange$=M(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(Va.id),this.documentManager=this.registry.getPlugin(G.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const r=this.getChapterDocumentScale(t),o=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&o.push({localPageIndex:n.localPageIndex,width:t.size.width*r,height:t.size.height*r})}0!==o.length?this.applyChapterPageSizes(t,o):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const r=[];let o=s,n=-1;for(let h=s;h<i;h++){r.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,o=h)}this.currentVisible=r,this.currentGlobalPageIndex=o,this.visibleChange$.emit({visibleGlobalPageIndices:r,currentGlobalPageIndex:o}),this.chapterManager.provides().setVisibleGlobalPages(r),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let r=e;r<=s;r++){const t=this.virtualPageMap.atIndex(r);if(!t)continue;const e=this.getPageSize(r),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:r,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[r],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,r=this.virtualPageMap.atIndex(t);if(!r)return void this.scrollToIndex(t,a);const o=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(r.chapterId))?void 0:s.pages[r.localPageIndex];if(!o||!n)return void this.scrollToIndex(t,a);const h=o.height/n.size.height,l=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,l),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Ra.id=\"chapter-scroll\";let Ea=Ra;const Ua={manifest:Da,create:t=>new Ea(za,t),reducer:t=>t,initialState:{}},_a={\"annotation-toolbar\":{id:\"annotation-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"],show:[\"overflow-annotation-tools\"]},md:{minWidth:640,hide:[\"overflow-annotation-tools\"],show:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"]}}},permanent:!1,categories:[\"annotation\"],items:[{type:\"spacer\",id:\"spacer-3\",flex:!0},{type:\"group\",id:\"annotation-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-highlight\",commandId:\"annotation:add-highlight\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-highlight\"]},{type:\"command-button\",id:\"add-strikeout\",commandId:\"annotation:add-strikeout\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-strikeout\"]},{type:\"command-button\",id:\"add-underline\",commandId:\"annotation:add-underline\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-underline\"]},{type:\"command-button\",id:\"add-squiggly\",commandId:\"annotation:add-squiggly\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-squiggly\"]},{type:\"command-button\",id:\"add-ink\",commandId:\"annotation:add-ink\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-ink-highlighter\",commandId:\"annotation:add-ink-highlighter\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-text\",commandId:\"annotation:add-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"add-insert-text\",commandId:\"annotation:add-insert-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-insert-text\"]},{type:\"command-button\",id:\"add-replace-text\",commandId:\"annotation:add-replace-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-replace-text\"]},{type:\"command-button\",id:\"add-comment\",commandId:\"annotation:add-comment\",variant:\"icon\",categories:[\"annotation\",\"annotation-comment-tool\"]},{type:\"command-button\",id:\"add-callout\",commandId:\"annotation:add-callout\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"overflow-annotation-tools\",commandId:\"annotation:overflow-tools\",variant:\"icon\",categories:[\"annotation\",\"annotation-overflow\"]},{type:\"divider\",id:\"annotation-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"annotation-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-4\",flex:!0}]},\"shapes-toolbar\":{id:\"shapes-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-polygon\",\"add-polyline\"],show:[\"overflow-shapes-tools\"]},md:{minWidth:640,hide:[\"overflow-shapes-tools\"],show:[\"add-polygon\",\"add-polyline\"]}}},permanent:!1,categories:[\"annotation\",\"annotation-shape\"],items:[{type:\"spacer\",id:\"spacer-5\",flex:!0},{type:\"group\",id:\"shapes-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rectangle\",commandId:\"annotation:add-rectangle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-rectangle\"]},{type:\"command-button\",id:\"add-circle\",commandId:\"annotation:add-circle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-circle\"]},{type:\"command-button\",id:\"add-line\",commandId:\"annotation:add-line\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-line\"]},{type:\"command-button\",id:\"add-arrow\",commandId:\"annotation:add-arrow\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-arrow\"]},{type:\"command-button\",id:\"add-polygon\",commandId:\"annotation:add-polygon\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polygon\"]},{type:\"command-button\",id:\"add-polyline\",commandId:\"annotation:add-polyline\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polyline\"]},{type:\"command-button\",id:\"overflow-shapes-tools\",commandId:\"annotation:overflow-shapes\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-overflow\"]},{type:\"divider\",id:\"shapes-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"shapes-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-6\",flex:!0}]},\"form-toolbar\":{id:\"form-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-form-select\",\"add-form-listbox\"],show:[\"overflow-forms-tools\"]},md:{minWidth:640,hide:[\"overflow-forms-tools\"],show:[\"add-form-select\",\"add-form-listbox\"]}}},permanent:!1,categories:[\"form\"],items:[{type:\"spacer\",id:\"spacer-form-1\",flex:!0},{type:\"group\",id:\"form-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-form-textfield\",commandId:\"form:add-textfield\",variant:\"icon\",categories:[\"form\",\"form-textfield\"]},{type:\"command-button\",id:\"add-form-checkbox\",commandId:\"form:add-checkbox\",variant:\"icon\",categories:[\"form\",\"form-checkbox\"]},{type:\"command-button\",id:\"add-form-radio\",commandId:\"form:add-radio\",variant:\"icon\",categories:[\"form\",\"form-radio\"]},{type:\"command-button\",id:\"add-form-select\",commandId:\"form:add-select\",variant:\"icon\",categories:[\"form\",\"form-select\"]},{type:\"command-button\",id:\"add-form-listbox\",commandId:\"form:add-listbox\",variant:\"icon\",categories:[\"form\",\"form-listbox\"]},{type:\"command-button\",id:\"overflow-forms-tools\",commandId:\"form:overflow-tools\",variant:\"icon\",categories:[\"form\",\"form-overflow\"]},{type:\"divider\",id:\"form-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"command-button\",id:\"toggle-form-fill-mode\",commandId:\"form:toggle-fill-mode\",variant:\"icon\",categories:[\"form\",\"form-fill-mode\"]},{type:\"divider\",id:\"form-tools-divider-2\",orientation:\"vertical\"},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-form-2\",flex:!0}]},\"insert-toolbar\":{id:\"insert-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"insert\"],items:[{type:\"spacer\",id:\"spacer-insert-1\",flex:!0},{type:\"group\",id:\"insert-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rubber-stamp\",commandId:\"insert:add-rubber-stamp\",variant:\"icon\",categories:[\"insert\",\"insert-rubber-stamp\"]},{type:\"command-button\",id:\"add-signature\",commandId:\"insert:add-signature\",variant:\"icon\",categories:[\"insert\",\"insert-signature\"]},{type:\"command-button\",id:\"add-image\",commandId:\"insert:add-image\",variant:\"icon\",categories:[\"insert\",\"insert-image\"]},{type:\"divider\",id:\"insert-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"insert-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-insert-2\",flex:!0}]},\"redaction-toolbar\":{id:\"redaction-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"redaction\"],items:[{type:\"spacer\",id:\"spacer-7\",flex:!0},{type:\"group\",id:\"redaction-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"redact\",commandId:\"redaction:redact\",variant:\"icon\",categories:[\"redaction\",\"redaction-combined\"]},{type:\"divider\",id:\"redaction-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-redaction-panel\",commandId:\"panel:toggle-redaction\",variant:\"icon\",categories:[\"panel\",\"panel-redaction\"]},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"redaction-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-8\",flex:!0}]}};class Fa{constructor(){this.specs=[]}register(t){if(this.specs.some(e=>e.id===t.id))throw new Error(`OperationRegistry: duplicate operation id \"${t.id}\"`);this.specs.push(t)}registerAll(t){for(const e of t)e&&this.register(e)}list(){return this.specs}buildToolbars(){const t=structuredClone(_a);for(const e of this.specs){const a=t[e.toolbarSlot];if(!a)continue;const s={type:\"command-button\",id:e.id,commandId:e.commandId,variant:\"icon\",...e.icon?{icon:e.icon}:{},...e.i18nKey?{labelKey:e.i18nKey}:{},...e.label?{label:e.label}:{},categories:e.categories??[]};a.items=qa(a.items,s,e.position)}return t}}function qa(t,e,a){return(null==a?void 0:a.after)||(null==a?void 0:a.before)?function(t,e,a){const s=t=>{const i=[];for(const r of t)\"group\"!==r.type?a.before&&r.id===a.before?i.push(e,r):(i.push(r),a.after&&r.id===a.after&&i.push(e)):i.push({...r,items:s(r.items)});return i};return s(t)}(t,e,a):function(t,e){return t.map(t=>\"group\"===t.type?{...t,items:[...t.items,e]}:t)}(t,e)}const Wa={annotate:\"annotation-toolbar\",shapes:\"shapes-toolbar\",insert:\"insert-toolbar\",form:\"form-toolbar\",redact:\"redaction-toolbar\"};function Ha(){return{\"mode:view\":{id:\"mode:view\",label:\"View\",categories:[\"mode\",\"mode-view\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides(),s=t.getPlugin(\"interaction-manager\")?.provides();a&&s&&(s.forDocument(e)?.activateDefaultMode(),a.forDocument(e).closeToolbarSlot(\"top\",\"secondary\"),t.getPlugin(R)?.provides().forDocument(e).setLocked((t=>t.getPluginConfig(R).locked??{type:N.None})(t)))},active:({state:t,documentId:e})=>!X(t.plugins,e,\"top\",\"secondary\")},\"mode:annotate\":{id:\"mode:annotate\",label:\"Annotate\",categories:[\"mode\",\"mode-annotate\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"annotation-toolbar\",e),t.getPlugin(R)?.provides().forDocument(e).setLocked({type:N.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>X(t.plugins,e,\"top\",\"secondary\",\"annotation-toolbar\")},\"mode:shapes\":{id:\"mode:shapes\",label:\"Shapes\",categories:[\"mode\",\"mode-shapes\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"shapes-toolbar\",e),t.getPlugin(R)?.provides().forDocument(e).setLocked({type:N.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>X(t.plugins,e,\"top\",\"secondary\",\"shapes-toolbar\")},\"mode:insert\":{id:\"mode:insert\",label:\"Insert\",categories:[\"mode\",\"mode-insert\",\"insert\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"insert-toolbar\",e),t.getPlugin(R)?.provides().forDocument(e).setLocked({type:N.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>X(t.plugins,e,\"top\",\"secondary\",\"insert-toolbar\")},\"mode:form\":{id:\"mode:form\",label:\"Form\",categories:[\"mode\",\"mode-form\",\"form\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"form-toolbar\",e),t.getPlugin(R)?.provides().forDocument(e).setLocked({type:N.None}))},active:({state:t,documentId:e})=>X(t.plugins,e,\"top\",\"secondary\",\"form-toolbar\")},\"mode:redact\":{id:\"mode:redact\",label:\"Redact\",categories:[\"mode\",\"mode-redact\",\"redaction\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"redaction-toolbar\",e),t.getPlugin(R)?.provides().forDocument(e).setLocked({type:N.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>X(t.plugins,e,\"top\",\"secondary\",\"redaction-toolbar\")}}}function Ba(t){const e=t.toolbar??{},a=e.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"],s=a.length>0,{schema:i,operationRegistry:r}=function(t={}){var e,a,s,i,r,o;const n=new Set(t.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"]),h=new Fa;(null==(e=t.customOperations)?void 0:e.length)&&h.registerAll(t.customOperations);const l=h.buildToolbars(),d={};for(const u of n){if(\"view\"===u)continue;const t=Wa[u];l[t]&&(d[t]=l[t])}const c=function(t){if(0===t.size)return null;const e=(t,e,a)=>({type:\"command-button\",id:`${t}-mode`,commandId:a,variant:\"text\",label:e,categories:[\"mode\",t]});return{id:\"chapter-editor-main-toolbar\",position:{placement:\"top\",slot:\"main\",order:0},permanent:!0,items:[{type:\"spacer\",id:\"main-spacer-left\",flex:!0},{type:\"group\",id:\"mode-group\",alignment:\"start\",gap:2,items:[...t.has(\"view\")?[e(\"view\",\"View\",\"mode:view\")]:[],...t.has(\"annotate\")?[e(\"annotate\",\"Annotate\",\"mode:annotate\")]:[],...t.has(\"shapes\")?[e(\"shapes\",\"Shapes\",\"mode:shapes\")]:[],...t.has(\"insert\")?[e(\"insert\",\"Insert\",\"mode:insert\")]:[],...t.has(\"form\")?[e(\"form\",\"Form\",\"mode:form\")]:[],...t.has(\"redact\")?[e(\"redact\",\"Redact\",\"mode:redact\")]:[]]},{type:\"spacer\",id:\"main-spacer-right\",flex:!0}]}}(n);return c&&(d[\"chapter-editor-main-toolbar\"]=c),(null==(a=t.extend)?void 0:a.toolbars)&&Object.assign(d,t.extend.toolbars),{schema:{id:\"chapter-pdf-editor-ui\",version:\"1.0.0\",toolbars:d,menus:(null==(s=t.extend)?void 0:s.menus)??{},sidebars:(null==(i=t.extend)?void 0:i.sidebars)??{},modals:(null==(r=t.extend)?void 0:r.modals)??{},selectionMenus:(null==(o=t.extend)?void 0:o.selectionMenus)??{}},operationRegistry:h}}({...e,enabledModes:a}),o={...s?Ha():{},...s?ja(r.list()):{},...t.commands??{}},n=[k(O,{initialDocuments:[]}),k(wa,{manifest:t.manifest,overlapStrategy:t.overlapStrategy,passwordProvider:t.passwordProvider,chapterPdfLoader:t.chapterPdfLoader,prefetchChapters:t.prefetchChapters,unloadTimeoutMs:t.unloadTimeoutMs}),k(Ua,{placeholderPageHeight:t.placeholderPageHeight,placeholderPageWidth:t.placeholderPageWidth}),k(U),k(_),k(F),k(w,{marquee:{enabled:!1},toleranceFactor:1.2,minSelectionDragDistance:4}),k(q),k(E),k(W),k(H),k(B,!1===t.loadDefaultStampLibrary?{manifests:[]}:void 0),k(j),...Object.keys(o).length>0?[k(Z,{commands:o})]:[],...s?[k(Y),k(K,{schema:i})]:[]];return t.notes&&n.push(k(ve,{callbacks:t.notes.callbacks,ui:t.features?.notes?.marker})),t.bookmarks&&n.push(k(_e,{callbacks:t.bookmarks.callbacks,ui:t.features?.bookmarks?.marker,hover:t.features?.bookmarks?.hover})),{plugins:n,uiSchema:i,operationRegistry:r}}function ja(t){const e={};for(const a of t)a.handler&&(e[a.commandId]={id:a.commandId,labelKey:a.i18nKey,label:a.label,icon:a.icon,categories:a.categories,action:({documentId:t})=>{a.handler?.({documentId:t,chapterId:t})}});return e}const Za=ta(),Ya={};function Xa(t){return Ba({...t,toolbar:t.toolbar??{enabledModes:[]},features:ta(t.features)})}const Ka={overlapStrategy:{kind:\"first-wins\"},passwordProvider:new class{constructor(t){this.cb=t}resolvePassword(t,e){return this.cb(t,e)}}(async()=>null),prefetchChapters:1,loadDefaultStampLibrary:!1,unloadTimeoutMs:12e4,toolbar:{enabledModes:[]}};function Qa(t){const e=function(t){return function(t){return\"callbacks\"in t.notes}(t)?{manifest:t.manifest,chapterPdfLoader:t.chapterPdfLoader,notes:t.notes.callbacks,bookmarks:t.bookmarks.callbacks}:t}(t),a=function(t){return{manifest:t.manifest,chapterPdfLoader:t.chapterPdfLoader,...Ka,notes:{callbacks:t.notes},bookmarks:{callbacks:t.bookmarks},features:ta(t.features)}}(e),{plugins:s}=Xa(a);return{plugins:s,features:a.features,editorOptions:a}}function Ja({engine:e,options:a,editorOptions:s,features:i,className:r,viewportClassName:n,buildSelectionMenu:h,onExtraSelectionAction:l,renderPageOverlay:d,children:u}){const{plugins:p,features:g}=o(()=>function(t){if(t.options)return Qa(t.options);if(!t.editorOptions)throw new Error(\"ChapterPdfViewer: 请传入 `options`(推荐),或同时传入 `editorOptions` 与 `features`\");const e=ta(t.features),{plugins:a}=Xa({...t.editorOptions,features:e});return{plugins:a,features:e,editorOptions:{...t.editorOptions,features:e}}}({options:a,editorOptions:s,features:i}),[s,i,a]);/* @__PURE__ */\nreturn t(\"div\",{className:r,style:r?void 0:je,children:/* @__PURE__ */t(c,{engine:e,plugins:p,children:({pluginsReady:e})=>e?/* @__PURE__ */t($a,{className:n,features:g,buildSelectionMenu:h,onExtraSelectionAction:l,renderPageOverlay:d,children:u}):null})})}export{Ja as ChapterPdfViewer,Ya as DEFAULT_CHAPTER_VIEWER_CONFIG,Za as DEFAULT_CHAPTER_VIEWER_FEATURES,Be as HoverBookmarkLayer,$a as PdfChapterViewport,aa as SelectionToolbarCard,Kt as buildChapterSelectionSnapshot,Yt as chapterDocumentIdForPage,Xa as createChapterViewerEditor,Ba as createPdfChapterEditor,ca as useChapterFeaturesSelectionMenu,He as useCreateNoteFromChapterSelection,Fe as useEnsureChapterActiveDocument,qe as useIsNotePluginRegistered,We as useIsParagraphBookmarkPluginRegistered,Xt as waitSelectedText};\n//# sourceMappingURL=index.js.map\n","import{BasePlugin as t,createBehaviorEmitter as e,createEmitter as a,createPluginRegistration as s}from\"@embedpdf/core\";import{DocumentManagerPlugin as i,DocumentManagerPluginPackage as o}from\"@embedpdf/plugin-document-manager\";import{InteractionManagerPluginPackage as r}from\"@embedpdf/plugin-interaction-manager\";import{RenderPluginPackage as n}from\"@embedpdf/plugin-render\";import{RotatePluginPackage as h}from\"@embedpdf/plugin-rotate\";import{SelectionPluginPackage as d}from\"@embedpdf/plugin-selection\";import{ANNOTATION_PLUGIN_ID as l,LockModeType as c,AnnotationPluginPackage as u}from\"@embedpdf/plugin-annotation\";import{HistoryPluginPackage as p}from\"@embedpdf/plugin-history\";import{RedactionPluginPackage as g}from\"@embedpdf/plugin-redaction\";import{FormPluginPackage as f}from\"@embedpdf/plugin-form\";import{StampPluginPackage as m}from\"@embedpdf/plugin-stamp\";import{SignaturePluginPackage as v}from\"@embedpdf/plugin-signature\";import{CommandsPluginPackage as b}from\"@embedpdf/plugin-commands\";import{I18nPluginPackage as P}from\"@embedpdf/plugin-i18n\";import{isToolbarOpen as w,UIPluginPackage as y}from\"@embedpdf/plugin-ui\";import{PdfErrorCode as I,PdfAnnotationSubtype as C}from\"@embedpdf/models\";const M=\"chapter-manager\",S={id:M,name:\"Chapter Manager Plugin\",version:\"0.1.0\",provides:[\"chapter-manager\"],requires:[\"document-manager\"],optional:[],defaultConfig:{manifest:{chapters:[]},prefetchChapters:1,unloadTimeoutMs:6e4,autoActivateOnLoad:!0}};const x={kind:\"first-wins\"};function L(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let $=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function D(t,e=x){const a=function(t,e=x){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,L(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new $(o)}const T=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=x,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??x,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=D(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};T.id=\"chapter-manager\";let k=T;const G={manifest:S,create:t=>new k(M,t),reducer:t=>t,initialState:{}},z=\"chapter-scroll\",O={id:z,name:\"Chapter Scroll Plugin\",version:\"0.1.0\",provides:[\"chapter-scroll\"],requires:[\"chapter-manager\"],optional:[],defaultConfig:{placeholderPageHeight:1200,placeholderPageWidth:900,bufferSize:2,pageGap:20}};const A={kind:\"first-wins\"};function N(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class V{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function R(t,e=A){const a=function(t,e=A){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,N(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new V(o)}const _=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=A,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??A,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=R(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};_.id=\"chapter-manager\";let U=_;const E=class extends t{constructor(t,a){super(t,a),this.layoutChange$=e(),this.visibleChange$=e(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(U.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const o=this.getChapterDocumentScale(t),r=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&r.push({localPageIndex:n.localPageIndex,width:t.size.width*o,height:t.size.height*o})}0!==r.length?this.applyChapterPageSizes(t,r):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const o=[];let r=s,n=-1;for(let h=s;h<i;h++){o.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,r=h)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=e;o<=s;o++){const t=this.virtualPageMap.atIndex(o);if(!t)continue;const e=this.getPageSize(o),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:o,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(t);if(!o)return void this.scrollToIndex(t,a);const r=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(t,a);const h=r.height/n.size.height,d=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,d),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};E.id=\"chapter-scroll\";let F=E;const q={manifest:O,create:t=>new F(z,t),reducer:t=>t,initialState:{}},H=\"note\",W={id:H,name:\"Note Plugin\",version:\"0.1.0\",provides:[\"note\"],requires:[\"selection\",\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{callbacks:{onCreateNote:async()=>null,onActivateNote:()=>{}},markerSize:18}};const B={kind:\"first-wins\"};function j(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let K=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function Q(t,e=B){const a=function(t,e=B){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,j(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new K(o)}const Y=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=B,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??B,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=Q(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};Y.id=\"chapter-manager\";let J=Y;const X={kind:\"first-wins\"};function Z(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let tt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function et(t,e=X){const a=function(t,e=X){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Z(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new tt(o)}const at=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=X,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??X,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=et(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};at.id=\"chapter-manager\";let st=at;const it=class extends t{constructor(t,a){super(t,a),this.layoutChange$=e(),this.visibleChange$=e(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(st.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const o=this.getChapterDocumentScale(t),r=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&r.push({localPageIndex:n.localPageIndex,width:t.size.width*o,height:t.size.height*o})}0!==r.length?this.applyChapterPageSizes(t,r):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const o=[];let r=s,n=-1;for(let h=s;h<i;h++){o.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,r=h)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=e;o<=s;o++){const t=this.virtualPageMap.atIndex(o);if(!t)continue;const e=this.getPageSize(o),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:o,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(t);if(!o)return void this.scrollToIndex(t,a);const r=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(t,a);const h=r.height/n.size.height,d=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,d),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};it.id=\"chapter-scroll\";let ot=it;const rt=class s extends t{constructor(t,s){super(t,s),this.notesChange$=e([]),this.noteActivated$=a(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(ot.id),this.chapterManager=this.registry.getPlugin(J.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,t.callbacks.loadNotes)try{const e=await t.callbacks.loadNotes();for(const t of e)this.notes.set(t.noteId,t);this.notesChange$.emit(this.listAll())}catch(e){this.logger.error(s.id,\"LoadNotes\",\"Failed to load notes\",e)}}buildCapability(){return{createNoteFromSelection:t=>this.createNoteFromSelection(t),requestCreateFromSelection:t=>this.requestCreateFromSelection(t),registerNote:t=>this.registerNote(t),listNotesForPage:(t,e)=>this.listAll().filter(a=>a.chapterId===t&&a.localPageIndex===e),listAllNotes:()=>this.listAll(),getNote:t=>this.notes.get(t)??null,deleteNote:t=>this.deleteNote(t),updateNoteContent:(t,e)=>this.updateNoteContent(t,e),scrollToNote:t=>this.scrollToNote(t),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(t){this.notes.set(t.noteId,t),this.notesChange$.emit(this.listAll())}requestEdit(t){const e=this.notes.get(t);e&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(t,e):this.activateNote(t))}activateNote(t){var e,a;const s=this.notes.get(t);s&&(null==(a=(e=this.config.callbacks).onActivateNote)||a.call(e,t,s),this.noteActivated$.emit({noteId:t,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(t){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageNumber:t.globalPageNumber,globalPageIndex:t.globalPageIndex,rectsPdfCoord:t.rectsPdfCoord,endAnchor:ht(t.rectsPdfCoord),selectedText:t.selectedText,content:t.content}}async requestCreateFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:e,complete:async t=>{const a={...e,noteId:t};this.registerNote(a)}}),null):this.createNoteFromSelection(t)}async createNoteFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const e=this.buildDraft(t),a=this.config.callbacks.onCreateNote;if(!a)return this.logger.error(s.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await a(e)}catch(r){return this.logger.error(s.id,\"OnCreateNote\",\"Callback failed\",r),null}if(!i)return null;const o={...e,noteId:i.noteId};return this.registerNote(o),o}async deleteNote(t){var e,a;if(this.notes.has(t)){try{await(null==(a=(e=this.config.callbacks).onDeleteNote)?void 0:a.call(e,t))}catch(i){return void this.logger.error(s.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(t),this.notesChange$.emit(this.listAll())}}async updateNoteContent(t,e){var a,i;const o=this.notes.get(t);if(!o)return;const r={...o,content:e};try{await(null==(i=(a=this.config.callbacks).onUpdateNote)?void 0:i.call(a,r))}catch(n){return void this.logger.error(s.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(t,r),this.notesChange$.emit(this.listAll())}async scrollToNote(t){var e;const a=this.notes.get(t);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(e=this.documentManager.provides().getDocument(a.chapterId))?void 0:e.pages[a.localPageIndex])?(s.scrollToGlobalPageIndex(a.globalPageIndex),await this.waitForPageInLayout(a.globalPageIndex),s.scrollToGlobalPdfPoint(a.globalPageIndex,a.endAnchor.y,{marginTop:80})):s.scrollToGlobalPageIndex(a.globalPageIndex)}waitForPageInLayout(t){const e=this.chapterScroll.provides(),a=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=e.onLayoutChange(e=>{const o=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);o&&(clearTimeout(s),i(),a(o))})})}};rt.id=\"note\";let nt=rt;function ht(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}const dt={manifest:W,create:t=>new nt(H,t),reducer:t=>t,initialState:{}},lt=\"paragraph-bookmark\",ct={id:lt,name:\"Paragraph Bookmark Plugin\",version:\"0.1.0\",provides:[\"paragraph-bookmark\"],requires:[\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{}};const ut={kind:\"first-wins\"};function pt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}let gt=class{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}};function ft(t,e=ut){const a=function(t,e=ut){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,pt(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new gt(o)}const mt=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=ut,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ut,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=ft(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};mt.id=\"chapter-manager\";let vt=mt;const bt={kind:\"first-wins\"};function Pt(t,e,a){if(1===e.length)return e[0].chapterId;switch(a.kind){case\"first-wins\":return e[0].chapterId;case\"last-wins\":return e[e.length-1].chapterId;case\"explicit\":{const a=e.find(e=>{var a;return null==(a=e.ownedGlobalPages)?void 0:a.includes(t)});return a?a.chapterId:e[0].chapterId}case\"custom\":return a.resolve(t,e)}}class wt{constructor(t){this._pages=t,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const e of t){this._byGlobalNumber.set(e.globalPageNumber,e);let t=this._byChapter.get(e.chapterId);t||(t=[],this._byChapter.set(e.chapterId,t)),t.push(e)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(t){return this._pages[t]??null}byGlobalNumber(t){return this._byGlobalNumber.get(t)??null}toGlobal(t,e){const a=this._byChapter.get(t);return a?a.find(t=>t.localPageIndex===e)??null:null}pagesOfChapter(t){return this._byChapter.get(t)??[]}firstIndexOfChapter(t){var e;const a=null==(e=this._byChapter.get(t))?void 0:e[0];return a?this._pages.indexOf(a):-1}}function yt(t,e=bt){const a=function(t,e=bt){const a=/* @__PURE__ */new Map;for(const i of t.chapters){const[t,e]=i.globalPageRange;for(let s=t;s<=e;s++){const t=a.get(s);t?t.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Pt(i,o,e));return s}(t,e),s=/* @__PURE__ */new Map;for(const n of t.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((t,e)=>t-e),o=[];let r=0;for(const n of i){const t=a.get(n),e=s.get(t);if(!e)continue;const[i]=e.globalPageRange,[h]=e.localPageRange,d=h+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:t,localPageIndex:d})}return new wt(o)}const It=class s extends t{constructor(t,s){super(t,s),this.statusChange$=e(),this.manifestChange$=a(),this.overlapStrategy=bt,this.chapterStatus=/* @__PURE__ */new Map,this.chapterLastUsed=/* @__PURE__ */new Map,this.passwordAttempts=/* @__PURE__ */new Map,this.pendingLoadPromises=/* @__PURE__ */new Map,this.unloadTimer=null,this.documentManagerUnsubs=[],this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??bt,this.setManifestInternal(t.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(t=>{this.isOwnedChapter(t.id)&&(this.passwordAttempts.delete(t.id),this.updateStatus(t.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(t=>{this.isOwnedChapter(t)&&this.updateStatus(t,\"closed\")}),this.documentManager.provides().onDocumentError(t=>{this.isOwnedChapter(t.documentId)&&this.handleDocumentError(t.documentId,t.code,t.message)})),t.unloadTimeoutMs&&t.unloadTimeoutMs>0){const e=Math.max(5e3,Math.floor(t.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),e)}}buildCapability(){return{setManifest:(t,e)=>{e&&(this.overlapStrategy=e),this.setManifestInternal(t)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:t=>this.handleVisibleChange(t),ensureChapterLoaded:t=>this.ensureChapterLoaded(t),getChapterStatus:t=>this.chapterStatus.get(t)??\"idle\",getChapter:t=>this.findChapter(t),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const t of this.documentManagerUnsubs)t();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const e=function(t){const e=[],a=/* @__PURE__ */new Set;for(const s of t.chapters){a.has(s.chapterId)&&e.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[t,i]=s.globalPageRange,[o,r]=s.localPageRange;if(t>i&&e.push(`${s.chapterId}: invalid globalPageRange [${t},${i}]`),o>r&&e.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-t!==r-o&&e.push(`${s.chapterId}: page-count mismatch (global ${i-t+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<t||a>i)&&e.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return e}(t);e.length>0&&this.logger.warn(s.id,\"ManifestValidation\",`Chapter manifest has issues: ${e.join(\"; \")}`);const a=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(t=>t.chapterId));for(const s of a)i.has(s)||(this.closeChapter(s),this.chapterStatus.delete(s));for(const s of t.chapters)this.chapterStatus.has(s.chapterId)||this.chapterStatus.set(s.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=yt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const t=this.config.prefetchChapters??0;if(t<=0||0===this.manifest.chapters.length)return;const e=Date.now(),a=Math.min(t,this.manifest.chapters.length);for(let s=0;s<a;s++){const t=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(t,e);const a=this.chapterStatus.get(t)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(t)}}findChapter(t){return this.manifest.chapters.find(e=>e.chapterId===t)??null}isOwnedChapter(t){return!!this.findChapter(t)}handleVisibleChange(t){if(!this.virtualPageMap)return;const e=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of t){const t=this.virtualPageMap.atIndex(n);t&&s.add(t.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(t=>t.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const t=i.indexOf(n);if(-1!==t)for(let e=t-a;e<=t+a;e++)e>=0&&e<i.length&&o.add(e)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,e);const t=this.chapterStatus.get(n)??\"idle\";\"idle\"!==t&&\"closed\"!==t&&\"error\"!==t||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const t=i.find(t=>s.has(t));if(t&&this.documentManager.provides().isDocumentOpen(t)){this.documentManager.provides().getActiveDocumentId()!==t&&this.documentManager.provides().setActiveDocument(t)}}}collectIdleChapters(){const t=this.config.unloadTimeoutMs??6e4;if(t<=0)return;const e=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;e-(this.chapterLastUsed.get(a)??0)>t&&this.closeChapter(a)}}ensureChapterLoaded(t){const e=this.pendingLoadPromises.get(t);if(e)return e;const a=this.findChapter(t);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(t)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(t,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(t);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(t)});return this.pendingLoadPromises.set(t,i),i}async resolvePdfPayload(t){const e=t.source;if(e){if(\"url\"in e)return{url:e.url};if(\"buffer\"in e)return{buffer:e.buffer};if(\"load\"in e)return e.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(t);throw new Error(`Chapter \"${t.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(t){var e;this.updateStatus(t.chapterId,\"loading\"),this.chapterLastUsed.set(t.chapterId,Date.now());const a=t.encrypted&&(null==(e=this.passwordProvider)?void 0:e.getCachedPassword)?this.passwordProvider.getCachedPassword(t.chapterId):null,s=await this.resolvePdfPayload(t),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:t.chapterId,url:s.url,name:t.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:t.chapterId,buffer:s.buffer,name:t.title,password:a??void 0,autoActivate:!1});return await new Promise(t=>o.wait(()=>t(),()=>t())),this.waitForTerminalStatus(t.chapterId)}waitForTerminalStatus(t){return new Promise(e=>{const a=t=>{\"loaded\"!==t&&\"error\"!==t&&\"password-required\"!==t&&\"closed\"!==t||(s(),e(t))},s=this.statusChange$.on(e=>{e.chapterId===t&&a(e.status)});a(this.chapterStatus.get(t)??\"idle\")})}async handleDocumentError(t,e,a){if(e!==I.Password)return void this.updateStatus(t,\"error\");if(!this.passwordProvider)return void this.updateStatus(t,\"password-required\");const i=this.findChapter(t);if(!i)return;const o=(this.passwordAttempts.get(t)??0)+1;this.passwordAttempts.set(t,o);let r=null;try{r=await this.passwordProvider.resolvePassword(i,o-1)}catch(n){this.logger.error(s.id,\"PasswordProvider\",`Provider rejected for ${t}`,n)}if(!r)return void this.updateStatus(t,\"password-required\");this.updateStatus(t,\"loading\");this.documentManager.provides().retryDocument(t,{password:r}).wait(()=>{},()=>{})}closeChapter(t){const e=this.documentManager.provides();if(e.isDocumentOpen(t)){e.closeDocument(t).wait(()=>this.updateStatus(t,\"closed\"),()=>this.updateStatus(t,\"closed\"))}else this.updateStatus(t,\"closed\")}updateStatus(t,e,a){this.chapterStatus.get(t)!==e&&(this.chapterStatus.set(t,e),this.statusChange$.emit({chapterId:t,status:e,...\"error\"===e&&a?{error:{message:a}}:{}}))}};It.id=\"chapter-manager\";let Ct=It;const Mt=class extends t{constructor(t,a){super(t,a),this.layoutChange$=e(),this.visibleChange$=e(),this.virtualPageMap=null,this.pageSizes=/* @__PURE__ */new Map,this.offsets=[],this.totalHeight=0,this.totalWidth=0,this.viewportEl=null,this.viewportObservers=null,this.currentVisible=[],this.currentGlobalPageIndex=0,this.chapterManagerUnsubs=[],this.chapterManager=this.registry.getPlugin(Ct.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){this.config={placeholderPageHeight:t.placeholderPageHeight??1200,placeholderPageWidth:t.placeholderPageWidth??900,bufferSize:t.bufferSize??2,pageGap:t.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:t})=>{this.virtualPageMap=t,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(t){const e=this.coreState.core.documents[t];return!(!e||\"loaded\"!==e.status||!e.document)&&e.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const t of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(t.chapterId)&&this.harvestChapterSizes(t.chapterId);this.refreshLayout()}onDocumentLoaded(t){var e;if(0===((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){var e;0!==((null==(e=this.virtualPageMap)?void 0:e.pagesOfChapter(t).length)??0)&&(this.dropChapterSizes(t),this.refreshLayout())}buildCapability(){return{registerViewport:t=>this.bindViewport(t),reportChapterPageSizes:(t,e)=>this.applyChapterPageSizes(t,e),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(t,e)=>this.scrollToIndex(t,e),scrollToChapter:(t,e)=>this.scrollToChapter(t,e),scrollToGlobalPageNumber:(t,e)=>this.scrollToGlobalNumber(t,e),scrollToGlobalPdfPoint:(t,e,a)=>this.scrollToGlobalPdfPoint(t,e,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var t;super.destroy();for(const e of this.chapterManagerUnsubs)e();this.chapterManagerUnsubs=[],null==(t=this.viewportObservers)||t.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(t){return this.pageSizes.get(t)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const t=this.virtualPageMap.totalPages;this.offsets=new Array(t);let e=0,a=0;for(let s=0;s<t;s++){const{width:t,height:i}=this.getPageSize(s);this.offsets[s]=e,e+=i+this.config.pageGap,t>a&&(a=t)}this.totalHeight=t>0?e-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(t,e){if(!this.virtualPageMap)return;let a=!1;for(const s of e){const e=this.virtualPageMap.toGlobal(t,s.localPageIndex);if(!e)continue;const i=this.pageSizes.get(e.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(e.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const t=this.currentGlobalPageIndex,e=this.offsets[t]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[t]??0)-e;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(t){var e;return(null==(e=this.coreState.core.documents[t])?void 0:e.scale)??1}harvestChapterSizes(t,e=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(t),i=this.virtualPageMap.pagesOfChapter(t);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1)));const o=this.getChapterDocumentScale(t),r=[];for(const n of i){const t=s.pages[n.localPageIndex];(null==t?void 0:t.size)&&r.push({localPageIndex:n.localPageIndex,width:t.size.width*o,height:t.size.height*o})}0!==r.length?this.applyChapterPageSizes(t,r):e<60&&requestAnimationFrame(()=>this.harvestChapterSizes(t,e+1))}onScaleChanged(t){const e=this.coreState.core.documents[t];e&&\"loaded\"===e.status&&this.chapterManager.provides().getChapter(t)&&this.harvestChapterSizes(t)}dropChapterSizes(t){if(!this.virtualPageMap)return;let e=!1;for(const a of this.virtualPageMap.pagesOfChapter(t))this.pageSizes.delete(a.globalPageIndex)&&(e=!0);e&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(t){var e;if(null==(e=this.viewportObservers)||e.unbind(),this.viewportEl=t,this.viewportObservers=null,!t)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());t.addEventListener(\"scroll\",a,{passive:!0}),s.observe(t),this.viewportObservers={unbind:()=>{t.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===t.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const t=this.virtualPageMap.totalPages;if(0===t)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const e=this.viewportEl.scrollTop,a=e+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(e);let i=s;for(;i<t;){const t=this.getPageSize(i),e=this.offsets[i];if(t.height,e>=a)break;i++}const o=[];let r=s,n=-1;for(let h=s;h<i;h++){o.push(h);const t=this.offsets[h],s=t+this.getPageSize(h).height,i=Math.max(0,Math.min(s,a)-Math.max(t,e));i>n&&(n=i,r=h)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(t){let e=0,a=this.offsets.length-1,s=0;for(;e<=a;){const i=e+a>>1;this.offsets[i]<=t?(s=i,e=i+1):a=i-1}return s}computeLayout(){const t=this.config.bufferSize,e=Math.max(0,(this.currentVisible[0]??0)-t),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+t),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=e;o<=s;o++){const t=this.virtualPageMap.atIndex(o);if(!t)continue;const e=this.getPageSize(o),a=!this.isChapterDocumentReady(t.chapterId);i.push({globalPageIndex:o,globalPageNumber:t.globalPageNumber,chapterId:t.chapterId,localPageIndex:t.localPageIndex,width:e.width,height:e.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(t,e){if(!this.viewportEl||t<0||t>=this.offsets.length)return;const a=(this.offsets[t]??0)-((null==e?void 0:e.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==e?void 0:e.behavior)??\"auto\"})}scrollToGlobalPdfPoint(t,e,a){var s;if(!this.viewportEl||t<0||t>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(t);if(!o)return void this.scrollToIndex(t,a);const r=this.pageSizes.get(t),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(t,a);const h=r.height/n.size.height,d=(this.offsets[t]??0)+e*h-i;this.viewportEl.scrollTo({top:Math.max(0,d),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(t);a<0||(this.chapterManager.provides().ensureChapterLoaded(t),this.scrollToIndex(a,e))}scrollToGlobalNumber(t,e){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(t);a&&this.scrollToIndex(a.globalPageIndex,e)}};Mt.id=\"chapter-scroll\";let St=Mt;function xt(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function Lt(t,e){const a=t.origin.y,s=t.origin.y+t.size.height,i=e.origin.y,o=e.origin.y+e.size.height,r=Math.max(s,o)-Math.min(a,i);if(r<=0)return 0;return Math.max(0,Math.min(s,o)-Math.max(a,i))/r}function $t(t,e){var a,s;if(t.chapterId!==e.chapterId||t.localPageIndex!==e.localPageIndex)return!1;const i=(null==(a=t.rectsPdfCoord)?void 0:a.length)?t.rectsPdfCoord:[t.rectPdfCoord],o=(null==(s=e.rectsPdfCoord)?void 0:s.length)?e.rectsPdfCoord:[e.rectPdfCoord],r=t.markerAnchor??xt(i),n=e.markerAnchor??xt(o);if(Math.hypot(r.x-n.x,r.y-n.y)<=6)return!0;for(const h of i)for(const t of o){if(Lt(h,t)<.5)continue;const e=Math.max(h.origin.x,t.origin.x);if(Math.min(h.origin.x+h.size.width,t.origin.x+t.size.width)-e>.25*Math.min(h.size.width,t.size.width))return!0}return!1}async function Dt(t,e,a){t.scrollToGlobalPageIndex(e),await function(t,e,a=2500){const s=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{o(),s(null)},a),o=t.onLayoutChange(t=>{const a=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);a&&(clearTimeout(i),o(),s(a))})})}(t,e),t.scrollToGlobalPdfPoint(e,a,{marginTop:80})}const Tt=class a extends t{constructor(t,a){super(t,a),this.change$=e([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(St.id),this.chapterManager=this.registry.getPlugin(vt.id),this.documentManager=this.registry.getPlugin(i.id)}async initialize(t){var e;if(this.config=t,null==(e=t.callbacks)?void 0:e.load)try{const e=await t.callbacks.load();for(const t of e)this.entries.set(t.id,t);this.change$.emit(this.list())}catch(s){this.logger.error(a.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:t=>this.addBookmark(t),removeBookmark:t=>this.removeBookmark(t),updateBookmark:(t,e)=>this.updateBookmark(t,e),listBookmarks:()=>this.list(),getBookmark:t=>this.entries.get(t)??null,scrollToBookmark:t=>this.scrollToBookmark(t),requestRemoveBookmark:t=>this.requestRemoveBookmark(t),onBookmarksChange:this.change$.on}}addBookmark(t){for(const s of this.entries.values())if($t(s.anchor,t.anchor))return s;const e=t.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:e,label:t.label,anchor:t.anchor,metadata:t.metadata,createdAt:Date.now()};return this.entries.set(e,a),this.notifyAndPersist(),a}removeBookmark(t){var e,a,s;this.entries.delete(t)&&(this.notifyAndPersist(),null==(s=null==(a=null==(e=this.config)?void 0:e.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,t))}async requestRemoveBookmark(t){var e,s;const i=this.entries.get(t);if(!i)return!1;const o=null==(s=null==(e=this.config)?void 0:e.callbacks)?void 0:s.onRequestRemove;if(o)try{if(!(await o(i)))return!1}catch(r){return this.logger.error(a.id,\"RequestRemove\",\"callback failed\",r),!1}return this.removeBookmark(t),!0}updateBookmark(t,e){const a=this.entries.get(t);a&&(this.entries.set(t,{...a,...e}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((t,e)=>t.createdAt-e.createdAt)}notifyAndPersist(){var t,e;const s=this.list();this.change$.emit(s),(null==(e=null==(t=this.config)?void 0:t.callbacks)?void 0:e.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(t=>this.logger.error(a.id,\"Persist\",\"persist callback rejected\",t))}async scrollToBookmark(t){const e=this.entries.get(t);if(!e)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(e.anchor.chapterId);let s=e.anchor.globalPageIndex;if(void 0===s){const t=this.chapterManager.provides().getVirtualPageMap().toGlobal(e.anchor.chapterId,e.anchor.localPageIndex);if(!t)return;s=t.globalPageIndex}const i=function(t){if(t.markerAnchor)return t.markerAnchor.y;const e=t.rectPdfCoord;return e.origin.y+e.size.height}(e.anchor);await Dt(a,s,i)}};Tt.id=\"paragraph-bookmark\";let kt=Tt;const Gt={manifest:ct,create:t=>new kt(lt,t),reducer:t=>t,initialState:{}},zt={\"annotation-toolbar\":{id:\"annotation-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"],show:[\"overflow-annotation-tools\"]},md:{minWidth:640,hide:[\"overflow-annotation-tools\"],show:[\"add-text\",\"add-ink\",\"add-ink-highlighter\",\"add-insert-text\",\"add-replace-text\",\"add-comment\",\"add-callout\"]}}},permanent:!1,categories:[\"annotation\"],items:[{type:\"spacer\",id:\"spacer-3\",flex:!0},{type:\"group\",id:\"annotation-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-highlight\",commandId:\"annotation:add-highlight\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-highlight\"]},{type:\"command-button\",id:\"add-strikeout\",commandId:\"annotation:add-strikeout\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-strikeout\"]},{type:\"command-button\",id:\"add-underline\",commandId:\"annotation:add-underline\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-underline\"]},{type:\"command-button\",id:\"add-squiggly\",commandId:\"annotation:add-squiggly\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-squiggly\"]},{type:\"command-button\",id:\"add-ink\",commandId:\"annotation:add-ink\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-ink-highlighter\",commandId:\"annotation:add-ink-highlighter\",variant:\"icon\",categories:[\"annotation\",\"annotation-ink\"]},{type:\"command-button\",id:\"add-text\",commandId:\"annotation:add-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"add-insert-text\",commandId:\"annotation:add-insert-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-insert-text\"]},{type:\"command-button\",id:\"add-replace-text\",commandId:\"annotation:add-replace-text\",variant:\"icon\",categories:[\"annotation\",\"annotation-markup\",\"annotation-replace-text\"]},{type:\"command-button\",id:\"add-comment\",commandId:\"annotation:add-comment\",variant:\"icon\",categories:[\"annotation\",\"annotation-comment-tool\"]},{type:\"command-button\",id:\"add-callout\",commandId:\"annotation:add-callout\",variant:\"icon\",categories:[\"annotation\",\"annotation-text\"]},{type:\"command-button\",id:\"overflow-annotation-tools\",commandId:\"annotation:overflow-tools\",variant:\"icon\",categories:[\"annotation\",\"annotation-overflow\"]},{type:\"divider\",id:\"annotation-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"annotation-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-4\",flex:!0}]},\"shapes-toolbar\":{id:\"shapes-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-polygon\",\"add-polyline\"],show:[\"overflow-shapes-tools\"]},md:{minWidth:640,hide:[\"overflow-shapes-tools\"],show:[\"add-polygon\",\"add-polyline\"]}}},permanent:!1,categories:[\"annotation\",\"annotation-shape\"],items:[{type:\"spacer\",id:\"spacer-5\",flex:!0},{type:\"group\",id:\"shapes-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rectangle\",commandId:\"annotation:add-rectangle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-rectangle\"]},{type:\"command-button\",id:\"add-circle\",commandId:\"annotation:add-circle\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-circle\"]},{type:\"command-button\",id:\"add-line\",commandId:\"annotation:add-line\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-line\"]},{type:\"command-button\",id:\"add-arrow\",commandId:\"annotation:add-arrow\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-arrow\"]},{type:\"command-button\",id:\"add-polygon\",commandId:\"annotation:add-polygon\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polygon\"]},{type:\"command-button\",id:\"add-polyline\",commandId:\"annotation:add-polyline\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-polyline\"]},{type:\"command-button\",id:\"overflow-shapes-tools\",commandId:\"annotation:overflow-shapes\",variant:\"icon\",categories:[\"annotation\",\"annotation-shape\",\"annotation-overflow\"]},{type:\"divider\",id:\"shapes-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"shapes-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-6\",flex:!0}]},\"form-toolbar\":{id:\"form-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},responsive:{breakpoints:{sm:{maxWidth:640,hide:[\"add-form-select\",\"add-form-listbox\"],show:[\"overflow-forms-tools\"]},md:{minWidth:640,hide:[\"overflow-forms-tools\"],show:[\"add-form-select\",\"add-form-listbox\"]}}},permanent:!1,categories:[\"form\"],items:[{type:\"spacer\",id:\"spacer-form-1\",flex:!0},{type:\"group\",id:\"form-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-form-textfield\",commandId:\"form:add-textfield\",variant:\"icon\",categories:[\"form\",\"form-textfield\"]},{type:\"command-button\",id:\"add-form-checkbox\",commandId:\"form:add-checkbox\",variant:\"icon\",categories:[\"form\",\"form-checkbox\"]},{type:\"command-button\",id:\"add-form-radio\",commandId:\"form:add-radio\",variant:\"icon\",categories:[\"form\",\"form-radio\"]},{type:\"command-button\",id:\"add-form-select\",commandId:\"form:add-select\",variant:\"icon\",categories:[\"form\",\"form-select\"]},{type:\"command-button\",id:\"add-form-listbox\",commandId:\"form:add-listbox\",variant:\"icon\",categories:[\"form\",\"form-listbox\"]},{type:\"command-button\",id:\"overflow-forms-tools\",commandId:\"form:overflow-tools\",variant:\"icon\",categories:[\"form\",\"form-overflow\"]},{type:\"divider\",id:\"form-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"command-button\",id:\"toggle-form-fill-mode\",commandId:\"form:toggle-fill-mode\",variant:\"icon\",categories:[\"form\",\"form-fill-mode\"]},{type:\"divider\",id:\"form-tools-divider-2\",orientation:\"vertical\"},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-form-2\",flex:!0}]},\"insert-toolbar\":{id:\"insert-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"insert\"],items:[{type:\"spacer\",id:\"spacer-insert-1\",flex:!0},{type:\"group\",id:\"insert-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"add-rubber-stamp\",commandId:\"insert:add-rubber-stamp\",variant:\"icon\",categories:[\"insert\",\"insert-rubber-stamp\"]},{type:\"command-button\",id:\"add-signature\",commandId:\"insert:add-signature\",variant:\"icon\",categories:[\"insert\",\"insert-signature\"]},{type:\"command-button\",id:\"add-image\",commandId:\"insert:add-image\",variant:\"icon\",categories:[\"insert\",\"insert-image\"]},{type:\"divider\",id:\"insert-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"insert-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-insert-2\",flex:!0}]},\"redaction-toolbar\":{id:\"redaction-toolbar\",position:{placement:\"top\",slot:\"secondary\",order:0},permanent:!1,categories:[\"redaction\"],items:[{type:\"spacer\",id:\"spacer-7\",flex:!0},{type:\"group\",id:\"redaction-tools\",alignment:\"start\",gap:2,items:[{type:\"command-button\",id:\"redact\",commandId:\"redaction:redact\",variant:\"icon\",categories:[\"redaction\",\"redaction-combined\"]},{type:\"divider\",id:\"redaction-tools-divider-1\",orientation:\"vertical\"},{type:\"command-button\",id:\"toggle-redaction-panel\",commandId:\"panel:toggle-redaction\",variant:\"icon\",categories:[\"panel\",\"panel-redaction\"]},{type:\"command-button\",id:\"toggle-annotation-style\",commandId:\"panel:toggle-annotation-style\",variant:\"icon\",categories:[\"panel\",\"panel-annotation-style\"]},{type:\"divider\",id:\"redaction-tools-divider-2\",orientation:\"vertical\",visibilityDependsOn:{itemIds:[\"toggle-annotation-style\"]}},{type:\"command-button\",id:\"undo-button\",commandId:\"history:undo\",variant:\"icon\",categories:[\"history\",\"history-undo\"]},{type:\"command-button\",id:\"redo-button\",commandId:\"history:redo\",variant:\"icon\",categories:[\"history\",\"history-redo\"]}]},{type:\"spacer\",id:\"spacer-8\",flex:!0}]}};class Ot{constructor(){this.specs=[]}register(t){if(this.specs.some(e=>e.id===t.id))throw new Error(`OperationRegistry: duplicate operation id \"${t.id}\"`);this.specs.push(t)}registerAll(t){for(const e of t)e&&this.register(e)}list(){return this.specs}buildToolbars(){const t=structuredClone(zt);for(const e of this.specs){const a=t[e.toolbarSlot];if(!a)continue;const s={type:\"command-button\",id:e.id,commandId:e.commandId,variant:\"icon\",...e.icon?{icon:e.icon}:{},...e.i18nKey?{labelKey:e.i18nKey}:{},...e.label?{label:e.label}:{},categories:e.categories??[]};a.items=At(a.items,s,e.position)}return t}}function At(t,e,a){return(null==a?void 0:a.after)||(null==a?void 0:a.before)?function(t,e,a){const s=t=>{const i=[];for(const o of t)\"group\"!==o.type?a.before&&o.id===a.before?i.push(e,o):(i.push(o),a.after&&o.id===a.after&&i.push(e)):i.push({...o,items:s(o.items)});return i};return s(t)}(t,e,a):function(t,e){return t.map(t=>\"group\"===t.type?{...t,items:[...t.items,e]}:t)}(t,e)}const Nt={annotate:\"annotation-toolbar\",shapes:\"shapes-toolbar\",insert:\"insert-toolbar\",form:\"form-toolbar\",redact:\"redaction-toolbar\"};function Vt(){return{\"mode:view\":{id:\"mode:view\",label:\"View\",categories:[\"mode\",\"mode-view\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides(),s=t.getPlugin(\"interaction-manager\")?.provides();a&&s&&(s.forDocument(e)?.activateDefaultMode(),a.forDocument(e).closeToolbarSlot(\"top\",\"secondary\"),t.getPlugin(l)?.provides().forDocument(e).setLocked((t=>t.getPluginConfig(l).locked??{type:c.None})(t)))},active:({state:t,documentId:e})=>!w(t.plugins,e,\"top\",\"secondary\")},\"mode:annotate\":{id:\"mode:annotate\",label:\"Annotate\",categories:[\"mode\",\"mode-annotate\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"annotation-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"annotation-toolbar\")},\"mode:shapes\":{id:\"mode:shapes\",label:\"Shapes\",categories:[\"mode\",\"mode-shapes\",\"annotation\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"shapes-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"shapes-toolbar\")},\"mode:insert\":{id:\"mode:insert\",label:\"Insert\",categories:[\"mode\",\"mode-insert\",\"insert\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"insert-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"insert-toolbar\")},\"mode:form\":{id:\"mode:form\",label:\"Form\",categories:[\"mode\",\"mode-form\",\"form\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"form-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.None}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"form-toolbar\")},\"mode:redact\":{id:\"mode:redact\",label:\"Redact\",categories:[\"mode\",\"mode-redact\",\"redaction\"],action:({registry:t,documentId:e})=>{const a=t.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"redaction-toolbar\",e),t.getPlugin(l)?.provides().forDocument(e).setLocked({type:c.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>w(t.plugins,e,\"top\",\"secondary\",\"redaction-toolbar\")}}}function Rt(t){const e=t.toolbar??{},a=e.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"],i=a.length>0,{schema:l,operationRegistry:c}=function(t={}){var e,a,s,i,o,r;const n=new Set(t.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"]),h=new Ot;(null==(e=t.customOperations)?void 0:e.length)&&h.registerAll(t.customOperations);const d=h.buildToolbars(),l={};for(const u of n){if(\"view\"===u)continue;const t=Nt[u];d[t]&&(l[t]=d[t])}const c=function(t){if(0===t.size)return null;const e=(t,e,a)=>({type:\"command-button\",id:`${t}-mode`,commandId:a,variant:\"text\",label:e,categories:[\"mode\",t]});return{id:\"chapter-editor-main-toolbar\",position:{placement:\"top\",slot:\"main\",order:0},permanent:!0,items:[{type:\"spacer\",id:\"main-spacer-left\",flex:!0},{type:\"group\",id:\"mode-group\",alignment:\"start\",gap:2,items:[...t.has(\"view\")?[e(\"view\",\"View\",\"mode:view\")]:[],...t.has(\"annotate\")?[e(\"annotate\",\"Annotate\",\"mode:annotate\")]:[],...t.has(\"shapes\")?[e(\"shapes\",\"Shapes\",\"mode:shapes\")]:[],...t.has(\"insert\")?[e(\"insert\",\"Insert\",\"mode:insert\")]:[],...t.has(\"form\")?[e(\"form\",\"Form\",\"mode:form\")]:[],...t.has(\"redact\")?[e(\"redact\",\"Redact\",\"mode:redact\")]:[]]},{type:\"spacer\",id:\"main-spacer-right\",flex:!0}]}}(n);return c&&(l[\"chapter-editor-main-toolbar\"]=c),(null==(a=t.extend)?void 0:a.toolbars)&&Object.assign(l,t.extend.toolbars),{schema:{id:\"chapter-pdf-editor-ui\",version:\"1.0.0\",toolbars:l,menus:(null==(s=t.extend)?void 0:s.menus)??{},sidebars:(null==(i=t.extend)?void 0:i.sidebars)??{},modals:(null==(o=t.extend)?void 0:o.modals)??{},selectionMenus:(null==(r=t.extend)?void 0:r.selectionMenus)??{}},operationRegistry:h}}({...e,enabledModes:a}),w={...i?Vt():{},...i?_t(c.list()):{},...t.commands??{}},I=[s(o,{initialDocuments:[]}),s(G,{manifest:t.manifest,overlapStrategy:t.overlapStrategy,passwordProvider:t.passwordProvider,chapterPdfLoader:t.chapterPdfLoader,prefetchChapters:t.prefetchChapters,unloadTimeoutMs:t.unloadTimeoutMs}),s(q,{placeholderPageHeight:t.placeholderPageHeight,placeholderPageWidth:t.placeholderPageWidth}),s(r),s(n),s(h),s(d,{marquee:{enabled:!1},toleranceFactor:1.2,minSelectionDragDistance:4}),s(p),s(u),s(g),s(f),s(m,!1===t.loadDefaultStampLibrary?{manifests:[]}:void 0),s(v),...Object.keys(w).length>0?[s(b,{commands:w})]:[],...i?[s(P),s(y,{schema:l})]:[]];return t.notes&&I.push(s(dt,{callbacks:t.notes.callbacks,ui:t.features?.notes?.marker})),t.bookmarks&&I.push(s(Gt,{callbacks:t.bookmarks.callbacks,ui:t.features?.bookmarks?.marker,hover:t.features?.bookmarks?.hover})),{plugins:I,uiSchema:l,operationRegistry:c}}function _t(t){const e={};for(const a of t)a.handler&&(e[a.commandId]={id:a.commandId,labelKey:a.i18nKey,label:a.label,icon:a.icon,categories:a.categories,action:({documentId:t})=>{a.handler?.({documentId:t,chapterId:t})}});return e}function Ut(t,e){const a=t;return!1===t?{...e,enabled:!1}:!0===t||void 0===t?{...e,enabled:e.enabled??!0}:{...e,...a,enabled:!1!==(null==a?void 0:a.enabled)}}function Et(t){const e=Ut(null==t?void 0:t.markup,{enabled:!0}),a=Ut(null==t?void 0:t.bookmarks,{enabled:!0}),s=Ut(null==t?void 0:t.notes,{enabled:!0});return{markup:e,bookmarks:a,notes:s,zoom:Ut(null==t?void 0:t.zoom,{enabled:!0,min:.5,max:3,initial:1}),selectionToolbar:Ut(void 0===(null==t?void 0:t.selectionToolbar)?!1!==e.enabled||!1!==s.enabled:t.selectionToolbar,{enabled:!0})}}C.HIGHLIGHT,C.UNDERLINE,C.SQUIGGLY,C.STRIKEOUT;const Ft=Et(),qt={};function Ht(t){return Rt({...t,toolbar:t.toolbar??{enabledModes:[]},features:Et(t.features)})}const Wt={overlapStrategy:{kind:\"first-wins\"},passwordProvider:new class{constructor(t){this.cb=t}resolvePassword(t,e){return this.cb(t,e)}}(async()=>null),prefetchChapters:1,loadDefaultStampLibrary:!1,unloadTimeoutMs:12e4,toolbar:{enabledModes:[]}};function Bt(t){return function(t){return\"callbacks\"in t.notes}(t)?{manifest:t.manifest,chapterPdfLoader:t.chapterPdfLoader,notes:t.notes.callbacks,bookmarks:t.bookmarks.callbacks}:t}function jt(t){return{manifest:t.manifest,chapterPdfLoader:t.chapterPdfLoader,...Wt,notes:{callbacks:t.notes},bookmarks:{callbacks:t.bookmarks},features:Et(t.features)}}function Kt(t){const e=jt(Bt(t)),{plugins:a}=Ht(e);return{plugins:a,features:e.features,editorOptions:e}}function Qt(t){const{features:e,...a}=jt(Bt(t));return a}function Yt(t){return t.chapterId}function Jt(t,e){t.wait(e,()=>{})}function Xt(t,e,a){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageIndex:t.globalPageIndex,globalPageNumber:t.globalPageNumber,rectsPdfCoord:e,selectedText:a}}export{qt as DEFAULT_CHAPTER_VIEWER_CONFIG,Ft as DEFAULT_CHAPTER_VIEWER_FEATURES,Xt as buildChapterSelectionSnapshot,Yt as chapterDocumentIdForPage,Vt as createChapterEditorModeCommands,Kt as createChapterViewerBundle,Ht as createChapterViewerEditor,Qt as createChapterViewerEditorOptions,Rt as createPdfChapterEditor,jt as toCreatePdfChapterEditorOptions,Jt as waitSelectedText};\n//# sourceMappingURL=index.js.map\n","import { LockModeType } from \"@embedpdf/plugin-annotation\";\nimport { PdfAnnotationSubtype, uuidV4, PdfBlendMode } from \"@embedpdf/models\";\nconst DEFAULT_STYLES = {\n highlight: { offsetY: 0 },\n underline: { offsetY: 2.5 },\n squiggly: { offsetY: 0 },\n strikeout: { offsetY: 0 }\n};\nconst SUBTYPE = {\n highlight: PdfAnnotationSubtype.HIGHLIGHT,\n underline: PdfAnnotationSubtype.UNDERLINE,\n squiggly: PdfAnnotationSubtype.SQUIGGLY,\n strikeout: PdfAnnotationSubtype.STRIKEOUT\n};\nfunction offsetRectsDown(rects, dy) {\n if (dy === 0) return rects;\n return rects.map((r) => ({\n origin: { x: r.origin.x, y: r.origin.y + dy },\n size: { ...r.size }\n }));\n}\nfunction unionRects(rects) {\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const r of rects) {\n minX = Math.min(minX, r.origin.x);\n minY = Math.min(minY, r.origin.y);\n maxX = Math.max(maxX, r.origin.x + r.size.width);\n maxY = Math.max(maxY, r.origin.y + r.size.height);\n }\n return {\n origin: { x: minX, y: minY },\n size: { width: maxX - minX, height: maxY - minY }\n };\n}\nfunction resolveStyle(kind, styles) {\n return {\n ...DEFAULT_STYLES[kind],\n ...styles == null ? void 0 : styles[kind]\n };\n}\nfunction applySelectionMarkup(documentId, kind, annotation, selection, styles) {\n const annotationScope = annotation.forDocument(documentId);\n const selectionScope = selection.forDocument(documentId);\n if (!annotationScope || !selectionScope) return false;\n const toolId = kind === \"highlight\" ? \"highlight\" : kind === \"underline\" ? \"underline\" : kind === \"squiggly\" ? \"squiggly\" : \"strikeout\";\n const tool = annotation.getTool(toolId);\n if (!tool) return false;\n const defaults = tool.defaults;\n const style = resolveStyle(kind, styles);\n const formatted = selectionScope.getFormattedSelection();\n if (formatted.length === 0) return false;\n annotationScope.setLocked({ type: LockModeType.Exclude, categories: [\"markup\", \"shape\"] });\n for (const sel of formatted) {\n const id = uuidV4();\n const strokeColor = style.color ?? defaults.color ?? defaults.strokeColor;\n const opacity = style.opacity ?? defaults.opacity;\n const strokeWidth = style.thickness ?? defaults.strokeWidth;\n const offsetY = style.offsetY ?? 0;\n const needsOffset = kind === \"underline\" || kind === \"squiggly\" || kind === \"strikeout\";\n const segmentRects = needsOffset ? offsetRectsDown(sel.segmentRects, offsetY) : sel.segmentRects;\n const rect = kind === \"underline\" || kind === \"squiggly\" || kind === \"strikeout\" ? unionRects(segmentRects) : sel.rect;\n annotationScope.createAnnotation(sel.pageIndex, {\n id,\n created: /* @__PURE__ */ new Date(),\n flags: [\"print\"],\n type: SUBTYPE[kind],\n ...kind === \"highlight\" ? { blendMode: PdfBlendMode.Multiply } : {},\n strokeColor,\n opacity,\n ...strokeWidth != null ? { strokeWidth } : {},\n pageIndex: sel.pageIndex,\n rect,\n segmentRects\n });\n }\n selectionScope.clear();\n return true;\n}\nfunction featureOn(value, defaults) {\n const partial = value;\n if (value === false) return { ...defaults, enabled: false };\n if (value === true || value === void 0) {\n return { ...defaults, enabled: defaults.enabled ?? true };\n }\n return { ...defaults, ...partial, enabled: (partial == null ? void 0 : partial.enabled) !== false };\n}\nfunction normalizeChapterViewerConfig(config) {\n const markup = featureOn(config == null ? void 0 : config.markup, { enabled: true });\n const bookmarks = featureOn(config == null ? void 0 : config.bookmarks, { enabled: true });\n const notes = featureOn(config == null ? void 0 : config.notes, { enabled: true });\n const zoom = featureOn(config == null ? void 0 : config.zoom, {\n enabled: true,\n min: 0.5,\n max: 3,\n initial: 1\n });\n const selectionToolbarDefault = (config == null ? void 0 : config.selectionToolbar) === void 0 ? markup.enabled !== false || notes.enabled !== false : config.selectionToolbar;\n const selectionToolbar = featureOn(selectionToolbarDefault, {\n enabled: true\n });\n return {\n markup,\n bookmarks,\n notes,\n zoom,\n selectionToolbar\n };\n}\nexport {\n applySelectionMarkup,\n normalizeChapterViewerConfig\n};\n//# sourceMappingURL=index.js.map\n","import { BasePlugin, createBehaviorEmitter, createEmitter } from \"@embedpdf/core\";\nimport { DocumentManagerPlugin } from \"@embedpdf/plugin-document-manager\";\nimport { PdfErrorCode } from \"@embedpdf/models\";\nconst PARAGRAPH_BOOKMARK_PLUGIN_ID = \"paragraph-bookmark\";\nconst manifest = {\n id: PARAGRAPH_BOOKMARK_PLUGIN_ID,\n name: \"Paragraph Bookmark Plugin\",\n version: \"0.1.0\",\n // 注意:provides 不叫 'bookmark',避免和 @embedpdf/plugin-bookmark(PDF outline)冲突\n provides: [\"paragraph-bookmark\"],\n requires: [\"chapter-scroll\", \"chapter-manager\"],\n optional: [],\n defaultConfig: {}\n};\nfunction e$1(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n22] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n22 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n22}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n22 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n22 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n22) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t$1 = { kind: \"first-wins\" };\nfunction s$1(e2, s2 = t$1) {\n const n22 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n22.get(a2);\n e4 ? e4.push(t2) : n22.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n22) r2.set(t2, a$1(t2, o, s2));\n return r2;\n}\nfunction a$1(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nlet n$1 = class n {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n};\nfunction r$1(e2, a2 = t$1) {\n const r2 = s$1(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n22] = s2.localPageRange, l2 = n22 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n$1(c);\n}\nconst _ChapterManagerPlugin$1 = class _ChapterManagerPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t$1;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t$1;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e$1(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r$1(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin$1.id = \"chapter-manager\";\nlet ChapterManagerPlugin$1 = _ChapterManagerPlugin$1;\nfunction e(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n22] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n22 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n22}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n22 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n22 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n22) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t = { kind: \"first-wins\" };\nfunction s(e2, s2 = t) {\n const n22 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n22.get(a2);\n e4 ? e4.push(t2) : n22.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n22) r2.set(t2, a(t2, o, s2));\n return r2;\n}\nfunction a(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nclass n2 {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n}\nfunction r(e2, a2 = t) {\n const r2 = s(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n22] = s2.localPageRange, l2 = n22 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n2(c);\n}\nconst _ChapterManagerPlugin2 = class _ChapterManagerPlugin22 extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin22.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin22.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin2.id = \"chapter-manager\";\nlet ChapterManagerPlugin = _ChapterManagerPlugin2;\nconst _ChapterScrollPlugin = class _ChapterScrollPlugin2 extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.layoutChange$ = createBehaviorEmitter();\n this.visibleChange$ = createBehaviorEmitter();\n this.virtualPageMap = null;\n this.pageSizes = /* @__PURE__ */ new Map();\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n this.viewportEl = null;\n this.viewportObservers = null;\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.chapterManagerUnsubs = [];\n this.chapterManager = this.registry.getPlugin(ChapterManagerPlugin.id);\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = {\n placeholderPageHeight: config.placeholderPageHeight ?? 1200,\n placeholderPageWidth: config.placeholderPageWidth ?? 900,\n bufferSize: config.bufferSize ?? 2,\n pageGap: config.pageGap ?? 20\n };\n this.virtualPageMap = this.chapterManager.provides().getVirtualPageMap();\n this.rebuildOffsets();\n this.chapterManagerUnsubs.push(\n this.chapterManager.provides().onManifestChange(({ map }) => {\n this.virtualPageMap = map;\n this.pageSizes.clear();\n this.rebuildOffsets();\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n })\n );\n this.syncReadyChapterSizes();\n }\n /** 章节 PDF 在 core 中是否已可渲染(documentId === chapterId) */\n isChapterDocumentReady(chapterId) {\n const coreDoc = this.coreState.core.documents[chapterId];\n if (!coreDoc || coreDoc.status !== \"loaded\" || !coreDoc.document) return false;\n return coreDoc.document.pages.length > 0;\n }\n refreshLayout() {\n this.layoutChange$.emit(this.computeLayout());\n }\n /** 对已打开且可渲染的章节补采页尺寸 */\n syncReadyChapterSizes() {\n for (const ch of this.chapterManager.provides().getManifest().chapters) {\n if (this.isChapterDocumentReady(ch.chapterId)) {\n this.harvestChapterSizes(ch.chapterId);\n }\n }\n this.refreshLayout();\n }\n onDocumentLoaded(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n const dm = this.documentManager.provides();\n if (!dm.getActiveDocumentId()) {\n dm.setActiveDocument(documentId);\n }\n this.harvestChapterSizes(documentId);\n this.refreshLayout();\n }\n onDocumentClosed(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n this.dropChapterSizes(documentId);\n this.refreshLayout();\n }\n buildCapability() {\n return {\n registerViewport: (el) => this.bindViewport(el),\n reportChapterPageSizes: (chapterId, sizes) => this.applyChapterPageSizes(chapterId, sizes),\n getLayout: () => this.computeLayout(),\n getCurrentGlobalPageIndex: () => this.currentGlobalPageIndex,\n getVisibleGlobalPageIndices: () => this.currentVisible.slice(),\n scrollToGlobalPageIndex: (i, o) => this.scrollToIndex(i, o),\n scrollToChapter: (cid, o) => this.scrollToChapter(cid, o),\n scrollToGlobalPageNumber: (n22, o) => this.scrollToGlobalNumber(n22, o),\n scrollToGlobalPdfPoint: (i, pdfY, o) => this.scrollToGlobalPdfPoint(i, pdfY, o),\n onLayoutChange: this.layoutChange$.on,\n onVisibleChange: this.visibleChange$.on\n };\n }\n destroy() {\n var _a;\n super.destroy();\n for (const u of this.chapterManagerUnsubs) u();\n this.chapterManagerUnsubs = [];\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportObservers = null;\n this.viewportEl = null;\n this.layoutChange$.clear();\n this.visibleChange$.clear();\n }\n /* ───────────────── 尺寸 / 偏移 ───────────────── */\n getPageSize(globalPageIndex) {\n return this.pageSizes.get(globalPageIndex) ?? {\n width: this.config.placeholderPageWidth,\n height: this.config.placeholderPageHeight\n };\n }\n rebuildOffsets() {\n if (!this.virtualPageMap) {\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n return;\n }\n const total = this.virtualPageMap.totalPages;\n this.offsets = new Array(total);\n let y = 0;\n let maxW = 0;\n for (let i = 0; i < total; i++) {\n const { width, height } = this.getPageSize(i);\n this.offsets[i] = y;\n y += height + this.config.pageGap;\n if (width > maxW) maxW = width;\n }\n this.totalHeight = total > 0 ? y - this.config.pageGap : 0;\n this.totalWidth = maxW;\n this.layoutChange$.emit(this.computeLayout());\n }\n applyChapterPageSizes(chapterId, sizes) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const s2 of sizes) {\n const loc = this.virtualPageMap.toGlobal(chapterId, s2.localPageIndex);\n if (!loc) continue;\n const prev = this.pageSizes.get(loc.globalPageIndex);\n if (!prev || prev.width !== s2.width || prev.height !== s2.height) {\n this.pageSizes.set(loc.globalPageIndex, { width: s2.width, height: s2.height });\n changed = true;\n }\n }\n if (changed) {\n const anchorIdx = this.currentGlobalPageIndex;\n const oldOffset = this.offsets[anchorIdx] ?? 0;\n this.rebuildOffsets();\n if (this.viewportEl) {\n const newOffset = this.offsets[anchorIdx] ?? 0;\n const delta = newOffset - oldOffset;\n if (delta !== 0) this.viewportEl.scrollTop += delta;\n }\n this.recomputeVisible();\n }\n }\n /** 章节 document 在 core store 中的缩放(与 RenderLayer / Annotation 一致) */\n getChapterDocumentScale(chapterId) {\n var _a;\n return ((_a = this.coreState.core.documents[chapterId]) == null ? void 0 : _a.scale) ?? 1;\n }\n /** 从已加载的 PdfDocumentObject 拉取章节内所有页尺寸并上报 */\n harvestChapterSizes(chapterId, attempt = 0) {\n var _a;\n if (!this.virtualPageMap) return;\n const pdfDoc = this.documentManager.provides().getDocument(chapterId);\n const owned = this.virtualPageMap.pagesOfChapter(chapterId);\n if (!((_a = pdfDoc == null ? void 0 : pdfDoc.pages) == null ? void 0 : _a.length) || owned.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n const scale = this.getChapterDocumentScale(chapterId);\n const sizes = [];\n for (const loc of owned) {\n const page = pdfDoc.pages[loc.localPageIndex];\n if (!(page == null ? void 0 : page.size)) continue;\n sizes.push({\n localPageIndex: loc.localPageIndex,\n width: page.size.width * scale,\n height: page.size.height * scale\n });\n }\n if (sizes.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n this.applyChapterPageSizes(chapterId, sizes);\n }\n /** core SET_SCALE 后重算布局,使滚动占位与 PDF 渲染尺寸一致 */\n onScaleChanged(documentId) {\n const coreDoc = this.coreState.core.documents[documentId];\n if (!coreDoc || coreDoc.status !== \"loaded\") return;\n if (!this.chapterManager.provides().getChapter(documentId)) return;\n this.harvestChapterSizes(documentId);\n }\n dropChapterSizes(chapterId) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const p of this.virtualPageMap.pagesOfChapter(chapterId)) {\n if (this.pageSizes.delete(p.globalPageIndex)) changed = true;\n }\n if (changed) {\n this.rebuildOffsets();\n this.recomputeVisible();\n }\n }\n /* ───────────────── viewport 绑定 ───────────────── */\n bindViewport(el) {\n var _a;\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportEl = el;\n this.viewportObservers = null;\n if (!el) return;\n const onScroll = () => this.recomputeVisible();\n const ro = new ResizeObserver(() => this.recomputeVisible());\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n ro.observe(el);\n this.viewportObservers = {\n unbind: () => {\n el.removeEventListener(\"scroll\", onScroll);\n ro.disconnect();\n }\n };\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n if (el.clientHeight === 0) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => this.recomputeVisible());\n });\n }\n }\n /* ───────────────── visible / layout ───────────────── */\n recomputeVisible() {\n if (!this.viewportEl || !this.virtualPageMap) return;\n const total = this.virtualPageMap.totalPages;\n if (total === 0) {\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.layoutChange$.emit(this.computeLayout());\n return;\n }\n const scrollTop = this.viewportEl.scrollTop;\n const clientH = this.viewportEl.clientHeight;\n const viewportEnd = scrollTop + clientH;\n const start = this.findFirstVisibleIndex(scrollTop);\n let end = start;\n while (end < total) {\n const size = this.getPageSize(end);\n const pageTop = this.offsets[end];\n pageTop + size.height;\n if (pageTop >= viewportEnd) break;\n end++;\n }\n const visible = [];\n let maxOverlapIdx = start;\n let maxOverlap = -1;\n for (let i = start; i < end; i++) {\n visible.push(i);\n const pageTop = this.offsets[i];\n const pageBottom = pageTop + this.getPageSize(i).height;\n const overlap = Math.max(\n 0,\n Math.min(pageBottom, viewportEnd) - Math.max(pageTop, scrollTop)\n );\n if (overlap > maxOverlap) {\n maxOverlap = overlap;\n maxOverlapIdx = i;\n }\n }\n this.currentVisible = visible;\n this.currentGlobalPageIndex = maxOverlapIdx;\n this.visibleChange$.emit({\n visibleGlobalPageIndices: visible,\n currentGlobalPageIndex: maxOverlapIdx\n });\n this.chapterManager.provides().setVisibleGlobalPages(visible);\n this.layoutChange$.emit(this.computeLayout());\n }\n findFirstVisibleIndex(scrollTop) {\n let lo = 0;\n let hi = this.offsets.length - 1;\n let ans = 0;\n while (lo <= hi) {\n const mid = lo + hi >> 1;\n if (this.offsets[mid] <= scrollTop) {\n ans = mid;\n lo = mid + 1;\n } else {\n hi = mid - 1;\n }\n }\n return ans;\n }\n computeLayout() {\n const buffer = this.config.bufferSize;\n const start = Math.max(0, (this.currentVisible[0] ?? 0) - buffer);\n const last = this.currentVisible[this.currentVisible.length - 1] ?? -1;\n const end = Math.min(this.offsets.length - 1, (last >= 0 ? last : 0) + buffer);\n const items = [];\n if (this.virtualPageMap && this.offsets.length > 0) {\n for (let i = start; i <= end; i++) {\n const loc = this.virtualPageMap.atIndex(i);\n if (!loc) continue;\n const size = this.getPageSize(i);\n const isPlaceholder = !this.isChapterDocumentReady(loc.chapterId);\n items.push({\n globalPageIndex: i,\n globalPageNumber: loc.globalPageNumber,\n chapterId: loc.chapterId,\n localPageIndex: loc.localPageIndex,\n width: size.width,\n height: size.height,\n offsetTop: this.offsets[i],\n isPlaceholder\n });\n }\n }\n return {\n totalHeight: this.totalHeight,\n totalWidth: this.totalWidth || this.config.placeholderPageWidth,\n items,\n pageGap: this.config.pageGap\n };\n }\n /* ───────────────── scroll-to ───────────────── */\n scrollToIndex(idx, options) {\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length) return;\n const targetTop = (this.offsets[idx] ?? 0) - ((options == null ? void 0 : options.topOffset) ?? 0);\n this.viewportEl.scrollTo({ top: targetTop, behavior: (options == null ? void 0 : options.behavior) ?? \"auto\" });\n }\n scrollToGlobalPdfPoint(idx, pdfY, options) {\n var _a;\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length || !this.virtualPageMap) {\n return;\n }\n const marginTop = (options == null ? void 0 : options.marginTop) ?? 80;\n const loc = this.virtualPageMap.atIndex(idx);\n if (!loc) {\n this.scrollToIndex(idx, options);\n return;\n }\n const cssSize = this.pageSizes.get(idx);\n const pdfPage = (_a = this.documentManager.provides().getDocument(loc.chapterId)) == null ? void 0 : _a.pages[loc.localPageIndex];\n if (!cssSize || !pdfPage) {\n this.scrollToIndex(idx, options);\n return;\n }\n const sy = cssSize.height / pdfPage.size.height;\n const absoluteTop = (this.offsets[idx] ?? 0) + pdfY * sy - marginTop;\n this.viewportEl.scrollTo({\n top: Math.max(0, absoluteTop),\n behavior: (options == null ? void 0 : options.behavior) ?? \"auto\"\n });\n }\n scrollToChapter(chapterId, options) {\n if (!this.virtualPageMap) return;\n const idx = this.virtualPageMap.firstIndexOfChapter(chapterId);\n if (idx < 0) return;\n void this.chapterManager.provides().ensureChapterLoaded(chapterId);\n this.scrollToIndex(idx, options);\n }\n scrollToGlobalNumber(n22, options) {\n if (!this.virtualPageMap) return;\n const loc = this.virtualPageMap.byGlobalNumber(n22);\n if (!loc) return;\n this.scrollToIndex(loc.globalPageIndex, options);\n }\n};\n_ChapterScrollPlugin.id = \"chapter-scroll\";\nlet ChapterScrollPlugin = _ChapterScrollPlugin;\nfunction unionRects(rects) {\n if (rects.length === 0) {\n throw new Error(\"unionRects: empty rects\");\n }\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const r2 of rects) {\n minX = Math.min(minX, r2.origin.x);\n minY = Math.min(minY, r2.origin.y);\n maxX = Math.max(maxX, r2.origin.x + r2.size.width);\n maxY = Math.max(maxY, r2.origin.y + r2.size.height);\n }\n return {\n origin: { x: minX, y: minY },\n size: { width: maxX - minX, height: maxY - minY }\n };\n}\nfunction markerAnchorFromRects(rects) {\n const last = rects[rects.length - 1];\n return {\n x: last.origin.x + last.size.width,\n y: last.origin.y + last.size.height\n };\n}\nconst MARKER_MATCH_EPS_PDF = 6;\nfunction verticalOverlapRatio(a2, b) {\n const topA = a2.origin.y;\n const bottomA = a2.origin.y + a2.size.height;\n const topB = b.origin.y;\n const bottomB = b.origin.y + b.size.height;\n const union = Math.max(bottomA, bottomB) - Math.min(topA, topB);\n if (union <= 0) return 0;\n const intersect = Math.max(0, Math.min(bottomA, bottomB) - Math.max(topA, topB));\n return intersect / union;\n}\nfunction anchorsMatch(a2, b) {\n var _a, _b;\n if (a2.chapterId !== b.chapterId || a2.localPageIndex !== b.localPageIndex) {\n return false;\n }\n const rectsA = ((_a = a2.rectsPdfCoord) == null ? void 0 : _a.length) ? a2.rectsPdfCoord : [a2.rectPdfCoord];\n const rectsB = ((_b = b.rectsPdfCoord) == null ? void 0 : _b.length) ? b.rectsPdfCoord : [b.rectPdfCoord];\n const ma = a2.markerAnchor ?? markerAnchorFromRects(rectsA);\n const mb = b.markerAnchor ?? markerAnchorFromRects(rectsB);\n if (Math.hypot(ma.x - mb.x, ma.y - mb.y) <= MARKER_MATCH_EPS_PDF) {\n return true;\n }\n for (const ra of rectsA) {\n for (const rb of rectsB) {\n if (verticalOverlapRatio(ra, rb) < 0.5) continue;\n const left = Math.max(ra.origin.x, rb.origin.x);\n const right = Math.min(ra.origin.x + ra.size.width, rb.origin.x + rb.size.width);\n const overlap = right - left;\n if (overlap > Math.min(ra.size.width, rb.size.width) * 0.25) {\n return true;\n }\n }\n }\n return false;\n}\nfunction buildParagraphBookmarkAnchor(chapterId, localPageIndex, rectsPdfCoord, virtualPage) {\n const rects = rectsPdfCoord.length > 0 ? rectsPdfCoord : [];\n if (rects.length === 0) {\n throw new Error(\"buildParagraphBookmarkAnchor: no rects\");\n }\n return {\n chapterId,\n localPageIndex,\n globalPageIndex: virtualPage == null ? void 0 : virtualPage.globalPageIndex,\n globalPageNumber: virtualPage == null ? void 0 : virtualPage.globalPageNumber,\n rectPdfCoord: unionRects(rects),\n rectsPdfCoord: rects,\n markerAnchor: markerAnchorFromRects(rects)\n };\n}\nconst VIEWPORT_MARGIN_PX = 80;\nfunction waitForPageInLayout(scroll, globalPageIndex, timeoutMs = 2500) {\n const found = scroll.getLayout().items.find((i) => i.globalPageIndex === globalPageIndex && !i.isPlaceholder);\n if (found) return Promise.resolve(found);\n return new Promise((resolve) => {\n const timer = setTimeout(() => {\n unsub();\n resolve(null);\n }, timeoutMs);\n const unsub = scroll.onLayoutChange((layout) => {\n const item = layout.items.find(\n (i) => i.globalPageIndex === globalPageIndex && !i.isPlaceholder\n );\n if (item) {\n clearTimeout(timer);\n unsub();\n resolve(item);\n }\n });\n });\n}\nfunction topOffsetForPdfMarker(markerPdfY, cssPageHeight, pdfPageHeight) {\n if (!pdfPageHeight) return 0;\n const sy = cssPageHeight / pdfPageHeight;\n const markerYCss = markerPdfY * sy;\n return VIEWPORT_MARGIN_PX - markerYCss;\n}\nfunction pdfMarkerYFromBookmarkAnchor(anchor) {\n if (anchor.markerAnchor) return anchor.markerAnchor.y;\n const r2 = anchor.rectPdfCoord;\n return r2.origin.y + r2.size.height;\n}\nasync function scrollToBookmarkAnchor(scroll, globalPageIndex, pdfY) {\n scroll.scrollToGlobalPageIndex(globalPageIndex);\n await waitForPageInLayout(scroll, globalPageIndex);\n scroll.scrollToGlobalPdfPoint(globalPageIndex, pdfY, { marginTop: VIEWPORT_MARGIN_PX });\n}\nconst _ParagraphBookmarkPlugin = class _ParagraphBookmarkPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.change$ = createBehaviorEmitter([]);\n this.entries = /* @__PURE__ */ new Map();\n this.chapterScroll = this.registry.getPlugin(ChapterScrollPlugin.id);\n this.chapterManager = this.registry.getPlugin(ChapterManagerPlugin$1.id);\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n var _a;\n this.config = config;\n if ((_a = config.callbacks) == null ? void 0 : _a.load) {\n try {\n const initial = await config.callbacks.load();\n for (const b of initial) this.entries.set(b.id, b);\n this.change$.emit(this.list());\n } catch (err) {\n this.logger.error(\n _ParagraphBookmarkPlugin.id,\n \"Load\",\n \"Failed to load paragraph bookmarks\",\n err\n );\n }\n }\n }\n buildCapability() {\n return {\n addBookmark: (input) => this.addBookmark(input),\n removeBookmark: (id) => this.removeBookmark(id),\n updateBookmark: (id, patch) => this.updateBookmark(id, patch),\n listBookmarks: () => this.list(),\n getBookmark: (id) => this.entries.get(id) ?? null,\n scrollToBookmark: (id) => this.scrollToBookmark(id),\n requestRemoveBookmark: (id) => this.requestRemoveBookmark(id),\n onBookmarksChange: this.change$.on\n };\n }\n addBookmark(input) {\n for (const existing of this.entries.values()) {\n if (anchorsMatch(existing.anchor, input.anchor)) {\n return existing;\n }\n }\n const id = input.id ?? `bm-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n const entry = {\n id,\n label: input.label,\n anchor: input.anchor,\n metadata: input.metadata,\n createdAt: Date.now()\n };\n this.entries.set(id, entry);\n this.notifyAndPersist();\n return entry;\n }\n removeBookmark(id) {\n var _a, _b, _c;\n if (this.entries.delete(id)) {\n this.notifyAndPersist();\n (_c = (_b = (_a = this.config) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.onRemoveSuccess) == null ? void 0 : _c.call(_b, id);\n }\n }\n async requestRemoveBookmark(id) {\n var _a, _b;\n const entry = this.entries.get(id);\n if (!entry) return false;\n const cb = (_b = (_a = this.config) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.onRequestRemove;\n if (cb) {\n try {\n const ok = await cb(entry);\n if (!ok) return false;\n } catch (err) {\n this.logger.error(_ParagraphBookmarkPlugin.id, \"RequestRemove\", \"callback failed\", err);\n return false;\n }\n }\n this.removeBookmark(id);\n return true;\n }\n updateBookmark(id, patch) {\n const e2 = this.entries.get(id);\n if (!e2) return;\n this.entries.set(id, { ...e2, ...patch });\n this.notifyAndPersist();\n }\n list() {\n return Array.from(this.entries.values()).sort((a2, b) => a2.createdAt - b.createdAt);\n }\n notifyAndPersist() {\n var _a, _b;\n const list = this.list();\n this.change$.emit(list);\n if ((_b = (_a = this.config) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.persist) {\n Promise.resolve(this.config.callbacks.persist(list)).catch(\n (err) => this.logger.error(\n _ParagraphBookmarkPlugin.id,\n \"Persist\",\n \"persist callback rejected\",\n err\n )\n );\n }\n }\n async scrollToBookmark(id) {\n const e2 = this.entries.get(id);\n if (!e2) return;\n const scroll = this.chapterScroll.provides();\n await this.chapterManager.provides().ensureChapterLoaded(e2.anchor.chapterId);\n let globalPageIndex = e2.anchor.globalPageIndex;\n if (globalPageIndex === void 0) {\n const loc = this.chapterManager.provides().getVirtualPageMap().toGlobal(e2.anchor.chapterId, e2.anchor.localPageIndex);\n if (!loc) return;\n globalPageIndex = loc.globalPageIndex;\n }\n const pdfY = pdfMarkerYFromBookmarkAnchor(e2.anchor);\n await scrollToBookmarkAnchor(scroll, globalPageIndex, pdfY);\n }\n};\n_ParagraphBookmarkPlugin.id = \"paragraph-bookmark\";\nlet ParagraphBookmarkPlugin = _ParagraphBookmarkPlugin;\nconst ParagraphBookmarkPluginPackage = {\n manifest,\n create: (registry) => new ParagraphBookmarkPlugin(PARAGRAPH_BOOKMARK_PLUGIN_ID, registry),\n reducer: (state) => state,\n initialState: {}\n};\nexport {\n PARAGRAPH_BOOKMARK_PLUGIN_ID,\n ParagraphBookmarkPlugin,\n ParagraphBookmarkPluginPackage,\n VIEWPORT_MARGIN_PX,\n anchorsMatch,\n buildParagraphBookmarkAnchor,\n manifest,\n markerAnchorFromRects,\n pdfMarkerYFromBookmarkAnchor,\n scrollToBookmarkAnchor,\n topOffsetForPdfMarker,\n unionRects,\n waitForPageInLayout\n};\n//# sourceMappingURL=index.js.map\n","import { BasePlugin, createBehaviorEmitter, createEmitter } from \"@embedpdf/core\";\nimport { PdfErrorCode } from \"@embedpdf/models\";\nimport { DocumentManagerPlugin } from \"@embedpdf/plugin-document-manager\";\nconst CHAPTER_MANAGER_PLUGIN_ID = \"chapter-manager\";\nconst manifest = {\n id: CHAPTER_MANAGER_PLUGIN_ID,\n name: \"Chapter Manager Plugin\",\n version: \"0.1.0\",\n provides: [\"chapter-manager\"],\n // 强依赖 document-manager 来真正打开每个章节 PDF\n requires: [\"document-manager\"],\n optional: [],\n defaultConfig: {\n manifest: { chapters: [] },\n prefetchChapters: 1,\n unloadTimeoutMs: 6e4,\n autoActivateOnLoad: true\n }\n};\nfunction e(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n2] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n2 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n2}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n2 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n2 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n2) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t = { kind: \"first-wins\" };\nfunction s(e2, s2 = t) {\n const n2 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n2.get(a2);\n e4 ? e4.push(t2) : n2.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n2) r2.set(t2, a(t2, o, s2));\n return r2;\n}\nfunction a(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nclass n {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n}\nfunction r(e2, a2 = t) {\n const r2 = s(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n2] = s2.localPageRange, l2 = n2 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n(c);\n}\nconst _ChapterManagerPlugin = class _ChapterManagerPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin.id = \"chapter-manager\";\nlet ChapterManagerPlugin = _ChapterManagerPlugin;\nconst ChapterManagerPluginPackage = {\n manifest,\n create: (registry) => new ChapterManagerPlugin(CHAPTER_MANAGER_PLUGIN_ID, registry),\n reducer: (state) => state,\n initialState: {}\n};\nexport {\n CHAPTER_MANAGER_PLUGIN_ID,\n ChapterManagerPlugin,\n ChapterManagerPluginPackage,\n manifest\n};\n//# sourceMappingURL=index.js.map\n","import { BasePlugin, createBehaviorEmitter, createEmitter } from \"@embedpdf/core\";\nimport { PdfErrorCode } from \"@embedpdf/models\";\nimport { DocumentManagerPlugin } from \"@embedpdf/plugin-document-manager\";\nconst CHAPTER_SCROLL_PLUGIN_ID = \"chapter-scroll\";\nconst manifest = {\n id: CHAPTER_SCROLL_PLUGIN_ID,\n name: \"Chapter Scroll Plugin\",\n version: \"0.1.0\",\n provides: [\"chapter-scroll\"],\n requires: [\"chapter-manager\"],\n optional: [],\n defaultConfig: {\n placeholderPageHeight: 1200,\n placeholderPageWidth: 900,\n bufferSize: 2,\n pageGap: 20\n }\n};\nfunction e(e2) {\n const t2 = [], s2 = /* @__PURE__ */ new Set();\n for (const a2 of e2.chapters) {\n s2.has(a2.chapterId) && t2.push(`Duplicate chapterId: ${a2.chapterId}`), s2.add(a2.chapterId);\n const [e3, n2] = a2.globalPageRange, [r2, o] = a2.localPageRange;\n if (e3 > n2 && t2.push(`${a2.chapterId}: invalid globalPageRange [${e3},${n2}]`), r2 > o && t2.push(`${a2.chapterId}: invalid localPageRange [${r2},${o}]`), n2 - e3 !== o - r2 && t2.push(`${a2.chapterId}: page-count mismatch (global ${n2 - e3 + 1} vs local ${o - r2 + 1})`), a2.ownedGlobalPages) for (const s3 of a2.ownedGlobalPages) (s3 < e3 || s3 > n2) && t2.push(`${a2.chapterId}: ownedGlobalPages contains ${s3} outside range`);\n }\n return t2;\n}\nconst t = { kind: \"first-wins\" };\nfunction s(e2, s2 = t) {\n const n2 = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) {\n const [e3, s3] = t2.globalPageRange;\n for (let a2 = e3; a2 <= s3; a2++) {\n const e4 = n2.get(a2);\n e4 ? e4.push(t2) : n2.set(a2, [t2]);\n }\n }\n const r2 = /* @__PURE__ */ new Map();\n for (const [t2, o] of n2) r2.set(t2, a(t2, o, s2));\n return r2;\n}\nfunction a(e2, t2, s2) {\n if (1 === t2.length) return t2[0].chapterId;\n switch (s2.kind) {\n case \"first-wins\":\n return t2[0].chapterId;\n case \"last-wins\":\n return t2[t2.length - 1].chapterId;\n case \"explicit\": {\n const s3 = t2.find((t3) => {\n var _a;\n return (_a = t3.ownedGlobalPages) == null ? void 0 : _a.includes(e2);\n });\n return s3 ? s3.chapterId : t2[0].chapterId;\n }\n case \"custom\":\n return s2.resolve(e2, t2);\n }\n}\nclass n {\n constructor(e2) {\n this._pages = e2, this._byChapter = /* @__PURE__ */ new Map(), this._byGlobalNumber = /* @__PURE__ */ new Map();\n for (const t2 of e2) {\n this._byGlobalNumber.set(t2.globalPageNumber, t2);\n let e3 = this._byChapter.get(t2.chapterId);\n e3 || (e3 = [], this._byChapter.set(t2.chapterId, e3)), e3.push(t2);\n }\n }\n get totalPages() {\n return this._pages.length;\n }\n list() {\n return this._pages;\n }\n atIndex(e2) {\n return this._pages[e2] ?? null;\n }\n byGlobalNumber(e2) {\n return this._byGlobalNumber.get(e2) ?? null;\n }\n toGlobal(e2, t2) {\n const s2 = this._byChapter.get(e2);\n return s2 ? s2.find((e3) => e3.localPageIndex === t2) ?? null : null;\n }\n pagesOfChapter(e2) {\n return this._byChapter.get(e2) ?? [];\n }\n firstIndexOfChapter(e2) {\n var _a;\n const t2 = (_a = this._byChapter.get(e2)) == null ? void 0 : _a[0];\n return t2 ? this._pages.indexOf(t2) : -1;\n }\n}\nfunction r(e2, a2 = t) {\n const r2 = s(e2, a2), o = /* @__PURE__ */ new Map();\n for (const t2 of e2.chapters) o.set(t2.chapterId, t2);\n const l = Array.from(r2.keys()).sort((e3, t2) => e3 - t2), c = [];\n let h = 0;\n for (const t2 of l) {\n const e3 = r2.get(t2), s2 = o.get(e3);\n if (!s2) continue;\n const [a3] = s2.globalPageRange, [n2] = s2.localPageRange, l2 = n2 + (t2 - a3);\n c.push({ globalPageIndex: h++, globalPageNumber: t2, chapterId: e3, localPageIndex: l2 });\n }\n return new n(c);\n}\nconst _ChapterManagerPlugin = class _ChapterManagerPlugin2 extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.statusChange$ = createBehaviorEmitter();\n this.manifestChange$ = createEmitter();\n this.overlapStrategy = t;\n this.chapterStatus = /* @__PURE__ */ new Map();\n this.chapterLastUsed = /* @__PURE__ */ new Map();\n this.passwordAttempts = /* @__PURE__ */ new Map();\n this.pendingLoadPromises = /* @__PURE__ */ new Map();\n this.unloadTimer = null;\n this.documentManagerUnsubs = [];\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = config;\n this.passwordProvider = config.passwordProvider;\n this.overlapStrategy = config.overlapStrategy ?? t;\n this.setManifestInternal(config.manifest);\n this.documentManagerUnsubs.push(\n this.documentManager.provides().onDocumentOpened((docState) => {\n if (!this.isOwnedChapter(docState.id)) return;\n this.passwordAttempts.delete(docState.id);\n this.updateStatus(docState.id, \"loaded\");\n }),\n this.documentManager.provides().onDocumentClosed((documentId) => {\n if (!this.isOwnedChapter(documentId)) return;\n this.updateStatus(documentId, \"closed\");\n }),\n this.documentManager.provides().onDocumentError((evt) => {\n if (!this.isOwnedChapter(evt.documentId)) return;\n this.handleDocumentError(evt.documentId, evt.code, evt.message);\n })\n );\n if (config.unloadTimeoutMs && config.unloadTimeoutMs > 0) {\n const tick = Math.max(5e3, Math.floor(config.unloadTimeoutMs / 4));\n this.unloadTimer = setInterval(() => this.collectIdleChapters(), tick);\n }\n }\n buildCapability() {\n return {\n setManifest: (m, s2) => {\n if (s2) this.overlapStrategy = s2;\n this.setManifestInternal(m);\n },\n getManifest: () => this.manifest,\n getVirtualPageMap: () => this.virtualPageMap,\n setVisibleGlobalPages: (visible) => this.handleVisibleChange(visible),\n ensureChapterLoaded: (chapterId) => this.ensureChapterLoaded(chapterId),\n getChapterStatus: (chapterId) => this.chapterStatus.get(chapterId) ?? \"idle\",\n getChapter: (chapterId) => this.findChapter(chapterId),\n onChapterStatusChange: this.statusChange$.on,\n onManifestChange: this.manifestChange$.on\n };\n }\n destroy() {\n super.destroy();\n for (const u of this.documentManagerUnsubs) u();\n this.documentManagerUnsubs = [];\n if (this.unloadTimer) clearInterval(this.unloadTimer);\n this.unloadTimer = null;\n this.statusChange$.clear();\n this.manifestChange$.clear();\n }\n /* ───────────────── manifest ───────────────── */\n setManifestInternal(manifest2) {\n const issues = e(manifest2);\n if (issues.length > 0) {\n this.logger.warn(\n _ChapterManagerPlugin2.id,\n \"ManifestValidation\",\n `Chapter manifest has issues: ${issues.join(\"; \")}`\n );\n }\n const prevIds = new Set(this.chapterStatus.keys());\n const nextIds = new Set(manifest2.chapters.map((c) => c.chapterId));\n for (const oldId of prevIds) {\n if (!nextIds.has(oldId)) {\n this.closeChapter(oldId);\n this.chapterStatus.delete(oldId);\n }\n }\n for (const c of manifest2.chapters) {\n if (!this.chapterStatus.has(c.chapterId)) {\n this.chapterStatus.set(c.chapterId, \"idle\");\n }\n }\n this.manifest = manifest2;\n this.virtualPageMap = r(manifest2, this.overlapStrategy);\n this.manifestChange$.emit({ manifest: manifest2, map: this.virtualPageMap });\n this.eagerPrefetchFromManifest();\n }\n /** manifest 就绪后预取前 N 章(不依赖滚动视口是否已算出可见页) */\n eagerPrefetchFromManifest() {\n const prefetch = this.config.prefetchChapters ?? 0;\n if (prefetch <= 0 || this.manifest.chapters.length === 0) return;\n const now = Date.now();\n const count = Math.min(prefetch, this.manifest.chapters.length);\n for (let i = 0; i < count; i++) {\n const chapterId = this.manifest.chapters[i].chapterId;\n this.chapterLastUsed.set(chapterId, now);\n const st = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(chapterId);\n }\n }\n }\n findChapter(chapterId) {\n return this.manifest.chapters.find((c) => c.chapterId === chapterId) ?? null;\n }\n isOwnedChapter(documentId) {\n return !!this.findChapter(documentId);\n }\n /* ───────────────── 可见 → needed → load/unload ───────────────── */\n handleVisibleChange(visibleGlobalPageIndices) {\n if (!this.virtualPageMap) return;\n const now = Date.now();\n const prefetch = this.config.prefetchChapters ?? 1;\n const visibleChapters = /* @__PURE__ */ new Set();\n for (const idx of visibleGlobalPageIndices) {\n const loc = this.virtualPageMap.atIndex(idx);\n if (loc) visibleChapters.add(loc.chapterId);\n }\n if (visibleChapters.size === 0) return;\n const orderedIds = this.manifest.chapters.map((c) => c.chapterId);\n const neededIdx = /* @__PURE__ */ new Set();\n for (const cid of visibleChapters) {\n const i = orderedIds.indexOf(cid);\n if (i === -1) continue;\n for (let k = i - prefetch; k <= i + prefetch; k++) {\n if (k >= 0 && k < orderedIds.length) neededIdx.add(k);\n }\n }\n const needed = /* @__PURE__ */ new Set();\n for (const i of neededIdx) needed.add(orderedIds[i]);\n for (const cid of needed) {\n this.chapterLastUsed.set(cid, now);\n const st = this.chapterStatus.get(cid) ?? \"idle\";\n if (st === \"idle\" || st === \"closed\" || st === \"error\") {\n void this.ensureChapterLoaded(cid);\n }\n }\n if (this.config.autoActivateOnLoad ?? true) {\n const firstVisible = orderedIds.find((id) => visibleChapters.has(id));\n if (firstVisible && this.documentManager.provides().isDocumentOpen(firstVisible)) {\n const currentActive = this.documentManager.provides().getActiveDocumentId();\n if (currentActive !== firstVisible) {\n this.documentManager.provides().setActiveDocument(firstVisible);\n }\n }\n }\n }\n collectIdleChapters() {\n const timeout = this.config.unloadTimeoutMs ?? 6e4;\n if (timeout <= 0) return;\n const now = Date.now();\n for (const [cid, st] of this.chapterStatus) {\n if (st !== \"loaded\") continue;\n const last = this.chapterLastUsed.get(cid) ?? 0;\n if (now - last > timeout) {\n this.closeChapter(cid);\n }\n }\n }\n /* ───────────────── load / retry / close ───────────────── */\n ensureChapterLoaded(chapterId) {\n const existing = this.pendingLoadPromises.get(chapterId);\n if (existing) return existing;\n const chapter = this.findChapter(chapterId);\n if (!chapter) return Promise.resolve(\"error\");\n const currentStatus = this.chapterStatus.get(chapterId) ?? \"idle\";\n if (currentStatus === \"loaded\") {\n this.chapterLastUsed.set(chapterId, Date.now());\n return Promise.resolve(\"loaded\");\n }\n if (currentStatus === \"loading\") {\n return this.waitForTerminalStatus(chapterId);\n }\n const promise = this.startLoad(chapter).finally(() => {\n this.pendingLoadPromises.delete(chapterId);\n });\n this.pendingLoadPromises.set(chapterId, promise);\n return promise;\n }\n async resolvePdfPayload(chapter) {\n const src = chapter.source;\n if (src) {\n if (\"url\" in src) return { url: src.url };\n if (\"buffer\" in src) return { buffer: src.buffer };\n if (\"load\" in src) return src.load();\n }\n const loader = this.config.chapterPdfLoader;\n if (loader) return loader.loadPdf(chapter);\n throw new Error(\n `Chapter \"${chapter.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`\n );\n }\n async startLoad(chapter) {\n var _a;\n this.updateStatus(chapter.chapterId, \"loading\");\n this.chapterLastUsed.set(chapter.chapterId, Date.now());\n const cachedPwd = chapter.encrypted && ((_a = this.passwordProvider) == null ? void 0 : _a.getCachedPassword) ? this.passwordProvider.getCachedPassword(chapter.chapterId) : null;\n const payload = await this.resolvePdfPayload(chapter);\n const cap = this.documentManager.provides();\n const openTask = \"url\" in payload ? cap.openDocumentUrl({\n documentId: chapter.chapterId,\n url: payload.url,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n // 由 handleVisibleChange 决定 active\n }) : cap.openDocumentBuffer({\n documentId: chapter.chapterId,\n buffer: payload.buffer,\n name: chapter.title,\n password: cachedPwd ?? void 0,\n autoActivate: false\n });\n await new Promise((resolve) => openTask.wait(() => resolve(), () => resolve()));\n return this.waitForTerminalStatus(chapter.chapterId);\n }\n /** 阻塞等待该章节状态进入 loaded / error / password-required / closed */\n waitForTerminalStatus(chapterId) {\n return new Promise((resolve) => {\n const check = (st) => {\n if (st === \"loaded\" || st === \"error\" || st === \"password-required\" || st === \"closed\") {\n unsub();\n resolve(st);\n }\n };\n const unsub = this.statusChange$.on((evt) => {\n if (evt.chapterId === chapterId) check(evt.status);\n });\n check(this.chapterStatus.get(chapterId) ?? \"idle\");\n });\n }\n async handleDocumentError(chapterId, code, _message) {\n if (code !== PdfErrorCode.Password) {\n this.updateStatus(chapterId, \"error\");\n return;\n }\n if (!this.passwordProvider) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n const chapter = this.findChapter(chapterId);\n if (!chapter) return;\n const attempt = (this.passwordAttempts.get(chapterId) ?? 0) + 1;\n this.passwordAttempts.set(chapterId, attempt);\n let password = null;\n try {\n password = await this.passwordProvider.resolvePassword(chapter, attempt - 1);\n } catch (err) {\n this.logger.error(\n _ChapterManagerPlugin2.id,\n \"PasswordProvider\",\n `Provider rejected for ${chapterId}`,\n err\n );\n }\n if (!password) {\n this.updateStatus(chapterId, \"password-required\");\n return;\n }\n this.updateStatus(chapterId, \"loading\");\n const retryTask = this.documentManager.provides().retryDocument(chapterId, { password });\n retryTask.wait(\n () => {\n },\n () => {\n }\n );\n }\n closeChapter(chapterId) {\n const cap = this.documentManager.provides();\n if (cap.isDocumentOpen(chapterId)) {\n const task = cap.closeDocument(chapterId);\n task.wait(\n () => this.updateStatus(chapterId, \"closed\"),\n () => this.updateStatus(chapterId, \"closed\")\n );\n } else {\n this.updateStatus(chapterId, \"closed\");\n }\n }\n updateStatus(chapterId, status, errorMsg) {\n const prev = this.chapterStatus.get(chapterId);\n if (prev === status) return;\n this.chapterStatus.set(chapterId, status);\n this.statusChange$.emit({\n chapterId,\n status,\n ...status === \"error\" && errorMsg ? { error: { message: errorMsg } } : {}\n });\n }\n};\n_ChapterManagerPlugin.id = \"chapter-manager\";\nlet ChapterManagerPlugin = _ChapterManagerPlugin;\nconst _ChapterScrollPlugin = class _ChapterScrollPlugin extends BasePlugin {\n constructor(id, registry) {\n super(id, registry);\n this.layoutChange$ = createBehaviorEmitter();\n this.visibleChange$ = createBehaviorEmitter();\n this.virtualPageMap = null;\n this.pageSizes = /* @__PURE__ */ new Map();\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n this.viewportEl = null;\n this.viewportObservers = null;\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.chapterManagerUnsubs = [];\n this.chapterManager = this.registry.getPlugin(ChapterManagerPlugin.id);\n this.documentManager = this.registry.getPlugin(DocumentManagerPlugin.id);\n }\n async initialize(config) {\n this.config = {\n placeholderPageHeight: config.placeholderPageHeight ?? 1200,\n placeholderPageWidth: config.placeholderPageWidth ?? 900,\n bufferSize: config.bufferSize ?? 2,\n pageGap: config.pageGap ?? 20\n };\n this.virtualPageMap = this.chapterManager.provides().getVirtualPageMap();\n this.rebuildOffsets();\n this.chapterManagerUnsubs.push(\n this.chapterManager.provides().onManifestChange(({ map }) => {\n this.virtualPageMap = map;\n this.pageSizes.clear();\n this.rebuildOffsets();\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n })\n );\n this.syncReadyChapterSizes();\n }\n /** 章节 PDF 在 core 中是否已可渲染(documentId === chapterId) */\n isChapterDocumentReady(chapterId) {\n const coreDoc = this.coreState.core.documents[chapterId];\n if (!coreDoc || coreDoc.status !== \"loaded\" || !coreDoc.document) return false;\n return coreDoc.document.pages.length > 0;\n }\n refreshLayout() {\n this.layoutChange$.emit(this.computeLayout());\n }\n /** 对已打开且可渲染的章节补采页尺寸 */\n syncReadyChapterSizes() {\n for (const ch of this.chapterManager.provides().getManifest().chapters) {\n if (this.isChapterDocumentReady(ch.chapterId)) {\n this.harvestChapterSizes(ch.chapterId);\n }\n }\n this.refreshLayout();\n }\n onDocumentLoaded(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n const dm = this.documentManager.provides();\n if (!dm.getActiveDocumentId()) {\n dm.setActiveDocument(documentId);\n }\n this.harvestChapterSizes(documentId);\n this.refreshLayout();\n }\n onDocumentClosed(documentId) {\n var _a;\n if ((((_a = this.virtualPageMap) == null ? void 0 : _a.pagesOfChapter(documentId).length) ?? 0) === 0) return;\n this.dropChapterSizes(documentId);\n this.refreshLayout();\n }\n buildCapability() {\n return {\n registerViewport: (el) => this.bindViewport(el),\n reportChapterPageSizes: (chapterId, sizes) => this.applyChapterPageSizes(chapterId, sizes),\n getLayout: () => this.computeLayout(),\n getCurrentGlobalPageIndex: () => this.currentGlobalPageIndex,\n getVisibleGlobalPageIndices: () => this.currentVisible.slice(),\n scrollToGlobalPageIndex: (i, o) => this.scrollToIndex(i, o),\n scrollToChapter: (cid, o) => this.scrollToChapter(cid, o),\n scrollToGlobalPageNumber: (n2, o) => this.scrollToGlobalNumber(n2, o),\n scrollToGlobalPdfPoint: (i, pdfY, o) => this.scrollToGlobalPdfPoint(i, pdfY, o),\n onLayoutChange: this.layoutChange$.on,\n onVisibleChange: this.visibleChange$.on\n };\n }\n destroy() {\n var _a;\n super.destroy();\n for (const u of this.chapterManagerUnsubs) u();\n this.chapterManagerUnsubs = [];\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportObservers = null;\n this.viewportEl = null;\n this.layoutChange$.clear();\n this.visibleChange$.clear();\n }\n /* ───────────────── 尺寸 / 偏移 ───────────────── */\n getPageSize(globalPageIndex) {\n return this.pageSizes.get(globalPageIndex) ?? {\n width: this.config.placeholderPageWidth,\n height: this.config.placeholderPageHeight\n };\n }\n rebuildOffsets() {\n if (!this.virtualPageMap) {\n this.offsets = [];\n this.totalHeight = 0;\n this.totalWidth = 0;\n return;\n }\n const total = this.virtualPageMap.totalPages;\n this.offsets = new Array(total);\n let y = 0;\n let maxW = 0;\n for (let i = 0; i < total; i++) {\n const { width, height } = this.getPageSize(i);\n this.offsets[i] = y;\n y += height + this.config.pageGap;\n if (width > maxW) maxW = width;\n }\n this.totalHeight = total > 0 ? y - this.config.pageGap : 0;\n this.totalWidth = maxW;\n this.layoutChange$.emit(this.computeLayout());\n }\n applyChapterPageSizes(chapterId, sizes) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const s2 of sizes) {\n const loc = this.virtualPageMap.toGlobal(chapterId, s2.localPageIndex);\n if (!loc) continue;\n const prev = this.pageSizes.get(loc.globalPageIndex);\n if (!prev || prev.width !== s2.width || prev.height !== s2.height) {\n this.pageSizes.set(loc.globalPageIndex, { width: s2.width, height: s2.height });\n changed = true;\n }\n }\n if (changed) {\n const anchorIdx = this.currentGlobalPageIndex;\n const oldOffset = this.offsets[anchorIdx] ?? 0;\n this.rebuildOffsets();\n if (this.viewportEl) {\n const newOffset = this.offsets[anchorIdx] ?? 0;\n const delta = newOffset - oldOffset;\n if (delta !== 0) this.viewportEl.scrollTop += delta;\n }\n this.recomputeVisible();\n }\n }\n /** 章节 document 在 core store 中的缩放(与 RenderLayer / Annotation 一致) */\n getChapterDocumentScale(chapterId) {\n var _a;\n return ((_a = this.coreState.core.documents[chapterId]) == null ? void 0 : _a.scale) ?? 1;\n }\n /** 从已加载的 PdfDocumentObject 拉取章节内所有页尺寸并上报 */\n harvestChapterSizes(chapterId, attempt = 0) {\n var _a;\n if (!this.virtualPageMap) return;\n const pdfDoc = this.documentManager.provides().getDocument(chapterId);\n const owned = this.virtualPageMap.pagesOfChapter(chapterId);\n if (!((_a = pdfDoc == null ? void 0 : pdfDoc.pages) == null ? void 0 : _a.length) || owned.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n const scale = this.getChapterDocumentScale(chapterId);\n const sizes = [];\n for (const loc of owned) {\n const page = pdfDoc.pages[loc.localPageIndex];\n if (!(page == null ? void 0 : page.size)) continue;\n sizes.push({\n localPageIndex: loc.localPageIndex,\n width: page.size.width * scale,\n height: page.size.height * scale\n });\n }\n if (sizes.length === 0) {\n if (attempt < 60) {\n requestAnimationFrame(() => this.harvestChapterSizes(chapterId, attempt + 1));\n }\n return;\n }\n this.applyChapterPageSizes(chapterId, sizes);\n }\n /** core SET_SCALE 后重算布局,使滚动占位与 PDF 渲染尺寸一致 */\n onScaleChanged(documentId) {\n const coreDoc = this.coreState.core.documents[documentId];\n if (!coreDoc || coreDoc.status !== \"loaded\") return;\n if (!this.chapterManager.provides().getChapter(documentId)) return;\n this.harvestChapterSizes(documentId);\n }\n dropChapterSizes(chapterId) {\n if (!this.virtualPageMap) return;\n let changed = false;\n for (const p of this.virtualPageMap.pagesOfChapter(chapterId)) {\n if (this.pageSizes.delete(p.globalPageIndex)) changed = true;\n }\n if (changed) {\n this.rebuildOffsets();\n this.recomputeVisible();\n }\n }\n /* ───────────────── viewport 绑定 ───────────────── */\n bindViewport(el) {\n var _a;\n (_a = this.viewportObservers) == null ? void 0 : _a.unbind();\n this.viewportEl = el;\n this.viewportObservers = null;\n if (!el) return;\n const onScroll = () => this.recomputeVisible();\n const ro = new ResizeObserver(() => this.recomputeVisible());\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n ro.observe(el);\n this.viewportObservers = {\n unbind: () => {\n el.removeEventListener(\"scroll\", onScroll);\n ro.disconnect();\n }\n };\n this.syncReadyChapterSizes();\n this.recomputeVisible();\n if (el.clientHeight === 0) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => this.recomputeVisible());\n });\n }\n }\n /* ───────────────── visible / layout ───────────────── */\n recomputeVisible() {\n if (!this.viewportEl || !this.virtualPageMap) return;\n const total = this.virtualPageMap.totalPages;\n if (total === 0) {\n this.currentVisible = [];\n this.currentGlobalPageIndex = 0;\n this.layoutChange$.emit(this.computeLayout());\n return;\n }\n const scrollTop = this.viewportEl.scrollTop;\n const clientH = this.viewportEl.clientHeight;\n const viewportEnd = scrollTop + clientH;\n const start = this.findFirstVisibleIndex(scrollTop);\n let end = start;\n while (end < total) {\n const size = this.getPageSize(end);\n const pageTop = this.offsets[end];\n pageTop + size.height;\n if (pageTop >= viewportEnd) break;\n end++;\n }\n const visible = [];\n let maxOverlapIdx = start;\n let maxOverlap = -1;\n for (let i = start; i < end; i++) {\n visible.push(i);\n const pageTop = this.offsets[i];\n const pageBottom = pageTop + this.getPageSize(i).height;\n const overlap = Math.max(\n 0,\n Math.min(pageBottom, viewportEnd) - Math.max(pageTop, scrollTop)\n );\n if (overlap > maxOverlap) {\n maxOverlap = overlap;\n maxOverlapIdx = i;\n }\n }\n this.currentVisible = visible;\n this.currentGlobalPageIndex = maxOverlapIdx;\n this.visibleChange$.emit({\n visibleGlobalPageIndices: visible,\n currentGlobalPageIndex: maxOverlapIdx\n });\n this.chapterManager.provides().setVisibleGlobalPages(visible);\n this.layoutChange$.emit(this.computeLayout());\n }\n findFirstVisibleIndex(scrollTop) {\n let lo = 0;\n let hi = this.offsets.length - 1;\n let ans = 0;\n while (lo <= hi) {\n const mid = lo + hi >> 1;\n if (this.offsets[mid] <= scrollTop) {\n ans = mid;\n lo = mid + 1;\n } else {\n hi = mid - 1;\n }\n }\n return ans;\n }\n computeLayout() {\n const buffer = this.config.bufferSize;\n const start = Math.max(0, (this.currentVisible[0] ?? 0) - buffer);\n const last = this.currentVisible[this.currentVisible.length - 1] ?? -1;\n const end = Math.min(this.offsets.length - 1, (last >= 0 ? last : 0) + buffer);\n const items = [];\n if (this.virtualPageMap && this.offsets.length > 0) {\n for (let i = start; i <= end; i++) {\n const loc = this.virtualPageMap.atIndex(i);\n if (!loc) continue;\n const size = this.getPageSize(i);\n const isPlaceholder = !this.isChapterDocumentReady(loc.chapterId);\n items.push({\n globalPageIndex: i,\n globalPageNumber: loc.globalPageNumber,\n chapterId: loc.chapterId,\n localPageIndex: loc.localPageIndex,\n width: size.width,\n height: size.height,\n offsetTop: this.offsets[i],\n isPlaceholder\n });\n }\n }\n return {\n totalHeight: this.totalHeight,\n totalWidth: this.totalWidth || this.config.placeholderPageWidth,\n items,\n pageGap: this.config.pageGap\n };\n }\n /* ───────────────── scroll-to ───────────────── */\n scrollToIndex(idx, options) {\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length) return;\n const targetTop = (this.offsets[idx] ?? 0) - ((options == null ? void 0 : options.topOffset) ?? 0);\n this.viewportEl.scrollTo({ top: targetTop, behavior: (options == null ? void 0 : options.behavior) ?? \"auto\" });\n }\n scrollToGlobalPdfPoint(idx, pdfY, options) {\n var _a;\n if (!this.viewportEl || idx < 0 || idx >= this.offsets.length || !this.virtualPageMap) {\n return;\n }\n const marginTop = (options == null ? void 0 : options.marginTop) ?? 80;\n const loc = this.virtualPageMap.atIndex(idx);\n if (!loc) {\n this.scrollToIndex(idx, options);\n return;\n }\n const cssSize = this.pageSizes.get(idx);\n const pdfPage = (_a = this.documentManager.provides().getDocument(loc.chapterId)) == null ? void 0 : _a.pages[loc.localPageIndex];\n if (!cssSize || !pdfPage) {\n this.scrollToIndex(idx, options);\n return;\n }\n const sy = cssSize.height / pdfPage.size.height;\n const absoluteTop = (this.offsets[idx] ?? 0) + pdfY * sy - marginTop;\n this.viewportEl.scrollTo({\n top: Math.max(0, absoluteTop),\n behavior: (options == null ? void 0 : options.behavior) ?? \"auto\"\n });\n }\n scrollToChapter(chapterId, options) {\n if (!this.virtualPageMap) return;\n const idx = this.virtualPageMap.firstIndexOfChapter(chapterId);\n if (idx < 0) return;\n void this.chapterManager.provides().ensureChapterLoaded(chapterId);\n this.scrollToIndex(idx, options);\n }\n scrollToGlobalNumber(n2, options) {\n if (!this.virtualPageMap) return;\n const loc = this.virtualPageMap.byGlobalNumber(n2);\n if (!loc) return;\n this.scrollToIndex(loc.globalPageIndex, options);\n }\n};\n_ChapterScrollPlugin.id = \"chapter-scroll\";\nlet ChapterScrollPlugin = _ChapterScrollPlugin;\nconst ChapterScrollPluginPackage = {\n manifest,\n create: (registry) => new ChapterScrollPlugin(CHAPTER_SCROLL_PLUGIN_ID, registry),\n reducer: (state) => state,\n initialState: {}\n};\nexport {\n CHAPTER_SCROLL_PLUGIN_ID,\n ChapterScrollPlugin,\n ChapterScrollPluginPackage,\n manifest\n};\n//# sourceMappingURL=index.js.map\n","import { useCallback, useEffect, useState, type CSSProperties } from 'react';\nimport { useCapability } from '@embedpdf/core/react';\nimport { ChapterManagerPlugin } from '@embedpdf-editor/plugin-chapter-manager';\nimport { ChapterScrollPlugin } from '@embedpdf-editor/plugin-chapter-scroll';\nimport type { ChapterLoadStatus } from '@embedpdf-editor/chapter-core';\nimport type { ChapterTreeNode } from './chapter-tree';\n\nconst STATUS_LABEL: Record<ChapterLoadStatus, string> = {\n idle: '未加载',\n loading: '加载中',\n loaded: '已加载',\n closed: '已卸载',\n error: '失败',\n 'password-required': '需密码',\n};\n\nexport type ChapterTreePanelProps = {\n tree: ChapterTreeNode[];\n activeChapterId: string;\n onActiveChapterChange?: (chapterId: string) => void;\n};\n\nexport function ChapterTreePanel({\n tree,\n activeChapterId,\n onActiveChapterChange,\n}: ChapterTreePanelProps) {\n const { provides: scroll } = useCapability<ChapterScrollPlugin>(ChapterScrollPlugin.id);\n const { provides: chapterManager } = useCapability<ChapterManagerPlugin>(\n ChapterManagerPlugin.id,\n );\n const [chapterStatus, setChapterStatus] = useState<Record<string, ChapterLoadStatus>>({});\n\n const syncStatus = useCallback(() => {\n if (!chapterManager) return;\n const next: Record<string, ChapterLoadStatus> = {};\n const walk = (nodes: ChapterTreeNode[]) => {\n for (const n of nodes) {\n next[n.id] = chapterManager.getChapterStatus(n.id);\n if (n.children?.length) walk(n.children);\n }\n };\n walk(tree);\n setChapterStatus(next);\n }, [chapterManager, tree]);\n\n useEffect(() => {\n syncStatus();\n }, [syncStatus]);\n\n useEffect(() => {\n if (!chapterManager) return;\n return chapterManager.onChapterStatusChange(syncStatus);\n }, [chapterManager, syncStatus]);\n\n const selectChapter = (chapterId: string) => {\n onActiveChapterChange?.(chapterId);\n scroll?.scrollToChapter(chapterId);\n };\n\n return (\n <aside style={asideStyle}>\n <h2 style={headingStyle}>章节目录</h2>\n <nav style={navStyle} aria-label=\"章节目录\">\n <ChapterTreeList\n nodes={tree}\n depth={0}\n activeChapterId={activeChapterId}\n chapterStatus={chapterStatus}\n onSelect={selectChapter}\n />\n </nav>\n </aside>\n );\n}\n\nfunction ChapterTreeList({\n nodes,\n depth,\n activeChapterId,\n chapterStatus,\n onSelect,\n}: {\n nodes: ChapterTreeNode[];\n depth: number;\n activeChapterId: string;\n chapterStatus: Record<string, ChapterLoadStatus>;\n onSelect: (chapterId: string) => void;\n}) {\n return (\n <ul style={{ margin: 0, padding: 0, listStyle: 'none', marginLeft: depth > 0 ? 12 : 0 }}>\n {nodes.map((node) => (\n <ChapterTreeItem\n key={node.id}\n node={node}\n depth={depth}\n activeChapterId={activeChapterId}\n chapterStatus={chapterStatus}\n onSelect={onSelect}\n />\n ))}\n </ul>\n );\n}\n\nfunction ChapterTreeItem({\n node,\n depth,\n activeChapterId,\n chapterStatus,\n onSelect,\n}: {\n node: ChapterTreeNode;\n depth: number;\n activeChapterId: string;\n chapterStatus: Record<string, ChapterLoadStatus>;\n onSelect: (chapterId: string) => void;\n}) {\n const children = node.children ?? [];\n const hasChildren = children.length > 0;\n const [expanded, setExpanded] = useState(depth < 1);\n const isActive = activeChapterId === node.id;\n const status = chapterStatus[node.id] ?? 'idle';\n const isLeaf = !hasChildren;\n\n return (\n <li>\n <div style={{ display: 'flex', alignItems: 'stretch', gap: 2 }}>\n {hasChildren ? (\n <button\n type=\"button\"\n aria-expanded={expanded}\n style={toggleBtnStyle}\n onClick={() => setExpanded((v) => !v)}\n >\n {expanded ? '▼' : '▶'}\n </button>\n ) : (\n <span style={{ width: 16, flexShrink: 0 }} aria-hidden />\n )}\n <button\n type=\"button\"\n style={{\n ...itemBtnStyle,\n background: isActive ? '#1e293b' : 'transparent',\n color: isActive ? '#fff' : '#334155',\n }}\n onClick={() => onSelect(node.id)}\n >\n <div style={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', fontWeight: 500 }}>\n {node.title}\n </div>\n <div\n style={{\n marginTop: 2,\n fontSize: 10,\n color: isActive ? '#cbd5e1' : '#94a3b8',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '4px 8px',\n }}\n >\n <span>\n 第 {node.startPage}\n {node.endPage !== node.startPage ? `–${node.endPage}` : ''} 页\n </span>\n {isLeaf ? <span>{STATUS_LABEL[status]}</span> : null}\n </div>\n </button>\n </div>\n {hasChildren && expanded ? (\n <ChapterTreeList\n nodes={children}\n depth={depth + 1}\n activeChapterId={activeChapterId}\n chapterStatus={chapterStatus}\n onSelect={onSelect}\n />\n ) : null}\n </li>\n );\n}\n\nconst asideStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n width: 224,\n flexShrink: 0,\n borderRadius: 8,\n border: '1px solid #e2e8f0',\n background: '#fff',\n overflow: 'hidden',\n};\n\nconst headingStyle: CSSProperties = {\n margin: 0,\n padding: '8px 12px',\n fontSize: 12,\n fontWeight: 600,\n color: '#334155',\n borderBottom: '1px solid #f1f5f9',\n};\n\nconst navStyle: CSSProperties = {\n flex: 1,\n overflowY: 'auto',\n padding: 4,\n};\n\nconst toggleBtnStyle: CSSProperties = {\n flexShrink: 0,\n padding: '0 4px',\n border: 'none',\n background: 'transparent',\n fontSize: 10,\n color: '#94a3b8',\n cursor: 'pointer',\n};\n\nconst itemBtnStyle: CSSProperties = {\n minWidth: 0,\n flex: 1,\n border: 'none',\n borderRadius: 6,\n padding: '8px',\n textAlign: 'left',\n fontSize: 13,\n cursor: 'pointer',\n};\n","function e(e){const t=[],s=/* @__PURE__ */new Set;for(const a of e.chapters){s.has(a.chapterId)&&t.push(`Duplicate chapterId: ${a.chapterId}`),s.add(a.chapterId);const[e,n]=a.globalPageRange,[r,o]=a.localPageRange;if(e>n&&t.push(`${a.chapterId}: invalid globalPageRange [${e},${n}]`),r>o&&t.push(`${a.chapterId}: invalid localPageRange [${r},${o}]`),n-e!==o-r&&t.push(`${a.chapterId}: page-count mismatch (global ${n-e+1} vs local ${o-r+1})`),a.ownedGlobalPages)for(const s of a.ownedGlobalPages)(s<e||s>n)&&t.push(`${a.chapterId}: ownedGlobalPages contains ${s} outside range`)}return t}const t={kind:\"first-wins\"};function s(e,s=t){const n=/* @__PURE__ */new Map;for(const t of e.chapters){const[e,s]=t.globalPageRange;for(let a=e;a<=s;a++){const e=n.get(a);e?e.push(t):n.set(a,[t])}}const r=/* @__PURE__ */new Map;for(const[t,o]of n)r.set(t,a(t,o,s));return r}function a(e,t,s){if(1===t.length)return t[0].chapterId;switch(s.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const s=t.find(t=>t.ownedGlobalPages?.includes(e));return s?s.chapterId:t[0].chapterId}case\"custom\":return s.resolve(e,t)}}class n{constructor(e){this._pages=e,this._byChapter=/* @__PURE__ */new Map,this._byGlobalNumber=/* @__PURE__ */new Map;for(const t of e){this._byGlobalNumber.set(t.globalPageNumber,t);let e=this._byChapter.get(t.chapterId);e||(e=[],this._byChapter.set(t.chapterId,e)),e.push(t)}}get totalPages(){return this._pages.length}list(){return this._pages}atIndex(e){return this._pages[e]??null}byGlobalNumber(e){return this._byGlobalNumber.get(e)??null}toGlobal(e,t){const s=this._byChapter.get(e);return s?s.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){const t=this._byChapter.get(e)?.[0];return t?this._pages.indexOf(t):-1}}function r(e,a=t){const r=s(e,a),o=/* @__PURE__ */new Map;for(const t of e.chapters)o.set(t.chapterId,t);const l=Array.from(r.keys()).sort((e,t)=>e-t),c=[];let h=0;for(const t of l){const e=r.get(t),s=o.get(e);if(!s)continue;const[a]=s.globalPageRange,[n]=s.localPageRange,l=n+(t-a);c.push({globalPageIndex:h++,globalPageNumber:t,chapterId:e,localPageIndex:l})}return new n(c)}class o{constructor(e){this.map=e}resolvePassword(e){return Promise.resolve(this.map[e.chapterId]??null)}getCachedPassword(e){return this.map[e]??null}}class l{constructor(e){this.cb=e}resolvePassword(e,t){return this.cb(e,t)}}class c{constructor(e){this.onPrompt=e,this.pending=/* @__PURE__ */new Map}resolvePassword(e,t){return new Promise(s=>{const a=this.pending.get(e.chapterId);a&&a.resolve(null),this.pending.set(e.chapterId,{resolve:s,attempt:t,chapter:e}),this.onPrompt(e,t)})}submit(e,t){const s=this.pending.get(e);s&&(this.pending.delete(e),s.resolve(t))}}export{l as CallbackPasswordProvider,o as StaticPasswordProvider,c as UiPromptPasswordProvider,n as VirtualPageMap,r as buildVirtualPageMap,t as defaultOverlapStrategy,s as resolveOwners,e as validateChapterManifest};\n//# sourceMappingURL=index.js.map\n"],"names":["Q","kind","J","t","e","a","length","chapterId","find","ownedGlobalPages","includes","resolve","tt","constructor","this","_pages","_byChapter","Map","_byGlobalNumber","set","globalPageNumber","get","push","totalPages","list","atIndex","byGlobalNumber","toGlobal","localPageIndex","pagesOfChapter","firstIndexOfChapter","indexOf","at","C","super","statusChange$","M","manifestChange$","S","overlapStrategy","chapterStatus","chapterLastUsed","passwordAttempts","pendingLoadPromises","unloadTimer","documentManagerUnsubs","documentManager","registry","getPlugin","G","id","initialize","config","passwordProvider","setManifestInternal","manifest","provides","onDocumentOpened","isOwnedChapter","delete","updateStatus","onDocumentClosed","onDocumentError","documentId","handleDocumentError","code","message","unloadTimeoutMs","Math","max","floor","setInterval","collectIdleChapters","buildCapability","setManifest","getManifest","getVirtualPageMap","virtualPageMap","setVisibleGlobalPages","handleVisibleChange","ensureChapterLoaded","getChapterStatus","getChapter","findChapter","onChapterStatusChange","on","onManifestChange","destroy","clearInterval","clear","Set","s","chapters","has","add","i","globalPageRange","r","o","localPageRange","logger","warn","join","keys","map","closeChapter","n","Array","from","sort","h","l","globalPageIndex","et","emit","eagerPrefetchFromManifest","prefetchChapters","Date","now","min","size","autoActivateOnLoad","isDocumentOpen","getActiveDocumentId","setActiveDocument","Promise","waitForTerminalStatus","startLoad","finally","resolvePdfPayload","source","url","buffer","load","chapterPdfLoader","loadPdf","Error","encrypted","getCachedPassword","openDocumentUrl","name","title","password","autoActivate","openDocumentBuffer","wait","status","L","Password","resolvePassword","error","retryDocument","closeDocument","st","it","layoutChange$","visibleChange$","pageSizes","offsets","totalHeight","totalWidth","viewportEl","viewportObservers","currentVisible","currentGlobalPageIndex","chapterManagerUnsubs","chapterManager","placeholderPageHeight","placeholderPageWidth","bufferSize","pageGap","rebuildOffsets","syncReadyChapterSizes","recomputeVisible","isChapterDocumentReady","coreState","core","documents","document","pages","refreshLayout","computeLayout","harvestChapterSizes","onDocumentLoaded","dropChapterSizes","registerViewport","bindViewport","reportChapterPageSizes","applyChapterPageSizes","getLayout","getCurrentGlobalPageIndex","getVisibleGlobalPageIndices","slice","scrollToGlobalPageIndex","scrollToIndex","scrollToChapter","scrollToGlobalPageNumber","scrollToGlobalNumber","scrollToGlobalPdfPoint","onLayoutChange","onVisibleChange","unbind","getPageSize","width","height","scrollTop","getChapterDocumentScale","scale","getDocument","requestAnimationFrame","onScaleChanged","ResizeObserver","addEventListener","passive","observe","removeEventListener","disconnect","clientHeight","findFirstVisibleIndex","visibleGlobalPageIndices","offsetTop","isPlaceholder","items","topOffset","scrollTo","top","behavior","marginTop","rt","ot","item","renderPage","renderPlaceholder","Boolean","style","position","left","transform","backgroundColor","boxShadow","children","display","alignItems","justifyContent","color","fontSize","nt","className","d","c","u","p","g","current","f","m","ref","overflow","margin","ht","dpr","A","pageIndex","pointerEvents","lt","dt","ct","pt","ut","gt","ft","mt","vt","Pt","bt","wt","It","yt","Ct","notesChange$","noteActivated$","notes","chapterScroll","callbacks","loadNotes","noteId","listAll","createNoteFromSelection","requestCreateFromSelection","registerNote","listNotesForPage","filter","listAllNotes","getNote","deleteNote","updateNoteContent","scrollToNote","onNotesChange","onNoteActivated","requestEdit","onRequestEditNote","activateNote","onActivateNote","call","anchor","values","buildDraft","rectsPdfCoord","endAnchor","St","selectedText","content","onRequestCreateNote","onCreateNote","draft","complete","async","onDeleteNote","onUpdateNote","waitForPageInLayout","y","setTimeout","clearTimeout","Mt","x","origin","xt","pdfPageWidth","pdfPageHeight","cssPageWidth","cssPageHeight","ui","plugin","isLoading","ready","v","b","P","w","I","target","closest","iconSize","highlightColor","inset","zIndex","markerPdf","lineRects","sx","sy","gapPx","background","borderRadius","cursor","onMouseEnter","onMouseLeave","renderIcon","role","tabIndex","onMouseDown","stopPropagation","onClick","border","padding","note","type","lineHeight","renderMenuActions","onEdit","onDelete","minWidth","$t","textAlign","kt","Lt","zt","Tt","Dt","Gt","Ot","At","Nt","Rt","Vt","Et","Ut","_t","Ft","qt","Wt","rectPdfCoord","markerAnchor","hypot","Bt","change$","entries","addBookmark","removeBookmark","updateBookmark","listBookmarks","getBookmark","scrollToBookmark","requestRemoveBookmark","onBookmarksChange","random","toString","label","metadata","createdAt","notifyAndPersist","onRemoveSuccess","onRequestRemove","persist","catch","Ht","jt","Zt","onBookmarkClick","contains","bookmark","then","Yt","Xt","Qt","Jt","version","requires","optional","defaultConfig","markerSize","te","ee","ae","ie","se","re","oe","ne","he","de","le","ce","ue","pe","ge","me","fe","ve","create","reducer","initialState","be","Pe","we","Ie","ye","Me","Ce","Se","xe","$e","ke","ze","Le","De","Te","Ge","Oe","Ae","Ne","Ve","Ee","Re","Ue","_e","Be","hoverUi","forDocument","getState","geometry","onSelectionChange","$","selecting","getBoundingClientRect","clientX","right","clientY","bottom","to","charFrom","charTo","k","some","z","toLocaleTimeString","hour","minute","D","T","O","N","V","renderAddIcon","je","Ze","highlight","offsetY","underline","squiggly","strikeout","Ye","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","Xe","Ke","Je","enabled","ta","markup","bookmarks","zoom","initial","selectionToolbar","ea","icon","ra","oa","na","ha","la","aa","placementAbove","anchorHeight","onAction","hiddenBuiltinActions","extraActions","order","gap","sa","fontWeight","flexShrink","accent","currentTarget","ia","behind","mark","viewBox","fill","textAnchor","fontFamily","rx","stroke","strokeWidth","strokeLinecap","strokeLinejoin","da","ca","_a","_b","_c","menuWrapperProps","placement","suggestTop","rect","getHighlightRectsForPage","getSelectedText","onExtraAction","getTool","defaults","getFormattedSelection","setLocked","Exclude","categories","strokeColor","opacity","thickness","segmentRects","createAnnotation","created","flags","blendMode","Multiply","Qe","styles","_d","ua","pa","ga","fa","ma","ba","va","Pa","wa","Ia","Ca","Sa","xa","setScale","zoomEnabled","minZoom","maxZoom","pageWidth","getStore","dispatchToCore","ya","getScale","querySelector","container","ctrlKey","metaKey","preventDefault","deltaY","pointerId","MutationObserver","childList","subtree","cancelAnimationFrame","Ma","hostRef","$a","buildSelectionMenu","annotationSelectionMenu","redactionSelectionMenu","showNoteMarkers","showBookmarkMarkers","showRedactionLayer","renderPageOverlay","features","onExtraSelectionAction","He","qe","We","defaultMenu","ka","hover","La","noteMarkerUi","marker","bookmarkMarkerUi","createNote","Fe","Kt","selectionMenu","za","Da","Ta","Ga","Oa","Na","Aa","Va","Ra","Ea","Ua","slot","responsive","breakpoints","sm","maxWidth","hide","show","md","permanent","flex","alignment","commandId","variant","orientation","visibilityDependsOn","itemIds","Fa","specs","register","registerAll","buildToolbars","structuredClone","toolbarSlot","i18nKey","labelKey","qa","after","before","Wa","annotate","shapes","insert","form","redact","ja","handler","action","Xa","toolbar","enabledModes","schema","operationRegistry","customOperations","extend","toolbars","Object","assign","menus","sidebars","modals","selectionMenus","activateDefaultMode","closeToolbarSlot","R","getPluginConfig","locked","None","active","state","X","plugins","setActiveToolbar","Include","commands","initialDocuments","U","_","F","marquee","toleranceFactor","minSelectionDragDistance","q","E","W","H","B","loadDefaultStampLibrary","manifests","j","Z","Y","K","_f","uiSchema","Ba","Ka","cb","DEFAULT_STYLES","SUBTYPE","PdfAnnotationSubtype","offsetRectsDown","rects","dy","unionRects","minX","Infinity","minY","maxX","maxY","featureOn","value","partial","t$1","a$1","e2","t2","s2","s3","t3","n$1","e3","r$1","a2","r2","n22","e4","s$1","a3","l2","_ChapterManagerPlugin$1","_ChapterManagerPlugin","BasePlugin","createBehaviorEmitter","createEmitter","DocumentManagerPlugin","docState","evt","tick","visible","manifest2","issues","e$1","prevIds","nextIds","oldId","prefetch","count","visibleChapters","idx","loc","orderedIds","neededIdx","cid","needed","firstVisible","timeout","existing","chapter","currentStatus","promise","src","loader","cachedPwd","payload","cap","openTask","check","unsub","_message","PdfErrorCode","attempt","err","errorMsg","ChapterManagerPlugin$1","n2","_ChapterManagerPlugin2","_ChapterManagerPlugin22","ChapterManagerPlugin","_ChapterScrollPlugin","coreDoc","ch","dm","el","sizes","pdfY","total","maxW","changed","prev","anchorIdx","oldOffset","delta","pdfDoc","owned","page","onScroll","ro","viewportEnd","start","end","pageTop","maxOverlapIdx","maxOverlap","pageBottom","overlap","lo","hi","ans","mid","last","options","targetTop","cssSize","pdfPage","absoluteTop","ChapterScrollPlugin","markerAnchorFromRects","verticalOverlapRatio","topA","bottomA","topB","bottomB","union","anchorsMatch","rectsA","rectsB","mb","rb","scrollToBookmarkAnchor","scroll","timeoutMs","found","timer","layout","_ParagraphBookmarkPlugin","input","patch","entry","pdfMarkerYFromBookmarkAnchor","STATUS_LABEL","idle","loading","loaded","closed","ChapterTreeList","nodes","depth","activeChapterId","onSelect","listStyle","marginLeft","node","jsx","ChapterTreeItem","hasChildren","expanded","setExpanded","useState","isActive","isLeaf","jsxs","toggleBtnStyle","itemBtnStyle","textOverflow","whiteSpace","flexWrap","startPage","endPage","asideStyle","flexDirection","headingStyle","borderBottom","navStyle","overflowY","engine","editorOptions","viewportClassName","Qa","pluginsReady","tree","onActiveChapterChange","useCapability","setChapterStatus","syncStatus","useCallback","next","walk","useEffect","annotation","selection","annotationScope","selectionScope","toolId","tool","resolveStyle","formatted","LockModeType","sel","uuidV4","PdfBlendMode","virtualPage"],"mappings":"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"}