@embedpdf-editor/react-chapter-viewer 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +351 -46
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +584 -557
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs.map
CHANGED
|
@@ -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,useRegistry as l,EmbedPDF as d}from\"@embedpdf/core/react\";import{GlobalPointerProvider as c,PagePointerProvider as u}from\"@embedpdf/plugin-interaction-manager/react\";import{Rotate as p}from\"@embedpdf/plugin-rotate/react\";import{SelectionLayer as g}from\"@embedpdf/plugin-selection/react\";import{glyphAt as f,expandToLineBoundary as m,rectsWithinSlice as v,SelectionPlugin as b,SelectionPluginPackage as P}from\"@embedpdf/plugin-selection\";import{AnnotationLayer as w}from\"@embedpdf/plugin-annotation/react\";import{RedactionLayer as I}from\"@embedpdf/plugin-redaction/react\";import{DocumentManagerPlugin as y,DocumentManagerPluginPackage as C}from\"@embedpdf/plugin-document-manager\";import{BasePlugin as M,createBehaviorEmitter as S,createEmitter as x,createPluginRegistration as $}from\"@embedpdf/core\";import{PdfErrorCode as k,PdfAnnotationSubtype as L,uuidV4 as D,PdfBlendMode as z}from\"@embedpdf/models\";import{RenderLayer as T}from\"@embedpdf/plugin-render/react\";import\"@embedpdf/plugin-tiling/react\";import{LockModeType as G,AnnotationPlugin as A,ANNOTATION_PLUGIN_ID as O,AnnotationPluginPackage as N}from\"@embedpdf/plugin-annotation\";import{InteractionManagerPluginPackage as V}from\"@embedpdf/plugin-interaction-manager\";import{RenderPluginPackage as R}from\"@embedpdf/plugin-render\";import{RotatePluginPackage as E}from\"@embedpdf/plugin-rotate\";import{HistoryPluginPackage as U}from\"@embedpdf/plugin-history\";import{RedactionPluginPackage as _}from\"@embedpdf/plugin-redaction\";import{FormPluginPackage as F}from\"@embedpdf/plugin-form\";import{StampPluginPackage as q}from\"@embedpdf/plugin-stamp\";import{SignaturePluginPackage as W}from\"@embedpdf/plugin-signature\";import{CommandsPluginPackage as H}from\"@embedpdf/plugin-commands\";import{I18nPluginPackage as B}from\"@embedpdf/plugin-i18n\";import{isToolbarOpen as j,UIPluginPackage as Y}from\"@embedpdf/plugin-ui\";const X={kind:\"first-wins\"};function K(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 Q(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,r]of a)s.set(i,K(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 Z(r)}const J=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),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(y.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(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=Q(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!==k.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}}:{}}))}};J.id=\"chapter-manager\";let tt=J;const et=class extends M{constructor(t,e){super(t,e),this.layoutChange$=S(),this.visibleChange$=S(),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(tt.id),this.documentManager=this.registry.getPlugin(y.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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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)}};et.id=\"chapter-scroll\";let at=et;function st({renderPage:e,renderPlaceholder:a,className:o,style:n,...l}){const{provides:d}=h(at.id),c=s(null),[u,p]=i(null);r(()=>{if(!d)return;const t=c.current;d.registerViewport(t);const e=d.onLayoutChange(t=>p(t));return()=>{e(),d.registerViewport(null)}},[d]);const g=(null==u?void 0:u.totalHeight)??0,f=(null==u?void 0:u.totalWidth)??0;/* @__PURE__ */\nreturn t(\"div\",{...l,ref:c,\"data-chapter-scroll-viewport\":\"\",className:o,style:{overflow:\"auto\",position:\"relative\",width:\"100%\",height:\"100%\",...n},children:/* @__PURE__ */t(\"div\",{style:{position:\"relative\",width:`${f}px`,height:`${g}px`,margin:\"0 auto\"},children:null==u?void 0:u.items.map(s=>/* @__PURE__ */t(\"div\",{\"data-global-page-index\":s.globalPageIndex,\"data-chapter-id\":s.chapterId,\"data-local-page-index\":s.localPageIndex,style:{position:\"absolute\",top:`${s.offsetTop}px`,left:\"50%\",transform:\"translateX(-50%)\",width:`${s.width}px`,height:`${s.height}px`,backgroundColor:s.isPlaceholder?\"#f3f4f6\":\"#fff\",boxShadow:\"0 1px 4px rgba(0,0,0,0.08)\"},children:s.isPlaceholder?(null==a?void 0:a(s))??/* @__PURE__ */t(\"div\",{style:{display:\"flex\",width:\"100%\",height:\"100%\",alignItems:\"center\",justifyContent:\"center\",color:\"#9ca3af\",fontSize:\"12px\"},children:\"Loading chapter…\"}):e(s)},s.globalPageIndex))})})}function it({chapterId:e,localPageIndex:a,scale:s,dpr:i,className:r}){return t(T,{documentId:e,pageIndex:a,scale:s,dpr:i,className:r,style:{pointerEvents:\"none\"}})}const rt={kind:\"first-wins\"};function ot(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 ht(t,e=rt){const a=function(t,e=rt){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,ot(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 lt=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=rt,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??rt,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=ht(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!==k.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}}:{}}))}};lt.id=\"chapter-manager\";let dt=lt;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,r]of a)s.set(i,ut(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 pt(r)}const ft=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),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(y.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(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=gt(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!==k.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}}:{}}))}};ft.id=\"chapter-manager\";let mt=ft;const vt=class extends M{constructor(t,e){super(t,e),this.layoutChange$=S(),this.visibleChange$=S(),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(mt.id),this.documentManager=this.registry.getPlugin(y.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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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)}};vt.id=\"chapter-scroll\";let bt=vt;const Pt=class t extends M{constructor(t,e){super(t,e),this.notesChange$=S([]),this.noteActivated$=x(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(bt.id),this.chapterManager=this.registry.getPlugin(dt.id),this.documentManager=this.registry.getPlugin(y.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:It(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))})})}};Pt.id=\"note\";let wt=Pt;function It(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function yt({chapterId:a,localPageIndex:s,pdfPageWidth:o,pdfPageHeight:n,cssPageWidth:h,cssPageHeight:d,color:c=\"#f59e0b\",ui:u,className:p,style:g}){const{plugin:f}=(()=>{const{registry:t}=l();if(null===t)return{plugin:null,isLoading:!0,ready:new Promise(()=>{})};const e=t.getPlugin(wt.id);return{plugin:e,isLoading:!1,ready:(null==e?void 0:e.ready())??Promise.resolve()}})(),{provides:m}=(()=>{const{registry:t}=l();if(null===t)return{provides:null,isLoading:!0,ready:new Promise(()=>{})};const e=t.getPlugin(wt.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=d/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:Ct,onClick:t=>{t.stopPropagation(),y(null),w(null),null==f||f.requestEdit(a.noteId)},children:\"编辑\"}),\n/* @__PURE__ */t(\"button\",{type:\"button\",style:{...Ct,color:\"#dc2626\"},onClick:t=>{t.stopPropagation(),y(null),w(null),m.deleteNote(a.noteId)},children:\"删除\"})]}))]})]},a.noteId)})})}const Ct={display:\"block\",width:\"100%\",padding:\"6px 10px\",fontSize:\"12px\",border:\"none\",borderRadius:\"4px\",background:\"transparent\",color:\"#334155\",cursor:\"pointer\",textAlign:\"left\"};const Mt={kind:\"first-wins\"};function St(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 xt=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 $t(t,e=Mt){const a=function(t,e=Mt){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,St(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 xt(r)}const kt=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=Mt,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Mt,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=$t(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!==k.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}}:{}}))}};kt.id=\"chapter-manager\";let Lt=kt;const Dt={kind:\"first-wins\"};function zt(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 Gt(t,e=Dt){const a=function(t,e=Dt){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,zt(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 M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=Dt,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Dt,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=Gt(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!==k.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 Ot=At;const Nt=class extends M{constructor(t,e){super(t,e),this.layoutChange$=S(),this.visibleChange$=S(),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(Ot.id),this.documentManager=this.registry.getPlugin(y.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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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)}};Nt.id=\"chapter-scroll\";let Vt=Nt;function Rt(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function Et(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 Ut(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??Rt(i),n=e.markerAnchor??Rt(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(Et(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 _t(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 Ft=class t extends M{constructor(t,e){super(t,e),this.change$=S([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(Vt.id),this.chapterManager=this.registry.getPlugin(Lt.id),this.documentManager=this.registry.getPlugin(y.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(Ut(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 _t(a,s,i)}};Ft.id=\"paragraph-bookmark\";let qt=Ft;function Wt({chapterId:a,localPageIndex:o,pdfPageWidth:n,pdfPageHeight:l,cssPageWidth:d,cssPageHeight:c,onBookmarkClick:u,ui:p,className:g,style:f}){const{provides:m}=h(qt.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 Ht(t){return t.chapterId}function Bt(t,e){t.wait(e,()=>{})}function jt(t,e,a){return{chapterId:t.chapterId,localPageIndex:t.localPageIndex,globalPageIndex:t.globalPageIndex,globalPageNumber:t.globalPageNumber,rectsPdfCoord:e,selectedText:a}}const Yt=\"note\",Xt={id:Yt,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 Kt={kind:\"first-wins\"};function Zt(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 Qt=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 Jt(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,Zt(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 Qt(r)}const te=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),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(y.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=Jt(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!==k.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}}:{}}))}};te.id=\"chapter-manager\";let ee=te;const ae={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)}}let ie=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 re(t,e=ae){const a=function(t,e=ae){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 ie(r)}const oe=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=ae,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ae,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=re(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!==k.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}}:{}}))}};oe.id=\"chapter-manager\";let ne=oe;const he=class extends M{constructor(t,e){super(t,e),this.layoutChange$=S(),this.visibleChange$=S(),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(ne.id),this.documentManager=this.registry.getPlugin(y.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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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)}};he.id=\"chapter-scroll\";let le=he;const de=class t extends M{constructor(t,e){super(t,e),this.notesChange$=S([]),this.noteActivated$=x(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(le.id),this.chapterManager=this.registry.getPlugin(ee.id),this.documentManager=this.registry.getPlugin(y.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:ue(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))})})}};de.id=\"note\";let ce=de;function ue(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}const pe={manifest:Xt,create:t=>new ce(Yt,t),reducer:t=>t,initialState:{}},ge=\"paragraph-bookmark\",fe={id:ge,name:\"Paragraph Bookmark Plugin\",version:\"0.1.0\",provides:[\"paragraph-bookmark\"],requires:[\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{}};const me={kind:\"first-wins\"};function ve(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 be=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 Pe(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,ve(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 be(r)}const we=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),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(y.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=Pe(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!==k.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}}:{}}))}};we.id=\"chapter-manager\";let Ie=we;const ye={kind:\"first-wins\"};function Ce(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 Me{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=ye){const a=function(t,e=ye){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,Ce(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 Me(r)}const xe=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=ye,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??ye,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!==k.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}}:{}}))}};xe.id=\"chapter-manager\";let $e=xe;const ke=class extends M{constructor(t,e){super(t,e),this.layoutChange$=S(),this.visibleChange$=S(),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($e.id),this.documentManager=this.registry.getPlugin(y.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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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)}};ke.id=\"chapter-scroll\";let Le=ke;function De(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 ze(t){const e=t[t.length-1];return{x:e.origin.x+e.size.width,y:e.origin.y+e.size.height}}function Te(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 Ge(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??ze(i),n=e.markerAnchor??ze(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(Te(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 Ae(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 Oe=class t extends M{constructor(t,e){super(t,e),this.change$=S([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(Le.id),this.chapterManager=this.registry.getPlugin(Ie.id),this.documentManager=this.registry.getPlugin(y.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(Ge(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 Ae(a,s,i)}};Oe.id=\"paragraph-bookmark\";let Ne=Oe;const Ve={manifest:fe,create:t=>new Ne(ge,t),reducer:t=>t,initialState:{}};function Re(t){const{provides:e}=h(y.id);r(()=>{e&&t&&e.isDocumentOpen(t)&&e.setActiveDocument(t)},[e,t])}function Ee(){const{registry:t}=l();return!!t?.getPlugin(ce.id)}function Ue(){const{registry:t}=l();return!!t?.getPlugin(Ne.id)}function _e(){const{registry:t}=l();return o(()=>{const e=t?.getPlugin(ce.id)?.provides?.();return e?t=>e.createNoteFromSelection(t):null},[t])}function Fe({item:e,pdfPageWidth:a,pdfPageHeight:o,cssPageWidth:l,cssPageHeight:d,hoverUi:c}){const u=Ht(e),{provides:p}=h(b.id),{provides:g}=h(Ne.id),P=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=P.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=f(t,e);if(a<0)return null;const s=m(t,a);if(!s)return null;const i=v(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:De(i),rectsPdfCoord:i,markerAnchor:ze(i)}}(e.chapterId,e.localPageIndex,$,{globalPageIndex:e.globalPageIndex,globalPageNumber:e.globalPageNumber}):null,L=k&&g?.listBookmarks().some(t=>Ge(t.anchor,k)),D=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 z=l/a,T=d/o,G=$?.[$.length-1],A=G?Math.min((G.origin.x+G.size.width)*z+6,Math.max(0,l-x-2)):0,O=G?G.origin.y*T+(G.size.height*T-x)/2:0,N=G?Math.max(0,(G.origin.x+G.size.width)*z-4):0,V=G?Math.max(0,G.origin.y*T-4):0;/* @__PURE__ */\nreturn t(\"div\",{ref:P,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(),D()},style:{position:\"absolute\",left:A-N+\"px\",top:O-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(),D()},style:{position:\"absolute\",left:A-N+\"px\",top:O-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 qe={highlight:{offsetY:0},underline:{offsetY:2.5},squiggly:{offsetY:0},strikeout:{offsetY:0}},We={highlight:L.HIGHLIGHT,underline:L.UNDERLINE,squiggly:L.SQUIGGLY,strikeout:L.STRIKEOUT};function He(t,e){return 0===e?t:t.map(t=>({origin:{x:t.origin.x,y:t.origin.y+e},size:{...t.size}}))}function Be(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 je(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{...qe[t],...null==e?void 0:e[t]}}(e,i),c=o.getFormattedSelection();if(0===c.length)return!1;r.setLocked({type:G.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?He(u.segmentRects,o):u.segmentRects,h=\"underline\"===e||\"squiggly\"===e||\"strikeout\"===e?Be(n):u.rect;r.createAnnotation(u.pageIndex,{id:t,created:/* @__PURE__ */new Date,flags:[\"print\"],type:We[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 Ye=[{id:\"highlight\",label:\"高亮背景\",icon:/* @__PURE__ */t(Qe,{})},{id:\"underline\",label:\"下划线\",icon:/* @__PURE__ */t(Je,{})},{id:\"squiggly\",label:\"波浪线\",icon:/* @__PURE__ */t(ta,{})},{id:\"strikeout\",label:\"删除线\",icon:/* @__PURE__ */t(ea,{})},{id:\"note\",label:\"添加笔记\",icon:/* @__PURE__ */t(aa,{})}];function Xe({placementAbove:s,anchorHeight:i,onAction:r,hiddenBuiltinActions:o=[],extraActions:n=[]}){const h=new Set(o),l=Ye.filter(t=>\"note\"!==t.id&&!h.has(t.id)),d=Ye.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(Ke,{label:e.label,onClick:()=>r(e.id),children:e.icon},e.id)),u.map(e=>/* @__PURE__ */t(Ke,{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(Ke,{label:d.label,onClick:()=>r(\"note\"),accent:!0,children:d.icon})]})]})}function Ke({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 Ze({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 Qe(){/* @__PURE__ */\nreturn t(Ze,{behind:/* @__PURE__ */t(\"rect\",{x:\"5\",y:\"4\",width:\"18\",height:\"20\",rx:\"3\",fill:\"#facc15\"})})}function Je(){/* @__PURE__ */\nreturn t(Ze,{mark:/* @__PURE__ */t(\"path\",{d:\"M6 22h16\",stroke:\"#dc2626\",strokeWidth:\"2.2\",strokeLinecap:\"round\"})})}function ta(){/* @__PURE__ */\nreturn t(Ze,{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 ea(){/* @__PURE__ */\nreturn t(Ze,{mark:/* @__PURE__ */t(\"path\",{d:\"M5 14h18\",stroke:\"#dc2626\",strokeWidth:\"2.2\",strokeLinecap:\"round\"})})}function aa(){/* @__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 sa={highlight:\"highlight\",underline:\"underline\",squiggly:\"squiggly\",strikeout:\"strikeout\"};function ia(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(b.id),{provides:l}=h(A.id),{provides:d}=h(ce.id);return o(()=>o=>{const h=Ht(o.item);return c=>/* @__PURE__ */t(\"div\",{...c.menuWrapperProps,children:/* @__PURE__ */t(Xe,{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 Bt(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;je(h,sa[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 ra({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=_e(),m=Ee(),v=Ue(),b=h&&m&&!1!==u?.notes?.enabled,P=l&&v&&!1!==u?.bookmarks?.enabled,w=v&&!1!==u?.bookmarks?.enabled,I=ia(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(oa,{item:s,hoverUi:u?.bookmarks?.hover}),c?.(s)]}):c,[u?.bookmarks?.hover,w,c]);/* @__PURE__ */\nreturn e(\"div\",{className:s??\"relative h-full w-full\",children:[\n/* @__PURE__ */t(st,{renderPage:e=>/* @__PURE__ */t(na,{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 oa({item:e,hoverUi:a}){const{provides:s}=h(y.id),i=Ht(e),r=o(()=>s?.getDocument(i)?.pages[e.localPageIndex],[s,i,e.localPageIndex]);return e.isPlaceholder||!r?null:/* @__PURE__ */t(Fe,{item:e,pdfPageWidth:r.size.width,pdfPageHeight:r.size.height,cssPageWidth:e.width,cssPageHeight:e.height,hoverUi:a})}function na({item:a,showNoteMarkers:s,showBookmarkMarkers:i,noteMarkerUi:r,bookmarkMarkerUi:n,renderPageOverlay:l,createNote:d,buildSelectionMenu:f,annotationSelectionMenu:m,redactionSelectionMenu:v,showRedactionLayer:P=!1}){const C=Ht(a);Re(C);const{provides:M}=h(y.id),S=o(()=>{const t=M?.getDocument(C);return t?.pages[a.localPageIndex]},[M,C,a.localPageIndex]),x=function(e,a){const{provides:s}=h(b.id),i=Ht(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);Bt(s.getSelectedText(i),s=>{const i=s.join(\"\\n\"),r=jt(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,d),$=void 0!==f?f({item:a,defaultMenu:x,createNote:d}):x;return a.isPlaceholder?null:/* @__PURE__ */t(c,{documentId:C,children:/* @__PURE__ */t(p,{documentId:C,pageIndex:a.localPageIndex,style:{backgroundColor:\"#fff\"},children:/* @__PURE__ */e(u,{documentId:C,pageIndex:a.localPageIndex,children:[\n/* @__PURE__ */t(it,{chapterId:C,localPageIndex:a.localPageIndex}),\n/* @__PURE__ */t(g,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:$}),P&&/* @__PURE__ */t(I,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:v}),\n/* @__PURE__ */t(w,{documentId:C,pageIndex:a.localPageIndex,selectionMenu:m}),i&&S&&/* @__PURE__ */t(Wt,{chapterId:C,localPageIndex:a.localPageIndex,pdfPageWidth:S.size.width,pdfPageHeight:S.size.height,cssPageWidth:a.width,cssPageHeight:a.height,ui:n}),l?.(a),s&&S&&/* @__PURE__ */t(yt,{chapterId:C,localPageIndex:a.localPageIndex,pdfPageWidth:S.size.width,pdfPageHeight:S.size.height,cssPageWidth:a.width,cssPageHeight:a.height,ui:r})]})})})}const ha=\"chapter-manager\",la={id:ha,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 da={kind:\"first-wins\"};function ca(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 ua=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 pa(t,e=da){const a=function(t,e=da){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,ca(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 ua(r)}const ga=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=da,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??da,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=pa(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!==k.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}}:{}}))}};ga.id=\"chapter-manager\";let fa=ga;const ma={manifest:la,create:t=>new fa(ha,t),reducer:t=>t,initialState:{}},va=\"chapter-scroll\",ba={id:va,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 Pa={kind:\"first-wins\"};function wa(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 Ia{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 ya(t,e=Pa){const a=function(t,e=Pa){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,wa(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 Ia(r)}const Ca=class t extends M{constructor(t,e){super(t,e),this.statusChange$=S(),this.manifestChange$=x(),this.overlapStrategy=Pa,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(y.id)}async initialize(t){if(this.config=t,this.passwordProvider=t.passwordProvider,this.overlapStrategy=t.overlapStrategy??Pa,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=ya(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!==k.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}}:{}}))}};Ca.id=\"chapter-manager\";let Ma=Ca;const Sa=class extends M{constructor(t,e){super(t,e),this.layoutChange$=S(),this.visibleChange$=S(),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(Ma.id),this.documentManager=this.registry.getPlugin(y.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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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)}};Sa.id=\"chapter-scroll\";let xa=Sa;const $a={manifest:ba,create:t=>new xa(va,t),reducer:t=>t,initialState:{}},ka={\"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 La{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(ka);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=Da(a.items,s,e.position)}return t}}function Da(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 za={annotate:\"annotation-toolbar\",shapes:\"shapes-toolbar\",insert:\"insert-toolbar\",form:\"form-toolbar\",redact:\"redaction-toolbar\"};function Ta(){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(O)?.provides().forDocument(e).setLocked((t=>t.getPluginConfig(O).locked??{type:G.None})(t)))},active:({state:t,documentId:e})=>!j(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(O)?.provides().forDocument(e).setLocked({type:G.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>j(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(O)?.provides().forDocument(e).setLocked({type:G.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>j(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(O)?.provides().forDocument(e).setLocked({type:G.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>j(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(O)?.provides().forDocument(e).setLocked({type:G.None}))},active:({state:t,documentId:e})=>j(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(O)?.provides().forDocument(e).setLocked({type:G.Include,categories:[\"form\"]}))},active:({state:t,documentId:e})=>j(t.plugins,e,\"top\",\"secondary\",\"redaction-toolbar\")}}}function Ga(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 La;(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=za[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?Ta():{},...s?Aa(r.list()):{},...t.commands??{}},n=[$(C,{initialDocuments:[]}),$(ma,{manifest:t.manifest,overlapStrategy:t.overlapStrategy,passwordProvider:t.passwordProvider,chapterPdfLoader:t.chapterPdfLoader,prefetchChapters:t.prefetchChapters,unloadTimeoutMs:t.unloadTimeoutMs}),$($a,{placeholderPageHeight:t.placeholderPageHeight,placeholderPageWidth:t.placeholderPageWidth}),$(V),$(R),$(E),$(P,{marquee:{enabled:!1},toleranceFactor:1.2,minSelectionDragDistance:4}),$(U),$(N),$(_),$(F),$(q,!1===t.loadDefaultStampLibrary?{manifests:[]}:void 0),$(W),...Object.keys(o).length>0?[$(H,{commands:o})]:[],...s?[$(B),$(Y,{schema:i})]:[]];return t.notes&&n.push($(pe,{callbacks:t.notes.callbacks,ui:t.features?.notes?.marker})),t.bookmarks&&n.push($(Ve,{callbacks:t.bookmarks.callbacks,ui:t.features?.bookmarks?.marker,hover:t.features?.bookmarks?.hover})),{plugins:n,uiSchema:i,operationRegistry:r}}function Aa(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 Oa={markup:{enabled:!0},bookmarks:{enabled:!0},notes:{enabled:!0},selectionToolbar:{enabled:!0},zoom:{enabled:!0,min:.5,max:3,initial:1}};function Na(t){return Ga({...t,toolbar:t.toolbar??{enabledModes:[]},features:{...Oa,...t.features,markup:{...Oa.markup,...t.features?.markup},bookmarks:{...Oa.bookmarks,...t.features?.bookmarks},notes:{...Oa.notes,...t.features?.notes},selectionToolbar:{...Oa.selectionToolbar,...t.features?.selectionToolbar},zoom:{...Oa.zoom,...t.features?.zoom}}})}function Va(t,e,a){return Math.min(a,Math.max(e,t))}function Ra({engine:a,editorOptions:n,features:h,className:l,viewportClassName:c,buildSelectionMenu:u,onExtraSelectionAction:p,renderPageOverlay:g,children:f}){const m=o(()=>({...Oa,...h}),[h]),v=o(()=>Na({...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=Va(h,.1,10),a(Va(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(Va(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??\"relative h-full w-full\",children:/* @__PURE__ */t(d,{engine:a,plugins:v.plugins,children:({pluginsReady:a})=>a?/* @__PURE__ */e(\"div\",{className:\"h-full w-full\",style:b?{transform:`scale(${P})`,transformOrigin:\"top center\"}:void 0,children:[\n/* @__PURE__ */t(ra,{className:c,features:m,buildSelectionMenu:u,onExtraSelectionAction:p,renderPageOverlay:g}),f]}):null})})}export{Ra as ChapterPdfViewer,Oa as DEFAULT_CHAPTER_VIEWER_FEATURES,Fe as HoverBookmarkLayer,ra as PdfChapterViewport,Xe as SelectionToolbarCard,jt as buildChapterSelectionSnapshot,Ht as chapterDocumentIdForPage,Na as createChapterViewerEditor,Ga as createPdfChapterEditor,ia as useChapterFeaturesSelectionMenu,_e as useCreateNoteFromChapterSelection,Re as useEnsureChapterActiveDocument,Ee as useIsNotePluginRegistered,Ue as useIsParagraphBookmarkPluginRegistered,Bt 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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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){if(!this.chapterManager.provides().getChapter(t))return!1;const e=this.documentManager.provides().getDocumentState(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){if(!this.chapterManager.provides().getChapter(t))return;const e=this.documentManager.provides();e.getActiveDocumentId()||e.setActiveDocument(t),this.harvestChapterSizes(t),this.refreshLayout()}onDocumentClosed(t){this.chapterManager.provides().getChapter(t)&&(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 在 document-manager 中是否已可渲染(不依赖 chapter-manager.status,避免事件丢失) */\n isChapterDocumentReady(chapterId) {\n if (!this.chapterManager.provides().getChapter(chapterId)) return false;\n const docState = this.documentManager.provides().getDocumentState(chapterId);\n if (!docState || docState.status !== \"loaded\" || !docState.document) return false;\n return docState.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 if (!this.chapterManager.provides().getChapter(documentId)) 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 if (!this.chapterManager.provides().getChapter(documentId)) 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 在 document-manager 中是否已可渲染(不依赖 chapter-manager.status,避免事件丢失) */\n isChapterDocumentReady(chapterId) {\n if (!this.chapterManager.provides().getChapter(chapterId)) return false;\n const docState = this.documentManager.provides().getDocumentState(chapterId);\n if (!docState || docState.status !== \"loaded\" || !docState.document) return false;\n return docState.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 if (!this.chapterManager.provides().getChapter(documentId)) 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 if (!this.chapterManager.provides().getChapter(documentId)) 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":["X","kind","K","t","e","a","length","chapterId","find","ownedGlobalPages","includes","resolve","Z","constructor","this","_pages","_byChapter","Map","_byGlobalNumber","set","globalPageNumber","get","push","totalPages","list","atIndex","byGlobalNumber","toGlobal","localPageIndex","pagesOfChapter","firstIndexOfChapter","indexOf","J","M","super","statusChange$","S","manifestChange$","x","overlapStrategy","chapterStatus","chapterLastUsed","passwordAttempts","pendingLoadPromises","unloadTimer","documentManagerUnsubs","documentManager","registry","getPlugin","y","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","Q","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","k","Password","resolvePassword","error","retryDocument","closeDocument","tt","et","layoutChange$","visibleChange$","pageSizes","offsets","totalHeight","totalWidth","viewportEl","viewportObservers","currentVisible","currentGlobalPageIndex","chapterManagerUnsubs","chapterManager","placeholderPageHeight","placeholderPageWidth","bufferSize","pageGap","rebuildOffsets","syncReadyChapterSizes","recomputeVisible","isChapterDocumentReady","getDocumentState","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","coreState","core","documents","scale","getDocument","requestAnimationFrame","onScaleChanged","ResizeObserver","addEventListener","passive","observe","removeEventListener","disconnect","clientHeight","findFirstVisibleIndex","visibleGlobalPageIndices","offsetTop","isPlaceholder","items","topOffset","scrollTo","top","behavior","marginTop","at","st","renderPage","renderPlaceholder","className","style","d","c","u","p","current","g","f","ref","overflow","position","children","margin","left","transform","backgroundColor","boxShadow","display","alignItems","justifyContent","color","fontSize","it","dpr","T","pageIndex","pointerEvents","rt","ot","nt","lt","ht","dt","ct","ut","pt","ft","gt","mt","vt","bt","Pt","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","It","selectedText","content","onRequestCreateNote","onCreateNote","draft","complete","async","onDeleteNote","onUpdateNote","waitForPageInLayout","setTimeout","clearTimeout","wt","origin","yt","pdfPageWidth","pdfPageHeight","cssPageWidth","cssPageHeight","ui","plugin","isLoading","ready","m","v","b","P","w","I","target","closest","C","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","Ct","textAlign","Mt","St","xt","kt","$t","Lt","Dt","zt","Tt","At","Gt","Ot","Nt","Vt","Rt","Et","Ut","rectPdfCoord","markerAnchor","hypot","Ft","change$","entries","addBookmark","removeBookmark","updateBookmark","listBookmarks","getBookmark","scrollToBookmark","requestRemoveBookmark","onBookmarksChange","random","toString","label","metadata","createdAt","notifyAndPersist","onRemoveSuccess","onRequestRemove","persist","catch","_t","qt","Wt","onBookmarkClick","contains","bookmark","then","Ht","Bt","Yt","Xt","version","requires","optional","defaultConfig","markerSize","Kt","Zt","Qt","te","Jt","ee","ae","se","ie","oe","re","ne","he","le","de","ue","ce","pe","create","reducer","initialState","ge","fe","me","ve","be","we","Pe","Ie","ye","Ce","Me","xe","Se","$e","ke","Le","De","ze","Te","Ge","Oe","Ae","Ne","Ve","Fe","item","hoverUi","forDocument","getState","geometry","onSelectionChange","$","selecting","getBoundingClientRect","clientX","right","clientY","bottom","to","charFrom","charTo","L","some","D","toLocaleTimeString","hour","minute","z","G","A","O","N","V","renderAddIcon","qe","highlight","offsetY","underline","squiggly","strikeout","We","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","He","Be","Ye","icon","Qe","Je","ta","ea","aa","Xe","placementAbove","anchorHeight","onAction","hiddenBuiltinActions","extraActions","order","gap","Ke","fontWeight","flexShrink","accent","currentTarget","Ze","behind","mark","viewBox","fill","textAnchor","fontFamily","rx","stroke","strokeWidth","strokeLinecap","strokeLinejoin","sa","ia","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","je","styles","_d","ra","buildSelectionMenu","annotationSelectionMenu","redactionSelectionMenu","showNoteMarkers","showBookmarkMarkers","showRedactionLayer","renderPageOverlay","features","onExtraSelectionAction","_e","Ee","Ue","bookmarks","defaultMenu","oa","hover","na","noteMarkerUi","marker","bookmarkMarkerUi","createNote","Re","jt","selectionMenu","ha","la","da","ca","ua","ga","pa","fa","ma","va","ba","Pa","wa","Ia","Ca","ya","Ma","Sa","xa","$a","ka","slot","responsive","breakpoints","sm","maxWidth","hide","show","md","permanent","flex","alignment","commandId","variant","orientation","visibilityDependsOn","itemIds","La","specs","register","registerAll","buildToolbars","structuredClone","toolbarSlot","i18nKey","labelKey","Da","after","before","za","annotate","shapes","insert","form","redact","Aa","handler","action","Oa","zoom","initial","Na","toolbar","enabledModes","schema","operationRegistry","customOperations","extend","toolbars","Object","assign","menus","sidebars","modals","selectionMenus","activateDefaultMode","closeToolbarSlot","getPluginConfig","locked","None","active","state","j","plugins","setActiveToolbar","Include","commands","initialDocuments","R","E","marquee","toleranceFactor","minSelectionDragDistance","U","_","F","q","loadDefaultStampLibrary","manifests","W","H","B","Y","_f","uiSchema","Ga","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","ch","dm","el","sizes","pdfY","total","maxW","changed","prev","anchorIdx","oldOffset","delta","pdfDoc","owned","page","coreDoc","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,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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"}
|