@prose-reader/core 1.298.0 → 1.299.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -158,10 +158,10 @@
158
158
  width: 100%;
159
159
  height: 100%;
160
160
  visibility: hidden;
161
- `,l.appendChild(e),()=>{e?.remove(),e=void 0})):r.NEVER)),i=l=>r.scheduled(l,r.animationFrameScheduler).pipe(I.tap(()=>{e&&w(e.style,"visibility","hidden")})),o=t.context.bridgeEvent.viewportBusy$.pipe(I.tap(()=>{e&&w(e.style,"visibility","visible")})),s=i(t.viewportFree$).pipe(I.take(1)),c=t.settings.values$.pipe(I.map(()=>t.settings.values.computedPageTurnMode),I.distinctUntilChanged()).pipe(I.switchMap(l=>l==="controlled"?o.pipe(I.switchMap(()=>s)):i(r.of(void 0))),I.takeUntil(t.$.destroy$));return r.merge(n,c)},ui="@prose-reader/core",di=0,pi=200,R="prose-reader",at=`${R}-style`,ct=`data-${R}-id`,lt=`${R}-viewport`,ut=`${R}-scroll-navigator`,dt=`${R}-spine-item`,pt=`${`${R}-enhancer-loading`}-container`,hi=({container:t,item:e,viewport:n})=>{const i=t.ownerDocument.createElement("div");i.classList.add(pt),i.style.cssText=`
161
+ `,l.appendChild(e),()=>{e?.remove(),e=void 0})):r.NEVER)),i=l=>r.scheduled(l,r.animationFrameScheduler).pipe(I.tap(()=>{e&&w(e.style,"visibility","hidden")})),o=t.context.bridgeEvent.viewportBusy$.pipe(I.tap(()=>{e&&w(e.style,"visibility","visible")})),s=i(t.viewportFree$).pipe(I.take(1)),c=t.settings.values$.pipe(I.map(()=>t.settings.values.computedPageTurnMode),I.distinctUntilChanged()).pipe(I.switchMap(l=>l==="controlled"?o.pipe(I.switchMap(()=>s)):i(r.of(void 0))),I.takeUntil(t.$.destroy$));return r.merge(n,c)},ui="@prose-reader/core",di=0,pi=200,R="prose-reader",at=`${R}-style`,ct=`data-${R}-id`,lt=`${R}-viewport`,ut=`${R}-scroll-navigator`,dt=`${R}-spine-item`,pt=`${`${R}-enhancer-loading`}-container`,hi=({container:t,item:e,viewport:n})=>{const i=n.absoluteViewport.width,o=i>0?`max-width: ${i}px;`:"",s=t.ownerDocument.createElement("div");s.classList.add(pt),s.style.cssText=`
162
162
  height: 100%;
163
163
  width: 100%;
164
- max-width: ${n.absoluteViewport.width}px;
164
+ ${o}
165
165
  text-align: center;
166
166
  display: flex;
167
167
  justify-content: center;
@@ -173,16 +173,16 @@
173
173
  color: rgb(202, 202, 202);
174
174
  background-color: white;
175
175
  z-index: 1;
176
- `;const o=i.ownerDocument.createElement("div");o.innerText="prose",o.style.cssText=`
176
+ `;const a=s.ownerDocument.createElement("div");a.innerText="prose",a.style.cssText=`
177
177
  font-size: 4em;
178
- `;const s=i.ownerDocument.createElement("div");return s.setAttribute("data-details-element","true"),s.innerText=`loading ${e.id}`,s.style.cssText=`
178
+ `;const c=s.ownerDocument.createElement("div");return c.setAttribute("data-details-element","true"),c.innerText=`loading ${e.id}`,c.style.cssText=`
179
179
  font-size: 1.2em;
180
180
  text-overflow: ellipsis;
181
181
  white-space: nowrap;
182
182
  overflow: hidden;
183
183
  max-width: 300px;
184
184
  width: 80%;
185
- `,i.appendChild(o),i.appendChild(s),i},gi=t=>t.spineItemsManager.items$.pipe(I.switchMap(e=>r.merge(...e.map(n=>{w(n.containerElement.style,"z-index","0");const i=n.containerElement.querySelector(`.${pt}`),o=i instanceof HTMLElement?i:hi({container:n.containerElement,item:n.item,viewport:t.viewport});return n.containerElement.appendChild(o),r.merge(n.pipe(I.tap(s=>{if(w(o.style,"visibility",s.isReady?"hidden":"visible"),w(o.style,"z-index",s.isReady?"0":"1"),s.isError){const a=o.querySelector("[data-details-element]");a instanceof HTMLElement&&xe(a,"innerText",s.error?.toString()??"Unknown error")}})),r.combineLatest([t.spine.layout$,t.theme.$.theme$]).pipe(I.tap(([,s])=>{const a=t.viewport.absoluteViewport.width;w(o.style,"max-width",`${a}px`),w(o.style,"color",s==="sepia"?"#939393":"rgb(202, 202, 202)")})))})))),mi=t=>{t.hookManager.register("item.onDocumentLoad",async({itemId:e})=>{const i=t.spineItemsManager.get(e)?.renderer.getDocumentFrame();i&&k(i,"scrolling","no")})},fi=t=>{t.hookManager.register("item.onAfterLayout",({item:e,blankPagePosition:n,minimumWidth:i})=>{const o=t.spineItemsManager.get(e.id),s=o?.renderer.getDocumentFrame();if(o?.renditionLayout!=="reflowable"||!(s instanceof HTMLIFrameElement))return;const{hasViewport:a}=ie(s),{width:c}=t.viewport.pageSize,l=o?.renderer.getDocumentFrame();if(a){const u=c<i;n==="none"&&u&&l instanceof HTMLIFrameElement&&w(l.style,"left",t.context.isRTL()?"75%":"25%")}})},Si=t=>t.spineItemsObserver.states$.pipe(r.tap(({item:e,isReady:n,isDirty:i})=>{e.containerElement.dataset.isDirty=i.toString(),e.containerElement.dataset.isReady=n.toString()}));let yi=class extends je{computeOutputSettings(e){return e}hasSettingsChanged(e){return!C.isShallowEqual(this.outputSettings,e)}getCleanedParentInputSettings(e){const{layoutAutoResize:n,pageHorizontalMargin:i,pageVerticalMargin:o,layoutLayerTransition:s,...a}=e;return a}getDefaultSettings(){return{layoutAutoResize:"container",pageHorizontalMargin:24,pageVerticalMargin:24,layoutLayerTransition:!0}}};const ht=({manifest:t,spreadMode:e})=>t?.renditionFlow==="scrolled-continuous"?!1:e,bi=t=>t===void 0||t==="auto"||t==="landscape"||t==="both",Fe=({manifest:t,viewport:e})=>{const n=e.width>e.height;return!!(!n&&t?.renditionSpread==="portrait"||n&&bi(t?.renditionSpread))},Ii=({manifest:t,viewport:e})=>ht({manifest:t,spreadMode:Fe({manifest:t,viewport:e})}),vi=t=>r.combineLatest([t.viewport.watch(["width","height"]),t.context.watch("manifest")]).pipe(r.tap(([e,n])=>t.settings.update({spreadMode:Fe({manifest:n,viewport:e})}))),gt=t=>e=>{const{pageHorizontalMargin:n,pageVerticalMargin:i,layoutAutoResize:o,layoutLayerTransition:s}=e,a=t(e),c=new yi({pageHorizontalMargin:n,pageVerticalMargin:i,layoutAutoResize:o,layoutLayerTransition:s},a.settings);a.hookManager.register("onViewportOffsetAdjust",()=>{for(const f of a.spineItemsManager.items){const y=f.renderer.getDocumentFrame();if(y){y.getBoundingClientRect().left;break}}}),a.hookManager.register("item.onBeforeLayout",({item:f})=>{const y=a.spineItemsManager.get(f.id),M=!!(f.mediaType??C.detectMimeTypeFromName(f.href))?.startsWith("image/"),{pageHorizontalMargin:T=0,pageVerticalMargin:P=0}=c.values,$=a.viewport.pageSize;if(y?.renditionLayout==="reflowable"&&!M){let v=$.width-T*2;const L=$.height-P*2;let O=$.width-T*2,V=T*2;y.isUsingVerticalWriting()&&(O=$.width-T*2,v=L,V=P*2);const Y=y?.renderer.getDocumentFrame();Y&&W(Y,"prose-layout-enhancer-css",`
185
+ `,s.appendChild(a),s.appendChild(c),s},gi=t=>t.spineItemsManager.items$.pipe(I.switchMap(e=>r.merge(...e.map(n=>{w(n.containerElement.style,"z-index","0");const i=n.containerElement.querySelector(`.${pt}`),o=i instanceof HTMLElement?i:hi({container:n.containerElement,item:n.item,viewport:t.viewport});return n.containerElement.appendChild(o),r.merge(n.pipe(I.tap(s=>{if(w(o.style,"visibility",s.isReady?"hidden":"visible"),w(o.style,"z-index",s.isReady?"0":"1"),s.isError){const a=o.querySelector("[data-details-element]");a instanceof HTMLElement&&xe(a,"innerText",s.error?.toString()??"Unknown error")}})),r.combineLatest([t.spine.layout$,t.theme.$.theme$]).pipe(I.tap(([,s])=>{const a=t.viewport.absoluteViewport.width;a>0&&w(o.style,"max-width",`${a}px`),w(o.style,"color",s==="sepia"?"#939393":"rgb(202, 202, 202)")})))})))),mi=t=>{t.hookManager.register("item.onDocumentLoad",async({itemId:e})=>{const i=t.spineItemsManager.get(e)?.renderer.getDocumentFrame();i&&k(i,"scrolling","no")})},fi=t=>{t.hookManager.register("item.onAfterLayout",({item:e,blankPagePosition:n,minimumWidth:i})=>{const o=t.spineItemsManager.get(e.id),s=o?.renderer.getDocumentFrame();if(o?.renditionLayout!=="reflowable"||!(s instanceof HTMLIFrameElement))return;const{hasViewport:a}=ie(s),{width:c}=t.viewport.pageSize,l=o?.renderer.getDocumentFrame();if(a){const u=c<i;n==="none"&&u&&l instanceof HTMLIFrameElement&&w(l.style,"left",t.context.isRTL()?"75%":"25%")}})},Si=t=>t.spineItemsObserver.states$.pipe(r.tap(({item:e,isReady:n,isDirty:i})=>{e.containerElement.dataset.isDirty=i.toString(),e.containerElement.dataset.isReady=n.toString()}));let yi=class extends je{computeOutputSettings(e){return e}hasSettingsChanged(e){return!C.isShallowEqual(this.outputSettings,e)}getCleanedParentInputSettings(e){const{layoutAutoResize:n,pageHorizontalMargin:i,pageVerticalMargin:o,layoutLayerTransition:s,...a}=e;return a}getDefaultSettings(){return{layoutAutoResize:"container",pageHorizontalMargin:24,pageVerticalMargin:24,layoutLayerTransition:!0}}};const ht=({manifest:t,spreadMode:e})=>t?.renditionFlow==="scrolled-continuous"?!1:e,bi=t=>t===void 0||t==="auto"||t==="landscape"||t==="both",Fe=({manifest:t,viewport:e})=>{const n=e.width>e.height;return!!(!n&&t?.renditionSpread==="portrait"||n&&bi(t?.renditionSpread))},Ii=({manifest:t,viewport:e})=>ht({manifest:t,spreadMode:Fe({manifest:t,viewport:e})}),vi=t=>r.combineLatest([t.viewport.watch(["width","height"]),t.context.watch("manifest")]).pipe(r.tap(([e,n])=>t.settings.update({spreadMode:Fe({manifest:n,viewport:e})}))),gt=t=>e=>{const{pageHorizontalMargin:n,pageVerticalMargin:i,layoutAutoResize:o,layoutLayerTransition:s}=e,a=t(e),c=new yi({pageHorizontalMargin:n,pageVerticalMargin:i,layoutAutoResize:o,layoutLayerTransition:s},a.settings);a.hookManager.register("onViewportOffsetAdjust",()=>{for(const f of a.spineItemsManager.items){const y=f.renderer.getDocumentFrame();if(y){y.getBoundingClientRect().left;break}}}),a.hookManager.register("item.onBeforeLayout",({item:f})=>{const y=a.spineItemsManager.get(f.id),M=!!(f.mediaType??C.detectMimeTypeFromName(f.href))?.startsWith("image/"),{pageHorizontalMargin:T=0,pageVerticalMargin:P=0}=c.values,$=a.viewport.pageSize;if(y?.renditionLayout==="reflowable"&&!M){let v=$.width-T*2;const L=$.height-P*2;let O=$.width-T*2,V=T*2;y.isUsingVerticalWriting()&&(O=$.width-T*2,v=L,V=P*2);const Y=y?.renderer.getDocumentFrame();Y&&W(Y,"prose-layout-enhancer-css",`
186
186
  body {
187
187
  width: ${O}px !important;
188
188
  margin: ${P}px ${T}px !important;