@embedpdf-editor/vue3-chapter-viewer 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../editor-engine/dist/vue/index.js","../src/ChapterPdfViewer.vue"],"sourcesContent":["import{defineComponent as e,ref as t,onMounted as a,onBeforeUnmount as s,watch as i,openBlock as o,createElementBlock as r,normalizeStyle as n,normalizeClass as l,createElementVNode as h,Fragment as d,renderList as c,renderSlot as u,createBlock as p,unref as g,computed as f,withModifiers as m,createCommentVNode as v,withCtx as b,createVNode as P,resolveDynamicComponent as w,h as y,toDisplayString as I}from\"vue\";import{useCapability as C,useRegistry as M,EmbedPDF as S}from\"@embedpdf/core/vue\";import{EmbedPDF as x,useCapability as k}from\"@embedpdf/core/vue\";import{BasePlugin as $,createBehaviorEmitter as L,createEmitter as z,createPluginRegistration as T}from\"@embedpdf/core\";import{DocumentManagerPlugin as D,DocumentManagerPluginPackage as G}from\"@embedpdf/plugin-document-manager\";import{InteractionManagerPluginPackage as O}from\"@embedpdf/plugin-interaction-manager\";import{RenderPluginPackage as A}from\"@embedpdf/plugin-render\";import{RotatePluginPackage as N}from\"@embedpdf/plugin-rotate\";import{SelectionPluginPackage as V,SelectionPlugin as _,glyphAt as R,expandToLineBoundary as E,rectsWithinSlice as U}from\"@embedpdf/plugin-selection\";import{ANNOTATION_PLUGIN_ID as F,LockModeType as q,AnnotationPluginPackage as W,AnnotationPlugin as H}from\"@embedpdf/plugin-annotation\";import{HistoryPluginPackage as B}from\"@embedpdf/plugin-history\";import{RedactionPluginPackage as j}from\"@embedpdf/plugin-redaction\";import{FormPluginPackage as Y}from\"@embedpdf/plugin-form\";import{StampPluginPackage as K}from\"@embedpdf/plugin-stamp\";import{SignaturePluginPackage as X}from\"@embedpdf/plugin-signature\";import{CommandsPluginPackage as Z}from\"@embedpdf/plugin-commands\";import{I18nPluginPackage as Q}from\"@embedpdf/plugin-i18n\";import{isToolbarOpen as J,UIPluginPackage as ee}from\"@embedpdf/plugin-ui\";import{PdfErrorCode as te,PdfAnnotationSubtype as ae,uuidV4 as se,PdfBlendMode as ie}from\"@embedpdf/models\";import{GlobalPointerProvider as oe,PagePointerProvider as re}from\"@embedpdf/plugin-interaction-manager/vue\";import{Rotate as ne}from\"@embedpdf/plugin-rotate/vue\";import{SelectionLayer as le}from\"@embedpdf/plugin-selection/vue\";import{AnnotationLayer as he}from\"@embedpdf/plugin-annotation/vue\";import{RedactionLayer as de}from\"@embedpdf/plugin-redaction/vue\";import{RenderLayer as ce}from\"@embedpdf/plugin-render/vue\";import{usePdfiumEngine as ue}from\"@embedpdf/engines/vue\";const pe=\"chapter-manager\",ge={id:pe,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 fe={kind:\"first-wins\"};function me(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let ve=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function be(e,t=fe){const a=function(e,t=fe){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,me(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new ve(o)}const Pe=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),this.overlapStrategy=fe,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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??fe,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=be(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};Pe.id=\"chapter-manager\";let we=Pe;const ye={manifest:ge,create:e=>new we(pe,e),reducer:e=>e,initialState:{}},Ie=\"chapter-scroll\",Ce={id:Ie,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 Me={kind:\"first-wins\"};function Se(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let xe=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function ke(e,t=Me){const a=function(e,t=Me){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Se(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new xe(o)}const $e=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??Me,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=ke(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};$e.id=\"chapter-manager\";let Le=$e;const ze=class extends ${constructor(e,t){super(e,t),this.layoutChange$=L(),this.visibleChange$=L(),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(e){this.config={placeholderPageHeight:e.placeholderPageHeight??1200,placeholderPageWidth:e.placeholderPageWidth??900,bufferSize:e.bufferSize??2,pageGap:e.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:e})=>{this.virtualPageMap=e,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(e){const t=this.coreState.core.documents[e];return!(!t||\"loaded\"!==t.status||!t.document)&&t.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const e of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(e.chapterId)&&this.harvestChapterSizes(e.chapterId);this.refreshLayout()}onDocumentLoaded(e){var t;if(0===((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(e),this.harvestChapterSizes(e),this.refreshLayout()}onDocumentClosed(e){var t;0!==((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0)&&(this.dropChapterSizes(e),this.refreshLayout())}buildCapability(){return{registerViewport:e=>this.bindViewport(e),reportChapterPageSizes:(e,t)=>this.applyChapterPageSizes(e,t),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(e,t)=>this.scrollToIndex(e,t),scrollToChapter:(e,t)=>this.scrollToChapter(e,t),scrollToGlobalPageNumber:(e,t)=>this.scrollToGlobalNumber(e,t),scrollToGlobalPdfPoint:(e,t,a)=>this.scrollToGlobalPdfPoint(e,t,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var e;super.destroy();for(const t of this.chapterManagerUnsubs)t();this.chapterManagerUnsubs=[],null==(e=this.viewportObservers)||e.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(e){return this.pageSizes.get(e)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const e=this.virtualPageMap.totalPages;this.offsets=new Array(e);let t=0,a=0;for(let s=0;s<e;s++){const{width:e,height:i}=this.getPageSize(s);this.offsets[s]=t,t+=i+this.config.pageGap,e>a&&(a=e)}this.totalHeight=e>0?t-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(e,t){if(!this.virtualPageMap)return;let a=!1;for(const s of t){const t=this.virtualPageMap.toGlobal(e,s.localPageIndex);if(!t)continue;const i=this.pageSizes.get(t.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(t.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const e=this.currentGlobalPageIndex,t=this.offsets[e]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[e]??0)-t;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(e){var t;return(null==(t=this.coreState.core.documents[e])?void 0:t.scale)??1}harvestChapterSizes(e,t=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(e),i=this.virtualPageMap.pagesOfChapter(e);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1)));const o=this.getChapterDocumentScale(e),r=[];for(const n of i){const e=s.pages[n.localPageIndex];(null==e?void 0:e.size)&&r.push({localPageIndex:n.localPageIndex,width:e.size.width*o,height:e.size.height*o})}0!==r.length?this.applyChapterPageSizes(e,r):t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1))}onScaleChanged(e){const t=this.coreState.core.documents[e];t&&\"loaded\"===t.status&&this.chapterManager.provides().getChapter(e)&&this.harvestChapterSizes(e)}dropChapterSizes(e){if(!this.virtualPageMap)return;let t=!1;for(const a of this.virtualPageMap.pagesOfChapter(e))this.pageSizes.delete(a.globalPageIndex)&&(t=!0);t&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(e){var t;if(null==(t=this.viewportObservers)||t.unbind(),this.viewportEl=e,this.viewportObservers=null,!e)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());e.addEventListener(\"scroll\",a,{passive:!0}),s.observe(e),this.viewportObservers={unbind:()=>{e.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===e.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const e=this.virtualPageMap.totalPages;if(0===e)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const t=this.viewportEl.scrollTop,a=t+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(t);let i=s;for(;i<e;){const e=this.getPageSize(i),t=this.offsets[i];if(e.height,t>=a)break;i++}const o=[];let r=s,n=-1;for(let l=s;l<i;l++){o.push(l);const e=this.offsets[l],s=e+this.getPageSize(l).height,i=Math.max(0,Math.min(s,a)-Math.max(e,t));i>n&&(n=i,r=l)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(e){let t=0,a=this.offsets.length-1,s=0;for(;t<=a;){const i=t+a>>1;this.offsets[i]<=e?(s=i,t=i+1):a=i-1}return s}computeLayout(){const e=this.config.bufferSize,t=Math.max(0,(this.currentVisible[0]??0)-e),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+e),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=t;o<=s;o++){const e=this.virtualPageMap.atIndex(o);if(!e)continue;const t=this.getPageSize(o),a=!this.isChapterDocumentReady(e.chapterId);i.push({globalPageIndex:o,globalPageNumber:e.globalPageNumber,chapterId:e.chapterId,localPageIndex:e.localPageIndex,width:t.width,height:t.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(e,t){if(!this.viewportEl||e<0||e>=this.offsets.length)return;const a=(this.offsets[e]??0)-((null==t?void 0:t.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==t?void 0:t.behavior)??\"auto\"})}scrollToGlobalPdfPoint(e,t,a){var s;if(!this.viewportEl||e<0||e>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(e);if(!o)return void this.scrollToIndex(e,a);const r=this.pageSizes.get(e),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(e,a);const l=r.height/n.size.height,h=(this.offsets[e]??0)+t*l-i;this.viewportEl.scrollTo({top:Math.max(0,h),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(e);a<0||(this.chapterManager.provides().ensureChapterLoaded(e),this.scrollToIndex(a,t))}scrollToGlobalNumber(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(e);a&&this.scrollToIndex(a.globalPageIndex,t)}};ze.id=\"chapter-scroll\";let Te=ze;const De={manifest:Ce,create:e=>new Te(Ie,e),reducer:e=>e,initialState:{}},Ge=\"note\",Oe={id:Ge,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 Ae={kind:\"first-wins\"};function Ne(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let Ve=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function _e(e,t=Ae){const a=function(e,t=Ae){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Ne(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new Ve(o)}const Re=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),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(D.id)}async initialize(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??Ae,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=_e(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};Re.id=\"chapter-manager\";let Ee=Re;const Ue={kind:\"first-wins\"};function Fe(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let qe=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function We(e,t=Ue){const a=function(e,t=Ue){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Fe(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new qe(o)}const He=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),this.overlapStrategy=Ue,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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??Ue,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=We(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};He.id=\"chapter-manager\";let Be=He;const je=class extends ${constructor(e,t){super(e,t),this.layoutChange$=L(),this.visibleChange$=L(),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(Be.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){this.config={placeholderPageHeight:e.placeholderPageHeight??1200,placeholderPageWidth:e.placeholderPageWidth??900,bufferSize:e.bufferSize??2,pageGap:e.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:e})=>{this.virtualPageMap=e,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(e){const t=this.coreState.core.documents[e];return!(!t||\"loaded\"!==t.status||!t.document)&&t.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const e of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(e.chapterId)&&this.harvestChapterSizes(e.chapterId);this.refreshLayout()}onDocumentLoaded(e){var t;if(0===((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(e),this.harvestChapterSizes(e),this.refreshLayout()}onDocumentClosed(e){var t;0!==((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0)&&(this.dropChapterSizes(e),this.refreshLayout())}buildCapability(){return{registerViewport:e=>this.bindViewport(e),reportChapterPageSizes:(e,t)=>this.applyChapterPageSizes(e,t),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(e,t)=>this.scrollToIndex(e,t),scrollToChapter:(e,t)=>this.scrollToChapter(e,t),scrollToGlobalPageNumber:(e,t)=>this.scrollToGlobalNumber(e,t),scrollToGlobalPdfPoint:(e,t,a)=>this.scrollToGlobalPdfPoint(e,t,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var e;super.destroy();for(const t of this.chapterManagerUnsubs)t();this.chapterManagerUnsubs=[],null==(e=this.viewportObservers)||e.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(e){return this.pageSizes.get(e)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const e=this.virtualPageMap.totalPages;this.offsets=new Array(e);let t=0,a=0;for(let s=0;s<e;s++){const{width:e,height:i}=this.getPageSize(s);this.offsets[s]=t,t+=i+this.config.pageGap,e>a&&(a=e)}this.totalHeight=e>0?t-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(e,t){if(!this.virtualPageMap)return;let a=!1;for(const s of t){const t=this.virtualPageMap.toGlobal(e,s.localPageIndex);if(!t)continue;const i=this.pageSizes.get(t.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(t.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const e=this.currentGlobalPageIndex,t=this.offsets[e]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[e]??0)-t;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(e){var t;return(null==(t=this.coreState.core.documents[e])?void 0:t.scale)??1}harvestChapterSizes(e,t=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(e),i=this.virtualPageMap.pagesOfChapter(e);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1)));const o=this.getChapterDocumentScale(e),r=[];for(const n of i){const e=s.pages[n.localPageIndex];(null==e?void 0:e.size)&&r.push({localPageIndex:n.localPageIndex,width:e.size.width*o,height:e.size.height*o})}0!==r.length?this.applyChapterPageSizes(e,r):t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1))}onScaleChanged(e){const t=this.coreState.core.documents[e];t&&\"loaded\"===t.status&&this.chapterManager.provides().getChapter(e)&&this.harvestChapterSizes(e)}dropChapterSizes(e){if(!this.virtualPageMap)return;let t=!1;for(const a of this.virtualPageMap.pagesOfChapter(e))this.pageSizes.delete(a.globalPageIndex)&&(t=!0);t&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(e){var t;if(null==(t=this.viewportObservers)||t.unbind(),this.viewportEl=e,this.viewportObservers=null,!e)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());e.addEventListener(\"scroll\",a,{passive:!0}),s.observe(e),this.viewportObservers={unbind:()=>{e.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===e.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const e=this.virtualPageMap.totalPages;if(0===e)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const t=this.viewportEl.scrollTop,a=t+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(t);let i=s;for(;i<e;){const e=this.getPageSize(i),t=this.offsets[i];if(e.height,t>=a)break;i++}const o=[];let r=s,n=-1;for(let l=s;l<i;l++){o.push(l);const e=this.offsets[l],s=e+this.getPageSize(l).height,i=Math.max(0,Math.min(s,a)-Math.max(e,t));i>n&&(n=i,r=l)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(e){let t=0,a=this.offsets.length-1,s=0;for(;t<=a;){const i=t+a>>1;this.offsets[i]<=e?(s=i,t=i+1):a=i-1}return s}computeLayout(){const e=this.config.bufferSize,t=Math.max(0,(this.currentVisible[0]??0)-e),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+e),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=t;o<=s;o++){const e=this.virtualPageMap.atIndex(o);if(!e)continue;const t=this.getPageSize(o),a=!this.isChapterDocumentReady(e.chapterId);i.push({globalPageIndex:o,globalPageNumber:e.globalPageNumber,chapterId:e.chapterId,localPageIndex:e.localPageIndex,width:t.width,height:t.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(e,t){if(!this.viewportEl||e<0||e>=this.offsets.length)return;const a=(this.offsets[e]??0)-((null==t?void 0:t.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==t?void 0:t.behavior)??\"auto\"})}scrollToGlobalPdfPoint(e,t,a){var s;if(!this.viewportEl||e<0||e>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(e);if(!o)return void this.scrollToIndex(e,a);const r=this.pageSizes.get(e),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(e,a);const l=r.height/n.size.height,h=(this.offsets[e]??0)+t*l-i;this.viewportEl.scrollTo({top:Math.max(0,h),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(e);a<0||(this.chapterManager.provides().ensureChapterLoaded(e),this.scrollToIndex(a,t))}scrollToGlobalNumber(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(e);a&&this.scrollToIndex(a.globalPageIndex,t)}};je.id=\"chapter-scroll\";let Ye=je;const Ke=class e extends ${constructor(e,t){super(e,t),this.notesChange$=L([]),this.noteActivated$=z(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(Ye.id),this.chapterManager=this.registry.getPlugin(Ee.id),this.documentManager=this.registry.getPlugin(D.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(a){this.logger.error(e.id,\"LoadNotes\",\"Failed to load notes\",a)}}buildCapability(){return{createNoteFromSelection:e=>this.createNoteFromSelection(e),requestCreateFromSelection:e=>this.requestCreateFromSelection(e),registerNote:e=>this.registerNote(e),listNotesForPage:(e,t)=>this.listAll().filter(a=>a.chapterId===e&&a.localPageIndex===t),listAllNotes:()=>this.listAll(),getNote:e=>this.notes.get(e)??null,deleteNote:e=>this.deleteNote(e),updateNoteContent:(e,t)=>this.updateNoteContent(e,t),scrollToNote:e=>this.scrollToNote(e),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(e){this.notes.set(e.noteId,e),this.notesChange$.emit(this.listAll())}requestEdit(e){const t=this.notes.get(e);t&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(e,t):this.activateNote(e))}activateNote(e){var t,a;const s=this.notes.get(e);s&&(null==(a=(t=this.config.callbacks).onActivateNote)||a.call(t,e,s),this.noteActivated$.emit({noteId:e,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(e){return{chapterId:e.chapterId,localPageIndex:e.localPageIndex,globalPageNumber:e.globalPageNumber,globalPageIndex:e.globalPageIndex,rectsPdfCoord:e.rectsPdfCoord,endAnchor:Ze(e.rectsPdfCoord),selectedText:e.selectedText,content:e.content}}async requestCreateFromSelection(e){if(0===e.rectsPdfCoord.length)return null;const t=this.buildDraft(e),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:t,complete:async e=>{const a={...t,noteId:e};this.registerNote(a)}}),null):this.createNoteFromSelection(e)}async createNoteFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const a=this.buildDraft(t),s=this.config.callbacks.onCreateNote;if(!s)return this.logger.error(e.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await s(a)}catch(r){return this.logger.error(e.id,\"OnCreateNote\",\"Callback failed\",r),null}if(!i)return null;const o={...a,noteId:i.noteId};return this.registerNote(o),o}async deleteNote(t){var a,s;if(this.notes.has(t)){try{await(null==(s=(a=this.config.callbacks).onDeleteNote)?void 0:s.call(a,t))}catch(i){return void this.logger.error(e.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(t),this.notesChange$.emit(this.listAll())}}async updateNoteContent(t,a){var s,i;const o=this.notes.get(t);if(!o)return;const r={...o,content:a};try{await(null==(i=(s=this.config.callbacks).onUpdateNote)?void 0:i.call(s,r))}catch(n){return void this.logger.error(e.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(t,r),this.notesChange$.emit(this.listAll())}async scrollToNote(e){var t;const a=this.notes.get(e);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(t=this.documentManager.provides().getDocument(a.chapterId))?void 0:t.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(e){const t=this.chapterScroll.provides(),a=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=t.onLayoutChange(t=>{const o=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);o&&(clearTimeout(s),i(),a(o))})})}};Ke.id=\"note\";let Xe=Ke;function Ze(e){const t=e[e.length-1];return{x:t.origin.x+t.size.width,y:t.origin.y+t.size.height}}const Qe={manifest:Oe,create:e=>new Xe(Ge,e),reducer:e=>e,initialState:{}},Je=\"paragraph-bookmark\",et={id:Je,name:\"Paragraph Bookmark Plugin\",version:\"0.1.0\",provides:[\"paragraph-bookmark\"],requires:[\"chapter-scroll\",\"chapter-manager\"],optional:[],defaultConfig:{}};const tt={kind:\"first-wins\"};function at(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let st=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function it(e,t=tt){const a=function(e,t=tt){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,at(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new st(o)}const ot=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??tt,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=it(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};ot.id=\"chapter-manager\";let rt=ot;const nt={kind:\"first-wins\"};function lt(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let ht=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function dt(e,t=nt){const a=function(e,t=nt){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,lt(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new ht(o)}const ct=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??nt,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=dt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};ct.id=\"chapter-manager\";let ut=ct;const pt=class extends ${constructor(e,t){super(e,t),this.layoutChange$=L(),this.visibleChange$=L(),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(ut.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){this.config={placeholderPageHeight:e.placeholderPageHeight??1200,placeholderPageWidth:e.placeholderPageWidth??900,bufferSize:e.bufferSize??2,pageGap:e.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:e})=>{this.virtualPageMap=e,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(e){const t=this.coreState.core.documents[e];return!(!t||\"loaded\"!==t.status||!t.document)&&t.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const e of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(e.chapterId)&&this.harvestChapterSizes(e.chapterId);this.refreshLayout()}onDocumentLoaded(e){var t;if(0===((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(e),this.harvestChapterSizes(e),this.refreshLayout()}onDocumentClosed(e){var t;0!==((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0)&&(this.dropChapterSizes(e),this.refreshLayout())}buildCapability(){return{registerViewport:e=>this.bindViewport(e),reportChapterPageSizes:(e,t)=>this.applyChapterPageSizes(e,t),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(e,t)=>this.scrollToIndex(e,t),scrollToChapter:(e,t)=>this.scrollToChapter(e,t),scrollToGlobalPageNumber:(e,t)=>this.scrollToGlobalNumber(e,t),scrollToGlobalPdfPoint:(e,t,a)=>this.scrollToGlobalPdfPoint(e,t,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var e;super.destroy();for(const t of this.chapterManagerUnsubs)t();this.chapterManagerUnsubs=[],null==(e=this.viewportObservers)||e.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(e){return this.pageSizes.get(e)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const e=this.virtualPageMap.totalPages;this.offsets=new Array(e);let t=0,a=0;for(let s=0;s<e;s++){const{width:e,height:i}=this.getPageSize(s);this.offsets[s]=t,t+=i+this.config.pageGap,e>a&&(a=e)}this.totalHeight=e>0?t-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(e,t){if(!this.virtualPageMap)return;let a=!1;for(const s of t){const t=this.virtualPageMap.toGlobal(e,s.localPageIndex);if(!t)continue;const i=this.pageSizes.get(t.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(t.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const e=this.currentGlobalPageIndex,t=this.offsets[e]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[e]??0)-t;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(e){var t;return(null==(t=this.coreState.core.documents[e])?void 0:t.scale)??1}harvestChapterSizes(e,t=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(e),i=this.virtualPageMap.pagesOfChapter(e);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1)));const o=this.getChapterDocumentScale(e),r=[];for(const n of i){const e=s.pages[n.localPageIndex];(null==e?void 0:e.size)&&r.push({localPageIndex:n.localPageIndex,width:e.size.width*o,height:e.size.height*o})}0!==r.length?this.applyChapterPageSizes(e,r):t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1))}onScaleChanged(e){const t=this.coreState.core.documents[e];t&&\"loaded\"===t.status&&this.chapterManager.provides().getChapter(e)&&this.harvestChapterSizes(e)}dropChapterSizes(e){if(!this.virtualPageMap)return;let t=!1;for(const a of this.virtualPageMap.pagesOfChapter(e))this.pageSizes.delete(a.globalPageIndex)&&(t=!0);t&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(e){var t;if(null==(t=this.viewportObservers)||t.unbind(),this.viewportEl=e,this.viewportObservers=null,!e)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());e.addEventListener(\"scroll\",a,{passive:!0}),s.observe(e),this.viewportObservers={unbind:()=>{e.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===e.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const e=this.virtualPageMap.totalPages;if(0===e)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const t=this.viewportEl.scrollTop,a=t+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(t);let i=s;for(;i<e;){const e=this.getPageSize(i),t=this.offsets[i];if(e.height,t>=a)break;i++}const o=[];let r=s,n=-1;for(let l=s;l<i;l++){o.push(l);const e=this.offsets[l],s=e+this.getPageSize(l).height,i=Math.max(0,Math.min(s,a)-Math.max(e,t));i>n&&(n=i,r=l)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(e){let t=0,a=this.offsets.length-1,s=0;for(;t<=a;){const i=t+a>>1;this.offsets[i]<=e?(s=i,t=i+1):a=i-1}return s}computeLayout(){const e=this.config.bufferSize,t=Math.max(0,(this.currentVisible[0]??0)-e),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+e),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=t;o<=s;o++){const e=this.virtualPageMap.atIndex(o);if(!e)continue;const t=this.getPageSize(o),a=!this.isChapterDocumentReady(e.chapterId);i.push({globalPageIndex:o,globalPageNumber:e.globalPageNumber,chapterId:e.chapterId,localPageIndex:e.localPageIndex,width:t.width,height:t.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(e,t){if(!this.viewportEl||e<0||e>=this.offsets.length)return;const a=(this.offsets[e]??0)-((null==t?void 0:t.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==t?void 0:t.behavior)??\"auto\"})}scrollToGlobalPdfPoint(e,t,a){var s;if(!this.viewportEl||e<0||e>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(e);if(!o)return void this.scrollToIndex(e,a);const r=this.pageSizes.get(e),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(e,a);const l=r.height/n.size.height,h=(this.offsets[e]??0)+t*l-i;this.viewportEl.scrollTo({top:Math.max(0,h),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(e);a<0||(this.chapterManager.provides().ensureChapterLoaded(e),this.scrollToIndex(a,t))}scrollToGlobalNumber(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(e);a&&this.scrollToIndex(a.globalPageIndex,t)}};pt.id=\"chapter-scroll\";let gt=pt;function ft(e){if(0===e.length)throw new Error(\"unionRects: empty rects\");let t=1/0,a=1/0,s=-1/0,i=-1/0;for(const o of e)t=Math.min(t,o.origin.x),a=Math.min(a,o.origin.y),s=Math.max(s,o.origin.x+o.size.width),i=Math.max(i,o.origin.y+o.size.height);return{origin:{x:t,y:a},size:{width:s-t,height:i-a}}}function mt(e){const t=e[e.length-1];return{x:t.origin.x+t.size.width,y:t.origin.y+t.size.height}}function vt(e,t){const a=e.origin.y,s=e.origin.y+e.size.height,i=t.origin.y,o=t.origin.y+t.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 bt(e,t){var a,s;if(e.chapterId!==t.chapterId||e.localPageIndex!==t.localPageIndex)return!1;const i=(null==(a=e.rectsPdfCoord)?void 0:a.length)?e.rectsPdfCoord:[e.rectPdfCoord],o=(null==(s=t.rectsPdfCoord)?void 0:s.length)?t.rectsPdfCoord:[t.rectPdfCoord],r=e.markerAnchor??mt(i),n=t.markerAnchor??mt(o);if(Math.hypot(r.x-n.x,r.y-n.y)<=6)return!0;for(const l of i)for(const e of o){if(vt(l,e)<.5)continue;const t=Math.max(l.origin.x,e.origin.x);if(Math.min(l.origin.x+l.size.width,e.origin.x+e.size.width)-t>.25*Math.min(l.size.width,e.size.width))return!0}return!1}function Pt(e,t,a,s){const i=a.length>0?a:[];if(0===i.length)throw new Error(\"buildParagraphBookmarkAnchor: no rects\");return{chapterId:e,localPageIndex:t,globalPageIndex:null==s?void 0:s.globalPageIndex,globalPageNumber:null==s?void 0:s.globalPageNumber,rectPdfCoord:ft(i),rectsPdfCoord:i,markerAnchor:mt(i)}}async function wt(e,t,a){e.scrollToGlobalPageIndex(t),await function(e,t,a=2500){const s=e.getLayout().items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);return s?Promise.resolve(s):new Promise(s=>{const i=setTimeout(()=>{o(),s(null)},a),o=e.onLayoutChange(e=>{const a=e.items.find(e=>e.globalPageIndex===t&&!e.isPlaceholder);a&&(clearTimeout(i),o(),s(a))})})}(e,t),e.scrollToGlobalPdfPoint(t,a,{marginTop:80})}const yt=class e extends ${constructor(e,t){super(e,t),this.change$=L([]),this.entries=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(gt.id),this.chapterManager=this.registry.getPlugin(rt.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(t){var a;if(this.config=t,null==(a=t.callbacks)?void 0:a.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(e.id,\"Load\",\"Failed to load paragraph bookmarks\",s)}}buildCapability(){return{addBookmark:e=>this.addBookmark(e),removeBookmark:e=>this.removeBookmark(e),updateBookmark:(e,t)=>this.updateBookmark(e,t),listBookmarks:()=>this.list(),getBookmark:e=>this.entries.get(e)??null,scrollToBookmark:e=>this.scrollToBookmark(e),requestRemoveBookmark:e=>this.requestRemoveBookmark(e),onBookmarksChange:this.change$.on}}addBookmark(e){for(const s of this.entries.values())if(bt(s.anchor,e.anchor))return s;const t=e.id??`bm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,a={id:t,label:e.label,anchor:e.anchor,metadata:e.metadata,createdAt:Date.now()};return this.entries.set(t,a),this.notifyAndPersist(),a}removeBookmark(e){var t,a,s;this.entries.delete(e)&&(this.notifyAndPersist(),null==(s=null==(a=null==(t=this.config)?void 0:t.callbacks)?void 0:a.onRemoveSuccess)||s.call(a,e))}async requestRemoveBookmark(t){var a,s;const i=this.entries.get(t);if(!i)return!1;const o=null==(s=null==(a=this.config)?void 0:a.callbacks)?void 0:s.onRequestRemove;if(o)try{if(!(await o(i)))return!1}catch(r){return this.logger.error(e.id,\"RequestRemove\",\"callback failed\",r),!1}return this.removeBookmark(t),!0}updateBookmark(e,t){const a=this.entries.get(e);a&&(this.entries.set(e,{...a,...t}),this.notifyAndPersist())}list(){return Array.from(this.entries.values()).sort((e,t)=>e.createdAt-t.createdAt)}notifyAndPersist(){var t,a;const s=this.list();this.change$.emit(s),(null==(a=null==(t=this.config)?void 0:t.callbacks)?void 0:a.persist)&&Promise.resolve(this.config.callbacks.persist(s)).catch(t=>this.logger.error(e.id,\"Persist\",\"persist callback rejected\",t))}async scrollToBookmark(e){const t=this.entries.get(e);if(!t)return;const a=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(t.anchor.chapterId);let s=t.anchor.globalPageIndex;if(void 0===s){const e=this.chapterManager.provides().getVirtualPageMap().toGlobal(t.anchor.chapterId,t.anchor.localPageIndex);if(!e)return;s=e.globalPageIndex}const i=function(e){if(e.markerAnchor)return e.markerAnchor.y;const t=e.rectPdfCoord;return t.origin.y+t.size.height}(t.anchor);await wt(a,s,i)}};yt.id=\"paragraph-bookmark\";let It=yt;const Ct={manifest:et,create:e=>new It(Je,e),reducer:e=>e,initialState:{}},Mt={\"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 St{constructor(){this.specs=[]}register(e){if(this.specs.some(t=>t.id===e.id))throw new Error(`OperationRegistry: duplicate operation id \"${e.id}\"`);this.specs.push(e)}registerAll(e){for(const t of e)t&&this.register(t)}list(){return this.specs}buildToolbars(){const e=structuredClone(Mt);for(const t of this.specs){const a=e[t.toolbarSlot];if(!a)continue;const s={type:\"command-button\",id:t.id,commandId:t.commandId,variant:\"icon\",...t.icon?{icon:t.icon}:{},...t.i18nKey?{labelKey:t.i18nKey}:{},...t.label?{label:t.label}:{},categories:t.categories??[]};a.items=xt(a.items,s,t.position)}return e}}function xt(e,t,a){return(null==a?void 0:a.after)||(null==a?void 0:a.before)?function(e,t,a){const s=e=>{const i=[];for(const o of e)\"group\"!==o.type?a.before&&o.id===a.before?i.push(t,o):(i.push(o),a.after&&o.id===a.after&&i.push(t)):i.push({...o,items:s(o.items)});return i};return s(e)}(e,t,a):function(e,t){return e.map(e=>\"group\"===e.type?{...e,items:[...e.items,t]}:e)}(e,t)}const kt={annotate:\"annotation-toolbar\",shapes:\"shapes-toolbar\",insert:\"insert-toolbar\",form:\"form-toolbar\",redact:\"redaction-toolbar\"};function $t(){return{\"mode:view\":{id:\"mode:view\",label:\"View\",categories:[\"mode\",\"mode-view\"],action:({registry:e,documentId:t})=>{const a=e.getPlugin(\"ui\")?.provides(),s=e.getPlugin(\"interaction-manager\")?.provides();a&&s&&(s.forDocument(t)?.activateDefaultMode(),a.forDocument(t).closeToolbarSlot(\"top\",\"secondary\"),e.getPlugin(F)?.provides().forDocument(t).setLocked((e=>e.getPluginConfig(F).locked??{type:q.None})(e)))},active:({state:e,documentId:t})=>!J(e.plugins,t,\"top\",\"secondary\")},\"mode:annotate\":{id:\"mode:annotate\",label:\"Annotate\",categories:[\"mode\",\"mode-annotate\",\"annotation\"],action:({registry:e,documentId:t})=>{const a=e.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"annotation-toolbar\",t),e.getPlugin(F)?.provides().forDocument(t).setLocked({type:q.Include,categories:[\"form\"]}))},active:({state:e,documentId:t})=>J(e.plugins,t,\"top\",\"secondary\",\"annotation-toolbar\")},\"mode:shapes\":{id:\"mode:shapes\",label:\"Shapes\",categories:[\"mode\",\"mode-shapes\",\"annotation\"],action:({registry:e,documentId:t})=>{const a=e.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"shapes-toolbar\",t),e.getPlugin(F)?.provides().forDocument(t).setLocked({type:q.Include,categories:[\"form\"]}))},active:({state:e,documentId:t})=>J(e.plugins,t,\"top\",\"secondary\",\"shapes-toolbar\")},\"mode:insert\":{id:\"mode:insert\",label:\"Insert\",categories:[\"mode\",\"mode-insert\",\"insert\"],action:({registry:e,documentId:t})=>{const a=e.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"insert-toolbar\",t),e.getPlugin(F)?.provides().forDocument(t).setLocked({type:q.Include,categories:[\"form\"]}))},active:({state:e,documentId:t})=>J(e.plugins,t,\"top\",\"secondary\",\"insert-toolbar\")},\"mode:form\":{id:\"mode:form\",label:\"Form\",categories:[\"mode\",\"mode-form\",\"form\"],action:({registry:e,documentId:t})=>{const a=e.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"form-toolbar\",t),e.getPlugin(F)?.provides().forDocument(t).setLocked({type:q.None}))},active:({state:e,documentId:t})=>J(e.plugins,t,\"top\",\"secondary\",\"form-toolbar\")},\"mode:redact\":{id:\"mode:redact\",label:\"Redact\",categories:[\"mode\",\"mode-redact\",\"redaction\"],action:({registry:e,documentId:t})=>{const a=e.getPlugin(\"ui\")?.provides();a&&(a.setActiveToolbar(\"top\",\"secondary\",\"redaction-toolbar\",t),e.getPlugin(F)?.provides().forDocument(t).setLocked({type:q.Include,categories:[\"form\"]}))},active:({state:e,documentId:t})=>J(e.plugins,t,\"top\",\"secondary\",\"redaction-toolbar\")}}}function Lt(e){const t=e.toolbar??{},a=t.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"],s=a.length>0,{schema:i,operationRegistry:o}=function(e={}){var t,a,s,i,o,r;const n=new Set(e.enabledModes??[\"view\",\"annotate\",\"shapes\",\"insert\",\"form\",\"redact\"]),l=new St;(null==(t=e.customOperations)?void 0:t.length)&&l.registerAll(e.customOperations);const h=l.buildToolbars(),d={};for(const u of n){if(\"view\"===u)continue;const e=kt[u];h[e]&&(d[e]=h[e])}const c=function(e){if(0===e.size)return null;const t=(e,t,a)=>({type:\"command-button\",id:`${e}-mode`,commandId:a,variant:\"text\",label:t,categories:[\"mode\",e]});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:[...e.has(\"view\")?[t(\"view\",\"View\",\"mode:view\")]:[],...e.has(\"annotate\")?[t(\"annotate\",\"Annotate\",\"mode:annotate\")]:[],...e.has(\"shapes\")?[t(\"shapes\",\"Shapes\",\"mode:shapes\")]:[],...e.has(\"insert\")?[t(\"insert\",\"Insert\",\"mode:insert\")]:[],...e.has(\"form\")?[t(\"form\",\"Form\",\"mode:form\")]:[],...e.has(\"redact\")?[t(\"redact\",\"Redact\",\"mode:redact\")]:[]]},{type:\"spacer\",id:\"main-spacer-right\",flex:!0}]}}(n);return c&&(d[\"chapter-editor-main-toolbar\"]=c),(null==(a=e.extend)?void 0:a.toolbars)&&Object.assign(d,e.extend.toolbars),{schema:{id:\"chapter-pdf-editor-ui\",version:\"1.0.0\",toolbars:d,menus:(null==(s=e.extend)?void 0:s.menus)??{},sidebars:(null==(i=e.extend)?void 0:i.sidebars)??{},modals:(null==(o=e.extend)?void 0:o.modals)??{},selectionMenus:(null==(r=e.extend)?void 0:r.selectionMenus)??{}},operationRegistry:l}}({...t,enabledModes:a}),r={...s?$t():{},...s?zt(o.list()):{},...e.commands??{}},n=[T(G,{initialDocuments:[]}),T(ye,{manifest:e.manifest,overlapStrategy:e.overlapStrategy,passwordProvider:e.passwordProvider,chapterPdfLoader:e.chapterPdfLoader,prefetchChapters:e.prefetchChapters,unloadTimeoutMs:e.unloadTimeoutMs}),T(De,{placeholderPageHeight:e.placeholderPageHeight,placeholderPageWidth:e.placeholderPageWidth}),T(O),T(A),T(N),T(V,{marquee:{enabled:!1},toleranceFactor:1.2,minSelectionDragDistance:4}),T(B),T(W),T(j),T(Y),T(K,!1===e.loadDefaultStampLibrary?{manifests:[]}:void 0),T(X),...Object.keys(r).length>0?[T(Z,{commands:r})]:[],...s?[T(Q),T(ee,{schema:i})]:[]];return e.notes&&n.push(T(Qe,{callbacks:e.notes.callbacks,ui:e.features?.notes?.marker})),e.bookmarks&&n.push(T(Ct,{callbacks:e.bookmarks.callbacks,ui:e.features?.bookmarks?.marker,hover:e.features?.bookmarks?.hover})),{plugins:n,uiSchema:i,operationRegistry:o}}function zt(e){const t={};for(const a of e)a.handler&&(t[a.commandId]={id:a.commandId,labelKey:a.i18nKey,label:a.label,icon:a.icon,categories:a.categories,action:({documentId:e})=>{a.handler?.({documentId:e,chapterId:e})}});return t}const Tt={markup:{enabled:!0},bookmarks:{enabled:!0},notes:{enabled:!0},selectionToolbar:{enabled:!0},zoom:{enabled:!0,min:.5,max:3,initial:1}};function Dt(e){return Lt({...e,toolbar:e.toolbar??{enabledModes:[]},features:{...Tt,...e.features,markup:{...Tt.markup,...e.features?.markup},bookmarks:{...Tt.bookmarks,...e.features?.bookmarks},notes:{...Tt.notes,...e.features?.notes},selectionToolbar:{...Tt.selectionToolbar,...e.features?.selectionToolbar},zoom:{...Tt.zoom,...e.features?.zoom}}})}function Gt(e,t,a){return Math.min(a,Math.max(t,e))}const Ot={position:\"relative\",height:\"100%\",width:\"100%\"},At={height:\"100%\",width:\"100%\"};const Nt={kind:\"first-wins\"};function Vt(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let _t=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function Rt(e,t=Nt){const a=function(e,t=Nt){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Vt(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new _t(o)}const Et=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??Nt,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=Rt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};Et.id=\"chapter-manager\";let Ut=Et;const Ft=class extends ${constructor(e,t){super(e,t),this.layoutChange$=L(),this.visibleChange$=L(),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(Ut.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){this.config={placeholderPageHeight:e.placeholderPageHeight??1200,placeholderPageWidth:e.placeholderPageWidth??900,bufferSize:e.bufferSize??2,pageGap:e.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:e})=>{this.virtualPageMap=e,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(e){const t=this.coreState.core.documents[e];return!(!t||\"loaded\"!==t.status||!t.document)&&t.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const e of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(e.chapterId)&&this.harvestChapterSizes(e.chapterId);this.refreshLayout()}onDocumentLoaded(e){var t;if(0===((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(e),this.harvestChapterSizes(e),this.refreshLayout()}onDocumentClosed(e){var t;0!==((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0)&&(this.dropChapterSizes(e),this.refreshLayout())}buildCapability(){return{registerViewport:e=>this.bindViewport(e),reportChapterPageSizes:(e,t)=>this.applyChapterPageSizes(e,t),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(e,t)=>this.scrollToIndex(e,t),scrollToChapter:(e,t)=>this.scrollToChapter(e,t),scrollToGlobalPageNumber:(e,t)=>this.scrollToGlobalNumber(e,t),scrollToGlobalPdfPoint:(e,t,a)=>this.scrollToGlobalPdfPoint(e,t,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var e;super.destroy();for(const t of this.chapterManagerUnsubs)t();this.chapterManagerUnsubs=[],null==(e=this.viewportObservers)||e.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(e){return this.pageSizes.get(e)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const e=this.virtualPageMap.totalPages;this.offsets=new Array(e);let t=0,a=0;for(let s=0;s<e;s++){const{width:e,height:i}=this.getPageSize(s);this.offsets[s]=t,t+=i+this.config.pageGap,e>a&&(a=e)}this.totalHeight=e>0?t-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(e,t){if(!this.virtualPageMap)return;let a=!1;for(const s of t){const t=this.virtualPageMap.toGlobal(e,s.localPageIndex);if(!t)continue;const i=this.pageSizes.get(t.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(t.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const e=this.currentGlobalPageIndex,t=this.offsets[e]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[e]??0)-t;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(e){var t;return(null==(t=this.coreState.core.documents[e])?void 0:t.scale)??1}harvestChapterSizes(e,t=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(e),i=this.virtualPageMap.pagesOfChapter(e);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1)));const o=this.getChapterDocumentScale(e),r=[];for(const n of i){const e=s.pages[n.localPageIndex];(null==e?void 0:e.size)&&r.push({localPageIndex:n.localPageIndex,width:e.size.width*o,height:e.size.height*o})}0!==r.length?this.applyChapterPageSizes(e,r):t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1))}onScaleChanged(e){const t=this.coreState.core.documents[e];t&&\"loaded\"===t.status&&this.chapterManager.provides().getChapter(e)&&this.harvestChapterSizes(e)}dropChapterSizes(e){if(!this.virtualPageMap)return;let t=!1;for(const a of this.virtualPageMap.pagesOfChapter(e))this.pageSizes.delete(a.globalPageIndex)&&(t=!0);t&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(e){var t;if(null==(t=this.viewportObservers)||t.unbind(),this.viewportEl=e,this.viewportObservers=null,!e)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());e.addEventListener(\"scroll\",a,{passive:!0}),s.observe(e),this.viewportObservers={unbind:()=>{e.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===e.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const e=this.virtualPageMap.totalPages;if(0===e)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const t=this.viewportEl.scrollTop,a=t+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(t);let i=s;for(;i<e;){const e=this.getPageSize(i),t=this.offsets[i];if(e.height,t>=a)break;i++}const o=[];let r=s,n=-1;for(let l=s;l<i;l++){o.push(l);const e=this.offsets[l],s=e+this.getPageSize(l).height,i=Math.max(0,Math.min(s,a)-Math.max(e,t));i>n&&(n=i,r=l)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(e){let t=0,a=this.offsets.length-1,s=0;for(;t<=a;){const i=t+a>>1;this.offsets[i]<=e?(s=i,t=i+1):a=i-1}return s}computeLayout(){const e=this.config.bufferSize,t=Math.max(0,(this.currentVisible[0]??0)-e),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+e),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=t;o<=s;o++){const e=this.virtualPageMap.atIndex(o);if(!e)continue;const t=this.getPageSize(o),a=!this.isChapterDocumentReady(e.chapterId);i.push({globalPageIndex:o,globalPageNumber:e.globalPageNumber,chapterId:e.chapterId,localPageIndex:e.localPageIndex,width:t.width,height:t.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(e,t){if(!this.viewportEl||e<0||e>=this.offsets.length)return;const a=(this.offsets[e]??0)-((null==t?void 0:t.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==t?void 0:t.behavior)??\"auto\"})}scrollToGlobalPdfPoint(e,t,a){var s;if(!this.viewportEl||e<0||e>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(e);if(!o)return void this.scrollToIndex(e,a);const r=this.pageSizes.get(e),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(e,a);const l=r.height/n.size.height,h=(this.offsets[e]??0)+t*l-i;this.viewportEl.scrollTo({top:Math.max(0,h),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(e);a<0||(this.chapterManager.provides().ensureChapterLoaded(e),this.scrollToIndex(a,t))}scrollToGlobalNumber(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(e);a&&this.scrollToIndex(a.globalPageIndex,t)}};Ft.id=\"chapter-scroll\";let qt=Ft;const Wt=[\"data-global-page-index\",\"data-chapter-id\",\"data-local-page-index\"],Ht=/* @__PURE__ */((e,t)=>{const a=e.__vccOpts||e;for(const[s,i]of t)a[s]=i;return a})(/* @__PURE__ */e({__name:\"ChapterScroller\",props:{class:{},style:{}},setup(e){const{provides:p}=C(qt.id),g=t(null),f=t(null);let m=null;const v=()=>{null==m||m(),m=null,p.value&&(p.value.registerViewport(g.value),m=p.value.onLayoutChange(e=>{f.value=e}))};return a(v),s(()=>{var e;null==m||m(),null==(e=p.value)||e.registerViewport(null)}),i(p,v),(e,t)=>{var a,s,i;return o(),r(\"div\",{ref_key:\"containerRef\",ref:g,\"data-chapter-scroll-viewport\":\"\",class:l(e.$props.class),style:n({overflow:\"auto\",position:\"relative\",width:\"100%\",height:\"100%\",...e.$props.style})},[h(\"div\",{style:n({position:\"relative\",width:`${(null==(a=f.value)?void 0:a.totalWidth)??0}px`,height:`${(null==(s=f.value)?void 0:s.totalHeight)??0}px`,margin:\"0 auto\"})},[(o(!0),r(d,null,c((null==(i=f.value)?void 0:i.items)??[],a=>(o(),r(\"div\",{key:a.globalPageIndex,\"data-global-page-index\":a.globalPageIndex,\"data-chapter-id\":a.chapterId,\"data-local-page-index\":a.localPageIndex,style:n({position:\"absolute\",top:`${a.offsetTop}px`,left:\"50%\",transform:\"translateX(-50%)\",width:`${a.width}px`,height:`${a.height}px`,backgroundColor:a.isPlaceholder?\"#f3f4f6\":\"#fff\",boxShadow:\"0 1px 4px rgba(0,0,0,0.08)\"})},[a.isPlaceholder?u(e.$slots,\"placeholder\",{key:0,item:a},()=>[t[0]||(t[0]=h(\"div\",{class:\"chapter-scroll-placeholder\"},\"Loading chapter…\",-1))],!0):u(e.$slots,\"page\",{key:1,item:a},void 0,!0)],12,Wt))),128))],4)],6)}}}),[[\"__scopeId\",\"data-v-8a737137\"]]),Bt=/* @__PURE__ */e({__name:\"ChapterRenderLayer\",props:{chapterId:{},localPageIndex:{},scale:{},dpr:{},class:{}},setup:e=>(t,a)=>(o(),p(g(ce),{\"document-id\":e.chapterId,\"page-index\":e.localPageIndex,scale:e.scale,dpr:e.dpr,class:l(e.class),style:{pointerEvents:\"none\"}},null,8,[\"document-id\",\"page-index\",\"scale\",\"dpr\",\"class\"]))});const jt={kind:\"first-wins\"};function Yt(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}let Kt=class{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}};function Xt(e,t=jt){const a=function(e,t=jt){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,Yt(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new Kt(o)}const Zt=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),this.overlapStrategy=jt,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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??jt,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=Xt(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};Zt.id=\"chapter-manager\";let Qt=Zt;const Jt={kind:\"first-wins\"};function ea(e,t,a){if(1===t.length)return t[0].chapterId;switch(a.kind){case\"first-wins\":return t[0].chapterId;case\"last-wins\":return t[t.length-1].chapterId;case\"explicit\":{const a=t.find(t=>{var a;return null==(a=t.ownedGlobalPages)?void 0:a.includes(e)});return a?a.chapterId:t[0].chapterId}case\"custom\":return a.resolve(e,t)}}class ta{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 a=this._byChapter.get(e);return a?a.find(e=>e.localPageIndex===t)??null:null}pagesOfChapter(e){return this._byChapter.get(e)??[]}firstIndexOfChapter(e){var t;const a=null==(t=this._byChapter.get(e))?void 0:t[0];return a?this._pages.indexOf(a):-1}}function aa(e,t=Jt){const a=function(e,t=Jt){const a=/* @__PURE__ */new Map;for(const i of e.chapters){const[e,t]=i.globalPageRange;for(let s=e;s<=t;s++){const e=a.get(s);e?e.push(i):a.set(s,[i])}}const s=/* @__PURE__ */new Map;for(const[i,o]of a)s.set(i,ea(i,o,t));return s}(e,t),s=/* @__PURE__ */new Map;for(const n of e.chapters)s.set(n.chapterId,n);const i=Array.from(a.keys()).sort((e,t)=>e-t),o=[];let r=0;for(const n of i){const e=a.get(n),t=s.get(e);if(!t)continue;const[i]=t.globalPageRange,[l]=t.localPageRange,h=l+(n-i);o.push({globalPageIndex:r++,globalPageNumber:n,chapterId:e,localPageIndex:h})}return new ta(o)}const sa=class e extends ${constructor(e,t){super(e,t),this.statusChange$=L(),this.manifestChange$=z(),this.overlapStrategy=Jt,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(e){if(this.config=e,this.passwordProvider=e.passwordProvider,this.overlapStrategy=e.overlapStrategy??Jt,this.setManifestInternal(e.manifest),this.documentManagerUnsubs.push(this.documentManager.provides().onDocumentOpened(e=>{this.isOwnedChapter(e.id)&&(this.passwordAttempts.delete(e.id),this.updateStatus(e.id,\"loaded\"))}),this.documentManager.provides().onDocumentClosed(e=>{this.isOwnedChapter(e)&&this.updateStatus(e,\"closed\")}),this.documentManager.provides().onDocumentError(e=>{this.isOwnedChapter(e.documentId)&&this.handleDocumentError(e.documentId,e.code,e.message)})),e.unloadTimeoutMs&&e.unloadTimeoutMs>0){const t=Math.max(5e3,Math.floor(e.unloadTimeoutMs/4));this.unloadTimer=setInterval(()=>this.collectIdleChapters(),t)}}buildCapability(){return{setManifest:(e,t)=>{t&&(this.overlapStrategy=t),this.setManifestInternal(e)},getManifest:()=>this.manifest,getVirtualPageMap:()=>this.virtualPageMap,setVisibleGlobalPages:e=>this.handleVisibleChange(e),ensureChapterLoaded:e=>this.ensureChapterLoaded(e),getChapterStatus:e=>this.chapterStatus.get(e)??\"idle\",getChapter:e=>this.findChapter(e),onChapterStatusChange:this.statusChange$.on,onManifestChange:this.manifestChange$.on}}destroy(){super.destroy();for(const e of this.documentManagerUnsubs)e();this.documentManagerUnsubs=[],this.unloadTimer&&clearInterval(this.unloadTimer),this.unloadTimer=null,this.statusChange$.clear(),this.manifestChange$.clear()}setManifestInternal(t){const a=function(e){const t=[],a=/* @__PURE__ */new Set;for(const s of e.chapters){a.has(s.chapterId)&&t.push(`Duplicate chapterId: ${s.chapterId}`),a.add(s.chapterId);const[e,i]=s.globalPageRange,[o,r]=s.localPageRange;if(e>i&&t.push(`${s.chapterId}: invalid globalPageRange [${e},${i}]`),o>r&&t.push(`${s.chapterId}: invalid localPageRange [${o},${r}]`),i-e!==r-o&&t.push(`${s.chapterId}: page-count mismatch (global ${i-e+1} vs local ${r-o+1})`),s.ownedGlobalPages)for(const a of s.ownedGlobalPages)(a<e||a>i)&&t.push(`${s.chapterId}: ownedGlobalPages contains ${a} outside range`)}return t}(t);a.length>0&&this.logger.warn(e.id,\"ManifestValidation\",`Chapter manifest has issues: ${a.join(\"; \")}`);const s=new Set(this.chapterStatus.keys()),i=new Set(t.chapters.map(e=>e.chapterId));for(const e of s)i.has(e)||(this.closeChapter(e),this.chapterStatus.delete(e));for(const e of t.chapters)this.chapterStatus.has(e.chapterId)||this.chapterStatus.set(e.chapterId,\"idle\");this.manifest=t,this.virtualPageMap=aa(t,this.overlapStrategy),this.manifestChange$.emit({manifest:t,map:this.virtualPageMap}),this.eagerPrefetchFromManifest()}eagerPrefetchFromManifest(){const e=this.config.prefetchChapters??0;if(e<=0||0===this.manifest.chapters.length)return;const t=Date.now(),a=Math.min(e,this.manifest.chapters.length);for(let s=0;s<a;s++){const e=this.manifest.chapters[s].chapterId;this.chapterLastUsed.set(e,t);const a=this.chapterStatus.get(e)??\"idle\";\"idle\"!==a&&\"closed\"!==a&&\"error\"!==a||this.ensureChapterLoaded(e)}}findChapter(e){return this.manifest.chapters.find(t=>t.chapterId===e)??null}isOwnedChapter(e){return!!this.findChapter(e)}handleVisibleChange(e){if(!this.virtualPageMap)return;const t=Date.now(),a=this.config.prefetchChapters??1,s=/* @__PURE__ */new Set;for(const n of e){const e=this.virtualPageMap.atIndex(n);e&&s.add(e.chapterId)}if(0===s.size)return;const i=this.manifest.chapters.map(e=>e.chapterId),o=/* @__PURE__ */new Set;for(const n of s){const e=i.indexOf(n);if(-1!==e)for(let t=e-a;t<=e+a;t++)t>=0&&t<i.length&&o.add(t)}const r=/* @__PURE__ */new Set;for(const n of o)r.add(i[n]);for(const n of r){this.chapterLastUsed.set(n,t);const e=this.chapterStatus.get(n)??\"idle\";\"idle\"!==e&&\"closed\"!==e&&\"error\"!==e||this.ensureChapterLoaded(n)}if(this.config.autoActivateOnLoad??1){const e=i.find(e=>s.has(e));if(e&&this.documentManager.provides().isDocumentOpen(e)){this.documentManager.provides().getActiveDocumentId()!==e&&this.documentManager.provides().setActiveDocument(e)}}}collectIdleChapters(){const e=this.config.unloadTimeoutMs??6e4;if(e<=0)return;const t=Date.now();for(const[a,s]of this.chapterStatus){if(\"loaded\"!==s)continue;t-(this.chapterLastUsed.get(a)??0)>e&&this.closeChapter(a)}}ensureChapterLoaded(e){const t=this.pendingLoadPromises.get(e);if(t)return t;const a=this.findChapter(e);if(!a)return Promise.resolve(\"error\");const s=this.chapterStatus.get(e)??\"idle\";if(\"loaded\"===s)return this.chapterLastUsed.set(e,Date.now()),Promise.resolve(\"loaded\");if(\"loading\"===s)return this.waitForTerminalStatus(e);const i=this.startLoad(a).finally(()=>{this.pendingLoadPromises.delete(e)});return this.pendingLoadPromises.set(e,i),i}async resolvePdfPayload(e){const t=e.source;if(t){if(\"url\"in t)return{url:t.url};if(\"buffer\"in t)return{buffer:t.buffer};if(\"load\"in t)return t.load()}const a=this.config.chapterPdfLoader;if(a)return a.loadPdf(e);throw new Error(`Chapter \"${e.chapterId}\" has no PDF source; set descriptor.source or chapterPdfLoader`)}async startLoad(e){var t;this.updateStatus(e.chapterId,\"loading\"),this.chapterLastUsed.set(e.chapterId,Date.now());const a=e.encrypted&&(null==(t=this.passwordProvider)?void 0:t.getCachedPassword)?this.passwordProvider.getCachedPassword(e.chapterId):null,s=await this.resolvePdfPayload(e),i=this.documentManager.provides(),o=\"url\"in s?i.openDocumentUrl({documentId:e.chapterId,url:s.url,name:e.title,password:a??void 0,autoActivate:!1}):i.openDocumentBuffer({documentId:e.chapterId,buffer:s.buffer,name:e.title,password:a??void 0,autoActivate:!1});return await new Promise(e=>o.wait(()=>e(),()=>e())),this.waitForTerminalStatus(e.chapterId)}waitForTerminalStatus(e){return new Promise(t=>{const a=e=>{\"loaded\"!==e&&\"error\"!==e&&\"password-required\"!==e&&\"closed\"!==e||(s(),t(e))},s=this.statusChange$.on(t=>{t.chapterId===e&&a(t.status)});a(this.chapterStatus.get(e)??\"idle\")})}async handleDocumentError(t,a,s){if(a!==te.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(e.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(e){const t=this.documentManager.provides();if(t.isDocumentOpen(e)){t.closeDocument(e).wait(()=>this.updateStatus(e,\"closed\"),()=>this.updateStatus(e,\"closed\"))}else this.updateStatus(e,\"closed\")}updateStatus(e,t,a){this.chapterStatus.get(e)!==t&&(this.chapterStatus.set(e,t),this.statusChange$.emit({chapterId:e,status:t,...\"error\"===t&&a?{error:{message:a}}:{}}))}};sa.id=\"chapter-manager\";let ia=sa;const oa=class extends ${constructor(e,t){super(e,t),this.layoutChange$=L(),this.visibleChange$=L(),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(ia.id),this.documentManager=this.registry.getPlugin(D.id)}async initialize(e){this.config={placeholderPageHeight:e.placeholderPageHeight??1200,placeholderPageWidth:e.placeholderPageWidth??900,bufferSize:e.bufferSize??2,pageGap:e.pageGap??20},this.virtualPageMap=this.chapterManager.provides().getVirtualPageMap(),this.rebuildOffsets(),this.chapterManagerUnsubs.push(this.chapterManager.provides().onManifestChange(({map:e})=>{this.virtualPageMap=e,this.pageSizes.clear(),this.rebuildOffsets(),this.syncReadyChapterSizes(),this.recomputeVisible()})),this.syncReadyChapterSizes()}isChapterDocumentReady(e){const t=this.coreState.core.documents[e];return!(!t||\"loaded\"!==t.status||!t.document)&&t.document.pages.length>0}refreshLayout(){this.layoutChange$.emit(this.computeLayout())}syncReadyChapterSizes(){for(const e of this.chapterManager.provides().getManifest().chapters)this.isChapterDocumentReady(e.chapterId)&&this.harvestChapterSizes(e.chapterId);this.refreshLayout()}onDocumentLoaded(e){var t;if(0===((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0))return;const a=this.documentManager.provides();a.getActiveDocumentId()||a.setActiveDocument(e),this.harvestChapterSizes(e),this.refreshLayout()}onDocumentClosed(e){var t;0!==((null==(t=this.virtualPageMap)?void 0:t.pagesOfChapter(e).length)??0)&&(this.dropChapterSizes(e),this.refreshLayout())}buildCapability(){return{registerViewport:e=>this.bindViewport(e),reportChapterPageSizes:(e,t)=>this.applyChapterPageSizes(e,t),getLayout:()=>this.computeLayout(),getCurrentGlobalPageIndex:()=>this.currentGlobalPageIndex,getVisibleGlobalPageIndices:()=>this.currentVisible.slice(),scrollToGlobalPageIndex:(e,t)=>this.scrollToIndex(e,t),scrollToChapter:(e,t)=>this.scrollToChapter(e,t),scrollToGlobalPageNumber:(e,t)=>this.scrollToGlobalNumber(e,t),scrollToGlobalPdfPoint:(e,t,a)=>this.scrollToGlobalPdfPoint(e,t,a),onLayoutChange:this.layoutChange$.on,onVisibleChange:this.visibleChange$.on}}destroy(){var e;super.destroy();for(const t of this.chapterManagerUnsubs)t();this.chapterManagerUnsubs=[],null==(e=this.viewportObservers)||e.unbind(),this.viewportObservers=null,this.viewportEl=null,this.layoutChange$.clear(),this.visibleChange$.clear()}getPageSize(e){return this.pageSizes.get(e)??{width:this.config.placeholderPageWidth,height:this.config.placeholderPageHeight}}rebuildOffsets(){if(!this.virtualPageMap)return this.offsets=[],this.totalHeight=0,void(this.totalWidth=0);const e=this.virtualPageMap.totalPages;this.offsets=new Array(e);let t=0,a=0;for(let s=0;s<e;s++){const{width:e,height:i}=this.getPageSize(s);this.offsets[s]=t,t+=i+this.config.pageGap,e>a&&(a=e)}this.totalHeight=e>0?t-this.config.pageGap:0,this.totalWidth=a,this.layoutChange$.emit(this.computeLayout())}applyChapterPageSizes(e,t){if(!this.virtualPageMap)return;let a=!1;for(const s of t){const t=this.virtualPageMap.toGlobal(e,s.localPageIndex);if(!t)continue;const i=this.pageSizes.get(t.globalPageIndex);i&&i.width===s.width&&i.height===s.height||(this.pageSizes.set(t.globalPageIndex,{width:s.width,height:s.height}),a=!0)}if(a){const e=this.currentGlobalPageIndex,t=this.offsets[e]??0;if(this.rebuildOffsets(),this.viewportEl){const a=(this.offsets[e]??0)-t;0!==a&&(this.viewportEl.scrollTop+=a)}this.recomputeVisible()}}getChapterDocumentScale(e){var t;return(null==(t=this.coreState.core.documents[e])?void 0:t.scale)??1}harvestChapterSizes(e,t=0){var a;if(!this.virtualPageMap)return;const s=this.documentManager.provides().getDocument(e),i=this.virtualPageMap.pagesOfChapter(e);if(!(null==(a=null==s?void 0:s.pages)?void 0:a.length)||0===i.length)return void(t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1)));const o=this.getChapterDocumentScale(e),r=[];for(const n of i){const e=s.pages[n.localPageIndex];(null==e?void 0:e.size)&&r.push({localPageIndex:n.localPageIndex,width:e.size.width*o,height:e.size.height*o})}0!==r.length?this.applyChapterPageSizes(e,r):t<60&&requestAnimationFrame(()=>this.harvestChapterSizes(e,t+1))}onScaleChanged(e){const t=this.coreState.core.documents[e];t&&\"loaded\"===t.status&&this.chapterManager.provides().getChapter(e)&&this.harvestChapterSizes(e)}dropChapterSizes(e){if(!this.virtualPageMap)return;let t=!1;for(const a of this.virtualPageMap.pagesOfChapter(e))this.pageSizes.delete(a.globalPageIndex)&&(t=!0);t&&(this.rebuildOffsets(),this.recomputeVisible())}bindViewport(e){var t;if(null==(t=this.viewportObservers)||t.unbind(),this.viewportEl=e,this.viewportObservers=null,!e)return;const a=()=>this.recomputeVisible(),s=new ResizeObserver(()=>this.recomputeVisible());e.addEventListener(\"scroll\",a,{passive:!0}),s.observe(e),this.viewportObservers={unbind:()=>{e.removeEventListener(\"scroll\",a),s.disconnect()}},this.syncReadyChapterSizes(),this.recomputeVisible(),0===e.clientHeight&&requestAnimationFrame(()=>{requestAnimationFrame(()=>this.recomputeVisible())})}recomputeVisible(){if(!this.viewportEl||!this.virtualPageMap)return;const e=this.virtualPageMap.totalPages;if(0===e)return this.currentVisible=[],this.currentGlobalPageIndex=0,void this.layoutChange$.emit(this.computeLayout());const t=this.viewportEl.scrollTop,a=t+this.viewportEl.clientHeight,s=this.findFirstVisibleIndex(t);let i=s;for(;i<e;){const e=this.getPageSize(i),t=this.offsets[i];if(e.height,t>=a)break;i++}const o=[];let r=s,n=-1;for(let l=s;l<i;l++){o.push(l);const e=this.offsets[l],s=e+this.getPageSize(l).height,i=Math.max(0,Math.min(s,a)-Math.max(e,t));i>n&&(n=i,r=l)}this.currentVisible=o,this.currentGlobalPageIndex=r,this.visibleChange$.emit({visibleGlobalPageIndices:o,currentGlobalPageIndex:r}),this.chapterManager.provides().setVisibleGlobalPages(o),this.layoutChange$.emit(this.computeLayout())}findFirstVisibleIndex(e){let t=0,a=this.offsets.length-1,s=0;for(;t<=a;){const i=t+a>>1;this.offsets[i]<=e?(s=i,t=i+1):a=i-1}return s}computeLayout(){const e=this.config.bufferSize,t=Math.max(0,(this.currentVisible[0]??0)-e),a=this.currentVisible[this.currentVisible.length-1]??-1,s=Math.min(this.offsets.length-1,(a>=0?a:0)+e),i=[];if(this.virtualPageMap&&this.offsets.length>0)for(let o=t;o<=s;o++){const e=this.virtualPageMap.atIndex(o);if(!e)continue;const t=this.getPageSize(o),a=!this.isChapterDocumentReady(e.chapterId);i.push({globalPageIndex:o,globalPageNumber:e.globalPageNumber,chapterId:e.chapterId,localPageIndex:e.localPageIndex,width:t.width,height:t.height,offsetTop:this.offsets[o],isPlaceholder:a})}return{totalHeight:this.totalHeight,totalWidth:this.totalWidth||this.config.placeholderPageWidth,items:i,pageGap:this.config.pageGap}}scrollToIndex(e,t){if(!this.viewportEl||e<0||e>=this.offsets.length)return;const a=(this.offsets[e]??0)-((null==t?void 0:t.topOffset)??0);this.viewportEl.scrollTo({top:a,behavior:(null==t?void 0:t.behavior)??\"auto\"})}scrollToGlobalPdfPoint(e,t,a){var s;if(!this.viewportEl||e<0||e>=this.offsets.length||!this.virtualPageMap)return;const i=(null==a?void 0:a.marginTop)??80,o=this.virtualPageMap.atIndex(e);if(!o)return void this.scrollToIndex(e,a);const r=this.pageSizes.get(e),n=null==(s=this.documentManager.provides().getDocument(o.chapterId))?void 0:s.pages[o.localPageIndex];if(!r||!n)return void this.scrollToIndex(e,a);const l=r.height/n.size.height,h=(this.offsets[e]??0)+t*l-i;this.viewportEl.scrollTo({top:Math.max(0,h),behavior:(null==a?void 0:a.behavior)??\"auto\"})}scrollToChapter(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.firstIndexOfChapter(e);a<0||(this.chapterManager.provides().ensureChapterLoaded(e),this.scrollToIndex(a,t))}scrollToGlobalNumber(e,t){if(!this.virtualPageMap)return;const a=this.virtualPageMap.byGlobalNumber(e);a&&this.scrollToIndex(a.globalPageIndex,t)}};oa.id=\"chapter-scroll\";let ra=oa;const na=class e extends ${constructor(e,t){super(e,t),this.notesChange$=L([]),this.noteActivated$=z(),this.notes=/* @__PURE__ */new Map,this.chapterScroll=this.registry.getPlugin(ra.id),this.chapterManager=this.registry.getPlugin(Qt.id),this.documentManager=this.registry.getPlugin(D.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(a){this.logger.error(e.id,\"LoadNotes\",\"Failed to load notes\",a)}}buildCapability(){return{createNoteFromSelection:e=>this.createNoteFromSelection(e),requestCreateFromSelection:e=>this.requestCreateFromSelection(e),registerNote:e=>this.registerNote(e),listNotesForPage:(e,t)=>this.listAll().filter(a=>a.chapterId===e&&a.localPageIndex===t),listAllNotes:()=>this.listAll(),getNote:e=>this.notes.get(e)??null,deleteNote:e=>this.deleteNote(e),updateNoteContent:(e,t)=>this.updateNoteContent(e,t),scrollToNote:e=>this.scrollToNote(e),onNotesChange:this.notesChange$.on,onNoteActivated:this.noteActivated$.on}}registerNote(e){this.notes.set(e.noteId,e),this.notesChange$.emit(this.listAll())}requestEdit(e){const t=this.notes.get(e);t&&(this.config.callbacks.onRequestEditNote?this.config.callbacks.onRequestEditNote(e,t):this.activateNote(e))}activateNote(e){var t,a;const s=this.notes.get(e);s&&(null==(a=(t=this.config.callbacks).onActivateNote)||a.call(t,e,s),this.noteActivated$.emit({noteId:e,anchor:s}))}listAll(){return Array.from(this.notes.values())}buildDraft(e){return{chapterId:e.chapterId,localPageIndex:e.localPageIndex,globalPageNumber:e.globalPageNumber,globalPageIndex:e.globalPageIndex,rectsPdfCoord:e.rectsPdfCoord,endAnchor:ha(e.rectsPdfCoord),selectedText:e.selectedText,content:e.content}}async requestCreateFromSelection(e){if(0===e.rectsPdfCoord.length)return null;const t=this.buildDraft(e),{onRequestCreateNote:a,onCreateNote:s}=this.config.callbacks;return a?(a({draft:t,complete:async e=>{const a={...t,noteId:e};this.registerNote(a)}}),null):this.createNoteFromSelection(e)}async createNoteFromSelection(t){if(0===t.rectsPdfCoord.length)return null;const a=this.buildDraft(t),s=this.config.callbacks.onCreateNote;if(!s)return this.logger.error(e.id,\"CreateNote\",\"Missing onCreateNote / onRequestCreateNote\"),null;let i=null;try{i=await s(a)}catch(r){return this.logger.error(e.id,\"OnCreateNote\",\"Callback failed\",r),null}if(!i)return null;const o={...a,noteId:i.noteId};return this.registerNote(o),o}async deleteNote(t){var a,s;if(this.notes.has(t)){try{await(null==(s=(a=this.config.callbacks).onDeleteNote)?void 0:s.call(a,t))}catch(i){return void this.logger.error(e.id,\"OnDeleteNote\",\"Callback failed\",i)}this.notes.delete(t),this.notesChange$.emit(this.listAll())}}async updateNoteContent(t,a){var s,i;const o=this.notes.get(t);if(!o)return;const r={...o,content:a};try{await(null==(i=(s=this.config.callbacks).onUpdateNote)?void 0:i.call(s,r))}catch(n){return void this.logger.error(e.id,\"OnUpdateNote\",\"Callback failed\",n)}this.notes.set(t,r),this.notesChange$.emit(this.listAll())}async scrollToNote(e){var t;const a=this.notes.get(e);if(!a)return;const s=this.chapterScroll.provides();await this.chapterManager.provides().ensureChapterLoaded(a.chapterId);(null==(t=this.documentManager.provides().getDocument(a.chapterId))?void 0:t.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(e){const t=this.chapterScroll.provides(),a=t.getLayout().items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);return a?Promise.resolve(a):new Promise(a=>{const s=setTimeout(()=>{i(),a(null)},2500),i=t.onLayoutChange(t=>{const o=t.items.find(t=>t.globalPageIndex===e&&!t.isPlaceholder);o&&(clearTimeout(s),i(),a(o))})})}};na.id=\"note\";let la=na;function ha(e){const t=e[e.length-1];return{x:t.origin.x+t.size.width,y:t.origin.y+t.size.height}}function da(e){const{markerPdf:t,lineRects:a,sx:s,sy:i,cssPageWidth:o,iconSize:r,gapPx:n=6}=e,l=a?.length?a[a.length-1]:void 0;let h,d;l?(h=(l.origin.x+l.size.width)*s+n,d=l.origin.y*i+(l.size.height*i-r)/2):(h=t.x*s-r/2,d=t.y*i-r-n);const c=Math.max(0,o-r-2);return h>c&&(h=c),d<0&&(d=0),{left:h,top:d}}const ca={key:0,style:{position:\"absolute\",inset:\"0\",pointerEvents:\"none\",zIndex:25}},ua=[\"onMouseenter\"],pa=[\"data-note-marker-zone\",\"onMouseenter\",\"onMouseleave\"],ga=[\"onClick\"],fa=[\"onClick\"],ma=[\"onClick\"],va=/* @__PURE__ */e({__name:\"NoteMarkerLayer\",props:{chapterId:{},localPageIndex:{},pdfPageWidth:{},pdfPageHeight:{},cssPageWidth:{},cssPageHeight:{},ui:{}},setup(e){const a=e,{provides:l}=C(la.id),u=t([]),p=t(null),b=t(null);i(l,e=>{if(e)return e.onNotesChange(e=>{u.value=e.filter(e=>e.chapterId===a.chapterId&&e.localPageIndex===a.localPageIndex)})},{immediate:!0});let P=null;i(b,e=>{P&&(document.removeEventListener(\"mousedown\",P),P=null),e&&(P=t=>{const a=t.target;a.closest?.(`[data-note-marker-zone=\"${e}\"]`)||(b.value=null,p.value=null)},document.addEventListener(\"mousedown\",P))}),s(()=>{P&&document.removeEventListener(\"mousedown\",P)});const w=f(()=>a.ui?.iconSize??16),y=f(()=>a.ui?.highlightColor??\"rgba(245, 158, 11, 0.08)\");function I(e){const t=a.cssPageWidth/a.pdfPageWidth,s=a.cssPageHeight/a.pdfPageHeight,i=w.value,{left:o,top:r}=da({markerPdf:e.endAnchor,lineRects:e.rectsPdfCoord,sx:t,sy:s,cssPageWidth:a.cssPageWidth,iconSize:i}),n=function(e,t,a){let s=1/0,i=1/0,o=-1/0,r=-1/0;for(const n of e)s=Math.min(s,n.origin.x*t),i=Math.min(i,n.origin.y*a),o=Math.max(o,(n.origin.x+n.size.width)*t),r=Math.max(r,(n.origin.y+n.size.height)*a);return{left:s,top:i,width:o-s,height:r-i}}(e.rectsPdfCoord,t,s),l=b.value===e.noteId?72:0,h=Math.max(0,Math.min(n.left,o)-8),d=Math.max(0,Math.min(n.top,r)-8);return{zoneLeft:h,zoneTop:d,zoneW:Math.min(a.cssPageWidth,Math.max(n.left+n.width,o+i)+8)-h,zoneH:Math.max(n.top+n.height,r+i+6+l)+8-d,iconLeft:o,iconTop:r,sx:t,sy:s}}return(t,a)=>g(l)&&u.value.length&&e.pdfPageWidth&&e.pdfPageHeight?(o(),r(\"div\",ca,[(o(!0),r(d,null,c(u.value,e=>(o(),r(d,{key:e.noteId},[(o(!0),r(d,null,c(e.rectsPdfCoord,(t,a)=>(o(),r(\"div\",{key:`${e.noteId}-bg-${a}`,style:n({position:\"absolute\",left:t.origin.x*I(e).sx+\"px\",top:t.origin.y*I(e).sy+\"px\",width:t.size.width*I(e).sx+\"px\",height:t.size.height*I(e).sy+\"px\",background:y.value,borderRadius:\"2px\",pointerEvents:\"auto\"}),onMouseenter:t=>p.value=e.noteId},null,44,ua))),128)),p.value===e.noteId||b.value===e.noteId?(o(),r(\"div\",{key:0,\"data-note-marker-zone\":e.noteId,style:n({position:\"absolute\",left:`${I(e).zoneLeft}px`,top:`${I(e).zoneTop}px`,width:`${I(e).zoneW}px`,height:`${I(e).zoneH}px`,pointerEvents:\"auto\",zIndex:26}),onMouseenter:t=>p.value=e.noteId,onMouseleave:t=>b.value!==e.noteId&&(p.value=null)},[h(\"button\",{type:\"button\",title:\"笔记\",style:n({position:\"absolute\",left:I(e).iconLeft-I(e).zoneLeft+\"px\",top:I(e).iconTop-I(e).zoneTop+\"px\",width:`${w.value}px`,height:`${w.value}px`,border:\"none\",borderRadius:\"50%\",background:\"#f59e0b\",color:\"#fff\",cursor:\"pointer\",fontSize:\"11px\",padding:0}),onMousedown:a[0]||(a[0]=m(()=>{},[\"stop\"])),onClick:m(t=>b.value=b.value===e.noteId?null:e.noteId,[\"stop\"])},\" 💬 \",44,ga),b.value===e.noteId?(o(),r(\"div\",{key:0,style:n({position:\"absolute\",left:I(e).iconLeft-I(e).zoneLeft+\"px\",top:`${I(e).iconTop-I(e).zoneTop+w.value+4}px`,minWidth:\"120px\",padding:\"6px\",borderRadius:\"8px\",background:\"#fff\",border:\"1px solid #e5e7eb\",boxShadow:\"0 4px 12px rgba(0,0,0,0.12)\",zIndex:30}),onMousedown:a[1]||(a[1]=m(()=>{},[\"stop\"]))},[h(\"button\",{type:\"button\",style:{display:\"block\",width:\"100%\",padding:\"6px 8px\",\"font-size\":\"12px\",border:\"none\",\"border-radius\":\"4px\",background:\"transparent\",color:\"#334155\",cursor:\"pointer\",\"text-align\":\"left\"},onClick:t=>function(e){l.value?.requestEditNote(e.noteId,e)}(e)},\" 编辑 \",8,fa),h(\"button\",{type:\"button\",style:{display:\"block\",width:\"100%\",padding:\"6px 8px\",\"font-size\":\"12px\",border:\"none\",\"border-radius\":\"4px\",background:\"transparent\",color:\"#dc2626\",cursor:\"pointer\",\"text-align\":\"left\"},onClick:t=>{return a=e.noteId,l.value?.requestDeleteNote(a),void(b.value=null);var a}},\" 删除 \",8,ma)],36)):v(\"\",!0)],44,pa)):v(\"\",!0)],64))),128))])):v(\"\",!0)}}),ba={key:0,style:{position:\"absolute\",inset:\"0\",pointerEvents:\"none\"}},Pa=[\"title\",\"onClick\"],wa=[\"onClick\"],ya=/* @__PURE__ */e({__name:\"BookmarkMarkerLayer\",props:{chapterId:{},localPageIndex:{},pdfPageWidth:{},pdfPageHeight:{},cssPageWidth:{},cssPageHeight:{},ui:{}},setup(e){const a=e,{provides:l}=C(It.id),u=t([]),p=t(null),b=t(null);function P(){const e=l.value;e&&(u.value=e.listBookmarks().filter(e=>e.anchor.chapterId===a.chapterId&&e.anchor.localPageIndex===a.localPageIndex))}i(l,e=>{if(e)return P(),e.onBookmarksChange(P)},{immediate:!0});let w=null;i(p,e=>{w&&(document.removeEventListener(\"mousedown\",w),w=null),e&&(w=e=>{b.value?.contains(e.target)||(p.value=null)},document.addEventListener(\"mousedown\",w))}),s(()=>{w&&document.removeEventListener(\"mousedown\",w)});const y=f(()=>a.ui?.iconSize??16);function I(e){const{left:t,top:s}=function(e){const t=a.cssPageWidth/a.pdfPageWidth,s=a.cssPageHeight/a.pdfPageHeight,i=e.anchor.rectsPdfCoord?.length?e.anchor.rectsPdfCoord:[e.anchor.rectPdfCoord];return da({markerPdf:e.anchor.markerAnchor??{x:e.anchor.rectPdfCoord.origin.x+e.anchor.rectPdfCoord.size.width,y:e.anchor.rectPdfCoord.origin.y+e.anchor.rectPdfCoord.size.height},lineRects:i,sx:t,sy:s,cssPageWidth:a.cssPageWidth,iconSize:y.value})}(e);return{position:\"absolute\",left:`${Math.max(0,t-6)}px`,top:`${Math.max(0,s-6)}px`,width:`${y.value+12}px`,height:`${y.value+12}px`,pointerEvents:\"auto\",zIndex:20}}return(t,a)=>g(l)&&u.value.length&&e.pdfPageWidth&&e.pdfPageHeight?(o(),r(\"div\",ba,[(o(!0),r(d,null,c(u.value,e=>(o(),r(\"div\",{key:e.id,style:n(I(e)),onMousedown:a[1]||(a[1]=m(()=>{},[\"stop\"]))},[h(\"button\",{type:\"button\",title:e.label,style:n({position:\"absolute\",left:\"6px\",top:\"6px\",width:`${y.value}px`,height:`${y.value}px`,border:\"none\",borderRadius:\"4px\",background:\"#3b82f6\",color:\"#fff\",cursor:\"pointer\",boxShadow:\"0 2px 6px rgba(37, 99, 235, 0.35)\",fontSize:\"11px\",padding:0}),onClick:m(t=>p.value=p.value===e.id?null:e.id,[\"stop\"])},\" 🔖 \",12,Pa),p.value===e.id?(o(),r(\"div\",{key:0,ref_for:!0,ref_key:\"deleteMenuRef\",ref:b,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:a[0]||(a[0]=m(()=>{},[\"stop\"]))},[h(\"button\",{type:\"button\",style:{width:\"100%\",padding:\"6px 8px\",\"font-size\":\"12px\",border:\"none\",\"border-radius\":\"4px\",background:\"transparent\",color:\"#dc2626\",cursor:\"pointer\",\"text-align\":\"left\"},onClick:t=>async function(e){const t=l.value;if(!t)return;await t.requestRemoveBookmark(e)&&(p.value=null)}(e.id)},\" 删除书签 \",8,wa)],512)):v(\"\",!0)],36))),128))])):v(\"\",!0)}});function Ia(e){return e.chapterId}function Ca(e,t){e.wait(t,()=>{})}const Ma=/* @__PURE__ */e({__name:\"ChapterPageSurface\",props:{item:{},features:{},showNoteMarkers:{type:Boolean},showBookmarkMarkers:{type:Boolean},showRedactionLayer:{type:Boolean},noteMarkerUi:{},bookmarkMarkerUi:{},buildSelectionMenu:{type:Function},createNote:{},annotationSelectionMenu:{},redactionSelectionMenu:{},renderPageOverlay:{type:Function}},setup(e){const t=e,a=f(()=>Ia(t.item));!function(e){const{provides:t}=C(D.id);i([t,e],([e,t])=>{e&&t&&e.isDocumentOpen(t)&&e.setActiveDocument(t)},{immediate:!0})}(a);const{provides:s}=C(D.id),{provides:r}=C(_.id),n=f(()=>s.value?.getDocument(a.value)?.pages[t.item.localPageIndex]);function l(e,a){const s=t.createNote.value;if(s)return t=>{const i={position:\"absolute\",pointerEvents:\"auto\",left:\"50%\",transform:\"translateX(-50%)\",top:t.placement?.suggestTop?-40:t.rect.size.height+8};return y(\"div\",t.menuWrapperProps,[y(\"div\",{style:i},y(\"button\",{type:\"button\",style:{padding:\"6px 10px\",fontSize:\"12px\",border:\"1px solid #e2e8f0\",borderRadius:\"6px\",background:\"#fff\",cursor:\"pointer\"},onClick:()=>{if(!r.value)return;const t=r.value.getHighlightRectsForPage(e.localPageIndex,a);Ca(r.value.getSelectedText(a),a=>{s(function(e,t,a){return{chapterId:e.chapterId,localPageIndex:e.localPageIndex,globalPageIndex:e.globalPageIndex,globalPageNumber:e.globalPageNumber,rectsPdfCoord:t,selectedText:a}}(e,t,a.join(\"\\n\")))})}},\"添加附注\"))])}}const h=f(()=>{const e=t.buildSelectionMenu,s={item:t.item,defaultMenu:l(t.item,a.value),createNote:t.createNote.value};if(e){const t=e(s);if(t)return t}return s.defaultMenu}),d=f(()=>t.renderPageOverlay?.(t.item));return(t,s)=>e.item.isPlaceholder?v(\"\",!0):(o(),p(g(oe),{key:0,\"document-id\":a.value},{default:b(()=>[P(g(ne),{\"document-id\":a.value,\"page-index\":e.item.localPageIndex,style:{backgroundColor:\"#fff\"}},{default:b(()=>[P(g(re),{\"document-id\":a.value,\"page-index\":e.item.localPageIndex},{default:b(()=>[P(g(Bt),{\"chapter-id\":a.value,\"local-page-index\":e.item.localPageIndex},null,8,[\"chapter-id\",\"local-page-index\"]),P(g(le),{\"document-id\":a.value,\"page-index\":e.item.localPageIndex,\"selection-menu\":h.value},null,8,[\"document-id\",\"page-index\",\"selection-menu\"]),e.showRedactionLayer?(o(),p(g(de),{key:0,\"document-id\":a.value,\"page-index\":e.item.localPageIndex,\"selection-menu\":e.redactionSelectionMenu},null,8,[\"document-id\",\"page-index\",\"selection-menu\"])):v(\"\",!0),P(g(he),{\"document-id\":a.value,\"page-index\":e.item.localPageIndex,\"selection-menu\":e.annotationSelectionMenu},null,8,[\"document-id\",\"page-index\",\"selection-menu\"]),e.showBookmarkMarkers&&n.value?(o(),p(ya,{key:1,\"chapter-id\":a.value,\"local-page-index\":e.item.localPageIndex,\"pdf-page-width\":n.value.size.width,\"pdf-page-height\":n.value.size.height,\"css-page-width\":e.item.width,\"css-page-height\":e.item.height,ui:e.bookmarkMarkerUi},null,8,[\"chapter-id\",\"local-page-index\",\"pdf-page-width\",\"pdf-page-height\",\"css-page-width\",\"css-page-height\",\"ui\"])):v(\"\",!0),d.value?(o(),p(w(d.value),{key:2})):v(\"\",!0),e.showNoteMarkers&&n.value?(o(),p(va,{key:3,\"chapter-id\":a.value,\"local-page-index\":e.item.localPageIndex,\"pdf-page-width\":n.value.size.width,\"pdf-page-height\":n.value.size.height,\"css-page-width\":e.item.width,\"css-page-height\":e.item.height,ui:e.noteMarkerUi},null,8,[\"chapter-id\",\"local-page-index\",\"pdf-page-width\",\"pdf-page-height\",\"css-page-width\",\"css-page-height\",\"ui\"])):v(\"\",!0),u(t.$slots,\"default\")]),_:3},8,[\"document-id\",\"page-index\"])]),_:3},8,[\"document-id\",\"page-index\"])]),_:3},8,[\"document-id\"]))}});const Sa=/* @__PURE__ */e({__name:\"HoverBookmarkLayer\",props:{item:{},pdfPageWidth:{},pdfPageHeight:{},cssPageWidth:{},cssPageHeight:{},hoverUi:{}},setup(e){const a=e,l=f(()=>Ia(a.item)),{provides:d}=C(_.id),{provides:c}=C(It.id),u=t(null),p=t(null),b=t(null),P=t(null),w=f(()=>a.hoverUi?.iconSize??16),y=f(()=>P.value??b.value);let I=null,M=0;function S(){const e=d.value;if(!e)return;const t=e.forDocument(l.value).getState().geometry[a.item.localPageIndex];t&&(p.value=t)}i([d,l,()=>a.item.localPageIndex],([e])=>{if(I?.(),I=null,cancelAnimationFrame(M),p.value=null,!e)return;const t=e.forDocument(l.value);I=t.onSelectionChange(S);let s=!1;const i=()=>{if(!s){try{if(S(),t.getState().geometry[a.item.localPageIndex])return}catch{}M=requestAnimationFrame(i)}};return i(),()=>{s=!0,cancelAnimationFrame(M),I?.(),I=null}},{immediate:!0});let x=null;i([p,()=>a.pdfPageWidth,P,d],()=>{x&&(document.removeEventListener(\"mousemove\",x),x=null),p.value&&a.pdfPageWidth&&(x=e=>{if(P.value)return;const t=d.value;if(t)try{if(t.forDocument(l.value).getState().selecting)return void(b.value=null)}catch{}const s=u.value;if(!s)return;const i=s.getBoundingClientRect();if(e.clientX<i.left||e.clientX>i.right||e.clientY<i.top||e.clientY>i.bottom)return void(b.value=null);const o=function(e,t){const a=R(e,t);if(a<0)return null;const s=E(e,a);if(!s)return null;const i=U(e,s.from,s.to);return 0===i.length?null:{lineRects:i,charFrom:s.from,charTo:s.to}}(p.value,{x:(e.clientX-i.left)/(a.cssPageWidth/a.pdfPageWidth),y:(e.clientY-i.top)/(a.cssPageHeight/a.pdfPageHeight)});b.value=o?.lineRects??null},document.addEventListener(\"mousemove\",x))},{immediate:!0}),s(()=>{x&&document.removeEventListener(\"mousemove\",x),cancelAnimationFrame(M),I?.()});const k=f(()=>{const e=y.value;return e?.length?Pt(a.item.chapterId,a.item.localPageIndex,e,{globalPageIndex:a.item.globalPageIndex,globalPageNumber:a.item.globalPageNumber}):null}),$=f(()=>{const e=k.value,t=c.value;return!(!e||!t)&&t.listBookmarks().some(t=>bt(t.anchor,e))});function L(){const e=c.value,t=k.value;e&&t&&!$.value&&(e.addBookmark({label:`书签 ${/* @__PURE__ */(new Date).toLocaleTimeString(\"zh-CN\",{hour:\"2-digit\",minute:\"2-digit\"})}`,anchor:t}),b.value=null,P.value=null)}const z=f(()=>{const e=y.value,t=e?.[e.length-1];if(!t||!a.pdfPageWidth)return null;const s=a.cssPageWidth/a.pdfPageWidth,i=a.cssPageHeight/a.pdfPageHeight,o=w.value;return{iconLeft:Math.min((t.origin.x+t.size.width)*s+6,Math.max(0,a.cssPageWidth-o-2)),iconTop:t.origin.y*i+(t.size.height*i-o)/2,zoneLeft:Math.max(0,(t.origin.x+t.size.width)*s-4),zoneTop:Math.max(0,t.origin.y*i-4),size:o}});return(t,a)=>g(c)&&e.pdfPageWidth&&e.pdfPageHeight?(o(),r(\"div\",{key:0,ref_key:\"rootRef\",ref:u,style:{position:\"absolute\",inset:\"0\",zIndex:14,pointerEvents:\"none\"}},[z.value&&y.value&&!$.value?(o(),r(\"div\",{key:0,style:n({position:\"absolute\",left:`${z.value.zoneLeft}px`,top:`${z.value.zoneTop}px`,width:`${z.value.size+20}px`,height:`${(y.value[y.value.length-1]?.size.height??0)*(e.cssPageHeight/e.pdfPageHeight)+z.value.size+12}px`,pointerEvents:\"auto\"}),onMouseenter:a[0]||(a[0]=e=>P.value=y.value),onMouseleave:a[1]||(a[1]=e=>P.value=null)},[h(\"button\",{type:\"button\",title:\"添加书签\",style:n({position:\"absolute\",left:z.value.iconLeft-z.value.zoneLeft+\"px\",top:z.value.iconTop-z.value.zoneTop+\"px\",width:`${z.value.size}px`,height:`${z.value.size}px`,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"#3b82f6\",color:\"#fff\",border:\"none\",borderRadius:\"4px\",boxShadow:\"0 2px 8px rgba(37, 99, 235, 0.45)\",fontSize:\"12px\",padding:0}),onClick:m(L,[\"stop\"])},\" 🔖 \",4)],36)):v(\"\",!0)],512)):v(\"\",!0)}}),xa={highlight:{offsetY:0},underline:{offsetY:2.5},squiggly:{offsetY:0},strikeout:{offsetY:0}},ka={highlight:ae.HIGHLIGHT,underline:ae.UNDERLINE,squiggly:ae.SQUIGGLY,strikeout:ae.STRIKEOUT};function $a(e,t){return 0===t?e:e.map(e=>({origin:{x:e.origin.x,y:e.origin.y+t},size:{...e.size}}))}function La(e){let t=1/0,a=1/0,s=-1/0,i=-1/0;for(const o of e)t=Math.min(t,o.origin.x),a=Math.min(a,o.origin.y),s=Math.max(s,o.origin.x+o.size.width),i=Math.max(i,o.origin.y+o.size.height);return{origin:{x:t,y:a},size:{width:s-t,height:i-a}}}function za(e,t,a,s,i){const o=a.forDocument(e),r=s.forDocument(e);if(!o||!r)return!1;const n=\"highlight\"===t?\"highlight\":\"underline\"===t?\"underline\":\"squiggly\"===t?\"squiggly\":\"strikeout\",l=a.getTool(n);if(!l)return!1;const h=l.defaults,d=function(e,t){return{...xa[e],...null==t?void 0:t[e]}}(t,i),c=r.getFormattedSelection();if(0===c.length)return!1;o.setLocked({type:q.Exclude,categories:[\"markup\",\"shape\"]});for(const u of c){const e=se(),a=d.color??h.color??h.strokeColor,s=d.opacity??h.opacity,i=d.thickness??h.strokeWidth,r=d.offsetY??0,n=\"underline\"===t||\"squiggly\"===t||\"strikeout\"===t?$a(u.segmentRects,r):u.segmentRects,l=\"underline\"===t||\"squiggly\"===t||\"strikeout\"===t?La(n):u.rect;o.createAnnotation(u.pageIndex,{id:e,created:/* @__PURE__ */new Date,flags:[\"print\"],type:ka[t],...\"highlight\"===t?{blendMode:ie.Multiply}:{},strokeColor:a,opacity:s,...null!=i?{strokeWidth:i}:{},pageIndex:u.pageIndex,rect:l,segmentRects:n})}return r.clear(),!0}const Ta={key:0,width:\"24\",height:\"24\",viewBox:\"0 0 28 28\",fill:\"none\",\"aria-hidden\":\"\"},Da={key:0,x:\"5\",y:\"4\",width:\"18\",height:\"20\",rx:\"3\",fill:\"#fde047\"},Ga={key:1,d:\"M6 22h16\",stroke:\"#dc2626\",\"stroke-width\":\"2.2\",\"stroke-linecap\":\"round\"},Oa={key:2,d:\"M6 22c2-2 3-2 5 0s3 2 5 0 3-2 5 0\",stroke:\"#dc2626\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",fill:\"none\"},Aa={key:3,d:\"M5 14h18\",stroke:\"#dc2626\",\"stroke-width\":\"2.2\",\"stroke-linecap\":\"round\"},Na={key:1,width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"\"},Va=/* @__PURE__ */e({__name:\"SelectionToolbarIcons\",props:{kind:{}},setup:e=>(t,a)=>\"note\"!==e.kind?(o(),r(\"svg\",Ta,[\"highlight\"===e.kind?(o(),r(\"rect\",Da)):v(\"\",!0),a[0]||(a[0]=h(\"text\",{x:\"14\",y:\"19\",\"text-anchor\":\"middle\",\"font-size\":\"15\",\"font-weight\":\"700\",\"font-family\":\"system-ui, -apple-system, sans-serif\",fill:\"#0f172a\"},\" A \",-1)),\"underline\"===e.kind?(o(),r(\"path\",Ga)):\"squiggly\"===e.kind?(o(),r(\"path\",Oa)):\"strikeout\"===e.kind?(o(),r(\"path\",Aa)):v(\"\",!0)])):(o(),r(\"svg\",Na,[...a[1]||(a[1]=[h(\"path\",{d:\"M8 3h8l4 4v14H8V3z\",fill:\"#fef3c7\",stroke:\"#d97706\",\"stroke-width\":\"1.2\",\"stroke-linejoin\":\"round\"},null,-1),h(\"path\",{d:\"M16 3v4h4\",stroke:\"#d97706\",\"stroke-width\":\"1.2\"},null,-1),h(\"path\",{d:\"M10 12h6M10 16h4\",stroke:\"#92400e\",\"stroke-width\":\"1.2\",\"stroke-linecap\":\"round\"},null,-1)])]))}),_a=[\"title\",\"aria-label\",\"onMouseenter\",\"onClick\"],Ra=[\"title\",\"onMouseenter\",\"onClick\"],Ea={style:{\"font-size\":\"11px\",\"font-weight\":\"600\"}},Ua=/* @__PURE__ */e({__name:\"SelectionToolbarCard\",props:{placementAbove:{type:Boolean},anchorHeight:{},hiddenBuiltinActions:{},extraActions:{}},emits:[\"action\"],setup(e,{emit:a}){const s=e,i=a,l=[{id:\"highlight\",label:\"高亮背景\"},{id:\"underline\",label:\"下划线\"},{id:\"squiggly\",label:\"波浪线\"},{id:\"strikeout\",label:\"删除线\"},{id:\"note\",label:\"添加笔记\"}],u=f(()=>new Set(s.hiddenBuiltinActions??[])),p=f(()=>l.filter(e=>\"note\"!==e.id&&!u.value.has(e.id))),g=f(()=>!u.value.has(\"note\")),m=f(()=>[...s.extraActions??[]].sort((e,t)=>(e.order??0)-(t.order??0))),b=t(null),w=f(()=>({position:\"absolute\",pointerEvents:\"auto\",left:\"50%\",transform:\"translateX(-50%)\",top:s.placementAbove?void 0:`${s.anchorHeight+10}px`,bottom:s.placementAbove?`${s.anchorHeight+10}px`:void 0,display:\"flex\",alignItems:\"center\",gap:\"2px\",padding:\"4px 6px\",borderRadius:\"12px\",background:\"rgba(255, 255, 255, 0.96)\",border:\"1px solid rgba(15, 23, 42, 0.06)\",boxShadow:\"0 2px 8px rgba(15, 23, 42, 0.08), 0 12px 32px rgba(15, 23, 42, 0.1)\",backdropFilter:\"blur(10px)\",WebkitBackdropFilter:\"blur(10px)\"}));function y(e,t=!1){return{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"32px\",height:\"32px\",padding:0,margin:0,border:\"none\",borderRadius:\"8px\",background:b.value===e?t?\"#fffbeb\":\"#f1f5f9\":\"transparent\",color:t?\"#b45309\":\"#334155\",cursor:\"pointer\",flexShrink:0,WebkitAppearance:\"none\",appearance:\"none\"}}const C={width:\"1px\",height:\"20px\",margin:\"0 4px\",background:\"rgba(15, 23, 42, 0.1)\",flexShrink:0};return(e,t)=>(o(),r(\"div\",{role:\"toolbar\",\"aria-label\":\"选区工具\",style:n(w.value)},[(o(!0),r(d,null,c(p.value,e=>(o(),r(\"button\",{key:e.id,type:\"button\",title:e.label,\"aria-label\":e.label,style:n(y(e.id)),onMouseenter:t=>b.value=e.id,onMouseleave:t[0]||(t[0]=e=>b.value=null),onClick:t=>i(\"action\",e.id)},[P(Va,{kind:e.id},null,8,[\"kind\"])],44,_a))),128)),(o(!0),r(d,null,c(m.value,e=>(o(),r(\"button\",{key:e.id,type:\"button\",title:e.label,style:n(y(e.id)),onMouseenter:t=>b.value=e.id,onMouseleave:t[1]||(t[1]=e=>b.value=null),onClick:t=>i(\"action\",e.id)},[h(\"span\",Ea,I(e.label.slice(0,2)),1)],44,Ra))),128)),g.value?(o(),r(d,{key:0},[h(\"span\",{style:C,\"aria-hidden\":\"\"}),h(\"button\",{type:\"button\",title:\"添加笔记\",\"aria-label\":\"添加笔记\",style:n(y(\"note\",!0)),onMouseenter:t[2]||(t[2]=e=>b.value=\"note\"),onMouseleave:t[3]||(t[3]=e=>b.value=null),onClick:t[4]||(t[4]=e=>i(\"action\",\"note\"))},[P(Va,{kind:\"note\"})],36)],64)):v(\"\",!0)],4))}}),Fa={highlight:\"highlight\",underline:\"underline\",squiggly:\"squiggly\",strikeout:\"strikeout\"};const qa=/* @__PURE__ */e({__name:\"PdfChapterViewport\",props:{className:{},features:{},buildSelectionMenu:{},annotationSelectionMenu:{},redactionSelectionMenu:{},showNoteMarkers:{type:Boolean,default:!0},showBookmarkMarkers:{type:Boolean,default:!0},showRedactionLayer:{type:Boolean,default:!1},renderPageOverlay:{},onExtraSelectionAction:{}},setup(e){const t=e,a=function(){const{registry:e}=M();return f(()=>{const t=e.value?.getPlugin(Xe.id)?.provides?.();return t?e=>t.createNoteFromSelection(e):null})}(),s=function(){const{registry:e}=M();return f(()=>!!e.value?.getPlugin(Xe.id))}(),i=function(){const{registry:e}=M();return f(()=>!!e.value?.getPlugin(It.id))}(),h=f(()=>t.showNoteMarkers&&s.value&&!1!==t.features?.notes?.enabled),d=f(()=>t.showBookmarkMarkers&&i.value&&!1!==t.features?.bookmarks?.enabled),c=f(()=>i.value&&!1!==t.features?.bookmarks?.enabled),p=function(e,t){const a=f(()=>e()?.selectionToolbar),s=f(()=>!1!==e()?.markup?.enabled),i=f(()=>!1!==e()?.notes?.enabled),{provides:o}=C(_.id),{provides:r}=C(H.id),{provides:n}=C(Xe.id);return f(()=>{if(!1!==a.value?.enabled&&(s.value||i.value||a.value?.extraActions?.length))return l=>{const h=Ia(l.item);return d=>y(\"div\",d.menuWrapperProps,y(Ua,{placementAbove:!!d.placement?.suggestTop,anchorHeight:d.rect.size.height,hiddenBuiltinActions:a.value?.hiddenBuiltinActions,extraActions:a.value?.extraActions,onAction:a=>{if(\"highlight\"!==a&&\"underline\"!==a&&\"squiggly\"!==a&&\"strikeout\"!==a){if(\"note\"===a){if(!o.value||!n.value||!i.value)return;const e=o.value.getHighlightRectsForPage(l.item.localPageIndex,h);return void Ca(o.value.getSelectedText(h),t=>{n.value?.requestCreateFromSelection({chapterId:l.item.chapterId,localPageIndex:l.item.localPageIndex,globalPageIndex:l.item.globalPageIndex,globalPageNumber:l.item.globalPageNumber,rectsPdfCoord:e,selectedText:t.join(\"\\n\")})})}t?.onExtraAction?.(a,l)}else{if(!o.value||!r.value||!s.value)return;za(h,Fa[a],r.value,o.value,e()?.markup?.styles)}}}))}})}(()=>t.features,{onExtraAction:t.onExtraSelectionAction}),m=f(()=>{if(t.buildSelectionMenu||p.value)return e=>{const a=p.value?p.value(e):e.defaultMenu;return t.buildSelectionMenu?t.buildSelectionMenu({...e,defaultMenu:a}):a}}),{provides:v}=C(D.id);function w(e){const a=[];if(c.value){const s=function(e){const a=Ia(e),s=v.value?.getDocument(a)?.pages[e.localPageIndex];return e.isPlaceholder||!s?null:y(Sa,{item:e,pdfPageWidth:s.size.width,pdfPageHeight:s.size.height,cssPageWidth:e.width,cssPageHeight:e.height,hoverUi:t.features?.bookmarks?.hover})}(e);s&&a.push(s)}const s=t.renderPageOverlay?.(e);if(s&&a.push(s),a.length)return y(\"div\",a)}return(t,s)=>(o(),r(\"div\",{class:l(e.className),style:n(e.className?void 0:g(Ot))},[P(g(Ht),{class:l(e.className)},{page:b(({item:t})=>[P(Ma,{item:t,features:e.features,\"show-note-markers\":h.value,\"show-bookmark-markers\":d.value,\"show-redaction-layer\":e.showRedactionLayer,\"note-marker-ui\":e.features?.notes?.marker,\"bookmark-marker-ui\":e.features?.bookmarks?.marker,\"build-selection-menu\":m.value,\"create-note\":g(a),\"annotation-selection-menu\":e.annotationSelectionMenu,\"redaction-selection-menu\":e.redactionSelectionMenu,\"render-page-overlay\":w},null,8,[\"item\",\"features\",\"show-note-markers\",\"show-bookmark-markers\",\"show-redaction-layer\",\"note-marker-ui\",\"bookmark-marker-ui\",\"build-selection-menu\",\"create-note\",\"annotation-selection-menu\",\"redaction-selection-menu\"])]),_:1},8,[\"class\"]),u(t.$slots,\"default\")],6))}}),Wa=/* @__PURE__ */e({__name:\"ChapterPdfViewer\",props:{engine:{},editorOptions:{},features:{},className:{},viewportClassName:{},onExtraSelectionAction:{type:Function}},setup(e){const h=e,d=f(()=>({...Tt,...h.features})),c=f(()=>Dt({...h.editorOptions,features:d.value})),p=f(()=>!1!==d.value.zoom?.enabled),m=t(d.value.zoom?.initial??1),w=t(null);let y=null;const I=()=>{if(y?.(),y=null,!p.value||!w.value)return;const e=w.value.querySelector(\"[data-chapter-scroll-viewport]\");e&&(y=function({container:e,getScale:t,setScale:a,minZoom:s=.5,maxZoom:i=3}){let o=0,r=1,n=null,l=1,h=1;const d=e=>{(e.ctrlKey||e.metaKey)&&(e.preventDefault(),null===n?(h=t(),l=1):clearTimeout(n),l*=1-.01*e.deltaY,l=Gt(l,.1,10),a(Gt(h*l,s,i)),n=setTimeout(()=>{n=null},120))},c=/* @__PURE__ */new Map,u=e=>{if(c.set(e.pointerId,{x:e.clientX,y:e.clientY}),2===c.size){const[e,a]=[...c.values()];o=Math.hypot(a.x-e.x,a.y-e.y),r=t()}},p=e=>{if(c.has(e.pointerId)&&(c.set(e.pointerId,{x:e.clientX,y:e.clientY}),2===c.size&&o>0)){e.preventDefault();const[t,n]=[...c.values()],l=Math.hypot(n.x-t.x,n.y-t.y);a(Gt(r*(l/o),s,i))}},g=e=>{c.delete(e.pointerId),c.size<2&&(o=0)};return e.addEventListener(\"wheel\",d,{passive:!1}),e.addEventListener(\"pointerdown\",u),e.addEventListener(\"pointermove\",p,{passive:!1}),e.addEventListener(\"pointerup\",g),e.addEventListener(\"pointercancel\",g),()=>{e.removeEventListener(\"wheel\",d),e.removeEventListener(\"pointerdown\",u),e.removeEventListener(\"pointermove\",p),e.removeEventListener(\"pointerup\",g),e.removeEventListener(\"pointercancel\",g),n&&clearTimeout(n)}}({container:e,getScale:()=>m.value,setScale:e=>{m.value=e},minZoom:d.value.zoom?.min??.5,maxZoom:d.value.zoom?.max??3}))};return a(I),s(()=>y?.()),i([p,m,d],I),(t,a)=>(o(),r(\"div\",{ref_key:\"rootRef\",ref:w,class:l(e.className),style:n(e.className?void 0:g(Ot))},[P(g(S),{engine:e.engine,plugins:c.value.plugins},{default:b(({pluginsReady:a})=>[a?(o(),r(\"div\",{key:0,style:n(p.value?{...g(At),transform:`scale(${m.value})`,transformOrigin:\"top center\"}:g(At))},[P(qa,{class:l(e.viewportClassName),features:d.value,\"on-extra-selection-action\":e.onExtraSelectionAction},null,8,[\"class\",\"features\",\"on-extra-selection-action\"]),u(t.$slots,\"default\")],4)):v(\"\",!0)]),_:3},8,[\"engine\",\"plugins\"])],6))}}),Ha={class:\"chapter-tree-row\"},Ba=[\"aria-expanded\"],ja={key:1,class:\"chapter-tree-toggle-spacer\",\"aria-hidden\":\"\"},Ya={class:\"chapter-tree-label\"},Ka={class:\"chapter-tree-meta\"},Xa={key:0},Za=(e,t)=>{const a=e.__vccOpts||e;for(const[s,i]of t)a[s]=i;return a},Qa=/* @__PURE__ */Za(/* @__PURE__ */e({__name:\"ChapterTreeItem\",props:{node:{},depth:{},activeChapterId:{},chapterStatus:{}},emits:[\"select\"],setup(e){const a={idle:\"未加载\",loading:\"加载中\",loaded:\"已加载\",closed:\"已卸载\",error:\"失败\",\"password-required\":\"需密码\"},s=e,i=f(()=>s.node.children??[]),n=f(()=>i.value.length>0),d=t(s.depth<1),c=f(()=>s.activeChapterId===s.node.id),u=f(()=>s.chapterStatus[s.node.id]??\"idle\"),g=f(()=>!n.value);return(t,s)=>(o(),r(\"li\",null,[h(\"div\",Ha,[n.value?(o(),r(\"button\",{key:0,type:\"button\",class:\"chapter-tree-toggle\",\"aria-expanded\":d.value,onClick:s[0]||(s[0]=e=>d.value=!d.value)},I(d.value?\"▼\":\"▶\"),9,Ba)):(o(),r(\"span\",ja)),h(\"button\",{type:\"button\",class:l([\"chapter-tree-btn\",{\"chapter-tree-btn-active\":c.value}]),onClick:s[1]||(s[1]=a=>t.$emit(\"select\",e.node.id))},[h(\"div\",Ya,I(e.node.title),1),h(\"div\",Ka,[h(\"span\",null,\" 第 \"+I(e.node.startPage)+I(e.node.endPage!==e.node.startPage?`–${e.node.endPage}`:\"\")+\" 页 \",1),g.value?(o(),r(\"span\",Xa,I(a[u.value]),1)):v(\"\",!0)])],2)]),n.value&&d.value?(o(),p(Ja,{key:0,nodes:i.value,depth:e.depth+1,\"active-chapter-id\":e.activeChapterId,\"chapter-status\":e.chapterStatus,onSelect:s[2]||(s[2]=e=>t.$emit(\"select\",e))},null,8,[\"nodes\",\"depth\",\"active-chapter-id\",\"chapter-status\"])):v(\"\",!0)]))}}),[[\"__scopeId\",\"data-v-315bbf7a\"]]),Ja=/* @__PURE__ */Za(/* @__PURE__ */e({__name:\"ChapterTreeList\",props:{nodes:{},depth:{},activeChapterId:{},chapterStatus:{}},emits:[\"select\"],setup:e=>(t,a)=>(o(),r(\"ul\",{class:\"chapter-tree-list\",style:n({marginLeft:e.depth>0?\"12px\":\"0\"})},[(o(!0),r(d,null,c(e.nodes,s=>(o(),p(Qa,{key:s.id,node:s,depth:e.depth,\"active-chapter-id\":e.activeChapterId,\"chapter-status\":e.chapterStatus,onSelect:a[0]||(a[0]=e=>t.$emit(\"select\",e))},null,8,[\"node\",\"depth\",\"active-chapter-id\",\"chapter-status\"]))),128))],4))}),[[\"__scopeId\",\"data-v-eb742e4f\"]]),es={class:\"chapter-tree\"},ts={class:\"chapter-tree-nav\",\"aria-label\":\"章节目录\"},as=/* @__PURE__ */Za(/* @__PURE__ */e({__name:\"ChapterTreePanel\",props:{tree:{},activeChapterId:{}},emits:[\"active-chapter-change\"],setup(e,{emit:a}){const n=e,l=a,{provides:d}=C(Te.id),{provides:c}=C(we.id),u=t({});function p(){if(!c.value)return;const e={},t=a=>{for(const s of a)e[s.id]=c.value.getChapterStatus(s.id),s.children?.length&&t(s.children)};t(n.tree),u.value=e}i([c,()=>n.tree],p,{immediate:!0});let g=null;function f(e){l(\"active-chapter-change\",e),d.value?.scrollToChapter(e)}return i(c,e=>{g?.(),g=e?e.onChapterStatusChange(p):null},{immediate:!0}),s(()=>g?.()),(t,a)=>(o(),r(\"aside\",es,[a[0]||(a[0]=h(\"h2\",{class:\"chapter-tree-title\"},\"章节目录\",-1)),h(\"nav\",ts,[P(Ja,{nodes:e.tree,depth:0,\"active-chapter-id\":e.activeChapterId,\"chapter-status\":u.value,onSelect:f},null,8,[\"nodes\",\"active-chapter-id\",\"chapter-status\"])])]))}}),[[\"__scopeId\",\"data-v-d7a0838d\"]]);class ss{constructor(e){this.cb=e}resolvePassword(e,t){return this.cb(e,t)}}function is(e){return{manifest:e.manifest,chapterPdfLoader:e.chapterPdfLoader,overlapStrategy:{kind:\"first-wins\"},passwordProvider:new ss(async()=>null),prefetchChapters:1,loadDefaultStampLibrary:!1,unloadTimeoutMs:12e4,toolbar:{enabledModes:[]},bookmarks:e.bookmarks,notes:e.notes}}export{ss as CallbackPasswordProvider,Wa as ChapterPdfViewer,as as ChapterTreePanel,Tt as DEFAULT_CHAPTER_VIEWER_FEATURES,x as EmbedPDF,qa as PdfChapterViewport,za as applySelectionMarkup,Pt as buildParagraphBookmarkAnchor,Dt as createChapterViewerEditor,is as createChapterViewerEditorOptions,Lt as createPdfChapterEditor,k as useCapability,ue as usePdfiumEngine};\n//# sourceMappingURL=index.js.map\n","<script setup lang=\"ts\">\nimport {\n ChapterPdfViewer as ChapterPdfViewerCore,\n type ChapterPdfViewerProps,\n} from '@embedpdf-editor/editor-engine/vue';\n\nconst props = defineProps<{\n viewerProps: ChapterPdfViewerProps;\n}>();\n</script>\n\n<template>\n <ChapterPdfViewerCore v-bind=\"viewerProps\" />\n</template>\n"],"names":["e","a","t","i","s","o","h","$","L","z","D","te","_a","F","q","J","r","n","T","G","O","A","N","V","B","W","j","Y","K","X","Z","Q","ee","_e","C","l","d","c","u","p","g","ce","f","m","v","_","y","oe","b","P","ne","re","le","de","he","w","R","E","U","ae","se","ie","I","M","H","_b","_c","S","_openBlock","_createBlock","_unref"],"mappings":"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"}