flipbookengine 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +119 -115
- package/README.md +429 -429
- package/dist/{engine-DD5qEHLm.js → engine-B7R3u8jR.js} +696 -692
- package/dist/engine-B7R3u8jR.js.map +1 -0
- package/dist/flipbook-engine.core.js +1 -1
- package/dist/flipbook-engine.iife.js +3 -3
- package/dist/flipbook-engine.iife.js.map +1 -1
- package/dist/flipbook-engine.js +1 -1
- package/dist/flipbook-engine.react.js +1 -1
- package/dist/flipbook-engine.vue.js +1 -1
- package/package.json +165 -165
- package/dist/engine-DD5qEHLm.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var FlipbookEngine=function(N,F){"use strict";var On=Object.defineProperty;var yi=N=>{throw TypeError(N)};var Bn=(N,F,$)=>F in N?On(N,F,{enumerable:!0,configurable:!0,writable:!0,value:$}):N[F]=$;var C=(N,F,$)=>Bn(N,typeof F!="symbol"?F+"":F,$),vt=(N,F,$)=>F.has(N)||yi("Cannot "+$);var J=(N,F,$)=>(vt(N,F,"read from private field"),$?$.call(N):F.get(N)),ze=(N,F,$)=>F.has(N)?yi("Cannot add the same private member more than once"):F instanceof WeakSet?F.add(N):F.set(N,$),Fe=(N,F,$,ce)=>(vt(N,F,"write to private field"),ce?ce.call(N,$):F.set(N,$),$),ye=(N,F,$)=>(vt(N,F,"access private method"),$);var me,X,Q,mt,bt,vi;function $(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:()=>t[i]})}}return e.default=t,Object.freeze(e)}const ce=$(F);var Pi=Symbol.for("preact-signals");function Oe(){if(ee>1)ee--;else{var t,e=!1;for(function(){var a=Se;for(Se=void 0;a!==void 0;)a.S.v===a.v&&(a.S.i=a.i),a=a.o}();ue!==void 0;){var i=ue;for(ue=void 0,xe++;i!==void 0;){var n=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&Pt(i))try{i.c()}catch(a){e||(t=a,e=!0)}i=n}}if(xe=0,ee--,e)throw t}}var O=void 0;function Pe(t){var e=O;O=void 0;try{return t()}finally{O=e}}var ue=void 0,ee=0,xe=0,wt=0,Se=void 0,ke=0;function yt(t){if(O!==void 0){var e=t.n;if(e===void 0||e.t!==O)return e={i:0,S:t,p:O.s,n:void 0,t:O,e:void 0,x:void 0,r:e},O.s!==void 0&&(O.s.n=e),O.s=e,t.n=e,32&O.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=O.s,e.n=void 0,O.s.n=e,O.s=e),e}}function _(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}_.prototype.brand=Pi,_.prototype.h=function(){return!0},_.prototype.S=function(t){var e=this,i=this.t;i!==t&&t.e===void 0&&(t.x=i,this.t=t,i!==void 0?i.e=t:Pe(function(){var n;(n=e.W)==null||n.call(e)}))},_.prototype.U=function(t){var e=this;if(this.t!==void 0){var i=t.e,n=t.x;i!==void 0&&(i.x=n,t.e=void 0),n!==void 0&&(n.e=i,t.x=void 0),t===this.t&&(this.t=n,n===void 0&&Pe(function(){var a;(a=e.Z)==null||a.call(e)}))}},_.prototype.subscribe=function(t){var e=this;return Z(function(){var i=e.value;Pe(function(){return t(i)})},{name:"sub"})},_.prototype.valueOf=function(){return this.value},_.prototype.toString=function(){return this.value+""},_.prototype.toJSON=function(){return this.value},_.prototype.peek=function(){var t=this;return Pe(function(){return t.value})},Object.defineProperty(_.prototype,"value",{get:function(){var t=yt(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(xe>100)throw new Error("Cycle detected");(function(i){ee!==0&&xe===0&&i.l!==wt&&(i.l=wt,Se={S:i,v:i.v,i:i.i,o:Se})})(this),this.v=t,this.i++,ke++,ee++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Oe()}}}});function A(t,e){return new _(t,e)}function Pt(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function xt(t){for(var e=t.s;e!==void 0;e=e.n){var i=e.S.n;if(i!==void 0&&(e.r=i),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function St(t){for(var e=t.s,i=void 0;e!==void 0;){var n=e.p;e.i===-1?(e.S.U(e),n!==void 0&&(n.n=e.n),e.n!==void 0&&(e.n.p=n)):i=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=n}t.s=i}function te(t,e){_.call(this,void 0,e),this.x=t,this.s=void 0,this.g=ke-1,this.f=4}te.prototype=new _,te.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===ke))return!0;if(this.g=ke,this.f|=1,this.i>0&&!Pt(this))return this.f&=-2,!0;var t=O;try{xt(this),O=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(i){this.v=i,this.f|=16,this.i++}return O=t,St(this),this.f&=-2,!0},te.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}_.prototype.S.call(this,t)},te.prototype.U=function(t){if(this.t!==void 0&&(_.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}},te.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(te.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=yt(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function d(t,e){return new te(t,e)}function kt(t){var e=t.m;if(t.m=void 0,typeof e=="function"){ee++;var i=O;O=void 0;try{e()}catch(n){throw t.f&=-2,t.f|=8,Be(t),n}finally{O=i,Oe()}}}function Be(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,kt(t)}function xi(t){if(O!==this)throw new Error("Out-of-order effect");St(this),O=t,this.f&=-2,8&this.f&&Be(this),Oe()}function ae(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e==null?void 0:e.name}ae.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}},ae.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,kt(this),xt(this),ee++;var t=O;return O=this,xi.bind(this,t)},ae.prototype.N=function(){2&this.f||(this.f|=2,this.u=ue,ue=this)},ae.prototype.d=function(){this.f|=8,1&this.f||Be(this)},ae.prototype.dispose=function(){this.d()};function Z(t,e){var i=new ae(t,e);try{i.c()}catch(a){throw i.d(),a}var n=i.d.bind(i);return n[Symbol.dispose]=n,n}function Si(t,e){if(t.schemaVersion!==1||t.pageIndex!==e||typeof t.revision!="string"||!t.revision||typeof t.text!="string"||t.text.length>1e5||!Array.isArray(t.runs)||t.runs.length>2e4)throw new Error("Invalid text page");let i=0;for(const n of t.runs){if(typeof n.text!="string"||!n.text.length||!Number.isInteger(n.start)||n.start<i||t.text.slice(n.start,n.start+n.text.length)!==n.text||![n.x,n.y,n.width,n.height].every(Number.isFinite)||n.x<0||n.y<0||n.width<=0||n.height<=0||n.x+n.width>1.000001||n.y+n.height>1.000001||n.direction!==void 0&&n.direction!=="ltr"&&n.direction!=="rtl")throw new Error("Invalid text run");i=n.start+n.text.length}return{...t,runs:t.runs.map(n=>({...n}))}}function ki(t,e,i){const n=new Map,a=new Set,r=Z(()=>{const c=t.currentPage.value,g=t.totalPages.value,m=new Set([c-1,c,c+1].filter(S=>S>=0&&S<g));for(const[S,v]of n)m.has(S)||(v.abort(),n.delete(S));const y=new Map([...t.textPages.peek()].filter(([S])=>m.has(S)));for(const S of[...a])m.has(S)||a.delete(S);t.textPages.value=y;for(const S of m){if(n.has(S)||a.has(S)||i.aborted)continue;const v=new AbortController;n.set(S,v),Promise.resolve().then(()=>e(S,v.signal)).then(w=>{v.signal.aborted||i.aborted||n.get(S)!==v||(w&&(t.textPages.value=new Map(t.textPages.peek()).set(S,Si(w,S))),a.add(S))}).catch(()=>{v.signal.aborted||a.add(S)}).finally(()=>{n.get(S)===v&&n.delete(S)})}}),l=()=>{r();for(const c of n.values())c.abort();n.clear()};return i.addEventListener("abort",l,{once:!0}),()=>{i.removeEventListener("abort",l),l()}}var Ct=Symbol.for("Serenity.initPropHook");function Ci(t){return!!(t&&typeof t.nodeType=="number")}function Ce(t){return typeof t=="string"}function At(t){return typeof t=="number"}function V(t){return typeof t=="object"&&t!==null}function Ai(t){return!!(t&&t.isComponent)}function He(t){return V(t)&&typeof t.length=="number"&&typeof t.nodeType!="number"}function Ti(t){return typeof t=="function"&&typeof t[Ct]=="function"}function de(t){return t!=null&&typeof t!="boolean"}function ge(t){return Array.isArray(t)?t.map(ge).filter(Boolean).join(" "):V(t)?Symbol.iterator in t?ge(Array.from(t)):Object.keys(t).filter(e=>t[e]).join(" "):de(t)?""+t:""}function Mi(t){return t!=null&&typeof t=="object"&&"current"in t}function $e(t,e){Mi(t)?t.current=e:typeof t=="function"&&t(e)}function Ei(t,e,i){e={...e,children:i};const n=new t(e),a=n.render();return"ref"in e&&$e(e.ref,n),a}var Ii="http://www.w3.org/1998/Math/MathML",Di=new Set(["math","annotation","annotation-xml","maction","merror","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics","menclose","mfenced"]),Ri=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view"]),Tt=/^(a(ll|t|u)|base[FP]|c(al|lipPathU|on)|di|ed|ex|filter[RU]|g(lyphR|r)|ke|l(en|im)|ma(rker[HUW]|s)|n|pat|pr|point[^e]|re[^n]|s[puy]|st[^or]|ta|textL|vi|xC|y|z)/,Ni="http://www.w3.org/2000/svg",Mt=Symbol.for("Serenity.jsxNamespaceURI");function Li(t){const e=globalThis[Mt];return arguments.length&&(globalThis[Mt]=t),e}var zi=Symbol.for("Serenity.jsxTypeKey"),Fi="ShadowRoot";function Oi(t){return t!=null&&t[zi]===Fi}var We=Symbol.for("Serenity.disposingListeners"),qe=Symbol.for("Serenity.lifecycleRoot");function _e(){return globalThis[We]||(globalThis[We]=new WeakMap)}function Ue(t){t&&t.target&&(!t.currentTarget||t.currentTarget===t.target)&&Bi(t==null?void 0:t.target)}function Bi(t,e){if(!t)return;const i=_e();function n(a){const r=i.get(a);if(r){i.delete(a),a.removeEventListener("disposing",Ue);for(const l of r)try{l.callback(a)}catch{}}}n(t)}function Ge(t,e,i){if(!t||!e)return t;const n=_e();let a=n.get(t);if(!a)return typeof t.addEventListener!="function"||(n.set(t,a=[{callback:e,regKey:i}]),t.addEventListener("disposing",Ue,{once:!0})),t;const r=a.find(l=>l.callback===e);return r?(r.regKey,t):(a.push({callback:e,regKey:i}),t)}function Et(t,e,i){if(!t||!e)return t;const n=_e(),a=n.get(t);if(a){for(let r=a.length-1;r>=0;r--){const l=a[r];e&&e===l.callback&&a.splice(r,1)}a.length===0&&(n.delete(t),typeof t.removeEventListener=="function"&&t.removeEventListener("disposing",Ue))}return t}function Hi(...t){if(t.length>0){const e=globalThis[qe]||null;return globalThis[qe]=t[0]||null,e}return globalThis[qe]||null}function ie(t){return t!=null&&typeof t=="object"&&typeof t.subscribe=="function"&&typeof t.peek=="function"&&"value"in t}var $i=(vi=class{constructor(t,e,i){ze(this,Q);ze(this,me);ze(this,X);this.signal=t,this.isInitial=!0,this.hasChanged=!1,this.lifecycleRoot=e,Fe(this,X,i)}get lifecycleNode(){return J(this,X)}get effectDisposer(){return J(this,me)}set effectDisposer(t){ye(this,Q,mt).call(this),Fe(this,me,t),ye(this,Q,bt).call(this)}set lifecycleNode(t){t!==J(this,X)&&(ye(this,Q,mt).call(this),Fe(this,X,t),ye(this,Q,bt).call(this))}},me=new WeakMap,X=new WeakMap,Q=new WeakSet,mt=function(){var t;Et(J(this,X),this.effectDisposer),Et(J(this,X),(t=this.signal)==null?void 0:t.derivedDisposer)},bt=function(){var t;Ge(J(this,X),this.effectDisposer),Ge(J(this,X),(t=this.signal)==null?void 0:t.derivedDisposer)},vi);function fe(t,e,i){const n=i!=null&&i.useLifecycleRoot?Hi():void 0,a=new $i(t,n,i==null?void 0:i.lifecycleNode),r=a.signal.subscribe(function(l){a.newValue=l,a.isInitial&&(this!=null&&this.dispose)&&(a.effectDisposer=this.dispose.bind(this)),a.hasChanged=!a.isInitial&&a.prevValue!==a.newValue;try{e(a)}finally{a.prevValue=a.newValue,a.isInitial=!1}});return r&&!a.effectDisposer&&(a.effectDisposer=r),a.effectDisposer}function It(t,e){t instanceof window.HTMLTemplateElement?t.content.appendChild(e):t.appendChild(e)}var je=0,Ve="__domwisefrag_";function Dt(t){return t instanceof Comment&&t.data.startsWith(Ve)}function Rt(t){return t instanceof DocumentFragment&&Dt(t.firstChild)}function Wi(t,e){var i;typeof t.replaceWith=="function"?t.replaceWith(e):(i=t.parentNode)==null||i.replaceChild(e,t)}function Nt(t){return t instanceof DocumentFragment?(++je,t.prepend(document.createComment(Ve+je)),t.append(document.createComment(Ve+je)),t):t instanceof Node?t:de(t)?document.createTextNode(t):document.createComment("")}function qi(t,e){let i;fe(e,n=>{var l;if(n.isInitial){i=Nt(n.newValue);let c=Rt(i)?i.firstChild:i;pe(t,i),n.lifecycleNode=(i=c)??t;return}if(!n.hasChanged)return;const a=Nt(n.newValue);if(Dt(i)){let c;for(;(c=i.nextSibling)&&((l=c.parentNode)==null||l.removeChild(c),!(c instanceof Comment&&c.data===i.data)););}let r=Rt(a)?a.firstChild:a;Wi(i,a),n.lifecycleNode=(i=r)??t})}function pe(t,e){if(de(e))if(He(e))for(const i of[...e])pe(t,i);else if(Ce(e)||At(e))It(t,document.createTextNode(e));else if(Ci(e))It(t,e);else if(Oi(e)){const i=t.attachShadow(e.attr);pe(i,e.children),$e(e.ref,i)}else ie(e)&&qi(t,e)}function Lt(t){return t==null||(He(t)?t=Array.from(t).map(e=>ie(e)?e.peek():e):V(t)&&(t={...t},Object.entries(t).forEach(([e,i])=>{ie(i)&&(t[e]=i.peek())}))),t}function _i(t,e){if(e==null||e===!1||e===!0)return;e=Lt(e);const i=(ge(e)??"").split(" ");for(let n of i)n&&t.classList.remove(n)}function Ui(t,e,i){if(e==null||e===!1){_i(t,i);return}i=Lt(i),He(e)?e=Array.from(e).map(n=>{let a=n;return ie(n)&&fe(n,r=>{if(r.isInitial){a=r.newValue;return}Xe(t,r.newValue,r.prevValue)},{lifecycleNode:t}),a}):V(e)&&(e={...e},Object.entries(e).forEach(([n,a])=>{ie(a)&&fe(a,r=>{if(r.isInitial){e[n]=r.newValue;return}Xe(t,!!r.newValue&&n,!!r.prevValue&&n)},{lifecycleNode:t})})),Xe(t,e,i)}function Xe(t,e,i){const n=(ge(e)??"").split(" ");if(i){const a=(ge(i)??"").split(" ");for(let r of a)r&&!n.includes(r)&&t.classList.remove(r)}for(let a of n)a&&t.classList.add(a)}function Gi(t,e){return t+e.charAt(0).toUpperCase()+e.substring(1)}var ji=(()=>{let t={animationIterationCount:0,borderImageOutset:0,borderImageSlice:0,borderImageWidth:0,boxFlex:0,boxFlexGroup:0,boxOrdinalGroup:0,columnCount:0,columns:0,flex:0,flexGrow:0,flexPositive:0,flexShrink:0,flexNegative:0,flexOrder:0,gridArea:0,gridRow:0,gridRowEnd:0,gridRowSpan:0,gridRowStart:0,gridColumn:0,gridColumnEnd:0,gridColumnSpan:0,gridColumnStart:0,fontWeight:0,lineClamp:0,lineHeight:0,opacity:0,order:0,orphans:0,tabSize:0,widows:0,zIndex:0,zoom:0,fillOpacity:0,floodOpacity:0,stopOpacity:0,strokeDasharray:0,strokeDashoffset:0,strokeMiterlimit:0,strokeOpacity:0,strokeWidth:0};const e=["Webkit","ms","Moz","O"];return Object.keys(t).forEach(i=>{e.forEach(n=>{t[Gi(n,i)]=0})}),t})();function Ze(t,e,i){e.indexOf("-")===0?t.style.setProperty(e,i):At(i)&&ji[e]!==0?t.style[e]=i+"px":t.style[e]=i}function zt(t,e){if(!(e==null||e===!1||e===!0)){if(Ce(e)){t.removeAttribute("style");return}V(e)&&Object.keys(e).forEach(i=>{Ze(t,i,"")})}}function Vi(t,e,i){if(e==null||e===!1||e===!0){zt(t,i);return}if(Ce(e)){t.setAttribute("style",e);return}if(V(e)){V(i)?(e={...e},Object.keys(i).forEach(n=>{n in e||(e[n]="")})):zt(t,i),Object.entries(e).forEach(([n,a])=>{ie(a)?fe(a,r=>Ze(t,n,r.newValue),{lifecycleNode:t}):Ze(t,n,a)});return}}var Xi="http://www.w3.org/1999/xlink",Zi="http://www.w3.org/XML/1998/namespace";function Ae(t,e){return t.replace(/[A-Z]/g,i=>e+i.toLowerCase())}var Yi=new Map([["autoComplete","autocomplete"],["autoFocus","autofocus"],["className","class"],["colSpan","colspan"],["contentEditable","contenteditable"],["formNoValidate","formnovalidate"],["htmlFor","for"],["innerText","textContent"],["minLength","minlength"],["maxLength","maxlength"],["readOnly","readonly"],["reffererPolicy","referrerpolicy"],["rowSpan","rowspan"],["spellCheck","spellcheck"],["tabIndex","tabindex"],["onDoubleClick","onDblClick"],["onDoubleClickCapture","onDblClickCapture"]]);function Ft(t,e,i,n){switch(e){case"dataset":n!=null&&Object.entries(n).forEach(([r,l])=>{l!=null&&delete t.dataset[r]}),Object.entries(i).forEach(([r,l])=>{l!=null&&(t.dataset[r]=l)});return;case"textContent":de(i)?t[e]=i:de(n)&&(t[e]="");return;case"dangerouslySetInnerHTML":V(i)?t.innerHTML=i.__html:V(n)&&(t.innerHTML="");return;case"value":if(i==null){n!=null&&(t[e]=null);return}else{if(t instanceof window.HTMLSelectElement)return;if(t instanceof window.HTMLTextAreaElement){t.value=i;return}}break;case"class":Ui(t,i,n);return;case"spellcheck":t.spellcheck=i===""||i===!0||i==="true"?!0:i===!1||i==="false"?!1:i;return;case"draggable":i===!1||i==="false"?i="false":i===""?i=null:(i===!0||i==="true")&&(i="true");break;case"contenteditable":i===!1?i="false":(i===""||i===!0)&&(i="true");break;case"ref":case"namespaceURI":return;case"style":Vi(t,i,n);return;case"on":case"onCapture":const a=e==="onCapture";n!=null&&Object.entries(n).forEach(([r,l])=>{(i==null||i[r]!==l)&&t.removeEventListener(r,l,a)}),Object.entries(i).forEach(([r,l])=>{(n==null||n[r]!==l)&&t.addEventListener(r,l,a)});return;case"xlinkActuate":case"xlinkArcrole":case"xlinkHref":case"xlinkRole":case"xlinkShow":case"xlinkTitle":case"xlinkType":t.setAttributeNS(Xi,Ae(e,":"),i);return;case"xmlnsXlink":t.setAttribute("xmlns:xlink",i);return;case"xmlBase":case"xmlLang":case"xmlSpace":t.setAttributeNS(Zi,Ae(e,":"),i);return}if(typeof i=="function"){if(e[0]==="o"&&e[1]==="n"){if(n!=null&&n===i)return;let a=e.toLowerCase();const r=a.endsWith("capture");let l;!r&&(t[a]===null||n!=null&&t[a]===n)?(t[a]=i,Ge(t,Ki.bind(t,a))):r?(l=a.substring(2,a.length-7),n!=null&&t.removeEventListener(l,n,!0),t.addEventListener(l,i,!0)):(a in window?l=a.substring(2):l=a[2]+e.slice(3),n!=null&&t.removeEventListener(l,n),t.addEventListener(l,i))}else console.warn(`A function was provided for JSX ${t.tagName} element ${e} which does not start with "on":`,i,t.tagName);return}if(V(n)){if(n===i)return;delete t[e]}if(n===!0){if(n===i)return;t.removeAttribute(e)}if(n!==!1&&n!=null){if(n===i)return;t instanceof SVGElement&&!Tt.test(e)?t.removeAttributeNS(Ae(e,"-"),i):t.removeAttribute(e)}if(V(i)){t[e]=i;return}if(i===!0){t.setAttribute(e,"");return}i!==!1&&i!=null&&(t instanceof SVGElement&&!Tt.test(e)?t.setAttribute(Ae(e,"-"),i):t.setAttribute(e,i))}function Qi(t,e){for(let[i,n]of Object.entries(e))i=Yi.get(i)??i,ie(n)?fe(n,a=>Ft(t,i,a.newValue,a.prevValue),{lifecycleNode:t}):Ti(n)?n[Ct](t,i):Ft(t,i,n);return t}function Ki(t){this[t]=null}function h(t,e){let{children:i,...n}=e||{},a=n.namespaceURI;a||(Ri.has(t)?a=Ni:Di.has(t)?a=Ii:a=Li());let r;if(Ce(t)){if(r=a?document.createElementNS(a,t):document.createElement(t),Qi(r,n),pe(r,i),r instanceof window.HTMLSelectElement&&n.value!=null)if(n.multiple===!0&&Array.isArray(n.value)){const l=n.value.map(c=>String(c));r.querySelectorAll("option").forEach(c=>c.selected=l.includes(c.value))}else r.value=n.value;$e(n.ref,r)}else if(typeof t=="function")V(t.defaultProps)&&(n={...t.defaultProps,...n}),r=Ai(t)?Ei(t,n,i):t({...n,children:i});else throw new TypeError(`Invalid JSX element type: ${t}`);return r}function Te(t){const e=document.createDocumentFragment();return pe(e,t.children),e}var Ji=Symbol.for("preact-signals");function Ye(){if(ne>1)ne--;else{var t,e=!1;for(function(){var a=Ee;for(Ee=void 0;a!==void 0;)a.S.v===a.v&&(a.S.i=a.i),a=a.o}();ve!==void 0;){var i=ve;for(ve=void 0,Me++;i!==void 0;){var n=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&$t(i))try{i.c()}catch(a){e||(t=a,e=!0)}i=n}}if(Me=0,ne--,e)throw t}}var L=void 0;function Ot(t){var e=L;L=void 0;try{return t()}finally{L=e}}var ve=void 0,ne=0,Me=0,Bt=0,Ee=void 0,Ie=0;function Ht(t){if(L!==void 0){var e=t.n;if(e===void 0||e.t!==L)return e={i:0,S:t,p:L.s,n:void 0,t:L,e:void 0,x:void 0,r:e},L.s!==void 0&&(L.s.n=e),L.s=e,t.n=e,32&L.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=L.s,e.n=void 0,L.s.n=e,L.s=e),e}}function U(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}U.prototype.brand=Ji,U.prototype.h=function(){return!0},U.prototype.S=function(t){var e=this,i=this.t;i!==t&&t.e===void 0&&(t.x=i,this.t=t,i!==void 0?i.e=t:Ot(function(){var n;(n=e.W)==null||n.call(e)}))},U.prototype.U=function(t){var e=this;if(this.t!==void 0){var i=t.e,n=t.x;i!==void 0&&(i.x=n,t.e=void 0),n!==void 0&&(n.e=i,t.x=void 0),t===this.t&&(this.t=n,n===void 0&&Ot(function(){var a;(a=e.Z)==null||a.call(e)}))}},U.prototype.subscribe=function(t){var e=this;return tn(function(){var i=e.value,n=L;L=void 0;try{t(i)}finally{L=n}},{name:"sub"})},U.prototype.valueOf=function(){return this.value},U.prototype.toString=function(){return this.value+""},U.prototype.toJSON=function(){return this.value},U.prototype.peek=function(){var t=L;L=void 0;try{return this.value}finally{L=t}},Object.defineProperty(U.prototype,"value",{get:function(){var t=Ht(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(Me>100)throw new Error("Cycle detected");(function(i){ne!==0&&Me===0&&i.l!==Bt&&(i.l=Bt,Ee={S:i,v:i.v,i:i.i,o:Ee})})(this),this.v=t,this.i++,Ie++,ne++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Ye()}}}});function $t(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Wt(t){for(var e=t.s;e!==void 0;e=e.n){var i=e.S.n;if(i!==void 0&&(e.r=i),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function qt(t){for(var e=t.s,i=void 0;e!==void 0;){var n=e.p;e.i===-1?(e.S.U(e),n!==void 0&&(n.n=e.n),e.n!==void 0&&(e.n.p=n)):i=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=n}t.s=i}function oe(t,e){U.call(this,void 0),this.x=t,this.s=void 0,this.g=Ie-1,this.f=4,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}oe.prototype=new U,oe.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Ie))return!0;if(this.g=Ie,this.f|=1,this.i>0&&!$t(this))return this.f&=-2,!0;var t=L;try{Wt(this),L=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(i){this.v=i,this.f|=16,this.i++}return L=t,qt(this),this.f&=-2,!0},oe.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}U.prototype.S.call(this,t)},oe.prototype.U=function(t){if(this.t!==void 0&&(U.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}},oe.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(oe.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=Ht(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function _t(t){var e=t.m;if(t.m=void 0,typeof e=="function"){ne++;var i=L;L=void 0;try{e()}catch(n){throw t.f&=-2,t.f|=8,Qe(t),n}finally{L=i,Ye()}}}function Qe(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,_t(t)}function en(t){if(L!==this)throw new Error("Out-of-order effect");qt(this),L=t,this.f&=-2,8&this.f&&Qe(this),Ye()}function re(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e==null?void 0:e.name}re.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}},re.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,_t(this),Wt(this),ne++;var t=L;return L=this,en.bind(this,t)},re.prototype.N=function(){2&this.f||(this.f|=2,this.u=ve,ve=this)},re.prototype.d=function(){this.f|=8,1&this.f||Qe(this)},re.prototype.dispose=function(){this.d()};function tn(t,e){var i=new re(t,e);try{i.c()}catch(a){throw i.d(),a}var n=i.d.bind(i);return n[Symbol.dispose]=n,n}const Ke={en:{emptyStateTitle:"No data available.",thumbnails:"Thumbnails",singlePageMode:"Single Page Mode",pages:"Pages",previous:"Previous",next:"Next",zoomOut:"Zoom Out",zoomIn:"Zoom In",fullscreen:"Fullscreen",settings:"Settings",downloadCatalog:"Download Catalog",share:"Share",bookmark:"Bookmark page",removeBookmark:"Remove bookmark",notes:"Page note",saveNote:"Save note",clearNote:"Clear note",closeNote:"Close note editor",editNote:"Edit",deleteNote:"Delete",play:"Play",pause:"Pause",tableOfContents:"Table of Contents",search:"Search",searchPlaceholder:"Search PDF text",clearSearch:"Clear",closeSearch:"Close search",noSearchResults:"No results",searchUnavailable:"Text search is available only in Direct PDF mode.",closeHotspot:"Close popup",annotation:"Page annotation",saving:"Saving…",noteFailed:"Could not save the note. Your draft is retained; try again.",searching:"Searching…",searchFailed:"Search failed. Try again.",closeContents:"Close table of contents",moreActions:"More actions",sound:"Sound",myNotes:"My notes",currentPage:"This page",allNotes:"All notes",privateNotes:"Your personal notes for this document.",noNotes:"No notes yet. Select a place on the page to add your first note.",addNote:"Place a note",pageHasNote:"This page has a note",page:"Page",noteSaved:"Saved",confirmDeleteNote:"Delete this note?",cancel:"Cancel",placeNote:"Click or tap a place on the page for your note.",keyboardShortcuts:"Keyboard shortcuts",textSelection:"Select text",resetZoom:"Fit page"},tr:{emptyStateTitle:"Veri bulunamadi.",thumbnails:"Küçük Resimler",singlePageMode:"Tek Sayfa Modu",pages:"Sayfalar",previous:"Önceki",next:"Sonraki",zoomOut:"Uzaklaş",zoomIn:"Yaklaş",fullscreen:"Tam Ekran",settings:"Ayarlar",downloadCatalog:"Kataloğu İndir",share:"Paylaş",bookmark:"Sayfayı yer imlerine ekle",removeBookmark:"Yer imini kaldır",notes:"Sayfa notu",saveNote:"Notu kaydet",clearNote:"Notu temizle",closeNote:"Not editörünü kapat",editNote:"Düzenle",deleteNote:"Sil",play:"Otomatik Oynat",pause:"Duraklat",tableOfContents:"İçindekiler",search:"Ara",searchPlaceholder:"PDF metninde ara",clearSearch:"Temizle",closeSearch:"Aramayı kapat",noSearchResults:"Sonuç bulunamadı",searchUnavailable:"Metin arama yalnızca Doğrudan PDF modunda desteklenir.",closeHotspot:"Açılır pencereyi kapat",annotation:"Sayfa açıklaması",saving:"Kaydediliyor…",noteFailed:"Not kaydedilemedi. Taslağınız korundu; tekrar deneyin.",searching:"Aranıyor…",searchFailed:"Arama başarısız oldu. Tekrar deneyin.",closeContents:"İçindekileri kapat",moreActions:"Diğer işlemler",sound:"Ses",myNotes:"Notlarım",currentPage:"Bu sayfa",allNotes:"Tüm notlar",privateNotes:"Bu belge için kişisel notlarınız.",noNotes:"Henüz not yok. İlk notunuz için sayfada bir yer seçin.",addNote:"Konuma not ekle",pageHasNote:"Bu sayfada not var",page:"Sayfa",noteSaved:"Kaydedildi",confirmDeleteNote:"Bu not silinsin mi?",cancel:"Vazgeç",placeNote:"Not eklemek için sayfada bir yere tıklayın veya dokunun.",keyboardShortcuts:"Klavye kısayolları",textSelection:"Metin seçimi",resetZoom:"Sayfaya sığdır"}};function Y(t={}){var a;const e=t.locale??"en",i=Ke[e]??Ke.en,n=((a=t.messages)==null?void 0:a[e])??{};return{...Ke.en,...i,...n}}function Ut(t,e){var g;(g=t.querySelector(".bk-shortcuts-dialog"))==null||g.remove();const i=Y({locale:e.locale.value,messages:e.messages.value}),n=document.createElement("dialog");n.className="bk-shortcuts-dialog",n.setAttribute("aria-label",i.keyboardShortcuts);const a=document.createElement("strong");a.textContent=i.keyboardShortcuts,n.append(a);const r=document.createElement("dl");for(const[m,y]of[["← / →",`${i.previous} / ${i.next}`],["Home / End",i.pages],["+ / −",`${i.zoomIn} / ${i.zoomOut}`],["0",i.resetZoom],["N",i.addNote],["Shift + N",i.myNotes],["/",i.search],["I",i.tableOfContents],["T",i.thumbnails],["F",i.fullscreen],["Esc",i.closeHotspot],["Tab / Shift + Tab",i.moreActions]]){const S=document.createElement("dt");S.textContent=m;const v=document.createElement("dd");v.textContent=y,r.append(S,v)}const l=document.createElement("button");l.type="button",l.textContent=i.closeHotspot,l.addEventListener("click",()=>n.close()),n.append(r,l),t.append(n);const c=t.ownerDocument.activeElement;n.addEventListener("close",()=>{n.remove(),c!=null&&c.isConnected&&c.focus()},{once:!0}),n.showModal()}function nn(t,e,i){const n=h("div",{class:"bk-more-menu"}),a=[[".bk-btn--autoplay","play"],[".bk-btn--single","singlePageMode"],[".bk-btn--share","share"],[".bk-btn--bookmark","bookmark"],[".bk-btn--download","downloadCatalog"],[".bk-btn--sound","sound"]];for(const[l,c]of a){const g=t.querySelector(l);g&&(g.append(h("span",{children:d(()=>e.value[c])})),n.append(g))}n.append(h("button",{type:"button",class:"bk-btn bk-btn--text-selection",style:d(()=>i.textAvailable.value?"":"display:none;"),"aria-pressed":d(()=>i.textSelection.value?"true":"false"),onClick:()=>{i.textSelection.value=!i.textSelection.value,i.placingNote.value=!1},children:d(()=>e.value.textSelection)})),n.append(h("button",{type:"button",class:"bk-btn",onClick:()=>Ut(t.closest(".bk-wrapper"),i),children:d(()=>e.value.keyboardShortcuts)}));let r;r=h("details",{class:"bk-more",onKeyDown:l=>{var c;l.key==="Escape"&&(r.open=!1,(c=r.querySelector("summary"))==null||c.focus())},children:[h("summary",{class:"bk-btn","aria-label":d(()=>e.value.moreActions),title:d(()=>e.value.moreActions),children:"…"}),n]}),n.addEventListener("click",l=>{l.target.closest("button")&&(r.open=!1)}),t.lastElementChild.append(r)}function Gt(t){return t.registry?(t.registry.version.value,t.registry.getToolbarButtons().filter(i=>(i.placement||"end")===t.placement).map(i=>{const n=typeof i.disabled=="function"?i.disabled():i.disabled;return h("button",{type:"button",class:"bk-btn bk-btn--plugin",onClick:i.onClick,disabled:n,"aria-label":i.title||i.label,title:i.title||i.label,children:[i.icon?h("span",{class:"bk-plugin-button-icon","aria-hidden":"true",children:i.icon}):null,h("span",{class:"bk-plugin-button-label",children:i.label})]})})):[]}function sn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=h("div",{class:"bk-toolbar",role:"toolbar","aria-label":"Flipbook controls",children:[h("div",{class:"bk-btn-group",children:[Gt({registry:t.pluginRegistry,placement:"start"}),h("button",{type:"button",class:d(()=>`bk-btn ${t.store.showThumbs.value?"active":""}`),onClick:t.onToggleThumbs,"aria-label":d(()=>e.value.thumbnails||"Thumbnails"),"aria-pressed":d(()=>t.store.showThumbs.value?"true":"false"),title:d(()=>e.value.thumbnails||"Thumbnails"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("rect",{x:"3",y:"3",width:"7",height:"7"}),h("rect",{x:"14",y:"3",width:"7",height:"7"}),h("rect",{x:"14",y:"14",width:"7",height:"7"}),h("rect",{x:"3",y:"14",width:"7",height:"7"})]})}),d(()=>t.store.toc.value.length?h("button",{type:"button",class:d(()=>t.store.showToc.value?"bk-btn active":"bk-btn"),onClick:t.onToggleToc,"aria-label":d(()=>e.value.tableOfContents||"Table of Contents"),"aria-pressed":d(()=>t.store.showToc.value?"true":"false"),title:d(()=>e.value.tableOfContents||"Table of Contents"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("line",{x1:"8",y1:"6",x2:"21",y2:"6"}),h("line",{x1:"8",y1:"12",x2:"21",y2:"12"}),h("line",{x1:"8",y1:"18",x2:"21",y2:"18"}),h("line",{x1:"3",y1:"6",x2:"3.01",y2:"6"}),h("line",{x1:"3",y1:"12",x2:"3.01",y2:"12"}),h("line",{x1:"3",y1:"18",x2:"3.01",y2:"18"})]})}):null),h("button",{type:"button",class:d(()=>t.store.showSearch.value?"bk-btn active":"bk-btn"),onClick:t.onToggleSearch,disabled:d(()=>!t.store.searchAvailable.value),"aria-label":d(()=>t.store.searchAvailable.value?e.value.search||"Search":e.value.searchUnavailable||"Text search is available only in Direct PDF mode."),"aria-pressed":d(()=>t.store.showSearch.value?"true":"false"),title:d(()=>t.store.searchAvailable.value?e.value.search||"Search":e.value.searchUnavailable||"Text search is available only in Direct PDF mode."),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"11",cy:"11",r:"7"}),h("line",{x1:"16",y1:"16",x2:"21",y2:"21"})]})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--single bz-hide-mobile ${t.store.isSingleMode.value?"active":""}`),onClick:t.onToggleSingleMode,"aria-label":d(()=>e.value.singlePageMode||"Single Page"),"aria-pressed":d(()=>t.store.isSingleMode.value?"true":"false"),title:d(()=>e.value.singlePageMode||"Single Page"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),h("polyline",{points:"14 2 14 8 20 8"}),h("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),h("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),h("polyline",{points:"10 9 9 9 8 9"})]})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--autoplay ${t.store.isAutoPlaying.value?"active":""}`),onClick:t.onToggleAutoPlay,"aria-label":d(()=>t.store.isAutoPlaying.value?e.value.pause||"Pause":e.value.play||"Play"),"aria-pressed":d(()=>t.store.isAutoPlaying.value?"true":"false"),title:d(()=>t.store.isAutoPlaying.value?e.value.pause||"Pause":e.value.play||"Play"),children:d(()=>t.store.isAutoPlaying.value?h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("rect",{x:"6",y:"4",width:"4",height:"16"}),h("rect",{x:"14",y:"4",width:"4",height:"16"})]}):h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("polygon",{points:"5 3 19 12 5 21 5 3"})}))})]}),h("div",{class:"bk-btn-group bk-btn-group--center",children:[h("button",{type:"button",class:"bk-btn",onClick:t.onPrevPage,"aria-label":d(()=>e.value.previous||"Previous"),title:d(()=>e.value.previous||"Previous"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("polyline",{points:"15 18 9 12 15 6"})})}),h("span",{class:"bz-page-info","aria-live":"polite","aria-atomic":"true",children:d(()=>{const n=t.store.currentPage.value,a=t.store.totalPages.value;if(t.store.isSingleMode.value||n===0||n>=a-1)return`${n+1} / ${a}`;const r=n%2===1?n:n-1;return`${r+1}-${r+2} / ${a}`})}),h("button",{type:"button",class:"bk-btn",onClick:t.onNextPage,"aria-label":d(()=>e.value.next||"Next"),title:d(()=>e.value.next||"Next"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("polyline",{points:"9 18 15 12 9 6"})})})]}),h("div",{class:"bk-btn-group",children:[h("button",{type:"button",class:"bk-btn",onClick:t.onZoomIn,"aria-label":d(()=>e.value.zoomIn||"Zoom In"),title:d(()=>e.value.zoomIn||"Zoom In"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"11",cy:"11",r:"8"}),h("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),h("line",{x1:"11",y1:"8",x2:"11",y2:"14"}),h("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]})}),h("button",{type:"button",class:d(()=>`bk-btn ${t.store.isZoomed.value?"active":""}`),onClick:t.onZoomOut,"aria-label":d(()=>e.value.zoomOut||"Zoom Out"),title:d(()=>e.value.zoomOut||"Zoom Out"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"11",cy:"11",r:"8"}),h("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),h("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]})}),h("button",{type:"button",class:"bk-btn bk-btn--fullscreen",onClick:t.onToggleFullscreen,"aria-label":d(()=>e.value.fullscreen||"Fullscreen"),title:d(()=>e.value.fullscreen||"Fullscreen"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"})})}),h("button",{type:"button",class:"bk-btn bk-btn--share",onClick:t.onShare,"aria-label":d(()=>e.value.share||"Share"),title:d(()=>e.value.share||"Share"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"18",cy:"5",r:"3"}),h("circle",{cx:"6",cy:"12",r:"3"}),h("circle",{cx:"18",cy:"19",r:"3"}),h("line",{x1:"8.59",y1:"13.51",x2:"15.42",y2:"17.49"}),h("line",{x1:"15.41",y1:"6.51",x2:"8.59",y2:"10.49"})]})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--bookmark ${t.store.bookmarkedPages.value.has(t.store.currentPage.value)?"active":""}`),onClick:t.onToggleBookmark,"aria-label":d(()=>t.store.bookmarkedPages.value.has(t.store.currentPage.value)?e.value.removeBookmark||"Remove bookmark":e.value.bookmark||"Bookmark page"),title:d(()=>t.store.bookmarkedPages.value.has(t.store.currentPage.value)?e.value.removeBookmark||"Remove bookmark":e.value.bookmark||"Bookmark page"),"aria-pressed":d(()=>t.store.bookmarkedPages.value.has(t.store.currentPage.value)?"true":"false"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("path",{d:"M5 4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v18l-7-4-7 4V4z"})})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--notes ${t.store.showNotes.value?"active":""} ${t.store.pageNotes.value.has(t.store.currentPage.value)||t.store.annotations.value.some(n=>n.pageIndex===t.store.currentPage.value)?"bk-has-page-note":""}`),onClick:t.onToggleNotes,"aria-label":d(()=>`${e.value.myNotes} (${t.store.pageNotes.value.size+t.store.annotations.value.length})`),title:d(()=>e.value.myNotes),"aria-pressed":d(()=>t.store.showNotes.value?"true":"false"),children:[h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),h("polyline",{points:"14 2 14 8 20 8"}),h("line",{x1:"8",y1:"13",x2:"16",y2:"13"}),h("line",{x1:"8",y1:"17",x2:"14",y2:"17"})]}),h("span",{class:"bk-notes-count","aria-hidden":"true",children:d(()=>t.store.pageNotes.value.size+t.store.annotations.value.length||"")})]}),d(()=>t.store.allowDownload.value&&t.store.hasDownloadUrl.value&&t.onDownload?h("button",{type:"button",class:"bk-btn bk-btn--download",onClick:t.onDownload,"aria-label":d(()=>e.value.downloadCatalog||"Download"),title:d(()=>e.value.downloadCatalog||"Download"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),h("polyline",{points:"7 10 12 15 17 10"}),h("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})}):null),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--sound ${t.store.soundEnabled.value?"":"muted"}`),onClick:t.onSoundToggle,"aria-label":"Sound","aria-pressed":d(()=>t.store.soundEnabled.value?"true":"false"),title:"Sound",children:d(()=>t.store.soundEnabled.value?h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),h("path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07"}),h("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14"})]}):h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),h("line",{x1:"23",y1:"9",x2:"17",y2:"15"}),h("line",{x1:"17",y1:"9",x2:"23",y2:"15"})]}))}),Gt({registry:t.pluginRegistry,placement:"end"})]})]});return nn(i,e,t.store),i}function an(t){return h("div",{class:"bk-thumbs",style:d(()=>t.store.showThumbs.value?"display:flex;":"display:none;"),children:t.store.pages.value.map((e,i)=>{const n=()=>{const a=t.store.currentPage.value;if(t.store.isSingleMode.value||a===0||a>=t.store.pages.value.length-1)return a===i;const r=a%2===1?a:a-1;return i===r||i===r+1};return h("div",{class:d(()=>`thumb-item ${n()?"active":""}`),role:"button",tabindex:"0","aria-label":`Go to page ${i+1}`,"aria-current":d(()=>n()?"page":void 0),onClick:()=>t.onThumbClick(i),onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),t.onThumbClick(i))},children:h("div",{class:"thumb-img-wrapper",children:[h("img",{"data-pdf-page":e.assetId.startsWith("pdf-page-")?e.sourcePageNumber??e.pageNumber:void 0,class:`thumb-img ${e.cropMode!=="full"?"thumb-img--split thumb-img--"+e.cropMode:""}`,src:e.thumb||e.low||e.normal,alt:`Page ${i+1}`,loading:"lazy",onError:a=>{a.currentTarget.style.display="none"}}),h("span",{class:"thumb-page-number",children:i+1})]})})})})}function jt(t,e,i){return h("ol",{class:"bk-toc-list",children:t.map(n=>{var a;return h("li",{class:"bk-toc-item",children:[h("button",{type:"button",class:d(()=>e.currentPage.value===n.pageIndex?"bk-toc-entry active":"bk-toc-entry"),"aria-current":d(()=>e.currentPage.value===n.pageIndex?"page":void 0),onClick:()=>i(n.pageIndex),children:[h("span",{class:"bk-toc-title",children:n.title}),h("span",{class:"bk-toc-page",children:n.pageIndex+1})]}),(a=n.children)!=null&&a.length?jt(n.children,e,i):null]})})})}function on(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value}));return h("nav",{class:"bk-toc",onKeyDown:i=>{var n;i.key==="Escape"&&((n=t.onClose)==null||n.call(t))},"aria-label":d(()=>e.value.tableOfContents||"Table of Contents"),style:d(()=>t.store.showToc.value&&t.store.toc.value.length?"display:flex;":"display:none;"),children:[h("div",{class:"bk-search-heading-row",children:[h("div",{class:"bk-toc-heading",children:d(()=>e.value.tableOfContents||"Table of Contents")}),h("button",{type:"button",class:"bk-search-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeContents),children:"×"})]}),jt(t.store.toc.value,t.store,t.onEntryClick)]})}function Vt(t){const e=document.createElement("div");e.className="bk-note-editor-host";let i,n;t.onReady(!1);const a=()=>{var r;n==null||n.disconnect(),i&&!t.signal.aborted&&((r=t.onDraft)==null||r.call(t,i.getValue())),i==null||i.destroy(),i=void 0,t.view.current=null};return t.signal.addEventListener("abort",a,{once:!0}),queueMicrotask(async()=>{var r;if(!(t.signal.aborted||!e.isConnected)){if(t.factory)try{i=await t.factory(e,t.value,t.signal)}catch{e.textContent=t.label,t.onReady(!1);return}else{const l=document.createElement("textarea");l.className="bk-notes-input",l.rows=4,l.maxLength=4e3,l.setAttribute("aria-label",t.label),l.placeholder=t.label,l.value=t.value.text,e.append(l),i={getValue:()=>({text:l.value}),setReadOnly:c=>l.disabled=c,destroy:()=>l.remove()}}if(t.signal.aborted||!e.isConnected){a();return}t.view.current=i,t.onReady(!0),n=new e.ownerDocument.defaultView.MutationObserver(()=>{e.isConnected||a()}),n.observe(e.ownerDocument.body,{childList:!0,subtree:!0}),(r=e.querySelector('[contenteditable="true"],textarea'))==null||r.focus()}}),e}function Xt(t,e){const i=document.createElement("div");if(i.className="bk-note-document",!t)return i.textContent=e,i;let n=512;const a=(r,l=0)=>{if(l>8||n--<=0)return document.createTextNode("");if(r.type==="text"){let g=document.createTextNode(r.text??"");for(const m of(r.marks??[]).slice(0,3)){const y=document.createElement(m.type==="bold"?"strong":m.type==="italic"?"em":"span");if(m.type==="textStyle")for(const[S,v]of Object.entries(m.attrs??{}))v&&(S==="fontSize"&&/^(12|14|16|18|20|24|28|32)px$/.test(v)&&(y.style.fontSize=v),(S==="color"||S==="backgroundColor")&&/^#[0-9a-f]{6}$/i.test(v)&&(y.style[S]=v));y.append(g),g=y}return g}const c=document.createElement(r.type==="hardBreak"?"br":r.type==="paragraph"?"p":"div");for(const g of r.content??[]){if(n<=0)break;c.append(a(g,l+1))}return c};return i.append(a(t)),i}function rn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=A({page:-1,text:""}),n=A(null),a={current:null},r=A(!1),l=new Map,c=new Set,g=d(()=>t.store.pageNotes.value.get(t.store.currentPage.value)??""),m=d(()=>i.value.page===t.store.currentPage.value?i.value.text:g.value),y=d(()=>n.value===t.store.currentPage.value||!g.value),S=()=>{i.value={page:t.store.currentPage.value,text:g.value},n.value=t.store.currentPage.value},v=async()=>{var E,R,H;const b=t.store.currentPage.value,x=(E=a.current)==null?void 0:E.getValue();x&&(c.add(b),(R=a.current)==null||R.setReadOnly(!0),await t.onSave(x.text,x.document)&&t.store.currentPage.value===b&&(l.delete(b),n.value=null),(H=a.current)==null||H.setReadOnly(!1),c.delete(b))},w=async()=>{const b=t.store.currentPage.value;c.add(b),l.delete(b),await t.onClear()&&(i.value={page:b,text:""},t.store.currentPage.value===b&&(n.value=b)),c.delete(b)};return h("aside",{class:"bk-notes-panel",style:d(()=>t.store.showNotes.value?"display:flex;":"display:none;"),"aria-label":d(()=>e.value.myNotes),onKeyDown:b=>{b.key==="Escape"&&(b.stopPropagation(),t.onClose())},children:[h("div",{class:"bk-notes-heading-row",children:[h("div",{class:"bk-notes-heading",children:[d(()=>e.value.myNotes)," ",h("span",{class:"bk-note-total",children:d(()=>t.store.pageNotes.value.size+t.store.annotations.value.length)})]}),h("button",{type:"button",class:"bk-notes-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeNote),children:"×"})]}),h("p",{class:"bk-note-privacy",children:d(()=>e.value.privateNotes)}),h("div",{class:"bk-note-tabs",role:"group","aria-label":d(()=>e.value.myNotes),children:[h("button",{type:"button","aria-pressed":d(()=>t.store.notesView.value==="all"?"true":"false"),onClick:()=>t.store.notesView.value="all",children:d(()=>e.value.allNotes)}),h("button",{type:"button","aria-pressed":d(()=>t.store.notesView.value==="page"?"true":"false"),onClick:()=>t.store.notesView.value="page",children:d(()=>`${e.value.currentPage} · ${t.store.currentPage.value+1}`)})]}),h("button",{type:"button",class:"bk-add-annotation",style:d(()=>t.store.canAnnotate.value?"display:block;":"display:none;"),onClick:t.onAdd,children:d(()=>e.value.addNote)}),h("div",{class:"bk-note-list",style:d(()=>t.store.notesView.value==="all"?"display:flex;":"display:none;"),children:d(()=>{const b=[...t.store.pageNotes.value].map(([x,E])=>({id:`page-${x}`,pageIndex:x,text:E,annotation:void 0}));return b.push(...t.store.annotations.value.map(x=>({...x,annotation:x}))),b.sort((x,E)=>x.pageIndex-E.pageIndex||x.id.localeCompare(E.id)),b.length?h("div",{class:"bk-note-list-items",children:b.map(x=>h("button",{type:"button",class:"bk-note-list-item",onClick:()=>x.annotation?t.onAnnotation(x.annotation):t.onSelect(x.pageIndex),children:[h("strong",{children:[e.value.page," ",x.pageIndex+1]}),h("span",{children:x.text})]}))}):h("p",{class:"bk-note-empty",children:e.value.noNotes})})}),h("div",{class:"bk-current-note",style:d(()=>t.store.notesView.value==="page"?"display:block;":"display:none;"),children:d(()=>!t.store.showNotes.value||t.store.notesView.value!=="page"?null:g.value&&!y.value?h("div",{class:"bk-note-saved",children:[h("div",{class:"bk-note-content",children:Xt(t.store.pageNoteDocuments.value.get(t.store.currentPage.value),g.value)}),h("div",{class:"bk-note-actions",children:[h("button",{type:"button",class:"bk-note-badge bk-note-badge--edit",onClick:S,disabled:t.store.notesSaving,children:d(()=>e.value.editNote)}),h("button",{type:"button",class:"bk-note-badge bk-note-badge--delete",onClick:w,disabled:t.store.notesSaving,children:d(()=>e.value.deleteNote)})]})]}):h("div",{class:"bk-notes-editor",children:[h(Vt,{value:l.get(t.store.currentPage.value)??{text:m.value,document:t.store.pageNoteDocuments.value.get(t.store.currentPage.value)},factory:t.store.noteEditor.value,signal:t.signal,label:e.value.notes,view:a,onReady:b=>r.value=b,onDraft:(b=>x=>{c.has(b)||l.set(b,x)})(t.store.currentPage.value)}),h("div",{class:"bk-notes-actions",children:[h("button",{type:"button",class:"bk-notes-clear",onClick:w,disabled:t.store.notesSaving,children:d(()=>e.value.clearNote)}),h("button",{type:"button",class:"bk-notes-save",onClick:v,disabled:d(()=>t.store.notesSaving.value||!r.value),children:d(()=>e.value.saveNote)})]})]}))}),h("div",{role:"status","aria-live":"polite",children:d(()=>t.store.notesSaving.value?e.value.saving:t.store.notesFailed.value?e.value.noteFailed:"")})]})}function ln(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=d(()=>t.store.pendingAnnotation.value??t.store.annotations.value.find(g=>g.id===t.store.activeAnnotationId.value)),n=new Map,a=A(null),r=A(null),l={current:null},c=A(!1);return h("aside",{class:"bk-note-popover",role:"dialog","aria-label":d(()=>e.value.notes),style:d(()=>t.store.canAnnotate.value&&i.value?"display:flex;":"display:none;"),onKeyDown:g=>{g.key==="Escape"&&(g.stopPropagation(),t.onClose())},children:[d(()=>{const g=i.value;if(!g)return null;const m=!!t.store.pendingAnnotation.value||a.value===g.id;return h(Te,{children:[h("div",{class:"bk-notes-heading-row",children:[h("strong",{children:[e.value.notes," · ",e.value.page," ",g.pageIndex+1]}),h("button",{type:"button",class:"bk-notes-close",onClick:t.onClose,"aria-label":e.value.closeNote,children:"×"})]}),m?h(Te,{children:[h(Vt,{value:n.get(g.id)??{text:g.text,document:g.document},factory:t.store.noteEditor.value,signal:t.signal,label:e.value.notes,view:l,onReady:y=>c.value=y,onDraft:y=>n.set(g.id,y)}),h("div",{class:"bk-notes-actions",children:[h("button",{type:"button",onClick:t.onClose,children:e.value.cancel}),h("button",{type:"button",class:"bk-notes-save",disabled:d(()=>t.store.notesSaving.value||!c.value),onClick:async()=>{var S,v,w;const y=(S=l.current)==null?void 0:S.getValue();y&&(n.set(g.id,y),(v=l.current)==null||v.setReadOnly(!0),await t.onSave({...g,...y})&&(a.value=null,n.delete(g.id)),(w=l.current)==null||w.setReadOnly(!1))},children:e.value.saveNote})]})]}):h(Te,{children:[Xt(g.document,g.text),r.value===g.id?h("div",{class:"bk-notes-actions",children:[h("span",{children:e.value.confirmDeleteNote}),h("button",{type:"button",onClick:()=>r.value=null,children:e.value.cancel}),h("button",{type:"button",disabled:t.store.notesSaving,onClick:()=>t.onDelete(g),children:e.value.deleteNote})]}):h("div",{class:"bk-notes-actions",children:[h("button",{type:"button",onClick:()=>a.value=g.id,children:e.value.editNote}),h("button",{type:"button",onClick:()=>r.value=g.id,children:e.value.deleteNote})]})]})]})}),h("div",{role:"status","aria-live":"polite",children:d(()=>t.store.notesSaving.value?e.value.saving:t.store.notesFailed.value?e.value.noteFailed:"")})]})}function hn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value}));return h("div",{class:"bk-note-placement-hint",style:d(()=>t.store.placingNote.value?"display:flex;":"display:none;"),role:"status",children:[h("span",{children:d(()=>e.value.placeNote)}),h("button",{type:"button",onClick:i=>{var n,a;t.store.placingNote.value=!1,(a=(n=i.currentTarget.closest(".bk-wrapper"))==null?void 0:n.querySelector(".bk-btn--notes"))==null||a.focus()},children:[d(()=>e.value.cancel)," (Esc)"]})]})}function Je(t,e){var a;const i=((a=t.ownerDocument.defaultView)==null?void 0:a.AbortController)??AbortController,n=new i;return e.aborted?n.abort():e.addEventListener("abort",()=>n.abort(),{once:!0}),n.signal}function cn(t,e,i,n){n=Je(t,n),t.setAttribute("aria-keyshortcuts","ArrowLeft ArrowRight Home End + - 0 n Shift+n / i t f Escape");let a=null,r=!1;const l=Z(()=>{const c=e.showNotes.value||e.showSearch.value||e.showToc.value||!!e.pendingAnnotation.value||!!e.activeAnnotationId.value;c&&!r&&(a=t.ownerDocument.activeElement),c?queueMicrotask(()=>{if(n.aborted)return;const g=e.pendingAnnotation.value||e.activeAnnotationId.value?".bk-note-popover":e.showSearch.value?".bk-search-panel":e.showNotes.value?".bk-notes-panel":".bk-toc",m=t.querySelector(g),y=(m==null?void 0:m.querySelector('textarea:not([disabled]),input:not([disabled]),[contenteditable="true"]'))??(m==null?void 0:m.querySelector("button"));y&&(m!=null&&m.getBoundingClientRect().width)&&y.focus()}):r&&queueMicrotask(()=>{!n.aborted&&(a!=null&&a.isConnected)&&a.focus()}),r=c});n.addEventListener("abort",l,{once:!0}),t.addEventListener("keydown",c=>{var y,S,v,w,b,x;if(c.defaultPrevented||c.ctrlKey||c.metaKey||c.altKey||c.isComposing||c.target.closest("dialog"))return;if(c.key==="Escape"){c.preventDefault(),e.textSelection.value=!1,e.placingNote.value=!1,e.showNotes.value=!1,e.showSearch.value=!1,e.showToc.value=!1,i.onAnnotationClose(),(y=t.querySelector(".bk-btn--notes"))==null||y.focus();return}if(c.target.closest('input,textarea,select,[contenteditable="true"],dialog'))return;if(c.key==="?"){c.preventDefault(),Ut(t,e);return}if(c.target.closest(".bk-toolbar")&&["ArrowLeft","ArrowRight","Home","End"].includes(c.key)){const E=[...t.querySelectorAll(".bk-toolbar button,.bk-toolbar summary")].filter(k=>k.getBoundingClientRect().width>0),R=E.indexOf(c.target),H=c.key==="Home"?0:c.key==="End"?E.length-1:(R+(c.key==="ArrowRight"?1:-1)+E.length)%E.length;(S=E[H])==null||S.focus(),c.preventDefault();return}const g=e.showNotes.value||e.showSearch.value||e.showToc.value||!!e.pendingAnnotation.value||!!e.activeAnnotationId.value,m=c.key.toLowerCase();if(!(e.textSelection.value&&c.shiftKey&&["arrowleft","arrowright","arrowup","arrowdown","home","end"].includes(m))){if(m==="n"){c.preventDefault(),c.shiftKey||!e.canAnnotate.value?i.onToggleNotes():i.onBeginAnnotation();return}if(!(g||e.placingNote.value)){switch(m){case"arrowleft":case"pageup":(v=i.pageFlipAdapterRef.current)==null||v.turnToPrevPage();break;case"arrowright":case"pagedown":(w=i.pageFlipAdapterRef.current)==null||w.turnToNextPage();break;case"home":e.currentPage.value=0;break;case"end":e.currentPage.value=Math.max(0,e.totalPages.value-1);break;case"+":case"=":(b=i.interactionManagerRef.current)==null||b.zoomIn();break;case"-":(x=i.interactionManagerRef.current)==null||x.zoomOut();break;case"0":e.zoomState.value={...e.zoomState.value,scale:1,isActive:!1,translateX:0,translateY:0};break;case"/":e.searchAvailable.value&&(e.showSearch.value=!0);break;case"i":e.showToc.value=!0;break;case"t":e.showThumbs.value=!e.showThumbs.value;break;case"f":i.onToggleFullscreen();break;default:return}c.preventDefault()}}},{signal:n})}function un(t,e){const i=Je(t,e),n=()=>{const g=t.parentElement;if(g!=null&&g.clientWidth)for(const m of t.querySelectorAll("[data-text-width]")){const y=m.scrollWidth;y&&(m.style.transform=`scaleX(${Number(m.dataset.textWidth)*g.clientWidth/y})`)}},a=t.ownerDocument.defaultView,r=a!=null&&a.ResizeObserver?new a.ResizeObserver(n):null;queueMicrotask(()=>{!i.aborted&&t.isConnected&&(r==null||r.observe(t.parentElement),n())});const l=a?new a.MutationObserver(()=>{t.isConnected||c()}):null,c=()=>{r==null||r.disconnect(),l==null||l.disconnect(),i.removeEventListener("abort",c)};l==null||l.observe(t.ownerDocument.documentElement,{childList:!0,subtree:!0}),i.addEventListener("abort",c,{once:!0})}function Zt(t){const e=i=>{t.store.textSelection.value&&i.stopPropagation()};return h("div",{class:d(()=>"bk-text-layer"+(t.store.textSelection.value?" is-selectable":"")),"aria-hidden":d(()=>t.store.textSelection.value?"false":"true"),onPointerDown:e,onPointerMove:e,onPointerUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchStart:e,onTouchMove:e,onTouchEnd:e,onClick:e,onContextMenu:e,children:d(()=>{const i=t.store.textPages.value.get(t.pageIndex);return i!=null&&i.runs.length?h("div",{ref:n=>un(n,t.signal),children:i.runs.map(n=>h("span",{dir:n.direction??"ltr","data-text-start":n.start,"data-text-width":n.width,style:`left:${n.x*100}%;top:${n.y*100}%;width:max-content;height:${n.height*100}%;font-size:${n.height*100}cqh;transform-origin:left top;`,children:n.text}))}):null})})}function dn(t,e){return t.type==="image"?h("img",{class:"bk-hotspot-media-image",src:t.src,alt:t.alt||"",loading:"lazy"}):t.type==="video"?h("video",{class:"bk-hotspot-media-video",controls:!0,preload:"metadata",poster:t.poster,"aria-label":t.alt||e,children:h("source",{src:t.src})}):h("audio",{class:"bk-hotspot-media-audio",controls:!0,preload:"metadata","aria-label":t.alt||e,children:h("source",{src:t.src})})}function W(t){t.stopPropagation()}function gn(t){const e=i=>Math.max(0,Math.min(1,i))*100;return"left:"+e(t.x)+"%;top:"+e(t.y)+"%;width:"+e(t.width)+"%;height:"+e(t.height)+"%;"}function Yt(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=d(()=>t.store.hotspots.value.filter(r=>r.pageIndex===t.pageIndex)),n=d(()=>t.store.annotations.value.filter(r=>r.pageIndex===t.pageIndex)),a=A(0);return h("div",{class:"bk-hotspot-layer",children:[i.value.map(r=>h("button",{type:"button",class:"bk-hotspot",style:gn(r),"aria-label":r.label,onClick:()=>{a.value=0,t.onActivate(r)},children:h("span",{class:"bk-hotspot-label",children:r.label})})),d(()=>h("div",{class:"bk-annotation-markers",children:n.value.map(r=>h("button",{type:"button","data-annotation-id":r.id,class:d(()=>"bk-annotation-marker"+(t.store.activeAnnotationId.value===r.id?" active":"")),style:"left:"+Math.max(0,Math.min(1,r.x))*100+"%;top:"+Math.max(0,Math.min(1,r.y))*100+"%;","aria-label":r.text,onPointerDown:W,onTouchStart:W,onMouseDown:W,onClick:l=>{l.stopPropagation(),t.onAnnotationActivate(r)},children:"●"}))})),d(()=>{const r=t.store.hotspots.value.find(m=>m.id===t.store.activeHotspotId.value&&m.pageIndex===t.pageIndex);if(!r)return null;const l=r.gallery||[],c=l.length?Math.min(a.value,l.length-1):0,g=l[c];return h("div",{class:"bk-hotspot-popup",onPointerDown:W,onPointerMove:W,onPointerUp:W,onPointerCancel:W,onTouchStart:W,onTouchMove:W,onTouchEnd:W,onMouseDown:W,role:"dialog","aria-label":r.label,children:[h("div",{class:"bk-hotspot-popup-heading",children:[h("strong",{children:r.label}),h("button",{type:"button",class:"bk-hotspot-popup-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeHotspot||"Close popup"),children:"×"})]}),r.content?h("p",{children:r.content}):null,r.media?h("div",{class:"bk-hotspot-popup-media",children:dn(r.media,r.label)}):null,g?h("div",{class:"bk-hotspot-gallery","aria-label":r.label+" gallery",children:[h("div",{class:"bk-hotspot-gallery-thumbs",children:l.map((m,y)=>h("button",{type:"button",class:d(()=>"bk-hotspot-gallery-thumb"+(y===c?" is-selected":"")),onClick:()=>{a.value=y},"aria-label":m.alt||"Gallery image "+(y+1),"aria-pressed":d(()=>y===c?"true":"false"),children:h("img",{src:m.src,alt:m.alt||"",loading:"lazy"})}))}),g.href?h("a",{href:g.href,target:g.target||"_blank",rel:"noopener noreferrer",children:h("img",{class:"bk-hotspot-gallery-selected",src:g.src,alt:g.alt||""})}):h("img",{class:"bk-hotspot-gallery-selected",src:g.src,alt:g.alt||""})]}):null,r.href?h("a",{class:"bk-hotspot-link",href:r.href,target:r.target||"_blank",rel:"noopener noreferrer",children:r.kind==="commerce"?r.label:r.href}):null]})}),d(()=>{if(t.store.canAnnotate.value)return null;const r=t.store.annotations.value.find(l=>l.id===t.store.activeAnnotationId.value&&l.pageIndex===t.pageIndex);return r?h("div",{class:"bk-annotation-popup",onPointerDown:W,onPointerMove:W,onPointerUp:W,onPointerCancel:W,onTouchStart:W,onTouchMove:W,onTouchEnd:W,onMouseDown:W,role:"dialog","aria-label":d(()=>e.value.annotation||"Page annotation"),children:[h("div",{class:"bk-hotspot-popup-heading",children:[h("strong",{children:d(()=>e.value.annotation||"Page annotation")}),h("button",{type:"button",class:"bk-hotspot-popup-close",onClick:t.onAnnotationClose,"aria-label":"Close",children:"×"})]}),h("p",{children:r.text})]}):null})]})}const Qt='button,a,input,textarea,select,[contenteditable="true"],.bk-hotspot-popup',se=t=>t.stopPropagation();function Kt(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value}));return h("button",{type:"button",class:"bk-note-placement-layer","aria-label":d(()=>e.value.placeNote),style:d(()=>t.store.placingNote.value?"display:block;":"display:none;"),onPointerDown:se,onPointerMove:se,onPointerUp:se,onTouchStart:se,onTouchMove:se,onTouchEnd:se,onMouseDown:se,onClick:i=>{i.preventDefault(),i.stopPropagation();const n=i.currentTarget.getBoundingClientRect();t.onPlace(t.pageIndex,i.detail===0?.5:(i.clientX-n.left)/n.width,i.detail===0?.5:(i.clientY-n.top)/n.height)}})}function fn(t,e,i,n){n=Je(t,n);let a,r=!1,l=0,c=0,g=0;const m=()=>{clearTimeout(a),a=void 0},y=v=>v==null?void 0:v.closest(".bz-page-content,.bk-single-page"),S=(v,w,b)=>{const x=y(v),E=x==null?void 0:x.closest("[data-idx]");if(!x||!E||!e.canAnnotate.value)return;const R=x.getBoundingClientRect();!R.width||!R.height||(e.placingNote.value=!0,i(Number(E.dataset.idx),(w-R.left)/R.width,(b-R.top)/R.height))};t.addEventListener("pointerdown",v=>{if(m(),!(e.textSelection.value||!e.canAnnotate.value||e.placingNote.value||v.target.closest(Qt))){if(v.button===2){v.stopPropagation();return}v.pointerType==="mouse"||!v.isPrimary||(l=v.clientX,c=v.clientY,r=!1,a=setTimeout(()=>{r=!0,g=Date.now()+1e3,S(v.target,l,c)},550))}},{capture:!0,signal:n}),t.addEventListener("pointermove",v=>{Math.hypot(v.clientX-l,v.clientY-c)>10&&m()},{capture:!0,signal:n}),t.addEventListener("pointerup",v=>{m(),r&&(v.preventDefault(),v.stopImmediatePropagation(),r=!1)},{capture:!0,signal:n}),t.addEventListener("click",v=>{Date.now()<g&&(v.preventDefault(),v.stopImmediatePropagation())},{capture:!0,signal:n}),t.addEventListener("touchend",v=>{Date.now()<g&&(v.preventDefault(),v.stopImmediatePropagation())},{capture:!0,passive:!1,signal:n}),t.addEventListener("pointercancel",()=>{m(),r=!1},{capture:!0,signal:n}),t.addEventListener("contextmenu",v=>{e.textSelection.value||!e.canAnnotate.value||v.target.closest(Qt)||(v.preventDefault(),v.stopPropagation(),m(),r||S(v.target,v.clientX,v.clientY))},{capture:!0,signal:n}),n.addEventListener("abort",m,{once:!0})}function Jt(t){const e=d(()=>t.store.searchResults.value.filter(i=>i.pageIndex===t.pageIndex).flatMap(i=>i.highlights??[]));return h("div",{class:"bk-search-highlight-layer","aria-hidden":"true",children:d(()=>h("div",{class:"bk-search-highlight-items",children:e.value.map(i=>h("span",{class:"bk-search-text-highlight",style:"left:"+i.x*100+"%;top:"+i.y*100+"%;width:"+i.width*100+"%;height:"+i.height*100+"%;"}))}))})}function pn(t){return h("div",{role:"region","aria-label":"Flipbook viewer",class:d(()=>{let e="bk-book-wrapper ";return t.store.isSingleMode.value&&(e+="single-mode "),t.store.isDoublePageLayout.value&&(e+="double-mode "),t.store.isFrontCover.value&&(e+="bk-is-cover "),t.store.isBackCover.value&&(e+="bk-is-back-cover "),t.store.zoomState.value.isActive&&(e+="zoomed "),e.trim()}),ref:e=>{t.bookWrapperRef(e),fn(e,t.store,t.onPlaceAnnotation,t.signal)},children:h("div",{class:"bk-book-sizer",ref:t.bookSizerRef,children:[h("div",{ref:t.bookContainerRef,class:d(()=>"bk-book "+(t.store.flipState.value!=="read"?"is-flipping":"")),style:d(()=>`display: ${t.store.isSingleMode.value?"none":"block"};`),children:t.store.pages.value.map((e,i)=>{const n=i===0||i===t.store.pages.value.length-1;return h("div",{class:d(()=>`bz-page ${i===0?"bz-page--cover":""} ${i===t.store.pages.value.length-1?"bz-page--back":""}`),"data-density":n?"hard":"soft","data-idx":i,children:h("div",{class:"bz-page-content",style:"position:relative; width:100%; height:100%; overflow:hidden;",children:[h("img",{"data-pdf-page":e.assetId.startsWith("pdf-page-")?e.sourcePageNumber??e.pageNumber:void 0,src:e.low||e.normal,"data-src":e.normal,class:`page-content ${e.cropMode!=="full"?"page-content--split page-content--"+e.cropMode:""}`,alt:`Page ${i+1}`}),h(Zt,{store:t.store,pageIndex:i,signal:t.signal}),h(Jt,{store:t.store,pageIndex:i}),h(Yt,{store:t.store,pageIndex:i,onActivate:t.onHotspotActivate,onClose:t.onHotspotClose,onAnnotationActivate:t.onAnnotationActivate,onAnnotationClose:t.onAnnotationClose}),h("div",{class:"page-shadow"}),h(Kt,{store:t.store,pageIndex:i,onPlace:t.onPlaceAnnotation})]})})})}),h("div",{class:"bk-single-view",style:d(()=>`display: ${t.store.isSingleMode.value?"flex":"none"}; width: 100%; height: 100%; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; z-index: 10;`),children:d(()=>{const e=t.store.pages.value[t.store.currentPage.value];return e?h("div",{class:"bk-single-page","data-idx":t.store.currentPage.value,children:[h("img",{"data-pdf-page":e.assetId.startsWith("pdf-page-")?e.sourcePageNumber??e.pageNumber:void 0,class:d(()=>`bk-single-img page-content ${e.cropMode!=="full"?"page-content--split page-content--"+e.cropMode:""}`),src:t.store.zoomState.value.isActive?e.normal:e.low||e.normal,alt:`Page ${t.store.currentPage.value+1}`,style:"opacity: 1; transition: opacity 0.3s; box-shadow: var(--flipbook-shadow);"}),d(()=>t.store.isSingleMode.value?h(Te,{children:[h(Zt,{store:t.store,pageIndex:t.store.currentPage.value,signal:t.signal}),h(Jt,{store:t.store,pageIndex:t.store.currentPage.value}),h(Yt,{store:t.store,pageIndex:t.store.currentPage.value,onActivate:t.onHotspotActivate,onClose:t.onHotspotClose,onAnnotationActivate:t.onAnnotationActivate,onAnnotationClose:t.onAnnotationClose}),h(Kt,{store:t.store,pageIndex:t.store.currentPage.value,onPlace:t.onPlaceAnnotation})]}):null)]}):null})})]})})}function vn(t){const e=d(()=>t.store.showArrows.value&&t.store.currentPage.value>0),i=d(()=>!t.store.showArrows.value||t.store.totalPages.value<=1?!1:t.store.currentPage.value<t.store.totalPages.value-1);return h("div",{class:"bk-nav-arrows",style:d(()=>t.store.showArrows.value&&!t.store.showToc.value&&!t.store.showSearch.value&&!t.store.showNotes.value&&!t.store.placingNote.value&&!t.store.pendingAnnotation.value&&!t.store.activeAnnotationId.value?"display: flex;":"display: none;"),children:[h("button",{type:"button",class:"bk-nav-arrow bk-nav-prev",style:d(()=>e.value?"visibility: visible;":"visibility: hidden;"),onClick:n=>{n.preventDefault(),n.stopPropagation(),t.onPrevPage()},"aria-label":"Previous Page",children:h("div",{class:"bk-arrow-icon bk-arrow-left"})}),h("button",{type:"button",class:"bk-nav-arrow bk-nav-next",style:d(()=>i.value?"visibility: visible;":"visibility: hidden;"),onClick:n=>{n.preventDefault(),n.stopPropagation(),t.onNextPage()},"aria-label":"Next Page",children:h("div",{class:"bk-arrow-icon bk-arrow-right"})})]})}function mn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i={current:null},n=A(""),a=()=>{var c;const l=((c=i.current)==null?void 0:c.value)??n.value;n.value=l,t.onSearch(l)},r=()=>{i.current&&(i.current.value=""),n.value="",t.onClear()};return h("section",{class:"bk-search-panel",style:d(()=>t.store.showSearch.value?"display:flex;":"display:none;"),"aria-label":d(()=>e.value.search||"Search"),onKeyDown:l=>{l.key==="Escape"&&t.onClose()},children:[h("div",{class:"bk-search-heading-row",children:[h("strong",{class:"bk-search-heading",children:d(()=>e.value.search||"Search")}),h("button",{type:"button",class:"bk-search-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeSearch||"Close search"),children:"×"})]}),h("div",{class:"bk-search-form",children:[h("input",{ref:l=>{i.current=l},class:"bk-search-input",type:"search",placeholder:d(()=>e.value.searchPlaceholder||"Search PDF text"),value:d(()=>t.store.searchQuery.value),onInput:l=>{n.value=l.currentTarget.value},onKeyDown:l=>{l.key==="Enter"&&a()}}),h("button",{type:"button",class:"bk-search-submit",onClick:a,children:d(()=>e.value.search||"Search")}),h("button",{type:"button",class:"bk-search-clear",onClick:r,children:d(()=>e.value.clearSearch||"Clear")})]}),h("div",{class:"bk-search-results","aria-live":"polite",children:d(()=>{const l=t.store.searchResults.value;return t.store.searchBusy.value?h("div",{role:"status",children:e.value.searching}):t.store.searchFailed.value?h("div",{role:"alert",children:e.value.searchFailed}):t.store.searchQuery.value?l.length?h("div",{class:"bk-search-result-list",children:l.map(c=>h("button",{type:"button",class:"bk-search-result",onClick:()=>t.onSelect(c.pageIndex),children:[h("span",{class:"bk-search-result-page",children:c.pageNumber}),h("span",{class:"bk-search-result-text",children:c.snippet}),h("span",{class:"bk-search-result-count",children:c.matches})]}))}):h("div",{class:"bk-search-empty",children:e.value.noSearchResults||"No results"}):null})})]})}function bn(t){let e;const i=n=>{e==null||e(),e=void 0,n&&(e=t.panel.render(n)||void 0)};return h("section",{class:d(()=>`bk-plugin-panel ${t.registry.activePanelId.value===t.panelKey?"is-open":""}`),"aria-hidden":d(()=>t.registry.activePanelId.value===t.panelKey?"false":"true"),"aria-label":t.panel.title||t.panel.id,children:h("div",{class:"bk-plugin-panel-content",ref:i})})}function wn(t){const e=t.registry.getPanels();return h("div",{class:"bk-plugin-panels",children:e.map(i=>h(bn,{panel:i,panelKey:i.key,registry:t.registry}))})}function yn(t){const e=()=>{t.store.showThumbs.value=!t.store.showThumbs.value},i=()=>{t.store.showSearch.value=!1,t.store.showNotes.value=!1,t.store.showToc.value=!t.store.showToc.value},n=()=>{t.store.showToc.value=!1,t.store.showSearch.value=!1,t.onToggleNotes()},a=()=>{t.store.isSingleMode.value=!t.store.isSingleMode.value},r=()=>{t.store.isAutoPlaying.value=!t.store.isAutoPlaying.value},l=()=>{var w;(w=t.interactionManagerRef.current)==null||w.zoomIn()},c=()=>{var w;(w=t.interactionManagerRef.current)==null||w.zoomOut()},g=()=>t.onToggleFullscreen(),m=w=>{t.store.currentPage.value=w,t.store.showToc.value=!1},y=w=>{var b;t.store.currentPage.value!==w&&(t.store.currentPage.value=w,(b=t.pageFlipAdapterRef.current)==null||b.playSound())},S=()=>{var w;(w=t.pageFlipAdapterRef.current)==null||w.turnToNextPage()},v=()=>{var w;(w=t.pageFlipAdapterRef.current)==null||w.turnToPrevPage()};return h("div",{class:d(()=>`bk-wrapper bk-theme-${t.store.themeMode.value} ${t.className||""}`),tabIndex:0,ref:w=>cn(w,t.store,t,t.signal),children:[h("div",{class:"bk-main-area",children:[h(pn,{store:t.store,bookWrapperRef:t.bookWrapperRef,bookSizerRef:t.bookSizerRef,bookContainerRef:t.bookContainerRef,onHotspotActivate:t.onHotspotActivate,onHotspotClose:t.onHotspotClose,onAnnotationActivate:t.onAnnotationActivate,onAnnotationClose:t.onAnnotationClose,onPlaceAnnotation:t.onPlaceAnnotation,signal:t.signal}),h(vn,{store:t.store,onPrevPage:v,onNextPage:S}),t.store.whiteLabel.value?null:h("div",{class:"bk-watermark",children:["Powered by ",h("a",{href:"https://flipbookengine.com",target:"_blank",rel:"noopener",style:"text-decoration: underline;",children:"FlipbookEngine"})]}),h(on,{store:t.store,onEntryClick:m,onClose:()=>t.store.showToc.value=!1}),h(mn,{store:t.store,onSearch:t.onSearch,onClear:t.onClearSearch,onClose:t.onCloseSearch,onSelect:t.onSelectSearchResult}),h(rn,{store:t.store,signal:t.signal,onSelect:t.onSelectNote,onAnnotation:t.onAnnotationActivate,onAdd:t.onBeginAnnotation,onSave:t.onSaveNote,onClear:t.onClearNote,onClose:t.onCloseNotes}),h(ln,{store:t.store,signal:t.signal,onSave:t.onSaveAnnotation,onDelete:t.onDeleteAnnotation,onClose:t.onAnnotationClose}),h(hn,{store:t.store}),t.pluginRegistry?h(wn,{registry:t.pluginRegistry}):null]}),h(sn,{store:t.store,onToggleThumbs:e,onToggleToc:i,onToggleSearch:()=>{t.store.showToc.value=!1,t.store.showNotes.value=!1,t.store.showSearch.value=!t.store.showSearch.value},onToggleSingleMode:a,onZoomIn:l,onZoomOut:c,onDownload:t.onDownload,onShare:t.onShare,onToggleBookmark:t.onToggleBookmark,onToggleNotes:n,onNextPage:S,onPrevPage:v,onSoundToggle:()=>t.store.soundEnabled.value=!t.store.soundEnabled.value,onToggleAutoPlay:r,onToggleFullscreen:g,pluginRegistry:t.pluginRegistry}),h(an,{store:t.store,onThumbClick:y})]})}var Pn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},et={exports:{}};(function(t,e){(function(i,n){n(e)})(Pn,function(i){class n{constructor(s,o){this.state={angle:0,area:[],position:{x:0,y:0},hardAngle:0,hardDrawingAngle:0},this.createdDensity=o,this.nowDrawingDensity=this.createdDensity,this.render=s}setDensity(s){this.createdDensity=s,this.nowDrawingDensity=s}setDrawingDensity(s){this.nowDrawingDensity=s}setPosition(s){this.state.position=s}setAngle(s){this.state.angle=s}setArea(s){this.state.area=s}setHardDrawingAngle(s){this.state.hardDrawingAngle=s}setHardAngle(s){this.state.hardAngle=s,this.state.hardDrawingAngle=s}setOrientation(s){this.orientation=s}getDrawingDensity(){return this.nowDrawingDensity}getDensity(){return this.createdDensity}getHardAngle(){return this.state.hardAngle}}class a extends n{constructor(s,o,u){super(s,u),this.image=null,this.isLoad=!1,this.loadingAngle=0,this.image=new Image,this.image.src=o}draw(s){const o=this.render.getContext(),u=this.render.convertToGlobal(this.state.position),f=this.render.getRect().pageWidth,p=this.render.getRect().height;o.save(),o.translate(u.x,u.y),o.beginPath();for(let P of this.state.area)P!==null&&(P=this.render.convertToGlobal(P),o.lineTo(P.x-u.x,P.y-u.y));o.rotate(this.state.angle),o.clip(),this.isLoad?o.drawImage(this.image,0,0,f,p):this.drawLoader(o,{x:0,y:0},f,p),o.restore()}simpleDraw(s){const o=this.render.getRect(),u=this.render.getContext(),f=o.pageWidth,p=o.height,P=s===1?o.left+o.pageWidth:o.left,T=o.top;this.isLoad?u.drawImage(this.image,P,T,f,p):this.drawLoader(u,{x:P,y:T},f,p)}drawLoader(s,o,u,f){s.beginPath(),s.strokeStyle="rgb(200, 200, 200)",s.fillStyle="rgb(255, 255, 255)",s.lineWidth=1,s.rect(o.x+1,o.y+1,u-1,f-1),s.stroke(),s.fill();const p={x:o.x+u/2,y:o.y+f/2};s.beginPath(),s.lineWidth=10,s.arc(p.x,p.y,20,this.loadingAngle,3*Math.PI/2+this.loadingAngle),s.stroke(),s.closePath(),this.loadingAngle+=.07,this.loadingAngle>=2*Math.PI&&(this.loadingAngle=0)}load(){this.isLoad||(this.image.onload=()=>{this.isLoad=!0})}newTemporaryCopy(){return this}getTemporaryCopy(){return this}hideTemporaryCopy(){}}class r{constructor(s,o){this.pages=[],this.currentPageIndex=0,this.currentSpreadIndex=0,this.landscapeSpread=[],this.portraitSpread=[],this.render=o,this.app=s,this.currentPageIndex=0,this.isShowCover=this.app.getSettings().showCover}destroy(){this.pages=[]}createSpread(){this.landscapeSpread=[],this.portraitSpread=[];for(let o=0;o<this.pages.length;o++)this.portraitSpread.push([o]);let s=0;this.isShowCover&&(this.pages[0].setDensity("hard"),this.landscapeSpread.push([s]),s++);for(let o=s;o<this.pages.length;o+=2)o<this.pages.length-1?this.landscapeSpread.push([o,o+1]):(this.landscapeSpread.push([o]),this.pages[o].setDensity("hard"))}getSpread(){return this.render.getOrientation()==="landscape"?this.landscapeSpread:this.portraitSpread}getSpreadIndexByPage(s){const o=this.getSpread();for(let u=0;u<o.length;u++)if(s===o[u][0]||s===o[u][1])return u;return null}getPageCount(){return this.pages.length}getPages(){return this.pages}getPage(s){if(s>=0&&s<this.pages.length)return this.pages[s];throw new Error("Invalid page number")}nextBy(s){const o=this.pages.indexOf(s);return o<this.pages.length-1?this.pages[o+1]:null}prevBy(s){const o=this.pages.indexOf(s);return o>0?this.pages[o-1]:null}getFlippingPage(s){const o=this.currentSpreadIndex;if(this.render.getOrientation()==="portrait")return s===0?this.pages[o].newTemporaryCopy():this.pages[o-1];{const u=s===0?this.getSpread()[o+1]:this.getSpread()[o-1];return u.length===1||s===0?this.pages[u[0]]:this.pages[u[1]]}}getBottomPage(s){const o=this.currentSpreadIndex;if(this.render.getOrientation()==="portrait")return s===0?this.pages[o+1]:this.pages[o-1];{const u=s===0?this.getSpread()[o+1]:this.getSpread()[o-1];return u.length===1?this.pages[u[0]]:s===0?this.pages[u[1]]:this.pages[u[0]]}}showNext(){this.currentSpreadIndex<this.getSpread().length&&(this.currentSpreadIndex++,this.showSpread())}showPrev(){this.currentSpreadIndex>0&&(this.currentSpreadIndex--,this.showSpread())}getCurrentPageIndex(){return this.currentPageIndex}show(s=null){if(s===null&&(s=this.currentPageIndex),s<0||s>=this.pages.length)return;const o=this.getSpreadIndexByPage(s);o!==null&&(this.currentSpreadIndex=o,this.showSpread())}getCurrentSpreadIndex(){return this.currentSpreadIndex}setCurrentSpreadIndex(s){if(!(s>=0&&s<this.getSpread().length))throw new Error("Invalid page");this.currentSpreadIndex=s}showSpread(){const s=this.getSpread()[this.currentSpreadIndex];s.length===2?(this.render.setLeftPage(this.pages[s[0]]),this.render.setRightPage(this.pages[s[1]])):this.render.getOrientation()==="landscape"&&s[0]===this.pages.length-1?(this.render.setLeftPage(this.pages[s[0]]),this.render.setRightPage(null)):(this.render.setLeftPage(null),this.render.setRightPage(this.pages[s[0]])),this.currentPageIndex=s[0],this.app.updatePageIndex(this.currentPageIndex)}}class l extends r{constructor(s,o,u){super(s,o),this.imagesHref=u}load(){for(const s of this.imagesHref){const o=new a(this.render,s,"soft");o.load(),this.pages.push(o)}this.createSpread()}}class c{static GetDistanceBetweenTwoPoint(s,o){return s===null||o===null?1/0:Math.sqrt(Math.pow(o.x-s.x,2)+Math.pow(o.y-s.y,2))}static GetSegmentLength(s){return c.GetDistanceBetweenTwoPoint(s[0],s[1])}static GetAngleBetweenTwoLine(s,o){const u=s[0].y-s[1].y,f=o[0].y-o[1].y,p=s[1].x-s[0].x,P=o[1].x-o[0].x;return Math.acos((u*f+p*P)/(Math.sqrt(u*u+p*p)*Math.sqrt(f*f+P*P)))}static PointInRect(s,o){return o===null?null:o.x>=s.left&&o.x<=s.width+s.left&&o.y>=s.top&&o.y<=s.top+s.height?o:null}static GetRotatedPoint(s,o,u){return{x:s.x*Math.cos(u)+s.y*Math.sin(u)+o.x,y:s.y*Math.cos(u)-s.x*Math.sin(u)+o.y}}static LimitPointToCircle(s,o,u){if(c.GetDistanceBetweenTwoPoint(s,u)<=o)return u;const f=s.x,p=s.y,P=u.x,T=u.y;let M=Math.sqrt(Math.pow(o,2)*Math.pow(f-P,2)/(Math.pow(f-P,2)+Math.pow(p-T,2)))+f;u.x<0&&(M*=-1);let z=(M-f)*(p-T)/(f-P)+p;return f-P+p===0&&(z=o),{x:M,y:z}}static GetIntersectBetweenTwoSegment(s,o,u){return c.PointInRect(s,c.GetIntersectBeetwenTwoLine(o,u))}static GetIntersectBeetwenTwoLine(s,o){const u=s[0].y-s[1].y,f=o[0].y-o[1].y,p=s[1].x-s[0].x,P=o[1].x-o[0].x,T=s[0].x*s[1].y-s[1].x*s[0].y,M=o[0].x*o[1].y-o[1].x*o[0].y,z=u*M-f*T,B=p*M-P*T,q=-(T*P-M*p)/(u*P-f*p),G=-(u*M-f*T)/(u*P-f*p);if(isFinite(q)&&isFinite(G))return{x:q,y:G};if(Math.abs(z-B)<.1)throw new Error("Segment included");return null}static GetCordsFromTwoPoint(s,o){const u=Math.abs(s.x-o.x),f=Math.abs(s.y-o.y),p=Math.max(u,f),P=[s];function T(M,z,B,q,G){return z>M?M+G*(B/q):z<M?M-G*(B/q):M}for(let M=1;M<=p;M+=1)P.push({x:T(s.x,o.x,u,p,M),y:T(s.y,o.y,f,p,M)});return P}}class g extends n{constructor(s,o,u){super(s,u),this.copiedElement=null,this.temporaryCopy=null,this.isLoad=!1,this.element=o,this.element.classList.add("stf__item"),this.element.classList.add("--"+u)}newTemporaryCopy(){return this.nowDrawingDensity==="hard"?this:(this.temporaryCopy===null&&(this.copiedElement=this.element.cloneNode(!0),this.element.parentElement.appendChild(this.copiedElement),this.temporaryCopy=new g(this.render,this.copiedElement,this.nowDrawingDensity)),this.getTemporaryCopy())}getTemporaryCopy(){return this.temporaryCopy}hideTemporaryCopy(){this.temporaryCopy!==null&&(this.copiedElement.remove(),this.copiedElement=null,this.temporaryCopy=null)}draw(s){const o=s||this.nowDrawingDensity,u=this.render.convertToGlobal(this.state.position),f=this.render.getRect().pageWidth,p=this.render.getRect().height;this.element.classList.remove("--simple");const P=`
|
|
1
|
+
var FlipbookEngine=function(N,F){"use strict";var Bn=Object.defineProperty;var yi=N=>{throw TypeError(N)};var Hn=(N,F,$)=>F in N?Bn(N,F,{enumerable:!0,configurable:!0,writable:!0,value:$}):N[F]=$;var C=(N,F,$)=>Hn(N,typeof F!="symbol"?F+"":F,$),vt=(N,F,$)=>F.has(N)||yi("Cannot "+$);var J=(N,F,$)=>(vt(N,F,"read from private field"),$?$.call(N):F.get(N)),ze=(N,F,$)=>F.has(N)?yi("Cannot add the same private member more than once"):F instanceof WeakSet?F.add(N):F.set(N,$),Fe=(N,F,$,ce)=>(vt(N,F,"write to private field"),ce?ce.call(N,$):F.set(N,$),$),ye=(N,F,$)=>(vt(N,F,"access private method"),$);var me,X,Q,mt,bt,vi;function $(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:()=>t[i]})}}return e.default=t,Object.freeze(e)}const ce=$(F);var Pi=Symbol.for("preact-signals");function Oe(){if(ee>1)ee--;else{var t,e=!1;for(function(){var a=Se;for(Se=void 0;a!==void 0;)a.S.v===a.v&&(a.S.i=a.i),a=a.o}();ue!==void 0;){var i=ue;for(ue=void 0,xe++;i!==void 0;){var n=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&Pt(i))try{i.c()}catch(a){e||(t=a,e=!0)}i=n}}if(xe=0,ee--,e)throw t}}var O=void 0;function Pe(t){var e=O;O=void 0;try{return t()}finally{O=e}}var ue=void 0,ee=0,xe=0,wt=0,Se=void 0,ke=0;function yt(t){if(O!==void 0){var e=t.n;if(e===void 0||e.t!==O)return e={i:0,S:t,p:O.s,n:void 0,t:O,e:void 0,x:void 0,r:e},O.s!==void 0&&(O.s.n=e),O.s=e,t.n=e,32&O.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=O.s,e.n=void 0,O.s.n=e,O.s=e),e}}function U(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}U.prototype.brand=Pi,U.prototype.h=function(){return!0},U.prototype.S=function(t){var e=this,i=this.t;i!==t&&t.e===void 0&&(t.x=i,this.t=t,i!==void 0?i.e=t:Pe(function(){var n;(n=e.W)==null||n.call(e)}))},U.prototype.U=function(t){var e=this;if(this.t!==void 0){var i=t.e,n=t.x;i!==void 0&&(i.x=n,t.e=void 0),n!==void 0&&(n.e=i,t.x=void 0),t===this.t&&(this.t=n,n===void 0&&Pe(function(){var a;(a=e.Z)==null||a.call(e)}))}},U.prototype.subscribe=function(t){var e=this;return Z(function(){var i=e.value;Pe(function(){return t(i)})},{name:"sub"})},U.prototype.valueOf=function(){return this.value},U.prototype.toString=function(){return this.value+""},U.prototype.toJSON=function(){return this.value},U.prototype.peek=function(){var t=this;return Pe(function(){return t.value})},Object.defineProperty(U.prototype,"value",{get:function(){var t=yt(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(xe>100)throw new Error("Cycle detected");(function(i){ee!==0&&xe===0&&i.l!==wt&&(i.l=wt,Se={S:i,v:i.v,i:i.i,o:Se})})(this),this.v=t,this.i++,ke++,ee++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Oe()}}}});function A(t,e){return new U(t,e)}function Pt(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function xt(t){for(var e=t.s;e!==void 0;e=e.n){var i=e.S.n;if(i!==void 0&&(e.r=i),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function St(t){for(var e=t.s,i=void 0;e!==void 0;){var n=e.p;e.i===-1?(e.S.U(e),n!==void 0&&(n.n=e.n),e.n!==void 0&&(e.n.p=n)):i=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=n}t.s=i}function te(t,e){U.call(this,void 0,e),this.x=t,this.s=void 0,this.g=ke-1,this.f=4}te.prototype=new U,te.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===ke))return!0;if(this.g=ke,this.f|=1,this.i>0&&!Pt(this))return this.f&=-2,!0;var t=O;try{xt(this),O=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(i){this.v=i,this.f|=16,this.i++}return O=t,St(this),this.f&=-2,!0},te.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}U.prototype.S.call(this,t)},te.prototype.U=function(t){if(this.t!==void 0&&(U.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}},te.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(te.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=yt(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function d(t,e){return new te(t,e)}function kt(t){var e=t.m;if(t.m=void 0,typeof e=="function"){ee++;var i=O;O=void 0;try{e()}catch(n){throw t.f&=-2,t.f|=8,Be(t),n}finally{O=i,Oe()}}}function Be(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,kt(t)}function xi(t){if(O!==this)throw new Error("Out-of-order effect");St(this),O=t,this.f&=-2,8&this.f&&Be(this),Oe()}function ae(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e==null?void 0:e.name}ae.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}},ae.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,kt(this),xt(this),ee++;var t=O;return O=this,xi.bind(this,t)},ae.prototype.N=function(){2&this.f||(this.f|=2,this.u=ue,ue=this)},ae.prototype.d=function(){this.f|=8,1&this.f||Be(this)},ae.prototype.dispose=function(){this.d()};function Z(t,e){var i=new ae(t,e);try{i.c()}catch(a){throw i.d(),a}var n=i.d.bind(i);return n[Symbol.dispose]=n,n}function Si(t,e){if(t.schemaVersion!==1||t.pageIndex!==e||typeof t.revision!="string"||!t.revision||typeof t.text!="string"||t.text.length>1e5||!Array.isArray(t.runs)||t.runs.length>2e4)throw new Error("Invalid text page");let i=0;for(const n of t.runs){if(typeof n.text!="string"||!n.text.length||!Number.isInteger(n.start)||n.start<i||t.text.slice(n.start,n.start+n.text.length)!==n.text||![n.x,n.y,n.width,n.height].every(Number.isFinite)||n.x<0||n.y<0||n.width<=0||n.height<=0||n.x+n.width>1.000001||n.y+n.height>1.000001||n.direction!==void 0&&n.direction!=="ltr"&&n.direction!=="rtl")throw new Error("Invalid text run");i=n.start+n.text.length}return{...t,runs:t.runs.map(n=>({...n}))}}function ki(t,e,i){const n=new Map,a=new Set,r=Z(()=>{const c=t.currentPage.value,g=t.totalPages.value,m=new Set([c-1,c,c+1].filter(S=>S>=0&&S<g));for(const[S,v]of n)m.has(S)||(v.abort(),n.delete(S));const y=new Map([...t.textPages.peek()].filter(([S])=>m.has(S)));for(const S of[...a])m.has(S)||a.delete(S);t.textPages.value=y;for(const S of m){if(n.has(S)||a.has(S)||i.aborted)continue;const v=new AbortController;n.set(S,v),Promise.resolve().then(()=>e(S,v.signal)).then(w=>{v.signal.aborted||i.aborted||n.get(S)!==v||(w&&(t.textPages.value=new Map(t.textPages.peek()).set(S,Si(w,S))),a.add(S))}).catch(()=>{v.signal.aborted||a.add(S)}).finally(()=>{n.get(S)===v&&n.delete(S)})}}),l=()=>{r();for(const c of n.values())c.abort();n.clear()};return i.addEventListener("abort",l,{once:!0}),()=>{i.removeEventListener("abort",l),l()}}var Ct=Symbol.for("Serenity.initPropHook");function Ci(t){return!!(t&&typeof t.nodeType=="number")}function Ce(t){return typeof t=="string"}function At(t){return typeof t=="number"}function V(t){return typeof t=="object"&&t!==null}function Ai(t){return!!(t&&t.isComponent)}function He(t){return V(t)&&typeof t.length=="number"&&typeof t.nodeType!="number"}function Ti(t){return typeof t=="function"&&typeof t[Ct]=="function"}function de(t){return t!=null&&typeof t!="boolean"}function ge(t){return Array.isArray(t)?t.map(ge).filter(Boolean).join(" "):V(t)?Symbol.iterator in t?ge(Array.from(t)):Object.keys(t).filter(e=>t[e]).join(" "):de(t)?""+t:""}function Mi(t){return t!=null&&typeof t=="object"&&"current"in t}function $e(t,e){Mi(t)?t.current=e:typeof t=="function"&&t(e)}function Ei(t,e,i){e={...e,children:i};const n=new t(e),a=n.render();return"ref"in e&&$e(e.ref,n),a}var Ii="http://www.w3.org/1998/Math/MathML",Di=new Set(["math","annotation","annotation-xml","maction","merror","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics","menclose","mfenced"]),Ri=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view"]),Tt=/^(a(ll|t|u)|base[FP]|c(al|lipPathU|on)|di|ed|ex|filter[RU]|g(lyphR|r)|ke|l(en|im)|ma(rker[HUW]|s)|n|pat|pr|point[^e]|re[^n]|s[puy]|st[^or]|ta|textL|vi|xC|y|z)/,Ni="http://www.w3.org/2000/svg",Mt=Symbol.for("Serenity.jsxNamespaceURI");function Li(t){const e=globalThis[Mt];return arguments.length&&(globalThis[Mt]=t),e}var zi=Symbol.for("Serenity.jsxTypeKey"),Fi="ShadowRoot";function Oi(t){return t!=null&&t[zi]===Fi}var We=Symbol.for("Serenity.disposingListeners"),qe=Symbol.for("Serenity.lifecycleRoot");function Ue(){return globalThis[We]||(globalThis[We]=new WeakMap)}function _e(t){t&&t.target&&(!t.currentTarget||t.currentTarget===t.target)&&Bi(t==null?void 0:t.target)}function Bi(t,e){if(!t)return;const i=Ue();function n(a){const r=i.get(a);if(r){i.delete(a),a.removeEventListener("disposing",_e);for(const l of r)try{l.callback(a)}catch{}}}n(t)}function Ge(t,e,i){if(!t||!e)return t;const n=Ue();let a=n.get(t);if(!a)return typeof t.addEventListener!="function"||(n.set(t,a=[{callback:e,regKey:i}]),t.addEventListener("disposing",_e,{once:!0})),t;const r=a.find(l=>l.callback===e);return r?(r.regKey,t):(a.push({callback:e,regKey:i}),t)}function Et(t,e,i){if(!t||!e)return t;const n=Ue(),a=n.get(t);if(a){for(let r=a.length-1;r>=0;r--){const l=a[r];e&&e===l.callback&&a.splice(r,1)}a.length===0&&(n.delete(t),typeof t.removeEventListener=="function"&&t.removeEventListener("disposing",_e))}return t}function Hi(...t){if(t.length>0){const e=globalThis[qe]||null;return globalThis[qe]=t[0]||null,e}return globalThis[qe]||null}function ie(t){return t!=null&&typeof t=="object"&&typeof t.subscribe=="function"&&typeof t.peek=="function"&&"value"in t}var $i=(vi=class{constructor(t,e,i){ze(this,Q);ze(this,me);ze(this,X);this.signal=t,this.isInitial=!0,this.hasChanged=!1,this.lifecycleRoot=e,Fe(this,X,i)}get lifecycleNode(){return J(this,X)}get effectDisposer(){return J(this,me)}set effectDisposer(t){ye(this,Q,mt).call(this),Fe(this,me,t),ye(this,Q,bt).call(this)}set lifecycleNode(t){t!==J(this,X)&&(ye(this,Q,mt).call(this),Fe(this,X,t),ye(this,Q,bt).call(this))}},me=new WeakMap,X=new WeakMap,Q=new WeakSet,mt=function(){var t;Et(J(this,X),this.effectDisposer),Et(J(this,X),(t=this.signal)==null?void 0:t.derivedDisposer)},bt=function(){var t;Ge(J(this,X),this.effectDisposer),Ge(J(this,X),(t=this.signal)==null?void 0:t.derivedDisposer)},vi);function fe(t,e,i){const n=i!=null&&i.useLifecycleRoot?Hi():void 0,a=new $i(t,n,i==null?void 0:i.lifecycleNode),r=a.signal.subscribe(function(l){a.newValue=l,a.isInitial&&(this!=null&&this.dispose)&&(a.effectDisposer=this.dispose.bind(this)),a.hasChanged=!a.isInitial&&a.prevValue!==a.newValue;try{e(a)}finally{a.prevValue=a.newValue,a.isInitial=!1}});return r&&!a.effectDisposer&&(a.effectDisposer=r),a.effectDisposer}function It(t,e){t instanceof window.HTMLTemplateElement?t.content.appendChild(e):t.appendChild(e)}var je=0,Ve="__domwisefrag_";function Dt(t){return t instanceof Comment&&t.data.startsWith(Ve)}function Rt(t){return t instanceof DocumentFragment&&Dt(t.firstChild)}function Wi(t,e){var i;typeof t.replaceWith=="function"?t.replaceWith(e):(i=t.parentNode)==null||i.replaceChild(e,t)}function Nt(t){return t instanceof DocumentFragment?(++je,t.prepend(document.createComment(Ve+je)),t.append(document.createComment(Ve+je)),t):t instanceof Node?t:de(t)?document.createTextNode(t):document.createComment("")}function qi(t,e){let i;fe(e,n=>{var l;if(n.isInitial){i=Nt(n.newValue);let c=Rt(i)?i.firstChild:i;pe(t,i),n.lifecycleNode=(i=c)??t;return}if(!n.hasChanged)return;const a=Nt(n.newValue);if(Dt(i)){let c;for(;(c=i.nextSibling)&&((l=c.parentNode)==null||l.removeChild(c),!(c instanceof Comment&&c.data===i.data)););}let r=Rt(a)?a.firstChild:a;Wi(i,a),n.lifecycleNode=(i=r)??t})}function pe(t,e){if(de(e))if(He(e))for(const i of[...e])pe(t,i);else if(Ce(e)||At(e))It(t,document.createTextNode(e));else if(Ci(e))It(t,e);else if(Oi(e)){const i=t.attachShadow(e.attr);pe(i,e.children),$e(e.ref,i)}else ie(e)&&qi(t,e)}function Lt(t){return t==null||(He(t)?t=Array.from(t).map(e=>ie(e)?e.peek():e):V(t)&&(t={...t},Object.entries(t).forEach(([e,i])=>{ie(i)&&(t[e]=i.peek())}))),t}function Ui(t,e){if(e==null||e===!1||e===!0)return;e=Lt(e);const i=(ge(e)??"").split(" ");for(let n of i)n&&t.classList.remove(n)}function _i(t,e,i){if(e==null||e===!1){Ui(t,i);return}i=Lt(i),He(e)?e=Array.from(e).map(n=>{let a=n;return ie(n)&&fe(n,r=>{if(r.isInitial){a=r.newValue;return}Xe(t,r.newValue,r.prevValue)},{lifecycleNode:t}),a}):V(e)&&(e={...e},Object.entries(e).forEach(([n,a])=>{ie(a)&&fe(a,r=>{if(r.isInitial){e[n]=r.newValue;return}Xe(t,!!r.newValue&&n,!!r.prevValue&&n)},{lifecycleNode:t})})),Xe(t,e,i)}function Xe(t,e,i){const n=(ge(e)??"").split(" ");if(i){const a=(ge(i)??"").split(" ");for(let r of a)r&&!n.includes(r)&&t.classList.remove(r)}for(let a of n)a&&t.classList.add(a)}function Gi(t,e){return t+e.charAt(0).toUpperCase()+e.substring(1)}var ji=(()=>{let t={animationIterationCount:0,borderImageOutset:0,borderImageSlice:0,borderImageWidth:0,boxFlex:0,boxFlexGroup:0,boxOrdinalGroup:0,columnCount:0,columns:0,flex:0,flexGrow:0,flexPositive:0,flexShrink:0,flexNegative:0,flexOrder:0,gridArea:0,gridRow:0,gridRowEnd:0,gridRowSpan:0,gridRowStart:0,gridColumn:0,gridColumnEnd:0,gridColumnSpan:0,gridColumnStart:0,fontWeight:0,lineClamp:0,lineHeight:0,opacity:0,order:0,orphans:0,tabSize:0,widows:0,zIndex:0,zoom:0,fillOpacity:0,floodOpacity:0,stopOpacity:0,strokeDasharray:0,strokeDashoffset:0,strokeMiterlimit:0,strokeOpacity:0,strokeWidth:0};const e=["Webkit","ms","Moz","O"];return Object.keys(t).forEach(i=>{e.forEach(n=>{t[Gi(n,i)]=0})}),t})();function Ze(t,e,i){e.indexOf("-")===0?t.style.setProperty(e,i):At(i)&&ji[e]!==0?t.style[e]=i+"px":t.style[e]=i}function zt(t,e){if(!(e==null||e===!1||e===!0)){if(Ce(e)){t.removeAttribute("style");return}V(e)&&Object.keys(e).forEach(i=>{Ze(t,i,"")})}}function Vi(t,e,i){if(e==null||e===!1||e===!0){zt(t,i);return}if(Ce(e)){t.setAttribute("style",e);return}if(V(e)){V(i)?(e={...e},Object.keys(i).forEach(n=>{n in e||(e[n]="")})):zt(t,i),Object.entries(e).forEach(([n,a])=>{ie(a)?fe(a,r=>Ze(t,n,r.newValue),{lifecycleNode:t}):Ze(t,n,a)});return}}var Xi="http://www.w3.org/1999/xlink",Zi="http://www.w3.org/XML/1998/namespace";function Ae(t,e){return t.replace(/[A-Z]/g,i=>e+i.toLowerCase())}var Yi=new Map([["autoComplete","autocomplete"],["autoFocus","autofocus"],["className","class"],["colSpan","colspan"],["contentEditable","contenteditable"],["formNoValidate","formnovalidate"],["htmlFor","for"],["innerText","textContent"],["minLength","minlength"],["maxLength","maxlength"],["readOnly","readonly"],["reffererPolicy","referrerpolicy"],["rowSpan","rowspan"],["spellCheck","spellcheck"],["tabIndex","tabindex"],["onDoubleClick","onDblClick"],["onDoubleClickCapture","onDblClickCapture"]]);function Ft(t,e,i,n){switch(e){case"dataset":n!=null&&Object.entries(n).forEach(([r,l])=>{l!=null&&delete t.dataset[r]}),Object.entries(i).forEach(([r,l])=>{l!=null&&(t.dataset[r]=l)});return;case"textContent":de(i)?t[e]=i:de(n)&&(t[e]="");return;case"dangerouslySetInnerHTML":V(i)?t.innerHTML=i.__html:V(n)&&(t.innerHTML="");return;case"value":if(i==null){n!=null&&(t[e]=null);return}else{if(t instanceof window.HTMLSelectElement)return;if(t instanceof window.HTMLTextAreaElement){t.value=i;return}}break;case"class":_i(t,i,n);return;case"spellcheck":t.spellcheck=i===""||i===!0||i==="true"?!0:i===!1||i==="false"?!1:i;return;case"draggable":i===!1||i==="false"?i="false":i===""?i=null:(i===!0||i==="true")&&(i="true");break;case"contenteditable":i===!1?i="false":(i===""||i===!0)&&(i="true");break;case"ref":case"namespaceURI":return;case"style":Vi(t,i,n);return;case"on":case"onCapture":const a=e==="onCapture";n!=null&&Object.entries(n).forEach(([r,l])=>{(i==null||i[r]!==l)&&t.removeEventListener(r,l,a)}),Object.entries(i).forEach(([r,l])=>{(n==null||n[r]!==l)&&t.addEventListener(r,l,a)});return;case"xlinkActuate":case"xlinkArcrole":case"xlinkHref":case"xlinkRole":case"xlinkShow":case"xlinkTitle":case"xlinkType":t.setAttributeNS(Xi,Ae(e,":"),i);return;case"xmlnsXlink":t.setAttribute("xmlns:xlink",i);return;case"xmlBase":case"xmlLang":case"xmlSpace":t.setAttributeNS(Zi,Ae(e,":"),i);return}if(typeof i=="function"){if(e[0]==="o"&&e[1]==="n"){if(n!=null&&n===i)return;let a=e.toLowerCase();const r=a.endsWith("capture");let l;!r&&(t[a]===null||n!=null&&t[a]===n)?(t[a]=i,Ge(t,Ki.bind(t,a))):r?(l=a.substring(2,a.length-7),n!=null&&t.removeEventListener(l,n,!0),t.addEventListener(l,i,!0)):(a in window?l=a.substring(2):l=a[2]+e.slice(3),n!=null&&t.removeEventListener(l,n),t.addEventListener(l,i))}else console.warn(`A function was provided for JSX ${t.tagName} element ${e} which does not start with "on":`,i,t.tagName);return}if(V(n)){if(n===i)return;delete t[e]}if(n===!0){if(n===i)return;t.removeAttribute(e)}if(n!==!1&&n!=null){if(n===i)return;t instanceof SVGElement&&!Tt.test(e)?t.removeAttributeNS(Ae(e,"-"),i):t.removeAttribute(e)}if(V(i)){t[e]=i;return}if(i===!0){t.setAttribute(e,"");return}i!==!1&&i!=null&&(t instanceof SVGElement&&!Tt.test(e)?t.setAttribute(Ae(e,"-"),i):t.setAttribute(e,i))}function Qi(t,e){for(let[i,n]of Object.entries(e))i=Yi.get(i)??i,ie(n)?fe(n,a=>Ft(t,i,a.newValue,a.prevValue),{lifecycleNode:t}):Ti(n)?n[Ct](t,i):Ft(t,i,n);return t}function Ki(t){this[t]=null}function h(t,e){let{children:i,...n}=e||{},a=n.namespaceURI;a||(Ri.has(t)?a=Ni:Di.has(t)?a=Ii:a=Li());let r;if(Ce(t)){if(r=a?document.createElementNS(a,t):document.createElement(t),Qi(r,n),pe(r,i),r instanceof window.HTMLSelectElement&&n.value!=null)if(n.multiple===!0&&Array.isArray(n.value)){const l=n.value.map(c=>String(c));r.querySelectorAll("option").forEach(c=>c.selected=l.includes(c.value))}else r.value=n.value;$e(n.ref,r)}else if(typeof t=="function")V(t.defaultProps)&&(n={...t.defaultProps,...n}),r=Ai(t)?Ei(t,n,i):t({...n,children:i});else throw new TypeError(`Invalid JSX element type: ${t}`);return r}function Te(t){const e=document.createDocumentFragment();return pe(e,t.children),e}var Ji=Symbol.for("preact-signals");function Ye(){if(ne>1)ne--;else{var t,e=!1;for(function(){var a=Ee;for(Ee=void 0;a!==void 0;)a.S.v===a.v&&(a.S.i=a.i),a=a.o}();ve!==void 0;){var i=ve;for(ve=void 0,Me++;i!==void 0;){var n=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&$t(i))try{i.c()}catch(a){e||(t=a,e=!0)}i=n}}if(Me=0,ne--,e)throw t}}var L=void 0;function Ot(t){var e=L;L=void 0;try{return t()}finally{L=e}}var ve=void 0,ne=0,Me=0,Bt=0,Ee=void 0,Ie=0;function Ht(t){if(L!==void 0){var e=t.n;if(e===void 0||e.t!==L)return e={i:0,S:t,p:L.s,n:void 0,t:L,e:void 0,x:void 0,r:e},L.s!==void 0&&(L.s.n=e),L.s=e,t.n=e,32&L.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=L.s,e.n=void 0,L.s.n=e,L.s=e),e}}function _(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}_.prototype.brand=Ji,_.prototype.h=function(){return!0},_.prototype.S=function(t){var e=this,i=this.t;i!==t&&t.e===void 0&&(t.x=i,this.t=t,i!==void 0?i.e=t:Ot(function(){var n;(n=e.W)==null||n.call(e)}))},_.prototype.U=function(t){var e=this;if(this.t!==void 0){var i=t.e,n=t.x;i!==void 0&&(i.x=n,t.e=void 0),n!==void 0&&(n.e=i,t.x=void 0),t===this.t&&(this.t=n,n===void 0&&Ot(function(){var a;(a=e.Z)==null||a.call(e)}))}},_.prototype.subscribe=function(t){var e=this;return tn(function(){var i=e.value,n=L;L=void 0;try{t(i)}finally{L=n}},{name:"sub"})},_.prototype.valueOf=function(){return this.value},_.prototype.toString=function(){return this.value+""},_.prototype.toJSON=function(){return this.value},_.prototype.peek=function(){var t=L;L=void 0;try{return this.value}finally{L=t}},Object.defineProperty(_.prototype,"value",{get:function(){var t=Ht(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(Me>100)throw new Error("Cycle detected");(function(i){ne!==0&&Me===0&&i.l!==Bt&&(i.l=Bt,Ee={S:i,v:i.v,i:i.i,o:Ee})})(this),this.v=t,this.i++,Ie++,ne++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Ye()}}}});function $t(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Wt(t){for(var e=t.s;e!==void 0;e=e.n){var i=e.S.n;if(i!==void 0&&(e.r=i),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function qt(t){for(var e=t.s,i=void 0;e!==void 0;){var n=e.p;e.i===-1?(e.S.U(e),n!==void 0&&(n.n=e.n),e.n!==void 0&&(e.n.p=n)):i=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=n}t.s=i}function oe(t,e){_.call(this,void 0),this.x=t,this.s=void 0,this.g=Ie-1,this.f=4,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}oe.prototype=new _,oe.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Ie))return!0;if(this.g=Ie,this.f|=1,this.i>0&&!$t(this))return this.f&=-2,!0;var t=L;try{Wt(this),L=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(i){this.v=i,this.f|=16,this.i++}return L=t,qt(this),this.f&=-2,!0},oe.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}_.prototype.S.call(this,t)},oe.prototype.U=function(t){if(this.t!==void 0&&(_.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}},oe.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(oe.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=Ht(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function Ut(t){var e=t.m;if(t.m=void 0,typeof e=="function"){ne++;var i=L;L=void 0;try{e()}catch(n){throw t.f&=-2,t.f|=8,Qe(t),n}finally{L=i,Ye()}}}function Qe(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,Ut(t)}function en(t){if(L!==this)throw new Error("Out-of-order effect");qt(this),L=t,this.f&=-2,8&this.f&&Qe(this),Ye()}function re(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e==null?void 0:e.name}re.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}},re.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,Ut(this),Wt(this),ne++;var t=L;return L=this,en.bind(this,t)},re.prototype.N=function(){2&this.f||(this.f|=2,this.u=ve,ve=this)},re.prototype.d=function(){this.f|=8,1&this.f||Qe(this)},re.prototype.dispose=function(){this.d()};function tn(t,e){var i=new re(t,e);try{i.c()}catch(a){throw i.d(),a}var n=i.d.bind(i);return n[Symbol.dispose]=n,n}const Ke={en:{emptyStateTitle:"No data available.",thumbnails:"Thumbnails",singlePageMode:"Single Page Mode",pages:"Pages",previous:"Previous",next:"Next",zoomOut:"Zoom Out",zoomIn:"Zoom In",fullscreen:"Fullscreen",settings:"Settings",downloadCatalog:"Download Catalog",share:"Share",bookmark:"Bookmark page",removeBookmark:"Remove bookmark",notes:"Page note",saveNote:"Save note",clearNote:"Clear note",closeNote:"Close note editor",editNote:"Edit",deleteNote:"Delete",play:"Play",pause:"Pause",tableOfContents:"Table of Contents",search:"Search",searchPlaceholder:"Search PDF text",clearSearch:"Clear",closeSearch:"Close search",noSearchResults:"No results",searchUnavailable:"Text search is available only in Direct PDF mode.",closeHotspot:"Close popup",annotation:"Page annotation",saving:"Saving…",noteFailed:"Could not save the note. Your draft is retained; try again.",searching:"Searching…",searchFailed:"Search failed. Try again.",closeContents:"Close table of contents",moreActions:"More actions",sound:"Sound",myNotes:"My notes",currentPage:"This page",allNotes:"All notes",privateNotes:"Your personal notes for this document.",noNotes:"No notes yet. Select a place on the page to add your first note.",addNote:"Place a note",pageHasNote:"This page has a note",page:"Page",noteSaved:"Saved",confirmDeleteNote:"Delete this note?",cancel:"Cancel",placeNote:"Click or tap a place on the page for your note.",keyboardShortcuts:"Keyboard shortcuts",textSelection:"Select text",resetZoom:"Fit page"},tr:{emptyStateTitle:"Veri bulunamadi.",thumbnails:"Küçük Resimler",singlePageMode:"Tek Sayfa Modu",pages:"Sayfalar",previous:"Önceki",next:"Sonraki",zoomOut:"Uzaklaş",zoomIn:"Yaklaş",fullscreen:"Tam Ekran",settings:"Ayarlar",downloadCatalog:"Kataloğu İndir",share:"Paylaş",bookmark:"Sayfayı yer imlerine ekle",removeBookmark:"Yer imini kaldır",notes:"Sayfa notu",saveNote:"Notu kaydet",clearNote:"Notu temizle",closeNote:"Not editörünü kapat",editNote:"Düzenle",deleteNote:"Sil",play:"Otomatik Oynat",pause:"Duraklat",tableOfContents:"İçindekiler",search:"Ara",searchPlaceholder:"PDF metninde ara",clearSearch:"Temizle",closeSearch:"Aramayı kapat",noSearchResults:"Sonuç bulunamadı",searchUnavailable:"Metin arama yalnızca Doğrudan PDF modunda desteklenir.",closeHotspot:"Açılır pencereyi kapat",annotation:"Sayfa açıklaması",saving:"Kaydediliyor…",noteFailed:"Not kaydedilemedi. Taslağınız korundu; tekrar deneyin.",searching:"Aranıyor…",searchFailed:"Arama başarısız oldu. Tekrar deneyin.",closeContents:"İçindekileri kapat",moreActions:"Diğer işlemler",sound:"Ses",myNotes:"Notlarım",currentPage:"Bu sayfa",allNotes:"Tüm notlar",privateNotes:"Bu belge için kişisel notlarınız.",noNotes:"Henüz not yok. İlk notunuz için sayfada bir yer seçin.",addNote:"Konuma not ekle",pageHasNote:"Bu sayfada not var",page:"Sayfa",noteSaved:"Kaydedildi",confirmDeleteNote:"Bu not silinsin mi?",cancel:"Vazgeç",placeNote:"Not eklemek için sayfada bir yere tıklayın veya dokunun.",keyboardShortcuts:"Klavye kısayolları",textSelection:"Metin seçimi",resetZoom:"Sayfaya sığdır"}};function Y(t={}){var a;const e=t.locale??"en",i=Ke[e]??Ke.en,n=((a=t.messages)==null?void 0:a[e])??{};return{...Ke.en,...i,...n}}function _t(t,e){var g;(g=t.querySelector(".bk-shortcuts-dialog"))==null||g.remove();const i=Y({locale:e.locale.value,messages:e.messages.value}),n=document.createElement("dialog");n.className="bk-shortcuts-dialog",n.setAttribute("aria-label",i.keyboardShortcuts);const a=document.createElement("strong");a.textContent=i.keyboardShortcuts,n.append(a);const r=document.createElement("dl");for(const[m,y]of[["← / →",`${i.previous} / ${i.next}`],["Home / End",i.pages],["+ / −",`${i.zoomIn} / ${i.zoomOut}`],["0",i.resetZoom],["N",i.addNote],["Shift + N",i.myNotes],["/",i.search],["I",i.tableOfContents],["T",i.thumbnails],["F",i.fullscreen],["Esc",i.closeHotspot],["Tab / Shift + Tab",i.moreActions]]){const S=document.createElement("dt");S.textContent=m;const v=document.createElement("dd");v.textContent=y,r.append(S,v)}const l=document.createElement("button");l.type="button",l.textContent=i.closeHotspot,l.addEventListener("click",()=>n.close()),n.append(r,l),t.append(n);const c=t.ownerDocument.activeElement;n.addEventListener("close",()=>{n.remove(),c!=null&&c.isConnected&&c.focus()},{once:!0}),n.showModal()}function nn(t,e,i){const n=h("div",{class:"bk-more-menu"}),a=[[".bk-btn--autoplay","play"],[".bk-btn--single","singlePageMode"],[".bk-btn--share","share"],[".bk-btn--bookmark","bookmark"],[".bk-btn--download","downloadCatalog"],[".bk-btn--sound","sound"]];for(const[l,c]of a){const g=t.querySelector(l);g&&(g.append(h("span",{children:d(()=>e.value[c])})),n.append(g))}n.append(h("button",{type:"button",class:"bk-btn bk-btn--text-selection",style:d(()=>i.textAvailable.value?"":"display:none;"),"aria-pressed":d(()=>i.textSelection.value?"true":"false"),onClick:()=>{i.textSelection.value=!i.textSelection.value,i.placingNote.value=!1},children:d(()=>e.value.textSelection)})),n.append(h("button",{type:"button",class:"bk-btn",onClick:()=>_t(t.closest(".bk-wrapper"),i),children:d(()=>e.value.keyboardShortcuts)}));let r;r=h("details",{class:"bk-more",onKeyDown:l=>{var c;l.key==="Escape"&&(r.open=!1,(c=r.querySelector("summary"))==null||c.focus())},children:[h("summary",{class:"bk-btn","aria-label":d(()=>e.value.moreActions),title:d(()=>e.value.moreActions),children:"…"}),n]}),n.addEventListener("click",l=>{l.target.closest("button")&&(r.open=!1)}),t.lastElementChild.append(r)}function Gt(t){return t.registry?(t.registry.version.value,t.registry.getToolbarButtons().filter(i=>(i.placement||"end")===t.placement).map(i=>{const n=typeof i.disabled=="function"?i.disabled():i.disabled;return h("button",{type:"button",class:"bk-btn bk-btn--plugin",onClick:i.onClick,disabled:n,"aria-label":i.title||i.label,title:i.title||i.label,children:[i.icon?h("span",{class:"bk-plugin-button-icon","aria-hidden":"true",children:i.icon}):null,h("span",{class:"bk-plugin-button-label",children:i.label})]})})):[]}function sn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=h("div",{class:"bk-toolbar",role:"toolbar","aria-label":"Flipbook controls",children:[h("div",{class:"bk-btn-group",children:[Gt({registry:t.pluginRegistry,placement:"start"}),h("button",{type:"button",class:d(()=>`bk-btn ${t.store.showThumbs.value?"active":""}`),onClick:t.onToggleThumbs,"aria-label":d(()=>e.value.thumbnails||"Thumbnails"),"aria-pressed":d(()=>t.store.showThumbs.value?"true":"false"),title:d(()=>e.value.thumbnails||"Thumbnails"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("rect",{x:"3",y:"3",width:"7",height:"7"}),h("rect",{x:"14",y:"3",width:"7",height:"7"}),h("rect",{x:"14",y:"14",width:"7",height:"7"}),h("rect",{x:"3",y:"14",width:"7",height:"7"})]})}),d(()=>t.store.toc.value.length?h("button",{type:"button",class:d(()=>t.store.showToc.value?"bk-btn active":"bk-btn"),onClick:t.onToggleToc,"aria-label":d(()=>e.value.tableOfContents||"Table of Contents"),"aria-pressed":d(()=>t.store.showToc.value?"true":"false"),title:d(()=>e.value.tableOfContents||"Table of Contents"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("line",{x1:"8",y1:"6",x2:"21",y2:"6"}),h("line",{x1:"8",y1:"12",x2:"21",y2:"12"}),h("line",{x1:"8",y1:"18",x2:"21",y2:"18"}),h("line",{x1:"3",y1:"6",x2:"3.01",y2:"6"}),h("line",{x1:"3",y1:"12",x2:"3.01",y2:"12"}),h("line",{x1:"3",y1:"18",x2:"3.01",y2:"18"})]})}):null),h("button",{type:"button",class:d(()=>t.store.showSearch.value?"bk-btn active":"bk-btn"),onClick:t.onToggleSearch,disabled:d(()=>!t.store.searchAvailable.value),"aria-label":d(()=>t.store.searchAvailable.value?e.value.search||"Search":e.value.searchUnavailable||"Text search is available only in Direct PDF mode."),"aria-pressed":d(()=>t.store.showSearch.value?"true":"false"),title:d(()=>t.store.searchAvailable.value?e.value.search||"Search":e.value.searchUnavailable||"Text search is available only in Direct PDF mode."),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"11",cy:"11",r:"7"}),h("line",{x1:"16",y1:"16",x2:"21",y2:"21"})]})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--single bz-hide-mobile ${t.store.isSingleMode.value?"active":""}`),onClick:t.onToggleSingleMode,"aria-label":d(()=>e.value.singlePageMode||"Single Page"),"aria-pressed":d(()=>t.store.isSingleMode.value?"true":"false"),title:d(()=>e.value.singlePageMode||"Single Page"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),h("polyline",{points:"14 2 14 8 20 8"}),h("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),h("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),h("polyline",{points:"10 9 9 9 8 9"})]})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--autoplay ${t.store.isAutoPlaying.value?"active":""}`),onClick:t.onToggleAutoPlay,"aria-label":d(()=>t.store.isAutoPlaying.value?e.value.pause||"Pause":e.value.play||"Play"),"aria-pressed":d(()=>t.store.isAutoPlaying.value?"true":"false"),title:d(()=>t.store.isAutoPlaying.value?e.value.pause||"Pause":e.value.play||"Play"),children:d(()=>t.store.isAutoPlaying.value?h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("rect",{x:"6",y:"4",width:"4",height:"16"}),h("rect",{x:"14",y:"4",width:"4",height:"16"})]}):h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("polygon",{points:"5 3 19 12 5 21 5 3"})}))})]}),h("div",{class:"bk-btn-group bk-btn-group--center",children:[h("button",{type:"button",class:"bk-btn",onClick:t.onPrevPage,"aria-label":d(()=>e.value.previous||"Previous"),title:d(()=>e.value.previous||"Previous"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("polyline",{points:"15 18 9 12 15 6"})})}),h("span",{class:"bz-page-info","aria-live":"polite","aria-atomic":"true",children:d(()=>{const n=t.store.currentPage.value,a=t.store.totalPages.value;if(t.store.isSingleMode.value||n===0||n>=a-1)return`${n+1} / ${a}`;const r=n%2===1?n:n-1;return`${r+1}-${r+2} / ${a}`})}),h("button",{type:"button",class:"bk-btn",onClick:t.onNextPage,"aria-label":d(()=>e.value.next||"Next"),title:d(()=>e.value.next||"Next"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("polyline",{points:"9 18 15 12 9 6"})})})]}),h("div",{class:"bk-btn-group",children:[h("button",{type:"button",class:"bk-btn",onClick:t.onZoomIn,"aria-label":d(()=>e.value.zoomIn||"Zoom In"),title:d(()=>e.value.zoomIn||"Zoom In"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"11",cy:"11",r:"8"}),h("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),h("line",{x1:"11",y1:"8",x2:"11",y2:"14"}),h("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]})}),h("button",{type:"button",class:d(()=>`bk-btn ${t.store.isZoomed.value?"active":""}`),onClick:t.onZoomOut,"aria-label":d(()=>e.value.zoomOut||"Zoom Out"),title:d(()=>e.value.zoomOut||"Zoom Out"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"11",cy:"11",r:"8"}),h("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),h("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]})}),h("button",{type:"button",class:"bk-btn bk-btn--fullscreen",onClick:t.onToggleFullscreen,"aria-label":d(()=>e.value.fullscreen||"Fullscreen"),title:d(()=>e.value.fullscreen||"Fullscreen"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"})})}),h("button",{type:"button",class:"bk-btn bk-btn--share",onClick:t.onShare,"aria-label":d(()=>e.value.share||"Share"),title:d(()=>e.value.share||"Share"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("circle",{cx:"18",cy:"5",r:"3"}),h("circle",{cx:"6",cy:"12",r:"3"}),h("circle",{cx:"18",cy:"19",r:"3"}),h("line",{x1:"8.59",y1:"13.51",x2:"15.42",y2:"17.49"}),h("line",{x1:"15.41",y1:"6.51",x2:"8.59",y2:"10.49"})]})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--bookmark ${t.store.bookmarkedPages.value.has(t.store.currentPage.value)?"active":""}`),onClick:t.onToggleBookmark,"aria-label":d(()=>t.store.bookmarkedPages.value.has(t.store.currentPage.value)?e.value.removeBookmark||"Remove bookmark":e.value.bookmark||"Bookmark page"),title:d(()=>t.store.bookmarkedPages.value.has(t.store.currentPage.value)?e.value.removeBookmark||"Remove bookmark":e.value.bookmark||"Bookmark page"),"aria-pressed":d(()=>t.store.bookmarkedPages.value.has(t.store.currentPage.value)?"true":"false"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:h("path",{d:"M5 4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v18l-7-4-7 4V4z"})})}),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--notes ${t.store.showNotes.value?"active":""} ${t.store.pageNotes.value.has(t.store.currentPage.value)||t.store.annotations.value.some(n=>n.pageIndex===t.store.currentPage.value)?"bk-has-page-note":""}`),onClick:t.onToggleNotes,"aria-label":d(()=>`${e.value.myNotes} (${t.store.pageNotes.value.size+t.store.annotations.value.length})`),title:d(()=>e.value.myNotes),"aria-pressed":d(()=>t.store.showNotes.value?"true":"false"),children:[h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),h("polyline",{points:"14 2 14 8 20 8"}),h("line",{x1:"8",y1:"13",x2:"16",y2:"13"}),h("line",{x1:"8",y1:"17",x2:"14",y2:"17"})]}),h("span",{class:"bk-notes-count","aria-hidden":"true",children:d(()=>t.store.pageNotes.value.size+t.store.annotations.value.length||"")})]}),d(()=>t.store.allowDownload.value&&t.store.hasDownloadUrl.value&&t.onDownload?h("button",{type:"button",class:"bk-btn bk-btn--download",onClick:t.onDownload,"aria-label":d(()=>e.value.downloadCatalog||"Download"),title:d(()=>e.value.downloadCatalog||"Download"),children:h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),h("polyline",{points:"7 10 12 15 17 10"}),h("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})}):null),h("button",{type:"button",class:d(()=>`bk-btn bk-btn--sound ${t.store.soundEnabled.value?"":"muted"}`),onClick:t.onSoundToggle,"aria-label":"Sound","aria-pressed":d(()=>t.store.soundEnabled.value?"true":"false"),title:"Sound",children:d(()=>t.store.soundEnabled.value?h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),h("path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07"}),h("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14"})]}):h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[h("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),h("line",{x1:"23",y1:"9",x2:"17",y2:"15"}),h("line",{x1:"17",y1:"9",x2:"23",y2:"15"})]}))}),Gt({registry:t.pluginRegistry,placement:"end"})]})]});return nn(i,e,t.store),i}function an(t){return h("div",{class:"bk-thumbs",style:d(()=>t.store.showThumbs.value?"display:flex;":"display:none;"),children:t.store.pages.value.map((e,i)=>{const n=()=>{const a=t.store.currentPage.value;if(t.store.isSingleMode.value||a===0||a>=t.store.pages.value.length-1)return a===i;const r=a%2===1?a:a-1;return i===r||i===r+1};return h("div",{class:d(()=>`thumb-item ${n()?"active":""}`),role:"button",tabindex:"0","aria-label":`Go to page ${i+1}`,"aria-current":d(()=>n()?"page":void 0),onClick:()=>t.onThumbClick(i),onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),t.onThumbClick(i))},children:h("div",{class:"thumb-img-wrapper",children:[h("img",{"data-pdf-page":e.assetId.startsWith("pdf-page-")?e.sourcePageNumber??e.pageNumber:void 0,class:`thumb-img ${e.cropMode!=="full"?"thumb-img--split thumb-img--"+e.cropMode:""}`,src:e.thumb||e.low||e.normal,alt:`Page ${i+1}`,loading:"lazy",onError:a=>{a.currentTarget.style.display="none"}}),h("span",{class:"thumb-page-number",children:i+1})]})})})})}function jt(t,e,i){return h("ol",{class:"bk-toc-list",children:t.map(n=>{var a;return h("li",{class:"bk-toc-item",children:[h("button",{type:"button",class:d(()=>e.currentPage.value===n.pageIndex?"bk-toc-entry active":"bk-toc-entry"),"aria-current":d(()=>e.currentPage.value===n.pageIndex?"page":void 0),onClick:()=>i(n.pageIndex),children:[h("span",{class:"bk-toc-title",children:n.title}),h("span",{class:"bk-toc-page",children:n.pageIndex+1})]}),(a=n.children)!=null&&a.length?jt(n.children,e,i):null]})})})}function on(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value}));return h("nav",{class:"bk-toc",onKeyDown:i=>{var n;i.key==="Escape"&&((n=t.onClose)==null||n.call(t))},"aria-label":d(()=>e.value.tableOfContents||"Table of Contents"),style:d(()=>t.store.showToc.value&&t.store.toc.value.length?"display:flex;":"display:none;"),children:[h("div",{class:"bk-search-heading-row",children:[h("div",{class:"bk-toc-heading",children:d(()=>e.value.tableOfContents||"Table of Contents")}),h("button",{type:"button",class:"bk-search-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeContents),children:"×"})]}),jt(t.store.toc.value,t.store,t.onEntryClick)]})}function Vt(t){const e=document.createElement("div");e.className="bk-note-editor-host";let i,n;t.onReady(!1);const a=()=>{var r;n==null||n.disconnect(),i&&!t.signal.aborted&&((r=t.onDraft)==null||r.call(t,i.getValue())),i==null||i.destroy(),i=void 0,t.view.current=null};return t.signal.addEventListener("abort",a,{once:!0}),queueMicrotask(async()=>{var r;if(!(t.signal.aborted||!e.isConnected)){if(t.factory)try{i=await t.factory(e,t.value,t.signal)}catch{e.textContent=t.label,t.onReady(!1);return}else{const l=document.createElement("textarea");l.className="bk-notes-input",l.rows=4,l.maxLength=4e3,l.setAttribute("aria-label",t.label),l.placeholder=t.label,l.value=t.value.text,e.append(l),i={getValue:()=>({text:l.value}),setReadOnly:c=>l.disabled=c,destroy:()=>l.remove()}}if(t.signal.aborted||!e.isConnected){a();return}t.view.current=i,t.onReady(!0),n=new e.ownerDocument.defaultView.MutationObserver(()=>{e.isConnected||a()}),n.observe(e.ownerDocument.body,{childList:!0,subtree:!0}),(r=e.querySelector('[contenteditable="true"],textarea'))==null||r.focus()}}),e}function Xt(t,e){const i=document.createElement("div");if(i.className="bk-note-document",!t)return i.textContent=e,i;let n=512;const a=(r,l=0)=>{if(l>8||n--<=0)return document.createTextNode("");if(r.type==="text"){let g=document.createTextNode(r.text??"");for(const m of(r.marks??[]).slice(0,3)){const y=document.createElement(m.type==="bold"?"strong":m.type==="italic"?"em":"span");if(m.type==="textStyle")for(const[S,v]of Object.entries(m.attrs??{}))v&&(S==="fontSize"&&/^(12|14|16|18|20|24|28|32)px$/.test(v)&&(y.style.fontSize=v),(S==="color"||S==="backgroundColor")&&/^#[0-9a-f]{6}$/i.test(v)&&(y.style[S]=v));y.append(g),g=y}return g}const c=document.createElement(r.type==="hardBreak"?"br":r.type==="paragraph"?"p":"div");for(const g of r.content??[]){if(n<=0)break;c.append(a(g,l+1))}return c};return i.append(a(t)),i}function rn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=A({page:-1,text:""}),n=A(null),a={current:null},r=A(!1),l=new Map,c=new Set,g=d(()=>t.store.pageNotes.value.get(t.store.currentPage.value)??""),m=d(()=>i.value.page===t.store.currentPage.value?i.value.text:g.value),y=d(()=>n.value===t.store.currentPage.value||!g.value),S=()=>{i.value={page:t.store.currentPage.value,text:g.value},n.value=t.store.currentPage.value},v=async()=>{var E,R,H;const b=t.store.currentPage.value,x=(E=a.current)==null?void 0:E.getValue();x&&(c.add(b),(R=a.current)==null||R.setReadOnly(!0),await t.onSave(x.text,x.document)&&t.store.currentPage.value===b&&(l.delete(b),n.value=null),(H=a.current)==null||H.setReadOnly(!1),c.delete(b))},w=async()=>{const b=t.store.currentPage.value;c.add(b),l.delete(b),await t.onClear()&&(i.value={page:b,text:""},t.store.currentPage.value===b&&(n.value=b)),c.delete(b)};return h("aside",{class:"bk-notes-panel",style:d(()=>t.store.showNotes.value?"display:flex;":"display:none;"),"aria-label":d(()=>e.value.myNotes),onKeyDown:b=>{b.key==="Escape"&&(b.stopPropagation(),t.onClose())},children:[h("div",{class:"bk-notes-heading-row",children:[h("div",{class:"bk-notes-heading",children:[d(()=>e.value.myNotes)," ",h("span",{class:"bk-note-total",children:d(()=>t.store.pageNotes.value.size+t.store.annotations.value.length)})]}),h("button",{type:"button",class:"bk-notes-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeNote),children:"×"})]}),h("p",{class:"bk-note-privacy",children:d(()=>e.value.privateNotes)}),h("div",{class:"bk-note-tabs",role:"group","aria-label":d(()=>e.value.myNotes),children:[h("button",{type:"button","aria-pressed":d(()=>t.store.notesView.value==="all"?"true":"false"),onClick:()=>t.store.notesView.value="all",children:d(()=>e.value.allNotes)}),h("button",{type:"button","aria-pressed":d(()=>t.store.notesView.value==="page"?"true":"false"),onClick:()=>t.store.notesView.value="page",children:d(()=>`${e.value.currentPage} · ${t.store.currentPage.value+1}`)})]}),h("button",{type:"button",class:"bk-add-annotation",style:d(()=>t.store.canAnnotate.value?"display:block;":"display:none;"),onClick:t.onAdd,children:d(()=>e.value.addNote)}),h("div",{class:"bk-note-list",style:d(()=>t.store.notesView.value==="all"?"display:flex;":"display:none;"),children:d(()=>{const b=[...t.store.pageNotes.value].map(([x,E])=>({id:`page-${x}`,pageIndex:x,text:E,annotation:void 0}));return b.push(...t.store.annotations.value.map(x=>({...x,annotation:x}))),b.sort((x,E)=>x.pageIndex-E.pageIndex||x.id.localeCompare(E.id)),b.length?h("div",{class:"bk-note-list-items",children:b.map(x=>h("button",{type:"button",class:"bk-note-list-item",onClick:()=>x.annotation?t.onAnnotation(x.annotation):t.onSelect(x.pageIndex),children:[h("strong",{children:[e.value.page," ",x.pageIndex+1]}),h("span",{children:x.text})]}))}):h("p",{class:"bk-note-empty",children:e.value.noNotes})})}),h("div",{class:"bk-current-note",style:d(()=>t.store.notesView.value==="page"?"display:block;":"display:none;"),children:d(()=>!t.store.showNotes.value||t.store.notesView.value!=="page"?null:g.value&&!y.value?h("div",{class:"bk-note-saved",children:[h("div",{class:"bk-note-content",children:Xt(t.store.pageNoteDocuments.value.get(t.store.currentPage.value),g.value)}),h("div",{class:"bk-note-actions",children:[h("button",{type:"button",class:"bk-note-badge bk-note-badge--edit",onClick:S,disabled:t.store.notesSaving,children:d(()=>e.value.editNote)}),h("button",{type:"button",class:"bk-note-badge bk-note-badge--delete",onClick:w,disabled:t.store.notesSaving,children:d(()=>e.value.deleteNote)})]})]}):h("div",{class:"bk-notes-editor",children:[h(Vt,{value:l.get(t.store.currentPage.value)??{text:m.value,document:t.store.pageNoteDocuments.value.get(t.store.currentPage.value)},factory:t.store.noteEditor.value,signal:t.signal,label:e.value.notes,view:a,onReady:b=>r.value=b,onDraft:(b=>x=>{c.has(b)||l.set(b,x)})(t.store.currentPage.value)}),h("div",{class:"bk-notes-actions",children:[h("button",{type:"button",class:"bk-notes-clear",onClick:w,disabled:t.store.notesSaving,children:d(()=>e.value.clearNote)}),h("button",{type:"button",class:"bk-notes-save",onClick:v,disabled:d(()=>t.store.notesSaving.value||!r.value),children:d(()=>e.value.saveNote)})]})]}))}),h("div",{role:"status","aria-live":"polite",children:d(()=>t.store.notesSaving.value?e.value.saving:t.store.notesFailed.value?e.value.noteFailed:"")})]})}function ln(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=d(()=>t.store.pendingAnnotation.value??t.store.annotations.value.find(g=>g.id===t.store.activeAnnotationId.value)),n=new Map,a=A(null),r=A(null),l={current:null},c=A(!1);return h("aside",{class:"bk-note-popover",role:"dialog","aria-label":d(()=>e.value.notes),style:d(()=>t.store.canAnnotate.value&&i.value?"display:flex;":"display:none;"),onKeyDown:g=>{g.key==="Escape"&&(g.stopPropagation(),t.onClose())},children:[d(()=>{const g=i.value;if(!g)return null;const m=!!t.store.pendingAnnotation.value||a.value===g.id;return h(Te,{children:[h("div",{class:"bk-notes-heading-row",children:[h("strong",{children:[e.value.notes," · ",e.value.page," ",g.pageIndex+1]}),h("button",{type:"button",class:"bk-notes-close",onClick:t.onClose,"aria-label":e.value.closeNote,children:"×"})]}),m?h(Te,{children:[h(Vt,{value:n.get(g.id)??{text:g.text,document:g.document},factory:t.store.noteEditor.value,signal:t.signal,label:e.value.notes,view:l,onReady:y=>c.value=y,onDraft:y=>n.set(g.id,y)}),h("div",{class:"bk-notes-actions",children:[h("button",{type:"button",onClick:t.onClose,children:e.value.cancel}),h("button",{type:"button",class:"bk-notes-save",disabled:d(()=>t.store.notesSaving.value||!c.value),onClick:async()=>{var S,v,w;const y=(S=l.current)==null?void 0:S.getValue();y&&(n.set(g.id,y),(v=l.current)==null||v.setReadOnly(!0),await t.onSave({...g,...y})&&(a.value=null,n.delete(g.id)),(w=l.current)==null||w.setReadOnly(!1))},children:e.value.saveNote})]})]}):h(Te,{children:[Xt(g.document,g.text),r.value===g.id?h("div",{class:"bk-notes-actions",children:[h("span",{children:e.value.confirmDeleteNote}),h("button",{type:"button",onClick:()=>r.value=null,children:e.value.cancel}),h("button",{type:"button",disabled:t.store.notesSaving,onClick:()=>t.onDelete(g),children:e.value.deleteNote})]}):h("div",{class:"bk-notes-actions",children:[h("button",{type:"button",onClick:()=>a.value=g.id,children:e.value.editNote}),h("button",{type:"button",onClick:()=>r.value=g.id,children:e.value.deleteNote})]})]})]})}),h("div",{role:"status","aria-live":"polite",children:d(()=>t.store.notesSaving.value?e.value.saving:t.store.notesFailed.value?e.value.noteFailed:"")})]})}function hn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value}));return h("div",{class:"bk-note-placement-hint",style:d(()=>t.store.placingNote.value?"display:flex;":"display:none;"),role:"status",children:[h("span",{children:d(()=>e.value.placeNote)}),h("button",{type:"button",onClick:i=>{var n,a;t.store.placingNote.value=!1,(a=(n=i.currentTarget.closest(".bk-wrapper"))==null?void 0:n.querySelector(".bk-btn--notes"))==null||a.focus()},children:[d(()=>e.value.cancel)," (Esc)"]})]})}function Je(t,e){var a;const i=((a=t.ownerDocument.defaultView)==null?void 0:a.AbortController)??AbortController,n=new i;return e.aborted?n.abort():e.addEventListener("abort",()=>n.abort(),{once:!0}),n.signal}function cn(t,e,i,n){n=Je(t,n),t.setAttribute("aria-keyshortcuts","ArrowLeft ArrowRight Home End + - 0 n Shift+n / i t f Escape");let a=null,r=!1;const l=Z(()=>{const c=e.showNotes.value||e.showSearch.value||e.showToc.value||!!e.pendingAnnotation.value||!!e.activeAnnotationId.value;c&&!r&&(a=t.ownerDocument.activeElement),c?queueMicrotask(()=>{if(n.aborted)return;const g=e.pendingAnnotation.value||e.activeAnnotationId.value?".bk-note-popover":e.showSearch.value?".bk-search-panel":e.showNotes.value?".bk-notes-panel":".bk-toc",m=t.querySelector(g),y=(m==null?void 0:m.querySelector('textarea:not([disabled]),input:not([disabled]),[contenteditable="true"]'))??(m==null?void 0:m.querySelector("button"));y&&(m!=null&&m.getBoundingClientRect().width)&&y.focus()}):r&&queueMicrotask(()=>{!n.aborted&&(a!=null&&a.isConnected)&&a.focus()}),r=c});n.addEventListener("abort",l,{once:!0}),t.addEventListener("keydown",c=>{var y,S,v,w,b,x;if(c.defaultPrevented||c.ctrlKey||c.metaKey||c.altKey||c.isComposing||c.target.closest("dialog"))return;if(c.key==="Escape"){c.preventDefault(),e.textSelection.value=!1,e.placingNote.value=!1,e.showNotes.value=!1,e.showSearch.value=!1,e.showToc.value=!1,i.onAnnotationClose(),(y=t.querySelector(".bk-btn--notes"))==null||y.focus();return}if(c.target.closest('input,textarea,select,[contenteditable="true"],dialog'))return;if(c.key==="?"){c.preventDefault(),_t(t,e);return}if(c.target.closest(".bk-toolbar")&&["ArrowLeft","ArrowRight","Home","End"].includes(c.key)){const E=[...t.querySelectorAll(".bk-toolbar button,.bk-toolbar summary")].filter(k=>k.getBoundingClientRect().width>0),R=E.indexOf(c.target),H=c.key==="Home"?0:c.key==="End"?E.length-1:(R+(c.key==="ArrowRight"?1:-1)+E.length)%E.length;(S=E[H])==null||S.focus(),c.preventDefault();return}const g=e.showNotes.value||e.showSearch.value||e.showToc.value||!!e.pendingAnnotation.value||!!e.activeAnnotationId.value,m=c.key.toLowerCase();if(!(e.textSelection.value&&c.shiftKey&&["arrowleft","arrowright","arrowup","arrowdown","home","end"].includes(m))){if(m==="n"){c.preventDefault(),c.shiftKey||!e.canAnnotate.value?i.onToggleNotes():i.onBeginAnnotation();return}if(!(g||e.placingNote.value)){switch(m){case"arrowleft":case"pageup":(v=i.pageFlipAdapterRef.current)==null||v.turnToPrevPage();break;case"arrowright":case"pagedown":(w=i.pageFlipAdapterRef.current)==null||w.turnToNextPage();break;case"home":e.currentPage.value=0;break;case"end":e.currentPage.value=Math.max(0,e.totalPages.value-1);break;case"+":case"=":(b=i.interactionManagerRef.current)==null||b.zoomIn();break;case"-":(x=i.interactionManagerRef.current)==null||x.zoomOut();break;case"0":e.zoomState.value={...e.zoomState.value,scale:1,isActive:!1,translateX:0,translateY:0};break;case"/":e.searchAvailable.value&&(e.showSearch.value=!0);break;case"i":e.showToc.value=!0;break;case"t":e.showThumbs.value=!e.showThumbs.value;break;case"f":i.onToggleFullscreen();break;default:return}c.preventDefault()}}},{signal:n})}function un(t,e){const i=Je(t,e),n=()=>{const g=t.parentElement;if(g!=null&&g.clientWidth)for(const m of t.querySelectorAll("[data-text-width]")){const y=m.scrollWidth;y&&(m.style.transform=`scaleX(${Number(m.dataset.textWidth)*g.clientWidth/y})`)}},a=t.ownerDocument.defaultView,r=a!=null&&a.ResizeObserver?new a.ResizeObserver(n):null;queueMicrotask(()=>{!i.aborted&&t.isConnected&&(r==null||r.observe(t.parentElement),n())});const l=a?new a.MutationObserver(()=>{t.isConnected||c()}):null,c=()=>{r==null||r.disconnect(),l==null||l.disconnect(),i.removeEventListener("abort",c)};l==null||l.observe(t.ownerDocument.documentElement,{childList:!0,subtree:!0}),i.addEventListener("abort",c,{once:!0})}function Zt(t){const e=i=>{t.store.textSelection.value&&i.stopPropagation()};return h("div",{class:d(()=>"bk-text-layer"+(t.store.textSelection.value?" is-selectable":"")),"aria-hidden":d(()=>t.store.textSelection.value?"false":"true"),onPointerDown:e,onPointerMove:e,onPointerUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchStart:e,onTouchMove:e,onTouchEnd:e,onClick:e,onContextMenu:e,children:d(()=>{const i=t.store.textPages.value.get(t.pageIndex);return i!=null&&i.runs.length?h("div",{ref:n=>un(n,t.signal),children:i.runs.map(n=>h("span",{dir:n.direction??"ltr","data-text-start":n.start,"data-text-width":n.width,style:`left:${n.x*100}%;top:${n.y*100}%;width:max-content;height:${n.height*100}%;font-size:${n.height*100}cqh;transform-origin:left top;`,children:n.text}))}):null})})}function dn(t,e){return t.type==="image"?h("img",{class:"bk-hotspot-media-image",src:t.src,alt:t.alt||"",loading:"lazy"}):t.type==="video"?h("video",{class:"bk-hotspot-media-video",controls:!0,preload:"metadata",poster:t.poster,"aria-label":t.alt||e,children:h("source",{src:t.src})}):h("audio",{class:"bk-hotspot-media-audio",controls:!0,preload:"metadata","aria-label":t.alt||e,children:h("source",{src:t.src})})}function W(t){t.stopPropagation()}function gn(t){const e=i=>Math.max(0,Math.min(1,i))*100;return"left:"+e(t.x)+"%;top:"+e(t.y)+"%;width:"+e(t.width)+"%;height:"+e(t.height)+"%;"}function Yt(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i=d(()=>t.store.hotspots.value.filter(r=>r.pageIndex===t.pageIndex)),n=d(()=>t.store.annotations.value.filter(r=>r.pageIndex===t.pageIndex)),a=A(0);return h("div",{class:"bk-hotspot-layer",children:[i.value.map(r=>h("button",{type:"button",class:"bk-hotspot",style:gn(r),"aria-label":r.label,onClick:()=>{a.value=0,t.onActivate(r)},children:h("span",{class:"bk-hotspot-label",children:r.label})})),d(()=>h("div",{class:"bk-annotation-markers",children:n.value.map(r=>h("button",{type:"button","data-annotation-id":r.id,class:d(()=>"bk-annotation-marker"+(t.store.activeAnnotationId.value===r.id?" active":"")),style:"left:"+Math.max(0,Math.min(1,r.x))*100+"%;top:"+Math.max(0,Math.min(1,r.y))*100+"%;","aria-label":r.text,onPointerDown:W,onTouchStart:W,onMouseDown:W,onClick:l=>{l.stopPropagation(),t.onAnnotationActivate(r)},children:"●"}))})),d(()=>{const r=t.store.hotspots.value.find(m=>m.id===t.store.activeHotspotId.value&&m.pageIndex===t.pageIndex);if(!r)return null;const l=r.gallery||[],c=l.length?Math.min(a.value,l.length-1):0,g=l[c];return h("div",{class:"bk-hotspot-popup",onPointerDown:W,onPointerMove:W,onPointerUp:W,onPointerCancel:W,onTouchStart:W,onTouchMove:W,onTouchEnd:W,onMouseDown:W,role:"dialog","aria-label":r.label,children:[h("div",{class:"bk-hotspot-popup-heading",children:[h("strong",{children:r.label}),h("button",{type:"button",class:"bk-hotspot-popup-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeHotspot||"Close popup"),children:"×"})]}),r.content?h("p",{children:r.content}):null,r.media?h("div",{class:"bk-hotspot-popup-media",children:dn(r.media,r.label)}):null,g?h("div",{class:"bk-hotspot-gallery","aria-label":r.label+" gallery",children:[h("div",{class:"bk-hotspot-gallery-thumbs",children:l.map((m,y)=>h("button",{type:"button",class:d(()=>"bk-hotspot-gallery-thumb"+(y===c?" is-selected":"")),onClick:()=>{a.value=y},"aria-label":m.alt||"Gallery image "+(y+1),"aria-pressed":d(()=>y===c?"true":"false"),children:h("img",{src:m.src,alt:m.alt||"",loading:"lazy"})}))}),g.href?h("a",{href:g.href,target:g.target||"_blank",rel:"noopener noreferrer",children:h("img",{class:"bk-hotspot-gallery-selected",src:g.src,alt:g.alt||""})}):h("img",{class:"bk-hotspot-gallery-selected",src:g.src,alt:g.alt||""})]}):null,r.href?h("a",{class:"bk-hotspot-link",href:r.href,target:r.target||"_blank",rel:"noopener noreferrer",children:r.kind==="commerce"?r.label:r.href}):null]})}),d(()=>{if(t.store.canAnnotate.value)return null;const r=t.store.annotations.value.find(l=>l.id===t.store.activeAnnotationId.value&&l.pageIndex===t.pageIndex);return r?h("div",{class:"bk-annotation-popup",onPointerDown:W,onPointerMove:W,onPointerUp:W,onPointerCancel:W,onTouchStart:W,onTouchMove:W,onTouchEnd:W,onMouseDown:W,role:"dialog","aria-label":d(()=>e.value.annotation||"Page annotation"),children:[h("div",{class:"bk-hotspot-popup-heading",children:[h("strong",{children:d(()=>e.value.annotation||"Page annotation")}),h("button",{type:"button",class:"bk-hotspot-popup-close",onClick:t.onAnnotationClose,"aria-label":"Close",children:"×"})]}),h("p",{children:r.text})]}):null})]})}const Qt='button,a,input,textarea,select,[contenteditable="true"],.bk-hotspot-popup',se=t=>t.stopPropagation();function Kt(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value}));return h("button",{type:"button",class:"bk-note-placement-layer","aria-label":d(()=>e.value.placeNote),style:d(()=>t.store.placingNote.value?"display:block;":"display:none;"),onPointerDown:se,onPointerMove:se,onPointerUp:se,onTouchStart:se,onTouchMove:se,onTouchEnd:se,onMouseDown:se,onClick:i=>{i.preventDefault(),i.stopPropagation();const n=i.currentTarget.getBoundingClientRect();t.onPlace(t.pageIndex,i.detail===0?.5:(i.clientX-n.left)/n.width,i.detail===0?.5:(i.clientY-n.top)/n.height)}})}function fn(t,e,i,n){n=Je(t,n);let a,r=!1,l=0,c=0,g=0;const m=()=>{clearTimeout(a),a=void 0},y=v=>v==null?void 0:v.closest(".bz-page-content,.bk-single-page"),S=(v,w,b)=>{const x=y(v),E=x==null?void 0:x.closest("[data-idx]");if(!x||!E||!e.canAnnotate.value)return;const R=x.getBoundingClientRect();!R.width||!R.height||(e.placingNote.value=!0,i(Number(E.dataset.idx),(w-R.left)/R.width,(b-R.top)/R.height))};t.addEventListener("pointerdown",v=>{if(m(),!(e.textSelection.value||!e.canAnnotate.value||e.placingNote.value||v.target.closest(Qt))){if(v.button===2){v.stopPropagation();return}v.pointerType==="mouse"||!v.isPrimary||(l=v.clientX,c=v.clientY,r=!1,a=setTimeout(()=>{r=!0,g=Date.now()+1e3,S(v.target,l,c)},550))}},{capture:!0,signal:n}),t.addEventListener("pointermove",v=>{Math.hypot(v.clientX-l,v.clientY-c)>10&&m()},{capture:!0,signal:n}),t.addEventListener("pointerup",v=>{m(),r&&(v.preventDefault(),v.stopImmediatePropagation(),r=!1)},{capture:!0,signal:n}),t.addEventListener("click",v=>{Date.now()<g&&(v.preventDefault(),v.stopImmediatePropagation())},{capture:!0,signal:n}),t.addEventListener("touchend",v=>{Date.now()<g&&(v.preventDefault(),v.stopImmediatePropagation())},{capture:!0,passive:!1,signal:n}),t.addEventListener("pointercancel",()=>{m(),r=!1},{capture:!0,signal:n}),t.addEventListener("contextmenu",v=>{e.textSelection.value||!e.canAnnotate.value||v.target.closest(Qt)||(v.preventDefault(),v.stopPropagation(),m(),r||S(v.target,v.clientX,v.clientY))},{capture:!0,signal:n}),n.addEventListener("abort",m,{once:!0})}function Jt(t){const e=d(()=>t.store.searchResults.value.filter(i=>i.pageIndex===t.pageIndex).flatMap(i=>i.highlights??[]));return h("div",{class:"bk-search-highlight-layer","aria-hidden":"true",children:d(()=>h("div",{class:"bk-search-highlight-items",children:e.value.map(i=>h("span",{class:"bk-search-text-highlight",style:"left:"+i.x*100+"%;top:"+i.y*100+"%;width:"+i.width*100+"%;height:"+i.height*100+"%;"}))}))})}function pn(t){return h("div",{role:"region","aria-label":"Flipbook viewer",class:d(()=>{let e="bk-book-wrapper ";return t.store.isSingleMode.value&&(e+="single-mode "),t.store.isDoublePageLayout.value&&(e+="double-mode "),t.store.isFrontCover.value&&(e+="bk-is-cover "),t.store.isBackCover.value&&(e+="bk-is-back-cover "),t.store.zoomState.value.isActive&&(e+="zoomed "),e.trim()}),ref:e=>{t.bookWrapperRef(e),fn(e,t.store,t.onPlaceAnnotation,t.signal)},children:h("div",{class:"bk-book-sizer",ref:t.bookSizerRef,children:[h("div",{ref:t.bookContainerRef,class:d(()=>"bk-book "+(t.store.flipState.value!=="read"?"is-flipping":"")),style:d(()=>`display: ${t.store.isSingleMode.value?"none":"block"};`),children:t.store.pages.value.map((e,i)=>{const n=i===0||i===t.store.pages.value.length-1;return h("div",{class:d(()=>`bz-page ${i===0?"bz-page--cover":""} ${i===t.store.pages.value.length-1?"bz-page--back":""}`),"data-density":n?"hard":"soft","data-idx":i,children:h("div",{class:"bz-page-content",style:"position:relative; width:100%; height:100%; overflow:hidden;",children:[h("img",{"data-pdf-page":e.assetId.startsWith("pdf-page-")?e.sourcePageNumber??e.pageNumber:void 0,src:e.low||e.normal,"data-src":e.normal,class:`page-content ${e.cropMode!=="full"?"page-content--split page-content--"+e.cropMode:""}`,alt:`Page ${i+1}`}),h(Zt,{store:t.store,pageIndex:i,signal:t.signal}),h(Jt,{store:t.store,pageIndex:i}),h(Yt,{store:t.store,pageIndex:i,onActivate:t.onHotspotActivate,onClose:t.onHotspotClose,onAnnotationActivate:t.onAnnotationActivate,onAnnotationClose:t.onAnnotationClose}),h("div",{class:"page-shadow"}),h(Kt,{store:t.store,pageIndex:i,onPlace:t.onPlaceAnnotation})]})})})}),h("div",{class:"bk-single-view",style:d(()=>`display: ${t.store.isSingleMode.value?"flex":"none"}; width: 100%; height: 100%; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; z-index: 10;`),children:d(()=>{const e=t.store.pages.value[t.store.currentPage.value];return e?h("div",{class:"bk-single-page","data-idx":t.store.currentPage.value,children:[h("img",{"data-pdf-page":e.assetId.startsWith("pdf-page-")?e.sourcePageNumber??e.pageNumber:void 0,class:d(()=>`bk-single-img page-content ${e.cropMode!=="full"?"page-content--split page-content--"+e.cropMode:""}`),src:t.store.zoomState.value.isActive?e.normal:e.low||e.normal,alt:`Page ${t.store.currentPage.value+1}`,style:"opacity: 1; transition: opacity 0.3s; box-shadow: var(--flipbook-shadow);"}),d(()=>t.store.isSingleMode.value?h(Te,{children:[h(Zt,{store:t.store,pageIndex:t.store.currentPage.value,signal:t.signal}),h(Jt,{store:t.store,pageIndex:t.store.currentPage.value}),h(Yt,{store:t.store,pageIndex:t.store.currentPage.value,onActivate:t.onHotspotActivate,onClose:t.onHotspotClose,onAnnotationActivate:t.onAnnotationActivate,onAnnotationClose:t.onAnnotationClose}),h(Kt,{store:t.store,pageIndex:t.store.currentPage.value,onPlace:t.onPlaceAnnotation})]}):null)]}):null})})]})})}function vn(t){const e=d(()=>t.store.showArrows.value&&t.store.currentPage.value>0),i=d(()=>!t.store.showArrows.value||t.store.totalPages.value<=1?!1:t.store.currentPage.value<t.store.totalPages.value-1);return h("div",{class:"bk-nav-arrows",style:d(()=>t.store.showArrows.value&&!t.store.showToc.value&&!t.store.showSearch.value&&!t.store.showNotes.value&&!t.store.placingNote.value&&!t.store.pendingAnnotation.value&&!t.store.activeAnnotationId.value?"display: flex;":"display: none;"),children:[h("button",{type:"button",class:"bk-nav-arrow bk-nav-prev",style:d(()=>e.value?"visibility: visible;":"visibility: hidden;"),onClick:n=>{n.preventDefault(),n.stopPropagation(),t.onPrevPage()},"aria-label":"Previous Page",children:h("div",{class:"bk-arrow-icon bk-arrow-left"})}),h("button",{type:"button",class:"bk-nav-arrow bk-nav-next",style:d(()=>i.value?"visibility: visible;":"visibility: hidden;"),onClick:n=>{n.preventDefault(),n.stopPropagation(),t.onNextPage()},"aria-label":"Next Page",children:h("div",{class:"bk-arrow-icon bk-arrow-right"})})]})}function mn(t){const e=d(()=>Y({locale:t.store.locale.value,messages:t.store.messages.value})),i={current:null},n=A(""),a=()=>{var c;const l=((c=i.current)==null?void 0:c.value)??n.value;n.value=l,t.onSearch(l)},r=()=>{i.current&&(i.current.value=""),n.value="",t.onClear()};return h("section",{class:"bk-search-panel",style:d(()=>t.store.showSearch.value?"display:flex;":"display:none;"),"aria-label":d(()=>e.value.search||"Search"),onKeyDown:l=>{l.key==="Escape"&&t.onClose()},children:[h("div",{class:"bk-search-heading-row",children:[h("strong",{class:"bk-search-heading",children:d(()=>e.value.search||"Search")}),h("button",{type:"button",class:"bk-search-close",onClick:t.onClose,"aria-label":d(()=>e.value.closeSearch||"Close search"),children:"×"})]}),h("div",{class:"bk-search-form",children:[h("input",{ref:l=>{i.current=l},class:"bk-search-input",type:"search",placeholder:d(()=>e.value.searchPlaceholder||"Search PDF text"),value:d(()=>t.store.searchQuery.value),onInput:l=>{n.value=l.currentTarget.value},onKeyDown:l=>{l.key==="Enter"&&a()}}),h("button",{type:"button",class:"bk-search-submit",onClick:a,children:d(()=>e.value.search||"Search")}),h("button",{type:"button",class:"bk-search-clear",onClick:r,children:d(()=>e.value.clearSearch||"Clear")})]}),h("div",{class:"bk-search-results","aria-live":"polite",children:d(()=>{const l=t.store.searchResults.value;return t.store.searchBusy.value?h("div",{role:"status",children:e.value.searching}):t.store.searchFailed.value?h("div",{role:"alert",children:e.value.searchFailed}):t.store.searchQuery.value?l.length?h("div",{class:"bk-search-result-list",children:l.map(c=>h("button",{type:"button",class:"bk-search-result",onClick:()=>t.onSelect(c.pageIndex),children:[h("span",{class:"bk-search-result-page",children:c.pageNumber}),h("span",{class:"bk-search-result-text",children:c.snippet}),h("span",{class:"bk-search-result-count",children:c.matches})]}))}):h("div",{class:"bk-search-empty",children:e.value.noSearchResults||"No results"}):null})})]})}function bn(t){let e;const i=n=>{e==null||e(),e=void 0,n&&(e=t.panel.render(n)||void 0)};return h("section",{class:d(()=>`bk-plugin-panel ${t.registry.activePanelId.value===t.panelKey?"is-open":""}`),"aria-hidden":d(()=>t.registry.activePanelId.value===t.panelKey?"false":"true"),"aria-label":t.panel.title||t.panel.id,children:h("div",{class:"bk-plugin-panel-content",ref:i})})}function wn(t){const e=t.registry.getPanels();return h("div",{class:"bk-plugin-panels",children:e.map(i=>h(bn,{panel:i,panelKey:i.key,registry:t.registry}))})}function yn(t){const e=()=>{t.store.showThumbs.value=!t.store.showThumbs.value},i=()=>{t.store.showSearch.value=!1,t.store.showNotes.value=!1,t.store.showToc.value=!t.store.showToc.value},n=()=>{t.store.showToc.value=!1,t.store.showSearch.value=!1,t.onToggleNotes()},a=()=>{t.store.isSingleMode.value=!t.store.isSingleMode.value},r=()=>{t.store.isAutoPlaying.value=!t.store.isAutoPlaying.value},l=()=>{var w;(w=t.interactionManagerRef.current)==null||w.zoomIn()},c=()=>{var w;(w=t.interactionManagerRef.current)==null||w.zoomOut()},g=()=>t.onToggleFullscreen(),m=w=>{t.store.currentPage.value=w,t.store.showToc.value=!1},y=w=>{var b;t.store.currentPage.value!==w&&(t.store.currentPage.value=w,(b=t.pageFlipAdapterRef.current)==null||b.playSound())},S=()=>{var w;(w=t.pageFlipAdapterRef.current)==null||w.turnToNextPage()},v=()=>{var w;(w=t.pageFlipAdapterRef.current)==null||w.turnToPrevPage()};return h("div",{class:d(()=>`bk-wrapper bk-theme-${t.store.themeMode.value} ${t.className||""}`),tabIndex:0,ref:w=>cn(w,t.store,t,t.signal),children:[h("div",{class:"bk-main-area",children:[h(pn,{store:t.store,bookWrapperRef:t.bookWrapperRef,bookSizerRef:t.bookSizerRef,bookContainerRef:t.bookContainerRef,onHotspotActivate:t.onHotspotActivate,onHotspotClose:t.onHotspotClose,onAnnotationActivate:t.onAnnotationActivate,onAnnotationClose:t.onAnnotationClose,onPlaceAnnotation:t.onPlaceAnnotation,signal:t.signal}),h(vn,{store:t.store,onPrevPage:v,onNextPage:S}),t.store.whiteLabel.value?null:h("div",{class:"bk-watermark",children:["Powered by ",h("a",{href:"https://flipbookengine.com",target:"_blank",rel:"noopener",style:"text-decoration: underline;",children:"FlipbookEngine"})]}),h(on,{store:t.store,onEntryClick:m,onClose:()=>t.store.showToc.value=!1}),h(mn,{store:t.store,onSearch:t.onSearch,onClear:t.onClearSearch,onClose:t.onCloseSearch,onSelect:t.onSelectSearchResult}),h(rn,{store:t.store,signal:t.signal,onSelect:t.onSelectNote,onAnnotation:t.onAnnotationActivate,onAdd:t.onBeginAnnotation,onSave:t.onSaveNote,onClear:t.onClearNote,onClose:t.onCloseNotes}),h(ln,{store:t.store,signal:t.signal,onSave:t.onSaveAnnotation,onDelete:t.onDeleteAnnotation,onClose:t.onAnnotationClose}),h(hn,{store:t.store}),t.pluginRegistry?h(wn,{registry:t.pluginRegistry}):null]}),h(sn,{store:t.store,onToggleThumbs:e,onToggleToc:i,onToggleSearch:()=>{t.store.showToc.value=!1,t.store.showNotes.value=!1,t.store.showSearch.value=!t.store.showSearch.value},onToggleSingleMode:a,onZoomIn:l,onZoomOut:c,onDownload:t.onDownload,onShare:t.onShare,onToggleBookmark:t.onToggleBookmark,onToggleNotes:n,onNextPage:S,onPrevPage:v,onSoundToggle:()=>t.store.soundEnabled.value=!t.store.soundEnabled.value,onToggleAutoPlay:r,onToggleFullscreen:g,pluginRegistry:t.pluginRegistry}),h(an,{store:t.store,onThumbClick:y})]})}var Pn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},et={exports:{}};(function(t,e){(function(i,n){n(e)})(Pn,function(i){class n{constructor(s,o){this.state={angle:0,area:[],position:{x:0,y:0},hardAngle:0,hardDrawingAngle:0},this.createdDensity=o,this.nowDrawingDensity=this.createdDensity,this.render=s}setDensity(s){this.createdDensity=s,this.nowDrawingDensity=s}setDrawingDensity(s){this.nowDrawingDensity=s}setPosition(s){this.state.position=s}setAngle(s){this.state.angle=s}setArea(s){this.state.area=s}setHardDrawingAngle(s){this.state.hardDrawingAngle=s}setHardAngle(s){this.state.hardAngle=s,this.state.hardDrawingAngle=s}setOrientation(s){this.orientation=s}getDrawingDensity(){return this.nowDrawingDensity}getDensity(){return this.createdDensity}getHardAngle(){return this.state.hardAngle}}class a extends n{constructor(s,o,u){super(s,u),this.image=null,this.isLoad=!1,this.loadingAngle=0,this.image=new Image,this.image.src=o}draw(s){const o=this.render.getContext(),u=this.render.convertToGlobal(this.state.position),f=this.render.getRect().pageWidth,p=this.render.getRect().height;o.save(),o.translate(u.x,u.y),o.beginPath();for(let P of this.state.area)P!==null&&(P=this.render.convertToGlobal(P),o.lineTo(P.x-u.x,P.y-u.y));o.rotate(this.state.angle),o.clip(),this.isLoad?o.drawImage(this.image,0,0,f,p):this.drawLoader(o,{x:0,y:0},f,p),o.restore()}simpleDraw(s){const o=this.render.getRect(),u=this.render.getContext(),f=o.pageWidth,p=o.height,P=s===1?o.left+o.pageWidth:o.left,T=o.top;this.isLoad?u.drawImage(this.image,P,T,f,p):this.drawLoader(u,{x:P,y:T},f,p)}drawLoader(s,o,u,f){s.beginPath(),s.strokeStyle="rgb(200, 200, 200)",s.fillStyle="rgb(255, 255, 255)",s.lineWidth=1,s.rect(o.x+1,o.y+1,u-1,f-1),s.stroke(),s.fill();const p={x:o.x+u/2,y:o.y+f/2};s.beginPath(),s.lineWidth=10,s.arc(p.x,p.y,20,this.loadingAngle,3*Math.PI/2+this.loadingAngle),s.stroke(),s.closePath(),this.loadingAngle+=.07,this.loadingAngle>=2*Math.PI&&(this.loadingAngle=0)}load(){this.isLoad||(this.image.onload=()=>{this.isLoad=!0})}newTemporaryCopy(){return this}getTemporaryCopy(){return this}hideTemporaryCopy(){}}class r{constructor(s,o){this.pages=[],this.currentPageIndex=0,this.currentSpreadIndex=0,this.landscapeSpread=[],this.portraitSpread=[],this.render=o,this.app=s,this.currentPageIndex=0,this.isShowCover=this.app.getSettings().showCover}destroy(){this.pages=[]}createSpread(){this.landscapeSpread=[],this.portraitSpread=[];for(let o=0;o<this.pages.length;o++)this.portraitSpread.push([o]);let s=0;this.isShowCover&&(this.pages[0].setDensity("hard"),this.landscapeSpread.push([s]),s++);for(let o=s;o<this.pages.length;o+=2)o<this.pages.length-1?this.landscapeSpread.push([o,o+1]):(this.landscapeSpread.push([o]),this.pages[o].setDensity("hard"))}getSpread(){return this.render.getOrientation()==="landscape"?this.landscapeSpread:this.portraitSpread}getSpreadIndexByPage(s){const o=this.getSpread();for(let u=0;u<o.length;u++)if(s===o[u][0]||s===o[u][1])return u;return null}getPageCount(){return this.pages.length}getPages(){return this.pages}getPage(s){if(s>=0&&s<this.pages.length)return this.pages[s];throw new Error("Invalid page number")}nextBy(s){const o=this.pages.indexOf(s);return o<this.pages.length-1?this.pages[o+1]:null}prevBy(s){const o=this.pages.indexOf(s);return o>0?this.pages[o-1]:null}getFlippingPage(s){const o=this.currentSpreadIndex;if(this.render.getOrientation()==="portrait")return s===0?this.pages[o].newTemporaryCopy():this.pages[o-1];{const u=s===0?this.getSpread()[o+1]:this.getSpread()[o-1];return u.length===1||s===0?this.pages[u[0]]:this.pages[u[1]]}}getBottomPage(s){const o=this.currentSpreadIndex;if(this.render.getOrientation()==="portrait")return s===0?this.pages[o+1]:this.pages[o-1];{const u=s===0?this.getSpread()[o+1]:this.getSpread()[o-1];return u.length===1?this.pages[u[0]]:s===0?this.pages[u[1]]:this.pages[u[0]]}}showNext(){this.currentSpreadIndex<this.getSpread().length&&(this.currentSpreadIndex++,this.showSpread())}showPrev(){this.currentSpreadIndex>0&&(this.currentSpreadIndex--,this.showSpread())}getCurrentPageIndex(){return this.currentPageIndex}show(s=null){if(s===null&&(s=this.currentPageIndex),s<0||s>=this.pages.length)return;const o=this.getSpreadIndexByPage(s);o!==null&&(this.currentSpreadIndex=o,this.showSpread())}getCurrentSpreadIndex(){return this.currentSpreadIndex}setCurrentSpreadIndex(s){if(!(s>=0&&s<this.getSpread().length))throw new Error("Invalid page");this.currentSpreadIndex=s}showSpread(){const s=this.getSpread()[this.currentSpreadIndex];s.length===2?(this.render.setLeftPage(this.pages[s[0]]),this.render.setRightPage(this.pages[s[1]])):this.render.getOrientation()==="landscape"&&s[0]===this.pages.length-1?(this.render.setLeftPage(this.pages[s[0]]),this.render.setRightPage(null)):(this.render.setLeftPage(null),this.render.setRightPage(this.pages[s[0]])),this.currentPageIndex=s[0],this.app.updatePageIndex(this.currentPageIndex)}}class l extends r{constructor(s,o,u){super(s,o),this.imagesHref=u}load(){for(const s of this.imagesHref){const o=new a(this.render,s,"soft");o.load(),this.pages.push(o)}this.createSpread()}}class c{static GetDistanceBetweenTwoPoint(s,o){return s===null||o===null?1/0:Math.sqrt(Math.pow(o.x-s.x,2)+Math.pow(o.y-s.y,2))}static GetSegmentLength(s){return c.GetDistanceBetweenTwoPoint(s[0],s[1])}static GetAngleBetweenTwoLine(s,o){const u=s[0].y-s[1].y,f=o[0].y-o[1].y,p=s[1].x-s[0].x,P=o[1].x-o[0].x;return Math.acos((u*f+p*P)/(Math.sqrt(u*u+p*p)*Math.sqrt(f*f+P*P)))}static PointInRect(s,o){return o===null?null:o.x>=s.left&&o.x<=s.width+s.left&&o.y>=s.top&&o.y<=s.top+s.height?o:null}static GetRotatedPoint(s,o,u){return{x:s.x*Math.cos(u)+s.y*Math.sin(u)+o.x,y:s.y*Math.cos(u)-s.x*Math.sin(u)+o.y}}static LimitPointToCircle(s,o,u){if(c.GetDistanceBetweenTwoPoint(s,u)<=o)return u;const f=s.x,p=s.y,P=u.x,T=u.y;let M=Math.sqrt(Math.pow(o,2)*Math.pow(f-P,2)/(Math.pow(f-P,2)+Math.pow(p-T,2)))+f;u.x<0&&(M*=-1);let z=(M-f)*(p-T)/(f-P)+p;return f-P+p===0&&(z=o),{x:M,y:z}}static GetIntersectBetweenTwoSegment(s,o,u){return c.PointInRect(s,c.GetIntersectBeetwenTwoLine(o,u))}static GetIntersectBeetwenTwoLine(s,o){const u=s[0].y-s[1].y,f=o[0].y-o[1].y,p=s[1].x-s[0].x,P=o[1].x-o[0].x,T=s[0].x*s[1].y-s[1].x*s[0].y,M=o[0].x*o[1].y-o[1].x*o[0].y,z=u*M-f*T,B=p*M-P*T,q=-(T*P-M*p)/(u*P-f*p),G=-(u*M-f*T)/(u*P-f*p);if(isFinite(q)&&isFinite(G))return{x:q,y:G};if(Math.abs(z-B)<.1)throw new Error("Segment included");return null}static GetCordsFromTwoPoint(s,o){const u=Math.abs(s.x-o.x),f=Math.abs(s.y-o.y),p=Math.max(u,f),P=[s];function T(M,z,B,q,G){return z>M?M+G*(B/q):z<M?M-G*(B/q):M}for(let M=1;M<=p;M+=1)P.push({x:T(s.x,o.x,u,p,M),y:T(s.y,o.y,f,p,M)});return P}}class g extends n{constructor(s,o,u){super(s,u),this.copiedElement=null,this.temporaryCopy=null,this.isLoad=!1,this.element=o,this.element.classList.add("stf__item"),this.element.classList.add("--"+u)}newTemporaryCopy(){return this.nowDrawingDensity==="hard"?this:(this.temporaryCopy===null&&(this.copiedElement=this.element.cloneNode(!0),this.element.parentElement.appendChild(this.copiedElement),this.temporaryCopy=new g(this.render,this.copiedElement,this.nowDrawingDensity)),this.getTemporaryCopy())}getTemporaryCopy(){return this.temporaryCopy}hideTemporaryCopy(){this.temporaryCopy!==null&&(this.copiedElement.remove(),this.copiedElement=null,this.temporaryCopy=null)}draw(s){const o=s||this.nowDrawingDensity,u=this.render.convertToGlobal(this.state.position),f=this.render.getRect().pageWidth,p=this.render.getRect().height;this.element.classList.remove("--simple");const P=`
|
|
2
2
|
display: block;
|
|
3
3
|
z-index: ${this.element.style.zIndex};
|
|
4
4
|
left: 0;
|
|
@@ -168,7 +168,7 @@ var FlipbookEngine=function(N,F){"use strict";var On=Object.defineProperty;var y
|
|
|
168
168
|
* Copyright (c) 2026 Murat Dogan
|
|
169
169
|
*
|
|
170
170
|
* This source code is dual-licensed under the AGPLv3 and a Commercial License.
|
|
171
|
-
*/const ti=()=>({isActive:!1,translateX:0,translateY:0,isDragging:!1,scale:1});function ii(){const t=A(new Map),e=A(!1),i=A(!1),n=A(new Map),a=A(void 0),r=A(!1),l=A(!1),c=A(null),g=A("page"),m=A(!1),y=A(!1),S=A(!1),v=A(!1),w=A(!1),b=A(0),x=A(0),E=A(!1),R=A(!1),H=A(!1),k=A(!1),s=A(!1),o=A(!0),u=A("landscape"),f=A("read"),p=A("auto"),P=A(!0),T=A(!1),M=A(!1),z=A("#7367f0"),B=A(!1),q=A(!1),G=A(!1),K=A(new Set),he=A(new Map),be=A(3e3),st=A(!0),at=A(""),ot=A([]),rt=A([]),lt=A(null),ht=A([]),ct=A(null),ut=A("en"),dt=A({}),mi=A(ti()),gt=A([]),ft=A([]),pt=d(()=>!E.value&&u.value==="landscape"),Ln=d(()=>pt.value&&b.value===0),zn=d(()=>pt.value&&b.value>=x.value-1);return{textAvailable:i,textPages:t,textSelection:e,pageNoteDocuments:n,noteEditor:a,canAnnotate:r,placingNote:l,pendingAnnotation:c,notesView:g,searchAvailable:m,searchBusy:y,searchFailed:S,notesSaving:v,notesFailed:w,currentPage:b,totalPages:x,isSingleMode:E,showThumbs:R,showToc:H,showNotes:k,showSearch:s,showArrows:o,orientation:u,flipState:f,themeMode:p,allowDownload:P,bookmarkedPages:K,pageNotes:he,hasDownloadUrl:T,isPdfMode:M,primaryColor:z,whiteLabel:B,isZoomed:q,isAutoPlaying:G,autoPlayInterval:be,soundEnabled:st,searchQuery:at,searchResults:ot,hotspots:rt,activeHotspotId:lt,annotations:ht,activeAnnotationId:ct,locale:ut,messages:dt,zoomState:mi,pages:gt,toc:ft,isDoublePageLayout:pt,isFrontCover:Ln,isBackCover:zn,init:(I,Le,Fn,bi,wi=bi)=>{n.value=new Map(Object.entries(I.noteDocuments??{}).map(([j,we])=>[Number(j),we])),a.value=I.noteEditor,r.value=!!I.annotationProvider,l.value=!1,c.value=null,i.value=!!I.textLayerProvider,t.value=new Map,e.value=I.textSelection??!1,m.value=wi||!!I.searchProvider,x.value=Le,gt.value=Fn,T.value=bi,M.value=wi,I.theme!==void 0&&(p.value=I.theme),I.primaryColor!==void 0&&(z.value=I.primaryColor),I.showThumbs!==void 0&&(R.value=I.showThumbs),I.showToc!==void 0&&(H.value=I.showToc),k.value=!1,g.value="page",s.value=!1,y.value=!1,S.value=!1,v.value=!1,w.value=!1,at.value="",ot.value=[],rt.value=I.hotspots??[],lt.value=null,ht.value=I.annotations??[],ct.value=null,ft.value=De(I.toc??[],Le),I.showArrows!==void 0&&(o.value=I.showArrows),I.allowDownload!==void 0&&(P.value=I.allowDownload),I.whiteLabel!==void 0&&(B.value=I.whiteLabel),I.soundEnabled!==void 0&&(st.value=I.soundEnabled),I.locale!==void 0&&(ut.value=I.locale),I.messages!==void 0&&(dt.value=I.messages),I.isSingleMode!==void 0&&(E.value=I.isSingleMode),I.singleMode!==void 0&&(E.value=I.singleMode),I.autoPlay!==void 0&&(G.value=I.autoPlay),I.autoPlayInterval!==void 0&&(be.value=I.autoPlayInterval),K.value=new Set((I.bookmarks??[]).map(j=>Math.trunc(j)).filter(j=>Number.isInteger(j)&&j>=0&&j<Le)),he.value=new Map(Object.entries(I.notes??{}).map(([j,we])=>[Math.trunc(Number(j)),String(we).trim()]).filter(([j,we])=>Number.isInteger(j)&&j>=0&&j<Le&&we.length>0)),b.value=0},reset:()=>{t.value=new Map,e.value=!1,i.value=!1,b.value=0,x.value=0,E.value=!1,R.value=!1,H.value=!1,k.value=!1,g.value="page",s.value=!1,y.value=!1,S.value=!1,v.value=!1,w.value=!1,o.value=!0,u.value="landscape",f.value="read",p.value="auto",P.value=!0,T.value=!1,M.value=!1,m.value=!1,n.value=new Map,r.value=!1,l.value=!1,c.value=null,z.value="#7367f0",B.value=!1,q.value=!1,G.value=!1,be.value=3e3,st.value=!0,ut.value="en",dt.value={},mi.value=ti(),gt.value=[],ft.value=[],K.value=new Set,he.value=new Map,at.value="",ot.value=[],rt.value=[],lt.value=null,ht.value=[],ct.value=null}}}const D=ii();D.currentPage,D.totalPages,D.isSingleMode,D.showThumbs,D.showToc,D.showNotes,D.showSearch,D.showArrows,D.orientation,D.flipState,D.themeMode,D.allowDownload,D.bookmarkedPages,D.pageNotes,D.hasDownloadUrl,D.isPdfMode,D.primaryColor,D.whiteLabel,D.isZoomed,D.isAutoPlaying,D.autoPlayInterval,D.soundEnabled,D.searchQuery,D.searchResults,D.hotspots,D.activeHotspotId,D.annotations,D.activeAnnotationId,D.locale,D.messages,D.zoomState,D.pages,D.toc,D.isDoublePageLayout,D.isFrontCover,D.isBackCover;function ni(t){if(!t||typeof t!="object")return!1;const e=t;return typeof e.normal=="string"&&typeof e.low=="string"&&typeof e.thumb=="string"}function Mn(t){return Array.isArray(t.pageNumbers)&&t.pageNumbers.length>0?t.pageNumbers:typeof t.pageNumber=="number"?t.kind==="spread"?[t.pageNumber,t.pageNumber+1]:[t.pageNumber]:[]}function En(t){return t==="rtl"?["right","left"]:["left","right"]}function si(t){const e=[];let i=1;return t.forEach((n,a)=>{const r=n.kind??"single",l=n.id??`asset-${a}`,c=n.splitDirection??"ltr",g=Mn(n);if(r==="spread"){const y=g.length>=2?g.slice(0,2):[i,i+1],S=En(c);y.forEach((v,w)=>{e.push({index:e.length,assetId:l,pageNumber:v,sourcePageNumber:v,cropMode:S[w]??"full",normal:n.normal,low:n.low,thumb:n.thumb})}),i=y[y.length-1]+1;return}const m=g[0]??i;e.push({index:e.length,assetId:l,pageNumber:m,sourcePageNumber:m,cropMode:"full",normal:n.normal,low:n.low,thumb:n.thumb}),i=m+1}),e}function In(t){return t?'url("'+t.replace(/["\\\r\n]/g,i=>"\\"+i)+'")':void 0}function ai(t,e){t.classList.add("bk-container"),t.classList.remove("bk-theme-light","bk-theme-dark"),t.classList.add("bk-theme-"+(e.theme??"auto")),e.primaryColor&&t.style.setProperty("--flipbook-accent",e.primaryColor);const i=e.background??{},n=e.backgroundColor||e.backgroundImage?{color:e.backgroundColor,image:e.backgroundImage}:void 0,a=(l,c)=>{const g={["--flipbook-bg-"+l+"-color"]:c==null?void 0:c.color,["--flipbook-bg-"+l+"-image"]:In(c==null?void 0:c.image),["--flipbook-bg-"+l+"-size"]:c==null?void 0:c.size,["--flipbook-bg-"+l+"-position"]:c==null?void 0:c.position,["--flipbook-bg-"+l+"-repeat"]:c==null?void 0:c.repeat};Object.entries(g).forEach(([m,y])=>{y?t.style.setProperty(m,y):t.style.removeProperty(m)})};a("light",i.light??n),a("dark",i.dark);const r=e.cssVariables??{};Object.entries(r).forEach(([l,c])=>{const g=l.startsWith("--")?l:"--"+l;t.style.setProperty(g,c)})}class Dn{constructor(e=32){C(this,"entries",new Map);C(this,"hits",0);C(this,"misses",0);if(this.maxEntries=e,!Number.isInteger(e)||e<0)throw new RangeError("PDF render cache size must be a non-negative integer.")}get(e){const i=this.entries.get(e);if(i===void 0){this.misses++;return}return this.hits++,this.entries.delete(e),this.entries.set(e,i),i}set(e,i){if(!(this.maxEntries===0||!i))for(this.entries.delete(e),this.entries.set(e,i);this.entries.size>this.maxEntries;){const n=this.entries.keys().next().value;if(n===void 0)break;this.entries.delete(n)}}clear(){this.entries.clear(),this.hits=0,this.misses=0}get size(){return this.entries.size}getStats(){return{size:this.size,maxEntries:this.maxEntries,hits:this.hits,misses:this.misses}}}const tt=1190.55,it=841.89;function oi(t,e){const i=Math.max(t,e),n=Math.min(t,e),a=i/n,r=Math.abs(i-tt)/tt<=.08&&Math.abs(n-it)/it<=.08;return t>=e&&r&&Math.abs(a-tt/it)<=.04}class Rn{constructor(e={}){C(this,"pdfDoc",null);C(this,"loadingTask",null);C(this,"options");C(this,"cache");C(this,"textCache",new Map);const i=Number.isFinite(e.cacheSize)?Math.max(0,Math.floor(e.cacheSize)):32;this.options={scale:e.scale||1.5,quality:e.quality||.85,format:e.format||"image/webp",workerSrc:e.workerSrc||"",concurrency:Math.max(1,Math.floor(e.concurrency||3)),cacheSize:i},this.cache=new Dn(this.options.cacheSize),this.options.workerSrc&&(ce.GlobalWorkerOptions.workerSrc=this.options.workerSrc)}async loadDocument(e,i){this.throwIfAborted(i),this.cache.clear();const n=ce.getDocument(e);this.loadingTask=n;const a=()=>{var r;return(r=n.destroy)==null?void 0:r.call(n)};i==null||i.addEventListener("abort",a,{once:!0});try{return this.pdfDoc=await n.promise,this.throwIfAborted(i),this.pdfDoc.numPages}catch(r){throw i!=null&&i.aborted?this.createAbortError():r}finally{i==null||i.removeEventListener("abort",a),this.loadingTask===n&&(this.loadingTask=null)}}async renderPageToDataUrl(e,i){if(!this.pdfDoc)throw new Error("PDF document is not loaded.");this.throwIfAborted(i);const n=this.cache.get(e);if(n!==void 0)return n;try{const a=await this.pdfDoc.getPage(e);this.throwIfAborted(i);const r=a.getViewport({scale:this.options.scale}),l=document.createElement("canvas");l.width=r.width,l.height=r.height;const c=l.getContext("2d");if(c){const g=a.render({canvasContext:c,viewport:r}),m=()=>{var S;return(S=g.cancel)==null?void 0:S.call(g)};i==null||i.addEventListener("abort",m,{once:!0});try{await g.promise,this.throwIfAborted(i)}finally{i==null||i.removeEventListener("abort",m)}const y=l.toDataURL(this.options.format,this.options.quality);return this.cache.set(e,y),y}throw new Error("Unable to create a PDF canvas rendering context.")}catch(a){throw i!=null&&i.aborted?this.createAbortError():a}}async extractPageText(e){if(!this.pdfDoc)throw new Error("PDF document is not loaded.");if(!Number.isInteger(e)||e<1||e>this.pdfDoc.numPages)throw new Error("PDF page number is out of range.");const i=this.textCache.get(e);if(i!==void 0)return i;const a=await(await this.pdfDoc.getPage(e)).getTextContent(),r=((a==null?void 0:a.items)??[]).map(l=>typeof(l==null?void 0:l.str)=="string"?l.str:"").filter(Boolean).join(" ").replace(/\s+/g," ").trim();return this.textCache.set(e,r),r}async searchText(e,i={}){const n=String(e??"").trim();if(!this.pdfDoc||!n)return[];const a=i.caseSensitive===!0,r=a?n:n.toLocaleLowerCase(),l=Number.isFinite(i.maxResults)?Math.max(1,Math.trunc(i.maxResults)):100,c=[];for(let g=1;g<=this.pdfDoc.numPages&&c.length<l;g++){const m=await this.pdfDoc.getPage(g),y=await m.getTextContent(),S=((y==null?void 0:y.items)??[]).filter(p=>typeof(p==null?void 0:p.str)=="string"&&p.str.length>0),v=S.map(p=>p.str).join(" ").replace(/\s+/g," ").trim(),w=a?v:v.toLocaleLowerCase();let b=0,x=w.indexOf(r);for(;x>=0;)b++,x=w.indexOf(r,x+Math.max(1,r.length));if(!b)continue;const E=w.indexOf(r),R=Math.max(0,E-70),H=Math.min(v.length,E+n.length+100),k=[],s=typeof m.getViewport=="function"?m.getViewport({scale:1}):null,o=Number(s==null?void 0:s.width),u=Number(s==null?void 0:s.height);o>0&&u>0&&S.forEach(p=>{const P=String(p.str),T=a?P:P.toLocaleLowerCase(),M=Array.isArray(p.transform)?p.transform:[],z=Number(M[4]),B=Number(M[5]),q=Number(p.width)||Math.abs(Number(M[0]))||0,G=Number(p.height)||Math.abs(Number(M[3]))||0;if(!(q>0&&G>0&&Number.isFinite(z)&&Number.isFinite(B)))return;let K=T.indexOf(r);for(;K>=0;){const he=Math.max(0,Math.min(1,K/Math.max(1,P.length))),be=Math.max(.02,Math.min(1-he,r.length/Math.max(1,P.length)));k.push({x:Math.max(0,Math.min(1,(z+q*he)/o)),y:Math.max(0,Math.min(1,(u-B-G)/u)),width:Math.max(0,Math.min(1,q*be/o)),height:Math.max(0,Math.min(1,G/u))}),K=T.indexOf(r,K+Math.max(1,r.length))}});const f={sourcePageNumber:g,matches:b,snippet:v.slice(R,H).trim()};k.length&&(f.highlights=k),c.push(f)}return c}async getPageLayouts(e="auto"){if(!this.pdfDoc)return[];const i=[];for(let n=1;n<=this.pdfDoc.numPages;n++){const r=(await this.pdfDoc.getPage(n)).getViewport({scale:1}),l=e==="split"?r.width>=r.height:e==="auto"&&oi(r.width,r.height);i.push({width:r.width,height:r.height,split:l})}return i}async calculateViewportDimensions(e=420,i){if(!this.pdfDoc)throw new Error("PDF document is not loaded.");const n=await this.pdfDoc.getPage(1),a=i?{width:i.split?i.width/2:i.width,height:i.height}:n.getViewport({scale:1}),r=a.width/a.height;return r>=1?{width:Math.round(e*r),height:e}:{width:e,height:Math.round(e/r)}}async renderAllPages(e,i){if(!this.pdfDoc)return[];this.throwIfAborted(e);const n=this.pdfDoc.numPages,a=new Array(n);let r=1,l=0;const c=async()=>{for(;;){this.throwIfAborted(e);const m=r++;if(m>n)return;const y=await this.renderPageToDataUrl(m,e);a[m-1]={index:m-1,assetId:`pdf-page-${m}`,pageNumber:m,cropMode:"full",normal:y,low:y,thumb:y},l++,i==null||i({completed:l,total:n})}},g=Math.min(this.options.concurrency,n);return await Promise.all(Array.from({length:g},()=>c())),this.throwIfAborted(e),a}getCacheStats(){return this.cache.getStats()}throwIfAborted(e){if(e!=null&&e.aborted)throw this.createAbortError()}createAbortError(){const e=new Error("PDF rendering was aborted.");return e.name="AbortError",e}destroy(){var e,i,n,a;(i=(e=this.loadingTask)==null?void 0:e.destroy)==null||i.call(e),this.loadingTask=null,this.pdfDoc&&((a=(n=this.pdfDoc).destroy)==null||a.call(n),this.pdfDoc=null),this.cache.clear()}}/**
|
|
171
|
+
*/const ti=()=>({isActive:!1,translateX:0,translateY:0,isDragging:!1,scale:1});function ii(){const t=A(new Map),e=A(!1),i=A(!1),n=A(new Map),a=A(void 0),r=A(!1),l=A(!1),c=A(null),g=A("page"),m=A(!1),y=A(!1),S=A(!1),v=A(!1),w=A(!1),b=A(0),x=A(0),E=A(!1),R=A(!1),H=A(!1),k=A(!1),s=A(!1),o=A(!0),u=A("landscape"),f=A("read"),p=A("auto"),P=A(!0),T=A(!1),M=A(!1),z=A("#7367f0"),B=A(!1),q=A(!1),G=A(!1),K=A(new Set),he=A(new Map),be=A(3e3),st=A(!0),at=A(""),ot=A([]),rt=A([]),lt=A(null),ht=A([]),ct=A(null),ut=A("en"),dt=A({}),mi=A(ti()),gt=A([]),ft=A([]),pt=d(()=>!E.value&&u.value==="landscape"),zn=d(()=>pt.value&&b.value===0),Fn=d(()=>pt.value&&b.value>=x.value-1);return{textAvailable:i,textPages:t,textSelection:e,pageNoteDocuments:n,noteEditor:a,canAnnotate:r,placingNote:l,pendingAnnotation:c,notesView:g,searchAvailable:m,searchBusy:y,searchFailed:S,notesSaving:v,notesFailed:w,currentPage:b,totalPages:x,isSingleMode:E,showThumbs:R,showToc:H,showNotes:k,showSearch:s,showArrows:o,orientation:u,flipState:f,themeMode:p,allowDownload:P,bookmarkedPages:K,pageNotes:he,hasDownloadUrl:T,isPdfMode:M,primaryColor:z,whiteLabel:B,isZoomed:q,isAutoPlaying:G,autoPlayInterval:be,soundEnabled:st,searchQuery:at,searchResults:ot,hotspots:rt,activeHotspotId:lt,annotations:ht,activeAnnotationId:ct,locale:ut,messages:dt,zoomState:mi,pages:gt,toc:ft,isDoublePageLayout:pt,isFrontCover:zn,isBackCover:Fn,init:(I,Le,On,bi,wi=bi)=>{n.value=new Map(Object.entries(I.noteDocuments??{}).map(([j,we])=>[Number(j),we])),a.value=I.noteEditor,r.value=!!I.annotationProvider,l.value=!1,c.value=null,i.value=!!I.textLayerProvider,t.value=new Map,e.value=I.textSelection??!1,m.value=wi||!!I.searchProvider,x.value=Le,gt.value=On,T.value=bi,M.value=wi,I.theme!==void 0&&(p.value=I.theme),I.primaryColor!==void 0&&(z.value=I.primaryColor),I.showThumbs!==void 0&&(R.value=I.showThumbs),I.showToc!==void 0&&(H.value=I.showToc),k.value=!1,g.value="page",s.value=!1,y.value=!1,S.value=!1,v.value=!1,w.value=!1,at.value="",ot.value=[],rt.value=I.hotspots??[],lt.value=null,ht.value=I.annotations??[],ct.value=null,ft.value=De(I.toc??[],Le),I.showArrows!==void 0&&(o.value=I.showArrows),I.allowDownload!==void 0&&(P.value=I.allowDownload),I.whiteLabel!==void 0&&(B.value=I.whiteLabel),I.soundEnabled!==void 0&&(st.value=I.soundEnabled),I.locale!==void 0&&(ut.value=I.locale),I.messages!==void 0&&(dt.value=I.messages),I.isSingleMode!==void 0&&(E.value=I.isSingleMode),I.singleMode!==void 0&&(E.value=I.singleMode),I.autoPlay!==void 0&&(G.value=I.autoPlay),I.autoPlayInterval!==void 0&&(be.value=I.autoPlayInterval),K.value=new Set((I.bookmarks??[]).map(j=>Math.trunc(j)).filter(j=>Number.isInteger(j)&&j>=0&&j<Le)),he.value=new Map(Object.entries(I.notes??{}).map(([j,we])=>[Math.trunc(Number(j)),String(we).trim()]).filter(([j,we])=>Number.isInteger(j)&&j>=0&&j<Le&&we.length>0)),b.value=0},reset:()=>{t.value=new Map,e.value=!1,i.value=!1,b.value=0,x.value=0,E.value=!1,R.value=!1,H.value=!1,k.value=!1,g.value="page",s.value=!1,y.value=!1,S.value=!1,v.value=!1,w.value=!1,o.value=!0,u.value="landscape",f.value="read",p.value="auto",P.value=!0,T.value=!1,M.value=!1,m.value=!1,n.value=new Map,r.value=!1,l.value=!1,c.value=null,z.value="#7367f0",B.value=!1,q.value=!1,G.value=!1,be.value=3e3,st.value=!0,ut.value="en",dt.value={},mi.value=ti(),gt.value=[],ft.value=[],K.value=new Set,he.value=new Map,at.value="",ot.value=[],rt.value=[],lt.value=null,ht.value=[],ct.value=null}}}const D=ii();D.currentPage,D.totalPages,D.isSingleMode,D.showThumbs,D.showToc,D.showNotes,D.showSearch,D.showArrows,D.orientation,D.flipState,D.themeMode,D.allowDownload,D.bookmarkedPages,D.pageNotes,D.hasDownloadUrl,D.isPdfMode,D.primaryColor,D.whiteLabel,D.isZoomed,D.isAutoPlaying,D.autoPlayInterval,D.soundEnabled,D.searchQuery,D.searchResults,D.hotspots,D.activeHotspotId,D.annotations,D.activeAnnotationId,D.locale,D.messages,D.zoomState,D.pages,D.toc,D.isDoublePageLayout,D.isFrontCover,D.isBackCover;function ni(t){if(!t||typeof t!="object")return!1;const e=t;return typeof e.normal=="string"&&typeof e.low=="string"&&typeof e.thumb=="string"}function Mn(t){return Array.isArray(t.pageNumbers)&&t.pageNumbers.length>0?t.pageNumbers:typeof t.pageNumber=="number"?t.kind==="spread"?[t.pageNumber,t.pageNumber+1]:[t.pageNumber]:[]}function En(t){return t==="rtl"?["right","left"]:["left","right"]}function si(t){const e=[];let i=1;return t.forEach((n,a)=>{const r=n.kind??"single",l=n.id??`asset-${a}`,c=n.splitDirection??"ltr",g=Mn(n);if(r==="spread"){const y=g.length>=2?g.slice(0,2):[i,i+1],S=En(c);y.forEach((v,w)=>{e.push({index:e.length,assetId:l,pageNumber:v,sourcePageNumber:v,cropMode:S[w]??"full",normal:n.normal,low:n.low,thumb:n.thumb})}),i=y[y.length-1]+1;return}const m=g[0]??i;e.push({index:e.length,assetId:l,pageNumber:m,sourcePageNumber:m,cropMode:"full",normal:n.normal,low:n.low,thumb:n.thumb}),i=m+1}),e}function In(t){return t?'url("'+t.replace(/["\\\r\n]/g,i=>"\\"+i)+'")':void 0}function ai(t,e){t.classList.add("bk-container"),t.classList.remove("bk-theme-light","bk-theme-dark"),t.classList.add("bk-theme-"+(e.theme??"auto")),e.primaryColor&&t.style.setProperty("--flipbook-accent",e.primaryColor);const i=e.background??{},n=e.backgroundColor||e.backgroundImage?{color:e.backgroundColor,image:e.backgroundImage}:void 0,a=(l,c)=>{const g={["--flipbook-bg-"+l+"-color"]:c==null?void 0:c.color,["--flipbook-bg-"+l+"-image"]:In(c==null?void 0:c.image),["--flipbook-bg-"+l+"-size"]:c==null?void 0:c.size,["--flipbook-bg-"+l+"-position"]:c==null?void 0:c.position,["--flipbook-bg-"+l+"-repeat"]:c==null?void 0:c.repeat};Object.entries(g).forEach(([m,y])=>{y?t.style.setProperty(m,y):t.style.removeProperty(m)})};a("light",i.light??n),a("dark",i.dark);const r=e.cssVariables??{};Object.entries(r).forEach(([l,c])=>{const g=l.startsWith("--")?l:"--"+l;t.style.setProperty(g,c)})}class Dn{constructor(e=32){C(this,"entries",new Map);C(this,"hits",0);C(this,"misses",0);if(this.maxEntries=e,!Number.isInteger(e)||e<0)throw new RangeError("PDF render cache size must be a non-negative integer.")}get(e){const i=this.entries.get(e);if(i===void 0){this.misses++;return}return this.hits++,this.entries.delete(e),this.entries.set(e,i),i}set(e,i){if(!(this.maxEntries===0||!i))for(this.entries.delete(e),this.entries.set(e,i);this.entries.size>this.maxEntries;){const n=this.entries.keys().next().value;if(n===void 0)break;this.entries.delete(n)}}clear(){this.entries.clear(),this.hits=0,this.misses=0}get size(){return this.entries.size}getStats(){return{size:this.size,maxEntries:this.maxEntries,hits:this.hits,misses:this.misses}}}const tt=1190.55,it=841.89;function oi(t,e){const i=Math.max(t,e),n=Math.min(t,e),a=i/n,r=Math.abs(i-tt)/tt<=.08&&Math.abs(n-it)/it<=.08;return t>=e&&r&&Math.abs(a-tt/it)<=.04}class Rn{constructor(e={}){C(this,"pdfDoc",null);C(this,"loadingTask",null);C(this,"options");C(this,"cache");C(this,"textCache",new Map);const i=Number.isFinite(e.cacheSize)?Math.max(0,Math.floor(e.cacheSize)):32;this.options={scale:e.scale||1.5,quality:e.quality||.85,format:e.format||"image/webp",workerSrc:e.workerSrc||"",concurrency:Math.max(1,Math.floor(e.concurrency||3)),cacheSize:i},this.cache=new Dn(this.options.cacheSize),this.options.workerSrc&&(ce.GlobalWorkerOptions.workerSrc=this.options.workerSrc)}async loadDocument(e,i){this.throwIfAborted(i),this.cache.clear();const n=ce.getDocument(e);this.loadingTask=n;const a=()=>{var r;return(r=n.destroy)==null?void 0:r.call(n)};i==null||i.addEventListener("abort",a,{once:!0});try{return this.pdfDoc=await n.promise,this.throwIfAborted(i),this.pdfDoc.numPages}catch(r){throw i!=null&&i.aborted?this.createAbortError():r}finally{i==null||i.removeEventListener("abort",a),this.loadingTask===n&&(this.loadingTask=null)}}async renderPageToDataUrl(e,i){if(!this.pdfDoc)throw new Error("PDF document is not loaded.");this.throwIfAborted(i);const n=this.cache.get(e);if(n!==void 0)return n;try{const a=await this.pdfDoc.getPage(e);this.throwIfAborted(i);const r=a.getViewport({scale:this.options.scale}),l=document.createElement("canvas");l.width=r.width,l.height=r.height;const c=l.getContext("2d");if(c){const g=a.render({canvasContext:c,viewport:r}),m=()=>{var S;return(S=g.cancel)==null?void 0:S.call(g)};i==null||i.addEventListener("abort",m,{once:!0});try{await g.promise,this.throwIfAborted(i)}finally{i==null||i.removeEventListener("abort",m)}const y=l.toDataURL(this.options.format,this.options.quality);return this.cache.set(e,y),y}throw new Error("Unable to create a PDF canvas rendering context.")}catch(a){throw i!=null&&i.aborted?this.createAbortError():a}}async extractPageText(e){if(!this.pdfDoc)throw new Error("PDF document is not loaded.");if(!Number.isInteger(e)||e<1||e>this.pdfDoc.numPages)throw new Error("PDF page number is out of range.");const i=this.textCache.get(e);if(i!==void 0)return i;const a=await(await this.pdfDoc.getPage(e)).getTextContent(),r=((a==null?void 0:a.items)??[]).map(l=>typeof(l==null?void 0:l.str)=="string"?l.str:"").filter(Boolean).join(" ").replace(/\s+/g," ").trim();return this.textCache.set(e,r),r}async searchText(e,i={}){const n=String(e??"").trim();if(!this.pdfDoc||!n)return[];const a=i.caseSensitive===!0,r=a?n:n.toLocaleLowerCase(),l=Number.isFinite(i.maxResults)?Math.max(1,Math.trunc(i.maxResults)):100,c=[];for(let g=1;g<=this.pdfDoc.numPages&&c.length<l;g++){const m=await this.pdfDoc.getPage(g),y=await m.getTextContent(),S=((y==null?void 0:y.items)??[]).filter(p=>typeof(p==null?void 0:p.str)=="string"&&p.str.length>0),v=S.map(p=>p.str).join(" ").replace(/\s+/g," ").trim(),w=a?v:v.toLocaleLowerCase();let b=0,x=w.indexOf(r);for(;x>=0;)b++,x=w.indexOf(r,x+Math.max(1,r.length));if(!b)continue;const E=w.indexOf(r),R=Math.max(0,E-70),H=Math.min(v.length,E+n.length+100),k=[],s=typeof m.getViewport=="function"?m.getViewport({scale:1}):null,o=Number(s==null?void 0:s.width),u=Number(s==null?void 0:s.height);o>0&&u>0&&S.forEach(p=>{const P=String(p.str),T=a?P:P.toLocaleLowerCase(),M=Array.isArray(p.transform)?p.transform:[],z=Number(M[4]),B=Number(M[5]),q=Number(p.width)||Math.abs(Number(M[0]))||0,G=Number(p.height)||Math.abs(Number(M[3]))||0;if(!(q>0&&G>0&&Number.isFinite(z)&&Number.isFinite(B)))return;let K=T.indexOf(r);for(;K>=0;){const he=Math.max(0,Math.min(1,K/Math.max(1,P.length))),be=Math.max(.02,Math.min(1-he,r.length/Math.max(1,P.length)));k.push({x:Math.max(0,Math.min(1,(z+q*he)/o)),y:Math.max(0,Math.min(1,(u-B-G)/u)),width:Math.max(0,Math.min(1,q*be/o)),height:Math.max(0,Math.min(1,G/u))}),K=T.indexOf(r,K+Math.max(1,r.length))}});const f={sourcePageNumber:g,matches:b,snippet:v.slice(R,H).trim()};k.length&&(f.highlights=k),c.push(f)}return c}async getPageLayouts(e="auto"){if(!this.pdfDoc)return[];const i=[];for(let n=1;n<=this.pdfDoc.numPages;n++){const r=(await this.pdfDoc.getPage(n)).getViewport({scale:1}),l=e==="split"?r.width>=r.height:e==="auto"&&oi(r.width,r.height);i.push({width:r.width,height:r.height,split:l})}return i}async calculateViewportDimensions(e=420,i){if(!this.pdfDoc)throw new Error("PDF document is not loaded.");const n=await this.pdfDoc.getPage(1),a=i?{width:i.split?i.width/2:i.width,height:i.height}:n.getViewport({scale:1}),r=a.width/a.height;return r>=1?{width:Math.round(e*r),height:e}:{width:e,height:Math.round(e/r)}}async renderAllPages(e,i){if(!this.pdfDoc)return[];this.throwIfAborted(e);const n=this.pdfDoc.numPages,a=new Array(n);let r=1,l=0;const c=async()=>{for(;;){this.throwIfAborted(e);const m=r++;if(m>n)return;const y=await this.renderPageToDataUrl(m,e);a[m-1]={index:m-1,assetId:`pdf-page-${m}`,pageNumber:m,cropMode:"full",normal:y,low:y,thumb:y},l++,i==null||i({completed:l,total:n})}},g=Math.min(this.options.concurrency,n);return await Promise.all(Array.from({length:g},()=>c())),this.throwIfAborted(e),a}getCacheStats(){return this.cache.getStats()}throwIfAborted(e){if(e!=null&&e.aborted)throw this.createAbortError()}createAbortError(){const e=new Error("PDF rendering was aborted.");return e.name="AbortError",e}destroy(){var e,i,n,a;(i=(e=this.loadingTask)==null?void 0:e.destroy)==null||i.call(e),this.loadingTask=null,this.pdfDoc&&((a=(n=this.pdfDoc).destroy)==null||a.call(n),this.pdfDoc=null),this.cache.clear()}}/**
|
|
172
172
|
* @license FlipbookEngine v1.0.0
|
|
173
173
|
* Copyright (c) 2026 Murat Dogan
|
|
174
174
|
*
|
|
@@ -177,5 +177,5 @@ var FlipbookEngine=function(N,F){"use strict";var On=Object.defineProperty;var y
|
|
|
177
177
|
* @license FlipbookEngine v1.0.0
|
|
178
178
|
* Copyright (c) 2026 Murat Dogan
|
|
179
179
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
180
|
-
*/class gi{constructor(){C(this,"version",A(0));C(this,"activePanelId",A(null));C(this,"plugins",new Map)}install(e,i){const n=String((i==null?void 0:i.name)||"").trim();if(!n)throw new Error("Flipbook plugin name is required.");if(this.plugins.has(n))throw new Error(`Flipbook plugin "${n}" is already installed.`);const a={plugin:i,context:void 0,cleanups:new Set,toolbarButtons:new Map,panels:new Map,apis:new Map},r={engine:e,pluginName:n,activePanelId:this.activePanelId,registerToolbarButton:l=>{const c=this.requireContributionId(l==null?void 0:l.id,"toolbar button");if(a.toolbarButtons.has(c))throw new Error(`Plugin "${n}" already registered toolbar button "${c}".`);return a.toolbarButtons.set(c,l),this.version.value++,()=>{a.toolbarButtons.delete(c)&&this.version.value++}},registerPanel:l=>{const c=this.requireContributionId(l==null?void 0:l.id,"panel");if(a.panels.has(c))throw new Error(`Plugin "${n}" already registered panel "${c}".`);return a.panels.set(c,l),this.version.value++,()=>{a.panels.delete(c)&&(this.activePanelId.value===this.key(n,c)&&(this.activePanelId.value=null),this.version.value++)}},registerApi:(l,c)=>{const g=this.requireContributionId(l,"API");if(a.apis.has(g))throw new Error(`Plugin "${n}" already registered API "${g}".`);return a.apis.set(g,c),this.version.value++,()=>{a.apis.delete(g)&&this.version.value++}},on:(l,c)=>{const g=e.on(l,c);return a.cleanups.add(g),()=>{a.cleanups.delete(g),g()}},openPanel:l=>{const c=this.requireContributionId(l,"panel");if(!a.panels.has(c))throw new Error(`Plugin "${n}" has no panel "${c}".`);this.activePanelId.value=this.key(n,c)},closePanel:l=>{const c=l?this.key(n,l):null;(!l||this.activePanelId.value===c)&&(this.activePanelId.value=null)},addCleanup:l=>{typeof l=="function"&&a.cleanups.add(l)}};a.context=r,this.plugins.set(n,a);try{const l=i.install(e,r);typeof l=="function"&&a.cleanups.add(l)}catch(l){throw this.plugins.delete(n),a.cleanups.forEach(c=>c()),l}this.version.value++}uninstall(e){var n;const i=this.plugins.get(e);return i?((n=this.activePanelId.value)!=null&&n.startsWith(e+":")&&(this.activePanelId.value=null),i.cleanups.forEach(a=>a()),i.toolbarButtons.clear(),i.panels.clear(),i.apis.clear(),this.plugins.delete(e),this.version.value++,!0):!1}clear(){Array.from(this.plugins.keys()).forEach(e=>this.uninstall(e))}getPluginNames(){return Array.from(this.plugins.keys())}getToolbarButtons(){const e=[];return this.plugins.forEach((i,n)=>i.toolbarButtons.forEach((a,r)=>{e.push({...a,pluginName:n,key:this.key(n,r)})})),e}getPanels(){const e=[];return this.plugins.forEach((i,n)=>i.panels.forEach((a,r)=>{e.push({...a,pluginName:n,key:this.key(n,r)})})),e}getApi(e,i){var n;return(n=this.plugins.get(e))==null?void 0:n.apis.get(i)}async callApi(e,i,...n){const a=this.getApi(e,i);if(!a)throw new Error(`Plugin API "${e}.${i}" is not registered.`);return await a(...n)}key(e,i){return`${e}:${i}`}requireContributionId(e,i){const n=String(e||"").trim();if(!n)throw new Error(`Flipbook plugin ${i} id is required.`);return n}}const Ne=class Ne{constructor(e,i={}){C(this,"searchSequence",0);C(this,"textLayerStop",null);C(this,"container",null);C(this,"options");C(this,"store",ii());C(this,"pageFlipAdapter",null);C(this,"layoutManager",null);C(this,"interactionManager",null);C(this,"pdfRenderer",null);C(this,"listeners",{});C(this,"initializationTimer",null);C(this,"initGeneration",0);C(this,"initAbortController",null);C(this,"eventsReady",!1);C(this,"lastEventState",{currentPage:0,zoom:1,zoomActive:!1,showThumbs:!1,showToc:!1,isSingle:!1,orientation:""});C(this,"eventSyncStop",null);C(this,"qualityObserver",null);C(this,"pdfLazyStop",null);C(this,"hasActiveSession",!1);C(this,"pdfPageRequests",new Map);C(this,"pdfRenderedPages",new Set);C(this,"pdfRenderedSources",new Map);C(this,"pdfSourcePageCount",0);C(this,"deepLinkListener",null);C(this,"pluginRegistry",new gi);this.selector=e,this.options={allowDownload:!0,showThumbs:!1,primaryColor:"#7367f0",theme:"auto",soundUrl:"https://flipbookengine.com/Content/page-flip.mp3",autoPlayInterval:3e3,pdfRenderScale:1.5,pdfRenderQuality:.85,pdfRenderFormat:"image/webp",pdfRenderConcurrency:3,pdfRenderCacheSize:32,pdfPageMode:"auto",deepLink:!1,...i},this.setupEventSync(),(i.plugins??[]).forEach(n=>this.installPlugin(n))}async init(e,i){if(typeof this.selector=="string"?this.container=document.querySelector(this.selector):this.container=this.selector,!this.container)return;this.eventsReady=!1,this.destroy(!0),this.setupDeepLinkListener();const n=this.initGeneration,a=new AbortController;this.initAbortController=a;let r=[],l={...Ne.DEFAULT_PAGE_VIEWPORT};if(i&&i.length>0){if(a.signal.aborted)return;const w=i.filter(ni);r=si(w);const b=r[0];if(b){const x=await this.loadImageSize(b.low||b.normal);if(x){const R=(b.cropMode!=="full"?x.width/2:x.width)/x.height,H=420;l=R>=1?{width:Math.round(H*R),height:H}:{width:H,height:Math.round(H/R)}}}}else if(e){if(a.signal.aborted)return;let w="load";try{this.pdfRenderer=new Rn({scale:this.options.pdfRenderScale,quality:this.options.pdfRenderQuality,format:this.options.pdfRenderFormat,concurrency:this.options.pdfRenderConcurrency,cacheSize:this.options.pdfRenderCacheSize,workerSrc:this.options.pdfWorkerSrc}),this.emit("progress",{phase:"loading",completed:0,total:0});const b=await this.pdfRenderer.loadDocument(e,a.signal);w="render",this.emit("progress",{phase:"loading",completed:1,total:b});const x=await this.pdfRenderer.getPageLayouts(this.options.pdfPageMode);l=x.length?await this.pdfRenderer.calculateViewportDimensions(420,x[0]):await this.pdfRenderer.calculateViewportDimensions(),r=x.length?this.createPdfPlaceholders(x):Array.from({length:b},(E,R)=>this.createPdfPlaceholder(R+1)),this.pdfSourcePageCount=b}catch(b){a.signal.aborted||(console.error("PDF load failed:",b),this.emit("error",{code:w==="load"?"PDF_LOAD_FAILED":"PDF_RENDER_FAILED",message:b instanceof Error?b.message:"Unable to load PDF.",cause:b}));return}}if(a.signal.aborted||n!==this.initGeneration||!r.length)return;this.store.init(this.options,r.length,r,!!e,!(i!=null&&i.length)&&!!e),this.applyInitialDeepLink(),this.options.textLayerProvider&&(this.textLayerStop=ki(this.store,this.options.textLayerProvider,a.signal)),ai(this.container,this.options),this.container.innerHTML="";let c,g,m;const y={current:null},S={current:null},v=yn({pageFlipAdapterRef:y,interactionManagerRef:S,bookWrapperRef:w=>c=w,bookSizerRef:w=>g=w,bookContainerRef:w=>m=w,className:this.options.className,store:this.store,pluginRegistry:this.pluginRegistry,signal:a.signal,onToggleFullscreen:()=>this.toggleFullscreen(),onDownload:()=>{e&&(this.options.onDownload?this.options.onDownload(e):window.open(e,"_blank"))},onShare:()=>{this.sharePage().then(w=>{var b,x;return(x=(b=this.options).onShare)==null?void 0:x.call(b,w)}).catch(w=>{console.warn("Share err:",w)})},onToggleBookmark:()=>this.toggleBookmark(),onToggleNotes:()=>{this.store.showNotes.value||(this.store.notesView.value=this.store.pageNotes.value.size||this.store.annotations.value.length?"all":"page"),this.store.showNotes.value=!this.store.showNotes.value},onSelectNote:w=>{this.goToPage(w),this.store.notesView.value="page"},onBeginAnnotation:()=>this.beginAnnotation(),onPlaceAnnotation:(w,b,x)=>this.placeAnnotation(w,b,x),onSaveAnnotation:w=>this.saveAnnotation(w),onDeleteAnnotation:w=>this.saveAnnotation(w,"delete"),onSaveNote:(w,b)=>this.saveNote(this.getCurrentPage(),w,b),onClearNote:()=>this.saveNote(this.getCurrentPage(),null),onCloseNotes:()=>{this.store.showNotes.value=!1},onSearch:(w,b)=>{this.search(w,b).catch(()=>{})},onClearSearch:()=>this.clearSearch(),onCloseSearch:()=>{this.store.showSearch.value=!1},onSelectSearchResult:w=>{this.goToPage(w),this.store.showSearch.value=!1},onHotspotActivate:w=>this.activateHotspot(w.id),onHotspotClose:()=>this.closeHotspot(),onAnnotationActivate:w=>this.activateAnnotation(w.id),onAnnotationClose:()=>this.closeAnnotation()});this.container.appendChild(v),this.setupQualityLoading(),this.layoutManager=new An(l,this.store),this.layoutManager.onResizeCallback=()=>{this.pageFlipAdapter&&this.pageFlipAdapter.update()},this.layoutManager.init(c,g),this.pageFlipAdapter=new Cn(m,this.options,this.store),y.current=this.pageFlipAdapter,await new Promise(w=>{const b=()=>{a.signal.removeEventListener("abort",b),w()};a.signal.addEventListener("abort",b,{once:!0}),this.initializationTimer=setTimeout(async()=>{if(this.initializationTimer=null,a.signal.removeEventListener("abort",b),a.signal.aborted||n!==this.initGeneration||!this.pageFlipAdapter){w();return}if(this.pageFlipAdapter.init(l.width,l.height),this.interactionManager=new Tn(c,this.pageFlipAdapter,this.store),this.interactionManager.init(),S.current=this.interactionManager,this.setupPdfLazyLoading(),this.pdfRenderer&&e)try{await this.renderPdfPage(1,a.signal)}catch{w();return}if(a.signal.aborted||n!==this.initGeneration){w();return}this.eventsReady=!0,this.captureEventState(),this.hasActiveSession=!0,this.emit("init",{totalPages:r.length}),w()},10)}),this.initAbortController===a&&(this.initAbortController=null)}createPdfPlaceholder(e){const i="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";return{index:e-1,assetId:"pdf-page-"+e+"-full",pageNumber:e,sourcePageNumber:e,cropMode:"full",normal:i,low:i,thumb:i}}createPdfPlaceholders(e){const i="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",n=[];return e.forEach((a,r)=>{const l=r+1;(a.split?["left","right"]:["full"]).forEach(g=>{const m=n.length+1;n.push({index:n.length,assetId:`pdf-page-${l}-${g}`,pageNumber:m,sourcePageNumber:l,cropMode:g,normal:i,low:i,thumb:i})})}),n}renderPdfPage(e,i){const n=this.pdfRenderer,a=this.initGeneration;if(!n)return Promise.resolve("");const r=this.pdfPageRequests.get(e);if(r)return r;if(this.pdfRenderedPages.has(e)){const c=this.pdfRenderedSources.get(e);c&&this.hydratePdfImages(e,c);const g=this.store.pages.value;if(c)for(const m of g)(m.sourcePageNumber??m.pageNumber)===e&&(m.normal=c,m.low=c,m.thumb=c);return Promise.resolve(c||"")}const l=n.renderPageToDataUrl(e,i).then(c=>{if(a!==this.initGeneration||i!=null&&i.aborted)throw this.createAbortError();if(!c)throw new Error("PDF page "+e+" produced no image.");return this.pdfRenderedPages.add(e),this.pdfRenderedSources.set(e,c),this.hydratePdfImages(e,c),this.emit("progress",{phase:"rendering",completed:this.pdfRenderedPages.size,total:this.pdfSourcePageCount||this.store.totalPages.value}),c}).catch(c=>{throw a!==this.initGeneration&&(c==null?void 0:c.name)!=="AbortError"?this.createAbortError():((c==null?void 0:c.name)==="AbortError"||this.emit("error",{code:"PDF_RENDER_FAILED",message:c instanceof Error?c.message:"Unable to render PDF page.",cause:c}),c)}).finally(()=>{this.pdfPageRequests.get(e)===l&&this.pdfPageRequests.delete(e)});return this.pdfPageRequests.set(e,l),l}hydratePdfImages(e,i){var n;(n=this.container)==null||n.querySelectorAll("img").forEach(a=>{a.dataset.pdfPage===String(e)&&(a.src=i,delete a.dataset.pdfPage)})}setupPdfLazyLoading(){var e;(e=this.pdfLazyStop)==null||e.call(this),this.pdfLazyStop=null,this.pdfRenderer&&(this.pdfLazyStop=Z(()=>{const i=this.store.currentPage.value,n=this.store.pages.value,r=this.store.isSingleMode.value?[i-1,i,i+1]:[i-1,i,i+1,i%2===1?i+2:i+1],l=new Set;for(const c of r)if(c>=0&&c<n.length){const g=n[c],m=(g==null?void 0:g.sourcePageNumber)??(g==null?void 0:g.pageNumber);m&&l.add(m)}l.forEach(c=>{c&&this.renderPdfPage(c).catch(()=>{})})}))}loadImageSize(e){return new Promise(i=>{const n=new Image;n.onload=()=>i({width:n.naturalWidth||n.width,height:n.naturalHeight||n.height}),n.onerror=()=>i(null),n.src=e})}goToPage(e){const i=Math.max(0,this.store.totalPages.value-1);this.store.currentPage.value=Math.max(0,Math.min(i,Math.trunc(e)))}getTotalPages(){return this.store.totalPages.value}getCurrentPage(){return this.store.currentPage.value}getToc(){const e=i=>({...i,...i.children?{children:i.children.map(e)}:{}});return this.store.toc.value.map(e)}setToc(e,i=this.store.showToc.value){this.store.toc.value=De(e,this.store.totalPages.value),this.store.showToc.value=!!i&&this.store.toc.value.length>0}installPlugin(e){return this.pluginRegistry.install(this,e),this}uninstallPlugin(e){return this.pluginRegistry.uninstall(e)}getPluginNames(){return this.pluginRegistry.getPluginNames()}callPluginApi(e,i,...n){return this.pluginRegistry.callApi(e,i,...n)}getPluginRegistry(){return this.pluginRegistry}getBookmarkedPages(){return Array.from(this.store.bookmarkedPages.value).sort((e,i)=>e-i)}isBookmarked(e=this.getCurrentPage()){return this.store.bookmarkedPages.value.has(Math.trunc(e))}setBookmark(e,i=!0){if(this.store.totalPages.value===0||!Number.isFinite(e))return;const n=Math.max(0,Math.min(this.store.totalPages.value-1,Math.trunc(e))),a=this.store.bookmarkedPages.value;if(a.has(n)===i)return;const r=new Set(a);i?r.add(n):r.delete(n),this.store.bookmarkedPages.value=r,this.emit("bookmarkChange",{pageIndex:n,pageNumber:n+1,bookmarked:i})}toggleBookmark(e=this.getCurrentPage()){this.setBookmark(e,!this.isBookmarked(e))}getNotes(){return Object.fromEntries(this.store.pageNotes.value)}getNote(e=this.getCurrentPage()){return this.store.pageNotes.value.get(Math.trunc(e))}setNote(e,i){if(this.store.totalPages.value===0||!Number.isFinite(e))return;const n=Math.max(0,Math.min(this.store.totalPages.value-1,Math.trunc(e))),a=String(i??"").trim();if(this.store.pageNotes.value.get(n)===(a||void 0))return;const l=new Map(this.store.pageNotes.value);a?l.set(n,a):l.delete(n),this.store.pageNotes.value=l,this.emit("noteChange",{pageIndex:n,pageNumber:n+1,note:a||null})}clearNote(e=this.getCurrentPage()){this.setNote(e,"")}async search(e,i={}){var g;const n=++this.searchSequence,a=String(e??"").trim();if(this.store.searchBusy.value=!1,this.store.searchFailed.value=!1,this.options.searchProvider&&a){this.store.searchQuery.value=a,this.store.searchResults.value=[],this.store.searchBusy.value=!0;const m=((g=this.initAbortController)==null?void 0:g.signal)??new AbortController().signal;try{const y=await this.options.searchProvider(a,i,m);if(m.aborted||n!==this.searchSequence)return[];const S=Number.isFinite(i.maxResults)?Math.max(1,Math.trunc(i.maxResults)):100;return this.store.searchResults.value=y.filter(v=>Number.isInteger(v.pageIndex)&&v.pageIndex>=0&&v.pageIndex<this.store.totalPages.value).slice(0,S),this.emit("searchChange",{query:a,results:this.store.searchResults.value}),this.store.searchResults.value}catch(y){throw!m.aborted&&n===this.searchSequence&&(this.store.searchFailed.value=!0),y}finally{n===this.searchSequence&&(this.store.searchBusy.value=!1)}}if(!a||!this.pdfRenderer||!this.store.isPdfMode.value)return this.store.searchQuery.value=a,this.store.searchResults.value=[],this.emit("searchChange",{query:a,results:[]}),[];const r=await this.pdfRenderer.searchText(a,i);if(n!==this.searchSequence)return[];const l=[];r.forEach(m=>{this.store.pages.value.forEach(y=>{var v;if((y.sourcePageNumber??y.pageNumber)!==m.sourcePageNumber)return;const S=this.mapSearchHighlights(m.highlights,y.cropMode);(v=m.highlights)!=null&&v.length&&!S.length||l.push({pageIndex:y.index,pageNumber:y.pageNumber,sourcePageNumber:m.sourcePageNumber,matches:m.matches,snippet:m.snippet,...m.highlights?{highlights:S}:{}})})});const c=Number.isFinite(i.maxResults)?Math.max(1,Math.trunc(i.maxResults)):100;return this.store.searchQuery.value=a,this.store.searchResults.value=l.slice(0,c),this.emit("searchChange",{query:a,results:this.store.searchResults.value}),this.store.searchResults.value}mapSearchHighlights(e,i){if(!(e!=null&&e.length)||i==="full")return e??[];const n=i==="right"?.5:0;return e.flatMap(a=>{const r=Math.max(n,a.x),l=Math.min(n+.5,a.x+a.width);return l<=r?[]:[{x:Math.max(0,Math.min(1,(r-n)*2)),y:Math.max(0,Math.min(1,a.y)),width:Math.max(0,Math.min(1,(l-r)*2)),height:Math.max(0,Math.min(1,a.height))}]})}clearSearch(){this.searchSequence++,this.store.searchBusy.value=!1,this.store.searchFailed.value=!1,this.store.searchQuery.value="",this.store.searchResults.value=[],this.emit("searchChange",{query:"",results:[]})}getSearchResults(){return this.store.searchResults.value.slice()}async saveNote(e,i,n){var l,c,g;if(this.store.notesSaving.value||!Number.isInteger(e)||e<0||e>=this.store.totalPages.value)return!1;const a=((l=this.initAbortController)==null?void 0:l.signal)??new AbortController().signal,r=(i==null?void 0:i.trim())||null;this.store.notesSaving.value=!0,this.store.notesFailed.value=!1;try{if(await((g=(c=this.options).noteProvider)==null?void 0:g.call(c,e,r,a,n)),a.aborted)return!1;this.setNote(e,r??"");const m=new Map(this.store.pageNoteDocuments.value);return n&&r?m.set(e,n):m.delete(e),this.store.pageNoteDocuments.value=m,!0}catch{return a.aborted||(this.store.notesFailed.value=!0),!1}finally{this.store.notesSaving.value=!1}}getHotspots(e=this.getCurrentPage()){return this.store.hotspots.value.filter(i=>i.pageIndex===e)}activateHotspot(e){const i=this.store.hotspots.value.find(n=>n.id===e);i&&(this.store.activeHotspotId.value=i.id,this.emit("hotspotActivate",{hotspot:i,pageIndex:i.pageIndex}))}closeHotspot(){this.store.activeHotspotId.value=null}getAnnotations(e=this.getCurrentPage()){return this.store.annotations.value.filter(i=>i.pageIndex===e)}activateAnnotation(e){const i=this.store.annotations.value.find(n=>n.id===e);i&&(this.goToPage(i.pageIndex),this.store.showNotes.value=!1,this.store.showToc.value=!1,this.store.showSearch.value=!1,this.store.activeAnnotationId.value=i.id,this.emit("annotationActivate",{annotation:i,pageIndex:i.pageIndex}))}closeAnnotation(){this.store.activeAnnotationId.value=null,this.store.pendingAnnotation.value=null}beginAnnotation(){this.store.canAnnotate.value&&(this.closeAnnotation(),this.store.showNotes.value=!1,this.store.showToc.value=!1,this.store.showSearch.value=!1,this.store.textSelection.value=!1,this.store.placingNote.value=!0,queueMicrotask(()=>{var e,i;this.store.placingNote.value&&((i=[...((e=this.container)==null?void 0:e.querySelectorAll(".bk-note-placement-layer"))??[]].find(n=>n.getBoundingClientRect().width>0))==null||i.focus())}))}placeAnnotation(e,i,n){!this.store.placingNote.value||!Number.isInteger(e)||e<0||e>=this.store.totalPages.value||!Number.isFinite(i)||!Number.isFinite(n)||(this.goToPage(e),this.store.pendingAnnotation.value={id:crypto.randomUUID(),pageIndex:e,x:Math.max(0,Math.min(1,i)),y:Math.max(0,Math.min(1,n)),text:""},this.store.placingNote.value=!1)}async saveAnnotation(e,i="save"){var r;if(!this.options.annotationProvider||this.store.notesSaving.value||!e.id||!Number.isInteger(e.pageIndex)||e.pageIndex<0||e.pageIndex>=this.store.totalPages.value||!Number.isFinite(e.x)||!Number.isFinite(e.y)||e.x<0||e.x>1||e.y<0||e.y>1||i==="save"&&(!e.text.trim()||e.text.length>4e3))return!1;const n=((r=this.initAbortController)==null?void 0:r.signal)??new AbortController().signal,a={...e,text:e.text.trim()};this.store.notesSaving.value=!0,this.store.notesFailed.value=!1;try{if(await this.options.annotationProvider(a,i,n),n.aborted)return!1;const l=this.store.annotations.value.filter(c=>c.id!==a.id);return this.store.annotations.value=i==="delete"?l:[...l,a],this.store.pendingAnnotation.value=null,this.store.activeAnnotationId.value=i==="delete"?null:a.id,this.emit("annotationChange",{annotation:a,action:i}),!0}catch{return n.aborted||(this.store.notesFailed.value=!0),!1}finally{n.aborted||(this.store.notesSaving.value=!1)}}getZoom(){return this.store.zoomState.value.scale}setZoom(e){const i=Number.isFinite(e)?e:1,n=Math.max(.5,Math.min(5,i));this.store.zoomState.value={...this.store.zoomState.value,scale:n,isActive:n>1,...n<=1?{translateX:0,translateY:0}:{}},this.store.isZoomed.value=n>1}nextPage(){this.pageFlipAdapter&&this.pageFlipAdapter.turnToNextPage()}toggleFullscreen(){var i,n;const e=this.container;e&&(document.fullscreenElement?(n=document.exitFullscreen)==null||n.call(document).catch(a=>console.warn("Exit fullscreen err:",a)):(i=e.requestFullscreen)==null||i.call(e).catch(a=>console.warn("Fullscreen err:",a)))}setLocale(e,i){const n=i?{...this.options.messages,[e]:i[e]??i}:this.options.messages;this.options={...this.options,locale:e,messages:n},this.store.locale.value=e,n&&(this.store.messages.value=n)}prevPage(){this.pageFlipAdapter&&this.pageFlipAdapter.turnToPrevPage()}setSingleMode(e){this.options={...this.options,singleMode:e,isSingleMode:e},this.store.isSingleMode.value=e,e&&this.pdfRenderer&&setTimeout(()=>{const i=this.store.pages.value[this.store.currentPage.value],n=(i==null?void 0:i.sourcePageNumber)??(i==null?void 0:i.pageNumber);n&&this.renderPdfPage(n).catch(()=>{})},0)}updateOptions(e){"annotationProvider"in e&&(this.store.canAnnotate.value=!!e.annotationProvider),"searchProvider"in e&&(this.store.searchAvailable.value=!!e.searchProvider||this.store.isPdfMode.value);const i=e.deepLink!==void 0&&e.deepLink!==this.options.deepLink;this.options={...this.options,...e},i&&(this.options.deepLink?this.setupDeepLinkListener():this.teardownDeepLinkListener()),e.theme!==void 0&&(this.store.themeMode.value=e.theme),e.primaryColor!==void 0&&(this.store.primaryColor.value=e.primaryColor),e.showThumbs!==void 0&&(this.store.showThumbs.value=e.showThumbs),e.showToc!==void 0&&(this.store.showToc.value=e.showToc),e.toc!==void 0&&(this.store.toc.value=De(e.toc,this.store.totalPages.value)),e.showArrows!==void 0&&(this.store.showArrows.value=e.showArrows),e.allowDownload!==void 0&&(this.store.allowDownload.value=e.allowDownload),e.whiteLabel!==void 0&&(this.store.whiteLabel.value=e.whiteLabel),e.soundEnabled!==void 0&&(this.store.soundEnabled.value=e.soundEnabled),e.locale!==void 0&&(this.store.locale.value=e.locale),e.messages!==void 0&&(this.store.messages.value=e.messages),e.singleMode!==void 0&&(this.store.isSingleMode.value=e.singleMode),e.isSingleMode!==void 0&&(this.store.isSingleMode.value=e.isSingleMode),e.autoPlay!==void 0&&(this.store.isAutoPlaying.value=e.autoPlay),e.autoPlayInterval!==void 0&&(this.store.autoPlayInterval.value=e.autoPlayInterval),e.bookmarks!==void 0&&(this.store.bookmarkedPages.value=new Set(e.bookmarks.map(n=>Math.trunc(n)).filter(n=>Number.isInteger(n)&&n>=0&&n<this.store.totalPages.value))),e.notes!==void 0&&(this.store.pageNotes.value=new Map(Object.entries(e.notes).map(([n,a])=>[Math.trunc(Number(n)),String(a).trim()]).filter(([n,a])=>Number.isInteger(n)&&n>=0&&n<this.store.totalPages.value&&a.length>0))),e.hotspots!==void 0&&(this.store.hotspots.value=e.hotspots),e.annotations!==void 0&&(this.store.annotations.value=e.annotations),this.container&&ai(this.container,this.options)}setupDeepLinkListener(){this.teardownDeepLinkListener(),!(!this.options.deepLink||typeof window>"u")&&(this.deepLinkListener=()=>{if(!this.eventsReady||this.store.totalPages.value===0)return;const e=this.readDeepLinkPage();e!==null&&e!==this.store.currentPage.value&&this.goToPage(e)},window.addEventListener("popstate",this.deepLinkListener),window.addEventListener("hashchange",this.deepLinkListener))}teardownDeepLinkListener(){!this.deepLinkListener||typeof window>"u"||(window.removeEventListener("popstate",this.deepLinkListener),window.removeEventListener("hashchange",this.deepLinkListener),this.deepLinkListener=null)}readDeepLinkPage(e=typeof window>"u"?"":window.location.href){var i;if(!e||this.store.totalPages.value===0)return null;try{const n=new URL(e,typeof document>"u"?void 0:document.baseURI),a=(i=n.hash.match(/(?:^#|&)page=(\d+)/i))==null?void 0:i[1],r=n.searchParams.get("page")??a;if(r==null)return 0;const l=Number(r);return!Number.isInteger(l)||l<1?null:Math.min(l-1,this.store.totalPages.value-1)}catch{return null}}applyInitialDeepLink(){if(!this.options.deepLink)return;const e=this.readDeepLinkPage();e!==null&&(this.store.currentPage.value=e)}updateDeepLink(e){if(!this.options.deepLink||typeof window>"u"||this.store.totalPages.value===0)return;const i=Math.max(0,Math.min(this.store.totalPages.value-1,Math.trunc(e))),n=i+1;try{const a=new URL(window.location.href);a.searchParams.set("page",String(n));const r=a.toString();r!==window.location.href&&window.history.replaceState(window.history.state,"",r),this.emit("deepLinkChange",{pageIndex:i,pageNumber:n,url:r})}catch{}}getPageUrl(e=this.getCurrentPage()){if(typeof window>"u")return"";const i=this.getTotalPages(),n=i>0?Math.max(0,Math.min(i-1,Math.trunc(e))):Math.max(0,Math.trunc(e)),a=new URL(window.location.href);return a.searchParams.set("page",String(n+1)),a.toString()}async sharePage(e=this.getCurrentPage()){var n;const i=this.getPageUrl(e);return typeof navigator<"u"&&typeof navigator.share=="function"?await navigator.share({title:typeof document>"u"?void 0:document.title,url:i}):typeof navigator<"u"&&((n=navigator.clipboard)!=null&&n.writeText)&&await navigator.clipboard.writeText(i),i}connectEmbed(e={}){return new di(this,e).connect()}async setPages(e,i){if(!(e!=null&&e.length)){i&&await this.init(i);return}await this.init(i||"",e)}setupQualityLoading(){var a;if(this.teardownQualityLoading(),!this.container)return;const e=Array.from(this.container.querySelectorAll("img[data-src], img[data-pdf-page]")),i=r=>{const l=Number(r.dataset.pdfPage);if(Number.isInteger(l)&&l>0){this.renderPdfPage(l).catch(()=>{});return}const c=r.dataset.src;c&&(r.src=c,delete r.dataset.src)},n=(a=this.container.ownerDocument.defaultView)==null?void 0:a.IntersectionObserver;if(!n){const r=new Set;e.forEach(l=>{const c=Number(l.dataset.pdfPage);Number.isInteger(c)&&c>0?r.size<2&&(r.add(c),i(l)):i(l)});return}this.qualityObserver=new n(r=>{r.forEach(l=>{var c;l.isIntersecting&&(i(l.target),(c=this.qualityObserver)==null||c.unobserve(l.target))})},{root:this.container,rootMargin:"240px"}),e.forEach(r=>{var l;return(l=this.qualityObserver)==null?void 0:l.observe(r)})}teardownQualityLoading(){var e;(e=this.qualityObserver)==null||e.disconnect(),this.qualityObserver=null}setupEventSync(){this.eventSyncStop=Z(()=>{const e={currentPage:this.store.currentPage.value,zoom:this.store.zoomState.value.scale,zoomActive:this.store.zoomState.value.isActive,showThumbs:this.store.showThumbs.value,showToc:this.store.showToc.value,isSingle:this.store.isSingleMode.value,orientation:this.store.orientation.value};if(!this.eventsReady){this.lastEventState=e;return}e.currentPage!==this.lastEventState.currentPage&&(this.emit("pageChange",{currentPage:e.currentPage,pageNumber:e.currentPage+1,totalPages:this.store.totalPages.value,isSingle:e.isSingle}),this.updateDeepLink(e.currentPage)),(e.zoom!==this.lastEventState.zoom||e.zoomActive!==this.lastEventState.zoomActive)&&this.emit("zoomChange",{zoom:e.zoom,isActive:e.zoomActive}),e.showThumbs!==this.lastEventState.showThumbs&&this.emit("thumbsToggle",{showThumbs:e.showThumbs}),e.showToc!==this.lastEventState.showToc&&this.emit("tocToggle",{showToc:e.showToc}),e.isSingle!==this.lastEventState.isSingle&&this.emit("singlePageModeChange",{isSingle:e.isSingle}),e.orientation!==this.lastEventState.orientation&&this.emit("orientationChange",{orientation:e.orientation}),this.lastEventState=e})}captureEventState(){this.lastEventState={currentPage:this.store.currentPage.value,zoom:this.store.zoomState.value.scale,zoomActive:this.store.zoomState.value.isActive,showThumbs:this.store.showThumbs.value,showToc:this.store.showToc.value,isSingle:this.store.isSingleMode.value,orientation:this.store.orientation.value}}setTextSelection(e){this.store.textSelection.value=!!e}destroy(e=!1){var n,a,r;(n=this.textLayerStop)==null||n.call(this),this.textLayerStop=null;const i=this.hasActiveSession||!!this.initAbortController||!!this.pageFlipAdapter||!!this.layoutManager||!!this.interactionManager||!!this.pdfRenderer;this.initGeneration++,this.teardownDeepLinkListener(),(a=this.initAbortController)==null||a.abort(),this.initAbortController=null,this.initializationTimer&&(clearTimeout(this.initializationTimer),this.initializationTimer=null),this.pageFlipAdapter&&this.pageFlipAdapter.destroy(),this.layoutManager&&this.layoutManager.destroy(),this.interactionManager&&this.interactionManager.destroy(),this.teardownQualityLoading(),(r=this.pdfLazyStop)==null||r.call(this),this.pdfLazyStop=null,this.pdfPageRequests.clear(),this.pdfRenderedPages.clear(),this.pdfRenderedSources.clear(),this.pdfSourcePageCount=0,this.pdfRenderer&&this.pdfRenderer.destroy(),this.pageFlipAdapter=null,this.layoutManager=null,this.interactionManager=null,this.pdfRenderer=null,this.eventsReady=!1,this.hasActiveSession=!1,this.store.reset(),!e&&this.container&&(this.container.innerHTML=""),i&&this.emit("destroy",void 0),e||this.pluginRegistry.clear()}createAbortError(){const e=new Error("Flipbook initialization was aborted.");return e.name="AbortError",e}on(e,i){const n=this.listeners[e]??new Set;return n.add(i),this.listeners[e]=n,()=>this.off(e,i)}off(e,i){var n;(n=this.listeners[e])==null||n.delete(i)}emit(e,i){var n;(n=this.listeners[e])==null||n.forEach(a=>{a(i)})}};C(Ne,"DEFAULT_PAGE_VIEWPORT",{width:420,height:594});let Re=Ne;const fi=globalThis,pi=fi.FlipbookEngine||{};return pi.FlipbookEngine=Re,fi.FlipbookEngine=pi,N.FlipbookEmbedBridge=di,N.FlipbookEngine=Re,N.FlipbookPluginRegistry=gi,N.createFlipbookEmbedController=Nn,N.isA3Landscape=oi,N.isFlipbookPageAsset=ni,N.normalizeFlipbookPages=si,N.normalizeFlipbookToc=De,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),N}({},pdfjsLib);
|
|
180
|
+
*/class gi{constructor(){C(this,"version",A(0));C(this,"activePanelId",A(null));C(this,"plugins",new Map)}install(e,i){const n=String((i==null?void 0:i.name)||"").trim();if(!n)throw new Error("Flipbook plugin name is required.");if(this.plugins.has(n))throw new Error(`Flipbook plugin "${n}" is already installed.`);const a={plugin:i,context:void 0,cleanups:new Set,toolbarButtons:new Map,panels:new Map,apis:new Map},r={engine:e,pluginName:n,activePanelId:this.activePanelId,registerToolbarButton:l=>{const c=this.requireContributionId(l==null?void 0:l.id,"toolbar button");if(a.toolbarButtons.has(c))throw new Error(`Plugin "${n}" already registered toolbar button "${c}".`);return a.toolbarButtons.set(c,l),this.version.value++,()=>{a.toolbarButtons.delete(c)&&this.version.value++}},registerPanel:l=>{const c=this.requireContributionId(l==null?void 0:l.id,"panel");if(a.panels.has(c))throw new Error(`Plugin "${n}" already registered panel "${c}".`);return a.panels.set(c,l),this.version.value++,()=>{a.panels.delete(c)&&(this.activePanelId.value===this.key(n,c)&&(this.activePanelId.value=null),this.version.value++)}},registerApi:(l,c)=>{const g=this.requireContributionId(l,"API");if(a.apis.has(g))throw new Error(`Plugin "${n}" already registered API "${g}".`);return a.apis.set(g,c),this.version.value++,()=>{a.apis.delete(g)&&this.version.value++}},on:(l,c)=>{const g=e.on(l,c);return a.cleanups.add(g),()=>{a.cleanups.delete(g),g()}},openPanel:l=>{const c=this.requireContributionId(l,"panel");if(!a.panels.has(c))throw new Error(`Plugin "${n}" has no panel "${c}".`);this.activePanelId.value=this.key(n,c)},closePanel:l=>{const c=l?this.key(n,l):null;(!l||this.activePanelId.value===c)&&(this.activePanelId.value=null)},addCleanup:l=>{typeof l=="function"&&a.cleanups.add(l)}};a.context=r,this.plugins.set(n,a);try{const l=i.install(e,r);typeof l=="function"&&a.cleanups.add(l)}catch(l){throw this.plugins.delete(n),a.cleanups.forEach(c=>c()),l}this.version.value++}uninstall(e){var n;const i=this.plugins.get(e);return i?((n=this.activePanelId.value)!=null&&n.startsWith(e+":")&&(this.activePanelId.value=null),i.cleanups.forEach(a=>a()),i.toolbarButtons.clear(),i.panels.clear(),i.apis.clear(),this.plugins.delete(e),this.version.value++,!0):!1}clear(){Array.from(this.plugins.keys()).forEach(e=>this.uninstall(e))}getPluginNames(){return Array.from(this.plugins.keys())}getToolbarButtons(){const e=[];return this.plugins.forEach((i,n)=>i.toolbarButtons.forEach((a,r)=>{e.push({...a,pluginName:n,key:this.key(n,r)})})),e}getPanels(){const e=[];return this.plugins.forEach((i,n)=>i.panels.forEach((a,r)=>{e.push({...a,pluginName:n,key:this.key(n,r)})})),e}getApi(e,i){var n;return(n=this.plugins.get(e))==null?void 0:n.apis.get(i)}async callApi(e,i,...n){const a=this.getApi(e,i);if(!a)throw new Error(`Plugin API "${e}.${i}" is not registered.`);return await a(...n)}key(e,i){return`${e}:${i}`}requireContributionId(e,i){const n=String(e||"").trim();if(!n)throw new Error(`Flipbook plugin ${i} id is required.`);return n}}function Ln(){const t=globalThis.crypto;return typeof(t==null?void 0:t.randomUUID)=="function"?t.randomUUID():`note-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}const Ne=class Ne{constructor(e,i={}){C(this,"searchSequence",0);C(this,"textLayerStop",null);C(this,"container",null);C(this,"options");C(this,"store",ii());C(this,"pageFlipAdapter",null);C(this,"layoutManager",null);C(this,"interactionManager",null);C(this,"pdfRenderer",null);C(this,"listeners",{});C(this,"initializationTimer",null);C(this,"initGeneration",0);C(this,"initAbortController",null);C(this,"eventsReady",!1);C(this,"lastEventState",{currentPage:0,zoom:1,zoomActive:!1,showThumbs:!1,showToc:!1,isSingle:!1,orientation:""});C(this,"eventSyncStop",null);C(this,"qualityObserver",null);C(this,"pdfLazyStop",null);C(this,"hasActiveSession",!1);C(this,"pdfPageRequests",new Map);C(this,"pdfRenderedPages",new Set);C(this,"pdfRenderedSources",new Map);C(this,"pdfSourcePageCount",0);C(this,"deepLinkListener",null);C(this,"pluginRegistry",new gi);this.selector=e,this.options={allowDownload:!0,showThumbs:!1,primaryColor:"#7367f0",theme:"auto",soundUrl:"https://flipbookengine.com/Content/page-flip.mp3",autoPlayInterval:3e3,pdfRenderScale:1.5,pdfRenderQuality:.85,pdfRenderFormat:"image/webp",pdfRenderConcurrency:3,pdfRenderCacheSize:32,pdfPageMode:"auto",deepLink:!1,...i},this.setupEventSync(),(i.plugins??[]).forEach(n=>this.installPlugin(n))}async init(e,i){if(typeof this.selector=="string"?this.container=document.querySelector(this.selector):this.container=this.selector,!this.container)return;this.eventsReady=!1,this.destroy(!0),this.setupDeepLinkListener();const n=this.initGeneration,a=new AbortController;this.initAbortController=a;let r=[],l={...Ne.DEFAULT_PAGE_VIEWPORT};if(i&&i.length>0){if(a.signal.aborted)return;const w=i.filter(ni);r=si(w);const b=r[0];if(b){const x=await this.loadImageSize(b.low||b.normal);if(x){const R=(b.cropMode!=="full"?x.width/2:x.width)/x.height,H=420;l=R>=1?{width:Math.round(H*R),height:H}:{width:H,height:Math.round(H/R)}}}}else if(e){if(a.signal.aborted)return;let w="load";try{this.pdfRenderer=new Rn({scale:this.options.pdfRenderScale,quality:this.options.pdfRenderQuality,format:this.options.pdfRenderFormat,concurrency:this.options.pdfRenderConcurrency,cacheSize:this.options.pdfRenderCacheSize,workerSrc:this.options.pdfWorkerSrc}),this.emit("progress",{phase:"loading",completed:0,total:0});const b=await this.pdfRenderer.loadDocument(e,a.signal);w="render",this.emit("progress",{phase:"loading",completed:1,total:b});const x=await this.pdfRenderer.getPageLayouts(this.options.pdfPageMode);l=x.length?await this.pdfRenderer.calculateViewportDimensions(420,x[0]):await this.pdfRenderer.calculateViewportDimensions(),r=x.length?this.createPdfPlaceholders(x):Array.from({length:b},(E,R)=>this.createPdfPlaceholder(R+1)),this.pdfSourcePageCount=b}catch(b){a.signal.aborted||(console.error("PDF load failed:",b),this.emit("error",{code:w==="load"?"PDF_LOAD_FAILED":"PDF_RENDER_FAILED",message:b instanceof Error?b.message:"Unable to load PDF.",cause:b}));return}}if(a.signal.aborted||n!==this.initGeneration||!r.length)return;this.store.init(this.options,r.length,r,!!e,!(i!=null&&i.length)&&!!e),this.applyInitialDeepLink(),this.options.textLayerProvider&&(this.textLayerStop=ki(this.store,this.options.textLayerProvider,a.signal)),ai(this.container,this.options),this.container.innerHTML="";let c,g,m;const y={current:null},S={current:null},v=yn({pageFlipAdapterRef:y,interactionManagerRef:S,bookWrapperRef:w=>c=w,bookSizerRef:w=>g=w,bookContainerRef:w=>m=w,className:this.options.className,store:this.store,pluginRegistry:this.pluginRegistry,signal:a.signal,onToggleFullscreen:()=>this.toggleFullscreen(),onDownload:()=>{e&&(this.options.onDownload?this.options.onDownload(e):window.open(e,"_blank"))},onShare:()=>{this.sharePage().then(w=>{var b,x;return(x=(b=this.options).onShare)==null?void 0:x.call(b,w)}).catch(w=>{console.warn("Share err:",w)})},onToggleBookmark:()=>this.toggleBookmark(),onToggleNotes:()=>{this.store.showNotes.value||(this.store.notesView.value=this.store.pageNotes.value.size||this.store.annotations.value.length?"all":"page"),this.store.showNotes.value=!this.store.showNotes.value},onSelectNote:w=>{this.goToPage(w),this.store.notesView.value="page"},onBeginAnnotation:()=>this.beginAnnotation(),onPlaceAnnotation:(w,b,x)=>this.placeAnnotation(w,b,x),onSaveAnnotation:w=>this.saveAnnotation(w),onDeleteAnnotation:w=>this.saveAnnotation(w,"delete"),onSaveNote:(w,b)=>this.saveNote(this.getCurrentPage(),w,b),onClearNote:()=>this.saveNote(this.getCurrentPage(),null),onCloseNotes:()=>{this.store.showNotes.value=!1},onSearch:(w,b)=>{this.search(w,b).catch(()=>{})},onClearSearch:()=>this.clearSearch(),onCloseSearch:()=>{this.store.showSearch.value=!1},onSelectSearchResult:w=>{this.goToPage(w),this.store.showSearch.value=!1},onHotspotActivate:w=>this.activateHotspot(w.id),onHotspotClose:()=>this.closeHotspot(),onAnnotationActivate:w=>this.activateAnnotation(w.id),onAnnotationClose:()=>this.closeAnnotation()});this.container.appendChild(v),this.setupQualityLoading(),this.layoutManager=new An(l,this.store),this.layoutManager.onResizeCallback=()=>{this.pageFlipAdapter&&this.pageFlipAdapter.update()},this.layoutManager.init(c,g),this.pageFlipAdapter=new Cn(m,this.options,this.store),y.current=this.pageFlipAdapter,await new Promise(w=>{const b=()=>{a.signal.removeEventListener("abort",b),w()};a.signal.addEventListener("abort",b,{once:!0}),this.initializationTimer=setTimeout(async()=>{if(this.initializationTimer=null,a.signal.removeEventListener("abort",b),a.signal.aborted||n!==this.initGeneration||!this.pageFlipAdapter){w();return}if(this.pageFlipAdapter.init(l.width,l.height),this.interactionManager=new Tn(c,this.pageFlipAdapter,this.store),this.interactionManager.init(),S.current=this.interactionManager,this.setupPdfLazyLoading(),this.pdfRenderer&&e)try{await this.renderPdfPage(1,a.signal)}catch{w();return}if(a.signal.aborted||n!==this.initGeneration){w();return}this.eventsReady=!0,this.captureEventState(),this.hasActiveSession=!0,this.emit("init",{totalPages:r.length}),w()},10)}),this.initAbortController===a&&(this.initAbortController=null)}createPdfPlaceholder(e){const i="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";return{index:e-1,assetId:"pdf-page-"+e+"-full",pageNumber:e,sourcePageNumber:e,cropMode:"full",normal:i,low:i,thumb:i}}createPdfPlaceholders(e){const i="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",n=[];return e.forEach((a,r)=>{const l=r+1;(a.split?["left","right"]:["full"]).forEach(g=>{const m=n.length+1;n.push({index:n.length,assetId:`pdf-page-${l}-${g}`,pageNumber:m,sourcePageNumber:l,cropMode:g,normal:i,low:i,thumb:i})})}),n}renderPdfPage(e,i){const n=this.pdfRenderer,a=this.initGeneration;if(!n)return Promise.resolve("");const r=this.pdfPageRequests.get(e);if(r)return r;if(this.pdfRenderedPages.has(e)){const c=this.pdfRenderedSources.get(e);c&&this.hydratePdfImages(e,c);const g=this.store.pages.value;if(c)for(const m of g)(m.sourcePageNumber??m.pageNumber)===e&&(m.normal=c,m.low=c,m.thumb=c);return Promise.resolve(c||"")}const l=n.renderPageToDataUrl(e,i).then(c=>{if(a!==this.initGeneration||i!=null&&i.aborted)throw this.createAbortError();if(!c)throw new Error("PDF page "+e+" produced no image.");return this.pdfRenderedPages.add(e),this.pdfRenderedSources.set(e,c),this.hydratePdfImages(e,c),this.emit("progress",{phase:"rendering",completed:this.pdfRenderedPages.size,total:this.pdfSourcePageCount||this.store.totalPages.value}),c}).catch(c=>{throw a!==this.initGeneration&&(c==null?void 0:c.name)!=="AbortError"?this.createAbortError():((c==null?void 0:c.name)==="AbortError"||this.emit("error",{code:"PDF_RENDER_FAILED",message:c instanceof Error?c.message:"Unable to render PDF page.",cause:c}),c)}).finally(()=>{this.pdfPageRequests.get(e)===l&&this.pdfPageRequests.delete(e)});return this.pdfPageRequests.set(e,l),l}hydratePdfImages(e,i){var n;(n=this.container)==null||n.querySelectorAll("img").forEach(a=>{a.dataset.pdfPage===String(e)&&(a.src=i,delete a.dataset.pdfPage)})}setupPdfLazyLoading(){var e;(e=this.pdfLazyStop)==null||e.call(this),this.pdfLazyStop=null,this.pdfRenderer&&(this.pdfLazyStop=Z(()=>{const i=this.store.currentPage.value,n=this.store.pages.value,r=this.store.isSingleMode.value?[i-1,i,i+1]:[i-1,i,i+1,i%2===1?i+2:i+1],l=new Set;for(const c of r)if(c>=0&&c<n.length){const g=n[c],m=(g==null?void 0:g.sourcePageNumber)??(g==null?void 0:g.pageNumber);m&&l.add(m)}l.forEach(c=>{c&&this.renderPdfPage(c).catch(()=>{})})}))}loadImageSize(e){return new Promise(i=>{const n=new Image;n.onload=()=>i({width:n.naturalWidth||n.width,height:n.naturalHeight||n.height}),n.onerror=()=>i(null),n.src=e})}goToPage(e){const i=Math.max(0,this.store.totalPages.value-1);this.store.currentPage.value=Math.max(0,Math.min(i,Math.trunc(e)))}getTotalPages(){return this.store.totalPages.value}getCurrentPage(){return this.store.currentPage.value}getToc(){const e=i=>({...i,...i.children?{children:i.children.map(e)}:{}});return this.store.toc.value.map(e)}setToc(e,i=this.store.showToc.value){this.store.toc.value=De(e,this.store.totalPages.value),this.store.showToc.value=!!i&&this.store.toc.value.length>0}installPlugin(e){return this.pluginRegistry.install(this,e),this}uninstallPlugin(e){return this.pluginRegistry.uninstall(e)}getPluginNames(){return this.pluginRegistry.getPluginNames()}callPluginApi(e,i,...n){return this.pluginRegistry.callApi(e,i,...n)}getPluginRegistry(){return this.pluginRegistry}getBookmarkedPages(){return Array.from(this.store.bookmarkedPages.value).sort((e,i)=>e-i)}isBookmarked(e=this.getCurrentPage()){return this.store.bookmarkedPages.value.has(Math.trunc(e))}setBookmark(e,i=!0){if(this.store.totalPages.value===0||!Number.isFinite(e))return;const n=Math.max(0,Math.min(this.store.totalPages.value-1,Math.trunc(e))),a=this.store.bookmarkedPages.value;if(a.has(n)===i)return;const r=new Set(a);i?r.add(n):r.delete(n),this.store.bookmarkedPages.value=r,this.emit("bookmarkChange",{pageIndex:n,pageNumber:n+1,bookmarked:i})}toggleBookmark(e=this.getCurrentPage()){this.setBookmark(e,!this.isBookmarked(e))}getNotes(){return Object.fromEntries(this.store.pageNotes.value)}getNote(e=this.getCurrentPage()){return this.store.pageNotes.value.get(Math.trunc(e))}setNote(e,i){if(this.store.totalPages.value===0||!Number.isFinite(e))return;const n=Math.max(0,Math.min(this.store.totalPages.value-1,Math.trunc(e))),a=String(i??"").trim();if(this.store.pageNotes.value.get(n)===(a||void 0))return;const l=new Map(this.store.pageNotes.value);a?l.set(n,a):l.delete(n),this.store.pageNotes.value=l,this.emit("noteChange",{pageIndex:n,pageNumber:n+1,note:a||null})}clearNote(e=this.getCurrentPage()){this.setNote(e,"")}async search(e,i={}){var g;const n=++this.searchSequence,a=String(e??"").trim();if(this.store.searchBusy.value=!1,this.store.searchFailed.value=!1,this.options.searchProvider&&a){this.store.searchQuery.value=a,this.store.searchResults.value=[],this.store.searchBusy.value=!0;const m=((g=this.initAbortController)==null?void 0:g.signal)??new AbortController().signal;try{const y=await this.options.searchProvider(a,i,m);if(m.aborted||n!==this.searchSequence)return[];const S=Number.isFinite(i.maxResults)?Math.max(1,Math.trunc(i.maxResults)):100;return this.store.searchResults.value=y.filter(v=>Number.isInteger(v.pageIndex)&&v.pageIndex>=0&&v.pageIndex<this.store.totalPages.value).slice(0,S),this.emit("searchChange",{query:a,results:this.store.searchResults.value}),this.store.searchResults.value}catch(y){throw!m.aborted&&n===this.searchSequence&&(this.store.searchFailed.value=!0),y}finally{n===this.searchSequence&&(this.store.searchBusy.value=!1)}}if(!a||!this.pdfRenderer||!this.store.isPdfMode.value)return this.store.searchQuery.value=a,this.store.searchResults.value=[],this.emit("searchChange",{query:a,results:[]}),[];const r=await this.pdfRenderer.searchText(a,i);if(n!==this.searchSequence)return[];const l=[];r.forEach(m=>{this.store.pages.value.forEach(y=>{var v;if((y.sourcePageNumber??y.pageNumber)!==m.sourcePageNumber)return;const S=this.mapSearchHighlights(m.highlights,y.cropMode);(v=m.highlights)!=null&&v.length&&!S.length||l.push({pageIndex:y.index,pageNumber:y.pageNumber,sourcePageNumber:m.sourcePageNumber,matches:m.matches,snippet:m.snippet,...m.highlights?{highlights:S}:{}})})});const c=Number.isFinite(i.maxResults)?Math.max(1,Math.trunc(i.maxResults)):100;return this.store.searchQuery.value=a,this.store.searchResults.value=l.slice(0,c),this.emit("searchChange",{query:a,results:this.store.searchResults.value}),this.store.searchResults.value}mapSearchHighlights(e,i){if(!(e!=null&&e.length)||i==="full")return e??[];const n=i==="right"?.5:0;return e.flatMap(a=>{const r=Math.max(n,a.x),l=Math.min(n+.5,a.x+a.width);return l<=r?[]:[{x:Math.max(0,Math.min(1,(r-n)*2)),y:Math.max(0,Math.min(1,a.y)),width:Math.max(0,Math.min(1,(l-r)*2)),height:Math.max(0,Math.min(1,a.height))}]})}clearSearch(){this.searchSequence++,this.store.searchBusy.value=!1,this.store.searchFailed.value=!1,this.store.searchQuery.value="",this.store.searchResults.value=[],this.emit("searchChange",{query:"",results:[]})}getSearchResults(){return this.store.searchResults.value.slice()}async saveNote(e,i,n){var l,c,g;if(this.store.notesSaving.value||!Number.isInteger(e)||e<0||e>=this.store.totalPages.value)return!1;const a=((l=this.initAbortController)==null?void 0:l.signal)??new AbortController().signal,r=(i==null?void 0:i.trim())||null;this.store.notesSaving.value=!0,this.store.notesFailed.value=!1;try{if(await((g=(c=this.options).noteProvider)==null?void 0:g.call(c,e,r,a,n)),a.aborted)return!1;this.setNote(e,r??"");const m=new Map(this.store.pageNoteDocuments.value);return n&&r?m.set(e,n):m.delete(e),this.store.pageNoteDocuments.value=m,!0}catch{return a.aborted||(this.store.notesFailed.value=!0),!1}finally{this.store.notesSaving.value=!1}}getHotspots(e=this.getCurrentPage()){return this.store.hotspots.value.filter(i=>i.pageIndex===e)}activateHotspot(e){const i=this.store.hotspots.value.find(n=>n.id===e);i&&(this.store.activeHotspotId.value=i.id,this.emit("hotspotActivate",{hotspot:i,pageIndex:i.pageIndex}))}closeHotspot(){this.store.activeHotspotId.value=null}getAnnotations(e=this.getCurrentPage()){return this.store.annotations.value.filter(i=>i.pageIndex===e)}activateAnnotation(e){const i=this.store.annotations.value.find(n=>n.id===e);i&&(this.goToPage(i.pageIndex),this.store.showNotes.value=!1,this.store.showToc.value=!1,this.store.showSearch.value=!1,this.store.activeAnnotationId.value=i.id,this.emit("annotationActivate",{annotation:i,pageIndex:i.pageIndex}))}closeAnnotation(){this.store.activeAnnotationId.value=null,this.store.pendingAnnotation.value=null}beginAnnotation(){this.store.canAnnotate.value&&(this.closeAnnotation(),this.store.showNotes.value=!1,this.store.showToc.value=!1,this.store.showSearch.value=!1,this.store.textSelection.value=!1,this.store.placingNote.value=!0,queueMicrotask(()=>{var e,i;this.store.placingNote.value&&((i=[...((e=this.container)==null?void 0:e.querySelectorAll(".bk-note-placement-layer"))??[]].find(n=>n.getBoundingClientRect().width>0))==null||i.focus())}))}placeAnnotation(e,i,n){!this.store.placingNote.value||!Number.isInteger(e)||e<0||e>=this.store.totalPages.value||!Number.isFinite(i)||!Number.isFinite(n)||(this.goToPage(e),this.store.pendingAnnotation.value={id:Ln(),pageIndex:e,x:Math.max(0,Math.min(1,i)),y:Math.max(0,Math.min(1,n)),text:""},this.store.placingNote.value=!1)}async saveAnnotation(e,i="save"){var r;if(!this.options.annotationProvider||this.store.notesSaving.value||!e.id||!Number.isInteger(e.pageIndex)||e.pageIndex<0||e.pageIndex>=this.store.totalPages.value||!Number.isFinite(e.x)||!Number.isFinite(e.y)||e.x<0||e.x>1||e.y<0||e.y>1||i==="save"&&(!e.text.trim()||e.text.length>4e3))return!1;const n=((r=this.initAbortController)==null?void 0:r.signal)??new AbortController().signal,a={...e,text:e.text.trim()};this.store.notesSaving.value=!0,this.store.notesFailed.value=!1;try{if(await this.options.annotationProvider(a,i,n),n.aborted)return!1;const l=this.store.annotations.value.filter(c=>c.id!==a.id);return this.store.annotations.value=i==="delete"?l:[...l,a],this.store.pendingAnnotation.value=null,this.store.activeAnnotationId.value=i==="delete"?null:a.id,this.emit("annotationChange",{annotation:a,action:i}),!0}catch{return n.aborted||(this.store.notesFailed.value=!0),!1}finally{n.aborted||(this.store.notesSaving.value=!1)}}getZoom(){return this.store.zoomState.value.scale}setZoom(e){const i=Number.isFinite(e)?e:1,n=Math.max(.5,Math.min(5,i));this.store.zoomState.value={...this.store.zoomState.value,scale:n,isActive:n>1,...n<=1?{translateX:0,translateY:0}:{}},this.store.isZoomed.value=n>1}nextPage(){this.pageFlipAdapter&&this.pageFlipAdapter.turnToNextPage()}toggleFullscreen(){var i,n;const e=this.container;e&&(document.fullscreenElement?(n=document.exitFullscreen)==null||n.call(document).catch(a=>console.warn("Exit fullscreen err:",a)):(i=e.requestFullscreen)==null||i.call(e).catch(a=>console.warn("Fullscreen err:",a)))}setLocale(e,i){const n=i?{...this.options.messages,[e]:i[e]??i}:this.options.messages;this.options={...this.options,locale:e,messages:n},this.store.locale.value=e,n&&(this.store.messages.value=n)}prevPage(){this.pageFlipAdapter&&this.pageFlipAdapter.turnToPrevPage()}setSingleMode(e){this.options={...this.options,singleMode:e,isSingleMode:e},this.store.isSingleMode.value=e,e&&this.pdfRenderer&&setTimeout(()=>{const i=this.store.pages.value[this.store.currentPage.value],n=(i==null?void 0:i.sourcePageNumber)??(i==null?void 0:i.pageNumber);n&&this.renderPdfPage(n).catch(()=>{})},0)}updateOptions(e){"annotationProvider"in e&&(this.store.canAnnotate.value=!!e.annotationProvider),"searchProvider"in e&&(this.store.searchAvailable.value=!!e.searchProvider||this.store.isPdfMode.value);const i=e.deepLink!==void 0&&e.deepLink!==this.options.deepLink;this.options={...this.options,...e},i&&(this.options.deepLink?this.setupDeepLinkListener():this.teardownDeepLinkListener()),e.theme!==void 0&&(this.store.themeMode.value=e.theme),e.primaryColor!==void 0&&(this.store.primaryColor.value=e.primaryColor),e.showThumbs!==void 0&&(this.store.showThumbs.value=e.showThumbs),e.showToc!==void 0&&(this.store.showToc.value=e.showToc),e.toc!==void 0&&(this.store.toc.value=De(e.toc,this.store.totalPages.value)),e.showArrows!==void 0&&(this.store.showArrows.value=e.showArrows),e.allowDownload!==void 0&&(this.store.allowDownload.value=e.allowDownload),e.whiteLabel!==void 0&&(this.store.whiteLabel.value=e.whiteLabel),e.soundEnabled!==void 0&&(this.store.soundEnabled.value=e.soundEnabled),e.locale!==void 0&&(this.store.locale.value=e.locale),e.messages!==void 0&&(this.store.messages.value=e.messages),e.singleMode!==void 0&&(this.store.isSingleMode.value=e.singleMode),e.isSingleMode!==void 0&&(this.store.isSingleMode.value=e.isSingleMode),e.autoPlay!==void 0&&(this.store.isAutoPlaying.value=e.autoPlay),e.autoPlayInterval!==void 0&&(this.store.autoPlayInterval.value=e.autoPlayInterval),e.bookmarks!==void 0&&(this.store.bookmarkedPages.value=new Set(e.bookmarks.map(n=>Math.trunc(n)).filter(n=>Number.isInteger(n)&&n>=0&&n<this.store.totalPages.value))),e.notes!==void 0&&(this.store.pageNotes.value=new Map(Object.entries(e.notes).map(([n,a])=>[Math.trunc(Number(n)),String(a).trim()]).filter(([n,a])=>Number.isInteger(n)&&n>=0&&n<this.store.totalPages.value&&a.length>0))),e.hotspots!==void 0&&(this.store.hotspots.value=e.hotspots),e.annotations!==void 0&&(this.store.annotations.value=e.annotations),this.container&&ai(this.container,this.options)}setupDeepLinkListener(){this.teardownDeepLinkListener(),!(!this.options.deepLink||typeof window>"u")&&(this.deepLinkListener=()=>{if(!this.eventsReady||this.store.totalPages.value===0)return;const e=this.readDeepLinkPage();e!==null&&e!==this.store.currentPage.value&&this.goToPage(e)},window.addEventListener("popstate",this.deepLinkListener),window.addEventListener("hashchange",this.deepLinkListener))}teardownDeepLinkListener(){!this.deepLinkListener||typeof window>"u"||(window.removeEventListener("popstate",this.deepLinkListener),window.removeEventListener("hashchange",this.deepLinkListener),this.deepLinkListener=null)}readDeepLinkPage(e=typeof window>"u"?"":window.location.href){var i;if(!e||this.store.totalPages.value===0)return null;try{const n=new URL(e,typeof document>"u"?void 0:document.baseURI),a=(i=n.hash.match(/(?:^#|&)page=(\d+)/i))==null?void 0:i[1],r=n.searchParams.get("page")??a;if(r==null)return 0;const l=Number(r);return!Number.isInteger(l)||l<1?null:Math.min(l-1,this.store.totalPages.value-1)}catch{return null}}applyInitialDeepLink(){if(!this.options.deepLink)return;const e=this.readDeepLinkPage();e!==null&&(this.store.currentPage.value=e)}updateDeepLink(e){if(!this.options.deepLink||typeof window>"u"||this.store.totalPages.value===0)return;const i=Math.max(0,Math.min(this.store.totalPages.value-1,Math.trunc(e))),n=i+1;try{const a=new URL(window.location.href);a.searchParams.set("page",String(n));const r=a.toString();r!==window.location.href&&window.history.replaceState(window.history.state,"",r),this.emit("deepLinkChange",{pageIndex:i,pageNumber:n,url:r})}catch{}}getPageUrl(e=this.getCurrentPage()){if(typeof window>"u")return"";const i=this.getTotalPages(),n=i>0?Math.max(0,Math.min(i-1,Math.trunc(e))):Math.max(0,Math.trunc(e)),a=new URL(window.location.href);return a.searchParams.set("page",String(n+1)),a.toString()}async sharePage(e=this.getCurrentPage()){var n;const i=this.getPageUrl(e);return typeof navigator<"u"&&typeof navigator.share=="function"?await navigator.share({title:typeof document>"u"?void 0:document.title,url:i}):typeof navigator<"u"&&((n=navigator.clipboard)!=null&&n.writeText)&&await navigator.clipboard.writeText(i),i}connectEmbed(e={}){return new di(this,e).connect()}async setPages(e,i){if(!(e!=null&&e.length)){i&&await this.init(i);return}await this.init(i||"",e)}setupQualityLoading(){var a;if(this.teardownQualityLoading(),!this.container)return;const e=Array.from(this.container.querySelectorAll("img[data-src], img[data-pdf-page]")),i=r=>{const l=Number(r.dataset.pdfPage);if(Number.isInteger(l)&&l>0){this.renderPdfPage(l).catch(()=>{});return}const c=r.dataset.src;c&&(r.src=c,delete r.dataset.src)},n=(a=this.container.ownerDocument.defaultView)==null?void 0:a.IntersectionObserver;if(!n){const r=new Set;e.forEach(l=>{const c=Number(l.dataset.pdfPage);Number.isInteger(c)&&c>0?r.size<2&&(r.add(c),i(l)):i(l)});return}this.qualityObserver=new n(r=>{r.forEach(l=>{var c;l.isIntersecting&&(i(l.target),(c=this.qualityObserver)==null||c.unobserve(l.target))})},{root:this.container,rootMargin:"240px"}),e.forEach(r=>{var l;return(l=this.qualityObserver)==null?void 0:l.observe(r)})}teardownQualityLoading(){var e;(e=this.qualityObserver)==null||e.disconnect(),this.qualityObserver=null}setupEventSync(){this.eventSyncStop=Z(()=>{const e={currentPage:this.store.currentPage.value,zoom:this.store.zoomState.value.scale,zoomActive:this.store.zoomState.value.isActive,showThumbs:this.store.showThumbs.value,showToc:this.store.showToc.value,isSingle:this.store.isSingleMode.value,orientation:this.store.orientation.value};if(!this.eventsReady){this.lastEventState=e;return}e.currentPage!==this.lastEventState.currentPage&&(this.emit("pageChange",{currentPage:e.currentPage,pageNumber:e.currentPage+1,totalPages:this.store.totalPages.value,isSingle:e.isSingle}),this.updateDeepLink(e.currentPage)),(e.zoom!==this.lastEventState.zoom||e.zoomActive!==this.lastEventState.zoomActive)&&this.emit("zoomChange",{zoom:e.zoom,isActive:e.zoomActive}),e.showThumbs!==this.lastEventState.showThumbs&&this.emit("thumbsToggle",{showThumbs:e.showThumbs}),e.showToc!==this.lastEventState.showToc&&this.emit("tocToggle",{showToc:e.showToc}),e.isSingle!==this.lastEventState.isSingle&&this.emit("singlePageModeChange",{isSingle:e.isSingle}),e.orientation!==this.lastEventState.orientation&&this.emit("orientationChange",{orientation:e.orientation}),this.lastEventState=e})}captureEventState(){this.lastEventState={currentPage:this.store.currentPage.value,zoom:this.store.zoomState.value.scale,zoomActive:this.store.zoomState.value.isActive,showThumbs:this.store.showThumbs.value,showToc:this.store.showToc.value,isSingle:this.store.isSingleMode.value,orientation:this.store.orientation.value}}setTextSelection(e){this.store.textSelection.value=!!e}destroy(e=!1){var n,a,r;(n=this.textLayerStop)==null||n.call(this),this.textLayerStop=null;const i=this.hasActiveSession||!!this.initAbortController||!!this.pageFlipAdapter||!!this.layoutManager||!!this.interactionManager||!!this.pdfRenderer;this.initGeneration++,this.teardownDeepLinkListener(),(a=this.initAbortController)==null||a.abort(),this.initAbortController=null,this.initializationTimer&&(clearTimeout(this.initializationTimer),this.initializationTimer=null),this.pageFlipAdapter&&this.pageFlipAdapter.destroy(),this.layoutManager&&this.layoutManager.destroy(),this.interactionManager&&this.interactionManager.destroy(),this.teardownQualityLoading(),(r=this.pdfLazyStop)==null||r.call(this),this.pdfLazyStop=null,this.pdfPageRequests.clear(),this.pdfRenderedPages.clear(),this.pdfRenderedSources.clear(),this.pdfSourcePageCount=0,this.pdfRenderer&&this.pdfRenderer.destroy(),this.pageFlipAdapter=null,this.layoutManager=null,this.interactionManager=null,this.pdfRenderer=null,this.eventsReady=!1,this.hasActiveSession=!1,this.store.reset(),!e&&this.container&&(this.container.innerHTML=""),i&&this.emit("destroy",void 0),e||this.pluginRegistry.clear()}createAbortError(){const e=new Error("Flipbook initialization was aborted.");return e.name="AbortError",e}on(e,i){const n=this.listeners[e]??new Set;return n.add(i),this.listeners[e]=n,()=>this.off(e,i)}off(e,i){var n;(n=this.listeners[e])==null||n.delete(i)}emit(e,i){var n;(n=this.listeners[e])==null||n.forEach(a=>{a(i)})}};C(Ne,"DEFAULT_PAGE_VIEWPORT",{width:420,height:594});let Re=Ne;const fi=globalThis,pi=fi.FlipbookEngine||{};return pi.FlipbookEngine=Re,fi.FlipbookEngine=pi,N.FlipbookEmbedBridge=di,N.FlipbookEngine=Re,N.FlipbookPluginRegistry=gi,N.createFlipbookEmbedController=Nn,N.isA3Landscape=oi,N.isFlipbookPageAsset=ni,N.normalizeFlipbookPages=si,N.normalizeFlipbookToc=De,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),N}({},pdfjsLib);
|
|
181
181
|
//# sourceMappingURL=flipbook-engine.iife.js.map
|