@prose-reader/core 1.60.0 → 1.62.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.
@@ -1,15 +1,7 @@
1
1
  (function(global, factory) {
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("rxjs"), require("rxjs/operators"), require("@prose-reader/shared")) : typeof define === "function" && define.amd ? define(["exports", "rxjs", "rxjs/operators", "@prose-reader/shared"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.prose = {}, global.rxjs, global.operators, global.shared));
3
3
  })(this, function(exports2, rxjs, operators, shared) {
4
- "use strict";var __typeError = (msg) => {
5
- throw TypeError(msg);
6
- };
7
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
8
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
9
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
-
12
- var _context;
4
+ "use strict";
13
5
  const chromeEnhancer = (next) => (options) => {
14
6
  const reader = next(options);
15
7
  reader.context.state$.pipe(rxjs.takeUntil(reader.$.destroy$)).subscribe(({ containerElement }) => {
@@ -96,8 +88,15 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
96
88
  class SettingsManagerOverload {
97
89
  constructor(initialSettings, settingsManager) {
98
90
  this.settingsManager = settingsManager;
99
- this.inputSettings = shallowMergeIfDefined(this.getDefaultSettings(), initialSettings);
100
- this.outputSettings = this.computeOutputSettings();
91
+ const inputSettings = shallowMergeIfDefined(
92
+ this.getDefaultSettings(),
93
+ initialSettings
94
+ );
95
+ this.outputSettings = this.computeOutputSettings(inputSettings);
96
+ this.inputSettings = shallowMergeIfDefined(
97
+ this.getDefaultSettings(),
98
+ initialSettings
99
+ );
101
100
  this.outputSettingsUpdateSubject = new rxjs.Subject();
102
101
  this.settings$ = rxjs.combineLatest([
103
102
  this.settingsManager.settings$,
@@ -111,18 +110,22 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
111
110
  _prepareUpdate(settings) {
112
111
  const parentInputSettings = this.getCleanedParentInputSettings(settings);
113
112
  const parentManagerPreparedUpdate = this.settingsManager._prepareUpdate(parentInputSettings);
114
- this.inputSettings = { ...this.inputSettings, ...settings };
115
- const outputSettings = this.computeOutputSettings();
113
+ const inputSettings = shallowMergeIfDefined(this.inputSettings, settings);
114
+ const outputSettings = this.computeOutputSettings(inputSettings);
116
115
  const hasChanged = this.hasSettingsChanged(outputSettings);
117
- console.log({ outputSettings, hasChanged, parentManagerPreparedUpdate });
118
116
  return {
119
117
  hasChanged: hasChanged || parentManagerPreparedUpdate.hasChanged,
120
118
  commit: () => {
119
+ this.inputSettings = inputSettings;
121
120
  this.outputSettings = outputSettings;
122
121
  if (!parentManagerPreparedUpdate.hasChanged && hasChanged) {
123
122
  this.outputSettingsUpdateSubject.next(outputSettings);
124
123
  }
125
- parentManagerPreparedUpdate.commit();
124
+ const parentOutputSettings = parentManagerPreparedUpdate.commit();
125
+ return {
126
+ ...parentOutputSettings,
127
+ ...outputSettings
128
+ };
126
129
  }
127
130
  };
128
131
  }
@@ -140,9 +143,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
140
143
  this.outputSettingsUpdateSubject.complete();
141
144
  }
142
145
  }
143
- let SettingsManager$1 = class SettingsManager extends SettingsManagerOverload {
144
- computeOutputSettings() {
145
- return this.inputSettings;
146
+ let SettingsManager$2 = class SettingsManager extends SettingsManagerOverload {
147
+ computeOutputSettings(settings) {
148
+ return settings;
146
149
  }
147
150
  hasSettingsChanged(newOutputSettings) {
148
151
  return !isShallowEqual(this.outputSettings, newOutputSettings);
@@ -164,7 +167,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
164
167
  const { fontScale, lineHeight, fontWeight, fontJustification } = options;
165
168
  const changes$ = new rxjs.Subject();
166
169
  const reader = next(options);
167
- const settingsManager = new SettingsManager$1(
170
+ const settingsManager = new SettingsManager$2(
168
171
  {
169
172
  fontScale,
170
173
  lineHeight,
@@ -217,7 +220,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
217
220
  return false;
218
221
  })
219
222
  );
220
- settingsManager.settings$.pipe(shouldRequireLayout, operators.tap(applyChangeToSpineItem), rxjs.takeUntil(reader.$.destroy$)).subscribe();
223
+ settingsManager.settings$.pipe(
224
+ shouldRequireLayout,
225
+ operators.tap(applyChangeToSpineItem),
226
+ rxjs.takeUntil(reader.$.destroy$)
227
+ ).subscribe();
221
228
  return {
222
229
  ...reader,
223
230
  destroy: () => {
@@ -258,7 +265,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
258
265
  (spineItems) => rxjs.merge(
259
266
  ...spineItems.map(
260
267
  (item) => item.$.loaded$.pipe(
261
- rxjs.switchMap((iframe) => (iframe == null ? void 0 : iframe.contentDocument) ? navigateOnKey(iframe.contentDocument) : rxjs.EMPTY)
268
+ rxjs.switchMap(
269
+ (iframe) => (iframe == null ? void 0 : iframe.contentDocument) ? navigateOnKey(iframe.contentDocument) : rxjs.EMPTY
270
+ )
262
271
  )
263
272
  )
264
273
  )
@@ -292,14 +301,24 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
292
301
  );
293
302
  const createResetLock$ = (source) => rxjs.scheduled(source, rxjs.animationFrameScheduler).pipe(
294
303
  operators.tap(() => {
295
- iframeOverlayForAnimationsElement == null ? void 0 : iframeOverlayForAnimationsElement.style.setProperty(`visibility`, `hidden`);
304
+ iframeOverlayForAnimationsElement == null ? void 0 : iframeOverlayForAnimationsElement.style.setProperty(
305
+ `visibility`,
306
+ `hidden`
307
+ );
296
308
  })
297
309
  );
298
- const viewportFree$ = reader.viewportNavigator.$.state$.pipe(operators.filter((data) => data === `free`));
299
- const viewportBusy$ = reader.viewportNavigator.$.state$.pipe(operators.filter((data) => data === `busy`));
310
+ const viewportFree$ = reader.viewportNavigator.$.state$.pipe(
311
+ operators.filter((data) => data === `free`)
312
+ );
313
+ const viewportBusy$ = reader.viewportNavigator.$.state$.pipe(
314
+ operators.filter((data) => data === `busy`)
315
+ );
300
316
  const lockAfterViewportBusy$ = viewportBusy$.pipe(
301
317
  operators.tap(() => {
302
- iframeOverlayForAnimationsElement == null ? void 0 : iframeOverlayForAnimationsElement.style.setProperty(`visibility`, `visible`);
318
+ iframeOverlayForAnimationsElement == null ? void 0 : iframeOverlayForAnimationsElement.style.setProperty(
319
+ `visibility`,
320
+ `visible`
321
+ );
303
322
  })
304
323
  );
305
324
  const resetLockViewportFree$ = createResetLock$(viewportFree$).pipe(operators.take(1));
@@ -332,34 +351,48 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
332
351
  });
333
352
  };
334
353
  const fixReflowable = (reader) => {
335
- reader.hookManager.register(`item.onAfterLayout`, ({ item, blankPagePosition, minimumWidth }) => {
336
- var _a;
337
- const spineItem = reader.spineItemManager.get(item.id);
338
- if (!((spineItem == null ? void 0 : spineItem.item.renditionLayout) === `reflowable`)) return;
339
- const { viewportDimensions } = (spineItem == null ? void 0 : spineItem.getViewPortInformation()) ?? {};
340
- const { width: pageWidth } = reader.context.getPageSize();
341
- const frameElement = (_a = spineItem == null ? void 0 : spineItem.spineItemFrame.getManipulableFrame()) == null ? void 0 : _a.frame;
342
- if (viewportDimensions) {
343
- const spineManagerWantAFullWidthItem = pageWidth < minimumWidth;
344
- const noBlankPageAsked = blankPagePosition === `none`;
345
- if (noBlankPageAsked && spineManagerWantAFullWidthItem) {
346
- frameElement == null ? void 0 : frameElement.style.setProperty(`left`, reader.context.isRTL() ? `75%` : `25%`);
354
+ reader.hookManager.register(
355
+ `item.onAfterLayout`,
356
+ ({ item, blankPagePosition, minimumWidth }) => {
357
+ var _a;
358
+ const spineItem = reader.spineItemManager.get(item.id);
359
+ if (!((spineItem == null ? void 0 : spineItem.item.renditionLayout) === `reflowable`)) return;
360
+ const { viewportDimensions } = (spineItem == null ? void 0 : spineItem.getViewPortInformation()) ?? {};
361
+ const { width: pageWidth } = reader.context.getPageSize();
362
+ const frameElement = (_a = spineItem == null ? void 0 : spineItem.spineItemFrame.getManipulableFrame()) == null ? void 0 : _a.frame;
363
+ if (viewportDimensions) {
364
+ const spineManagerWantAFullWidthItem = pageWidth < minimumWidth;
365
+ const noBlankPageAsked = blankPagePosition === `none`;
366
+ if (noBlankPageAsked && spineManagerWantAFullWidthItem) {
367
+ frameElement == null ? void 0 : frameElement.style.setProperty(
368
+ `left`,
369
+ reader.context.isRTL() ? `75%` : `25%`
370
+ );
371
+ }
347
372
  }
348
373
  }
349
- });
374
+ );
350
375
  };
351
376
  function isDefined(arg) {
352
377
  return arg !== null && arg !== void 0;
353
378
  }
354
- class SettingsManager extends SettingsManagerOverload {
355
- computeOutputSettings() {
356
- return this.inputSettings;
379
+ let SettingsManager$1 = class SettingsManager extends SettingsManagerOverload {
380
+ computeOutputSettings(inputSettings) {
381
+ return inputSettings;
357
382
  }
358
383
  hasSettingsChanged(newOutputSettings) {
359
384
  return !isShallowEqual(this.outputSettings, newOutputSettings);
360
385
  }
361
386
  getCleanedParentInputSettings(settings) {
362
- const { layoutAutoResize, pageHorizontalMargin, pageVerticalMargin, ...rest } = settings;
387
+ const {
388
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
389
+ layoutAutoResize,
390
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
391
+ pageHorizontalMargin,
392
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
393
+ pageVerticalMargin,
394
+ ...rest
395
+ } = settings;
363
396
  return rest;
364
397
  }
365
398
  getDefaultSettings() {
@@ -369,12 +402,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
369
402
  pageVerticalMargin: 24
370
403
  };
371
404
  }
372
- }
405
+ };
373
406
  const SHOULD_NOT_LAYOUT = false;
374
407
  const layoutEnhancer = (next) => (options) => {
375
408
  const { pageHorizontalMargin, pageVerticalMargin, layoutAutoResize } = options;
376
409
  const reader = next(options);
377
- const settingsManager = new SettingsManager(
410
+ const settingsManager = new SettingsManager$1(
378
411
  {
379
412
  pageHorizontalMargin,
380
413
  pageVerticalMargin,
@@ -392,24 +425,26 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
392
425
  return SHOULD_NOT_LAYOUT;
393
426
  });
394
427
  });
395
- reader.hookManager.register(`item.onLayoutBeforeMeasurement`, ({ frame, minimumWidth, item, isImageType }) => {
396
- var _a, _b;
397
- const { pageHorizontalMargin: pageHorizontalMargin2 = 0, pageVerticalMargin: pageVerticalMargin2 = 0 } = settingsManager.settings;
398
- const pageSize = reader.context.getPageSize();
399
- if (item.renditionLayout === `reflowable` && frame.getIsReady() && !isImageType() && !frame.getViewportDimensions()) {
400
- let columnWidth = pageSize.width - pageHorizontalMargin2 * 2;
401
- const columnHeight = pageSize.height - pageVerticalMargin2 * 2;
402
- let width = pageSize.width - pageHorizontalMargin2 * 2;
403
- let columnGap = pageHorizontalMargin2 * 2;
404
- if (frame.isUsingVerticalWriting()) {
405
- width = minimumWidth - pageHorizontalMargin2 * 2;
406
- columnWidth = columnHeight;
407
- columnGap = pageVerticalMargin2 * 2;
408
- }
409
- (_a = frame.getManipulableFrame()) == null ? void 0 : _a.removeStyle(`prose-layout-enhancer-css`);
410
- (_b = frame.getManipulableFrame()) == null ? void 0 : _b.addStyle(
411
- `prose-layout-enhancer-css`,
412
- `
428
+ reader.hookManager.register(
429
+ `item.onLayoutBeforeMeasurement`,
430
+ ({ frame, minimumWidth, item, isImageType }) => {
431
+ var _a, _b;
432
+ const { pageHorizontalMargin: pageHorizontalMargin2 = 0, pageVerticalMargin: pageVerticalMargin2 = 0 } = settingsManager.settings;
433
+ const pageSize = reader.context.getPageSize();
434
+ if (item.renditionLayout === `reflowable` && frame.getIsReady() && !isImageType() && !frame.getViewportDimensions()) {
435
+ let columnWidth = pageSize.width - pageHorizontalMargin2 * 2;
436
+ const columnHeight = pageSize.height - pageVerticalMargin2 * 2;
437
+ let width = pageSize.width - pageHorizontalMargin2 * 2;
438
+ let columnGap = pageHorizontalMargin2 * 2;
439
+ if (frame.isUsingVerticalWriting()) {
440
+ width = minimumWidth - pageHorizontalMargin2 * 2;
441
+ columnWidth = columnHeight;
442
+ columnGap = pageVerticalMargin2 * 2;
443
+ }
444
+ (_a = frame.getManipulableFrame()) == null ? void 0 : _a.removeStyle(`prose-layout-enhancer-css`);
445
+ (_b = frame.getManipulableFrame()) == null ? void 0 : _b.addStyle(
446
+ `prose-layout-enhancer-css`,
447
+ `
413
448
  body {
414
449
  width: ${width}px !important;
415
450
  margin: ${pageVerticalMargin2}px ${pageHorizontalMargin2}px !important;
@@ -428,9 +463,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
428
463
  max-width: ${columnWidth}px;
429
464
  }
430
465
  `
431
- );
466
+ );
467
+ }
432
468
  }
433
- });
469
+ );
434
470
  fixReflowable(reader);
435
471
  let observer;
436
472
  if (options.layoutAutoResize === `container`) {
@@ -481,7 +517,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
481
517
  return () => {
482
518
  tick++;
483
519
  const t1 = performance.now();
484
- Report.logMetric({ name: `${name} - tick ${tick}`, duration: t1 - t0 }, targetDuration);
520
+ Report.logMetric(
521
+ { name: `${name} - tick ${tick}`, duration: t1 - t0 },
522
+ targetDuration
523
+ );
485
524
  };
486
525
  };
487
526
  const createReport = (namespace) => ({
@@ -497,7 +536,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
497
536
  warn: (...data) => {
498
537
  var _a;
499
538
  if ((_a = getWindow()) == null ? void 0 : _a.__PROSE_READER_DEBUG) {
500
- if (namespace) console.warn(wrap(ROOT_NAMESPACE), wrap(namespace), ...data);
539
+ if (namespace)
540
+ console.warn(wrap(ROOT_NAMESPACE), wrap(namespace), ...data);
501
541
  else console.warn(wrap(ROOT_NAMESPACE), ...data);
502
542
  }
503
543
  },
@@ -562,7 +602,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
562
602
  if (!element.href) return false;
563
603
  const hrefUrl = new URL(element.href);
564
604
  const hrefWithoutAnchor = `${hrefUrl.origin}${hrefUrl.pathname}`;
565
- const hasExistingSpineItem = (_a = reader.context.manifest) == null ? void 0 : _a.spineItems.some((item) => item.href === hrefWithoutAnchor);
605
+ const hasExistingSpineItem = (_a = reader.context.manifest) == null ? void 0 : _a.spineItems.some(
606
+ (item) => item.href === hrefWithoutAnchor
607
+ );
566
608
  if (hasExistingSpineItem) {
567
609
  reader.viewportNavigator.goToUrl(hrefUrl);
568
610
  return true;
@@ -577,7 +619,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
577
619
  Report.warn(`prevented click on`, element, e);
578
620
  e.preventDefault();
579
621
  const isNavigable = handleNavigationForClick(element);
580
- subject.next({ event: `linkClicked`, data: element, isNavigable });
622
+ subject.next({
623
+ event: `linkClicked`,
624
+ data: element,
625
+ isNavigable
626
+ });
581
627
  }
582
628
  })
583
629
  );
@@ -618,14 +664,16 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
618
664
  goToNextSpineItem,
619
665
  goToPreviousSpineItem,
620
666
  goToLeftSpineItem: () => {
621
- if (reader.settings.settings.computedPageTurnDirection === "vertical") return;
667
+ if (reader.settings.settings.computedPageTurnDirection === "vertical")
668
+ return;
622
669
  if (reader.context.isRTL()) {
623
670
  return goToNextSpineItem();
624
671
  }
625
672
  return goToPreviousSpineItem();
626
673
  },
627
674
  goToRightSpineItem: () => {
628
- if (reader.settings.settings.computedPageTurnDirection === "vertical") return;
675
+ if (reader.settings.settings.computedPageTurnDirection === "vertical")
676
+ return;
629
677
  if (reader.context.isRTL()) {
630
678
  return goToPreviousSpineItem();
631
679
  }
@@ -663,17 +711,24 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
663
711
  };
664
712
  };
665
713
  const buildChaptersInfo = (href, tocItem, manifest) => {
666
- const spineItemIndex = manifest.spineItems.findIndex((item) => item.href === href);
714
+ const spineItemIndex = manifest.spineItems.findIndex(
715
+ (item) => item.href === href
716
+ );
667
717
  return tocItem.reduce((acc, tocItem2) => {
668
718
  const indexOfHash = tocItem2.href.indexOf(`#`);
669
719
  const tocItemPathWithoutAnchor = indexOfHash > 0 ? tocItem2.href.substr(0, indexOfHash) : tocItem2.href;
670
- const tocItemHrefWithoutFilename = tocItemPathWithoutAnchor.substring(0, tocItemPathWithoutAnchor.lastIndexOf("/"));
720
+ const tocItemHrefWithoutFilename = tocItemPathWithoutAnchor.substring(
721
+ 0,
722
+ tocItemPathWithoutAnchor.lastIndexOf("/")
723
+ );
671
724
  const hrefWithoutFilename = href.substring(0, href.lastIndexOf("/"));
672
725
  const hrefIsChapterHref = href.endsWith(tocItemPathWithoutAnchor);
673
726
  const hrefIsWithinChapter = hrefWithoutFilename !== "" && hrefWithoutFilename.endsWith(tocItemHrefWithoutFilename);
674
727
  const isPossibleTocItemCandidate = hrefIsChapterHref || hrefIsWithinChapter;
675
728
  if (isPossibleTocItemCandidate) {
676
- const spineItemIndexOfPossibleCandidate = manifest.spineItems.findIndex((item) => item.href === tocItem2.href);
729
+ const spineItemIndexOfPossibleCandidate = manifest.spineItems.findIndex(
730
+ (item) => item.href === tocItem2.href
731
+ );
677
732
  const spineItemIsBeforeThisTocItem = spineItemIndex < spineItemIndexOfPossibleCandidate;
678
733
  if (spineItemIsBeforeThisTocItem) return acc;
679
734
  const info = {
@@ -718,7 +773,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
718
773
  );
719
774
  };
720
775
  const NAMESPACE$6 = `pagination`;
721
- const createPagination = ({ context }) => {
776
+ const createPagination = ({
777
+ context
778
+ }) => {
722
779
  const paginationSubject$ = new rxjs.BehaviorSubject({
723
780
  beginPageIndexInSpineItem: void 0,
724
781
  beginNumberOfPagesInSpineItem: 0,
@@ -771,7 +828,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
771
828
  const getPaginationInfo = () => paginationSubject$.value;
772
829
  const paginationInfo$ = paginationSubject$.pipe(
773
830
  rxjs.distinctUntilChanged(isShallowEqual),
774
- rxjs.filter(({ beginPageIndexInSpineItem }) => beginPageIndexInSpineItem !== void 0)
831
+ rxjs.filter(
832
+ ({ beginPageIndexInSpineItem }) => beginPageIndexInSpineItem !== void 0
833
+ )
775
834
  );
776
835
  const destroy = () => {
777
836
  paginationSubject$.complete();
@@ -795,10 +854,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
795
854
  const getClosestValidOffsetFromApproximateOffsetInPages = (offset, pageWidth, itemWidth) => {
796
855
  const numberOfPages = calculateNumberOfPagesForItem(itemWidth, pageWidth);
797
856
  const offsetValues = [...Array(numberOfPages)].map((_, i) => i * pageWidth);
798
- if (offset >= numberOfPages * pageWidth) return offsetValues[offsetValues.length - 1] || 0;
857
+ if (offset >= numberOfPages * pageWidth)
858
+ return offsetValues[offsetValues.length - 1] || 0;
799
859
  return offsetValues.find((offsetRange) => offset < offsetRange + pageWidth) || 0;
800
860
  };
801
- const getSpineItemNumberOfPages = ({ spineItem, reader }) => {
861
+ const getSpineItemNumberOfPages = ({
862
+ spineItem,
863
+ reader
864
+ }) => {
802
865
  const writingMode = spineItem.spineItemFrame.getWritingMode();
803
866
  const { width, height } = spineItem.getElementDimensions();
804
867
  const settings = reader.settings.settings;
@@ -806,9 +869,15 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
806
869
  return 1;
807
870
  }
808
871
  if (writingMode === `vertical-rl`) {
809
- return calculateNumberOfPagesForItem(height, reader.context.getPageSize().height);
872
+ return calculateNumberOfPagesForItem(
873
+ height,
874
+ reader.context.getPageSize().height
875
+ );
810
876
  }
811
- return calculateNumberOfPagesForItem(width, reader.context.getPageSize().width);
877
+ return calculateNumberOfPagesForItem(
878
+ width,
879
+ reader.context.getPageSize().width
880
+ );
812
881
  };
813
882
  const getNumberOfPagesForAllSpineItems = (reader) => reader.spineItemManager.getAll().map((item) => {
814
883
  return getSpineItemNumberOfPages({ spineItem: item, reader });
@@ -824,7 +893,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
824
893
  /**
825
894
  * This may be not accurate for reflowable due to dynamic load / unload.
826
895
  */
827
- numberOfTotalPages: numberOfPagesPerItems.reduce((acc, numberOfPagesForItem) => acc + numberOfPagesForItem, 0)
896
+ numberOfTotalPages: numberOfPagesPerItems.reduce(
897
+ (acc, numberOfPagesForItem) => acc + numberOfPagesForItem,
898
+ 0
899
+ )
828
900
  };
829
901
  }),
830
902
  rxjs.distinctUntilChanged(isShallowEqual),
@@ -881,7 +953,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
881
953
  const totalPages$ = trackTotalPages(reader);
882
954
  const currentValue = new rxjs.BehaviorSubject({
883
955
  ...reader.pagination.getPaginationInfo(),
884
- ...mapPaginationInfoToExtendedInfo(reader)(reader.pagination.getPaginationInfo(), getChaptersInfo(reader)),
956
+ ...mapPaginationInfoToExtendedInfo(reader)(
957
+ reader.pagination.getPaginationInfo(),
958
+ getChaptersInfo(reader)
959
+ ),
885
960
  beginAbsolutePageIndex: 0,
886
961
  endAbsolutePageIndex: 0,
887
962
  numberOfTotalPages: 0
@@ -901,8 +976,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
901
976
  rxjs.map(([pageInfo, totalPageInfo]) => ({
902
977
  ...pageInfo,
903
978
  ...totalPageInfo,
904
- beginAbsolutePageIndex: totalPageInfo.numberOfPagesPerItems.slice(0, pageInfo.beginSpineItemIndex).reduce((acc, numberOfPagesForItem) => acc + numberOfPagesForItem, pageInfo.beginPageIndexInSpineItem ?? 0),
905
- endAbsolutePageIndex: totalPageInfo.numberOfPagesPerItems.slice(0, pageInfo.endSpineItemIndex).reduce((acc, numberOfPagesForItem) => acc + numberOfPagesForItem, pageInfo.endPageIndexInSpineItem ?? 0)
979
+ beginAbsolutePageIndex: totalPageInfo.numberOfPagesPerItems.slice(0, pageInfo.beginSpineItemIndex).reduce(
980
+ (acc, numberOfPagesForItem) => acc + numberOfPagesForItem,
981
+ pageInfo.beginPageIndexInSpineItem ?? 0
982
+ ),
983
+ endAbsolutePageIndex: totalPageInfo.numberOfPagesPerItems.slice(0, pageInfo.endSpineItemIndex).reduce(
984
+ (acc, numberOfPagesForItem) => acc + numberOfPagesForItem,
985
+ pageInfo.endPageIndexInSpineItem ?? 0
986
+ )
906
987
  })),
907
988
  rxjs.tap((value) => {
908
989
  currentValue.next(value);
@@ -944,9 +1025,13 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
944
1025
  ];
945
1026
  const themeEnhancer = (next) => (options) => {
946
1027
  const reader = next(options);
947
- const currentThemeSubject$ = new rxjs.BehaviorSubject(options.theme ?? `bright`);
1028
+ const currentThemeSubject$ = new rxjs.BehaviorSubject(
1029
+ options.theme ?? `bright`
1030
+ );
948
1031
  const getStyle = () => {
949
- const foundTheme = defaultThemes.find((entry) => entry.name === currentThemeSubject$.value);
1032
+ const foundTheme = defaultThemes.find(
1033
+ (entry) => entry.name === currentThemeSubject$.value
1034
+ );
950
1035
  return `
951
1036
  body {
952
1037
  ${foundTheme !== void 0 ? `background-color: ${foundTheme.backgroundColor} !important;` : ``}
@@ -963,21 +1048,30 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
963
1048
  ` : ``}
964
1049
  `;
965
1050
  };
966
- const applyChangeToSpineItemElement = ({ container }) => {
967
- const foundTheme = defaultThemes.find((entry) => entry.name === currentThemeSubject$.value);
1051
+ const applyChangeToSpineItemElement = ({
1052
+ container
1053
+ }) => {
1054
+ const foundTheme = defaultThemes.find(
1055
+ (entry) => entry.name === currentThemeSubject$.value
1056
+ );
968
1057
  if (foundTheme) {
969
- container.style.setProperty(`background-color`, foundTheme.backgroundColor);
1058
+ container.style.setProperty(
1059
+ `background-color`,
1060
+ foundTheme.backgroundColor
1061
+ );
970
1062
  }
971
1063
  return () => {
972
1064
  };
973
1065
  };
974
1066
  const applyChangeToSpineItem = () => {
975
- reader.spine.manipulateSpineItems(({ removeStyle, addStyle, container }) => {
976
- removeStyle(`prose-reader-theme`);
977
- addStyle(`prose-reader-theme`, getStyle());
978
- applyChangeToSpineItemElement({ container });
979
- return false;
980
- });
1067
+ reader.spine.manipulateSpineItems(
1068
+ ({ removeStyle, addStyle, container }) => {
1069
+ removeStyle(`prose-reader-theme`);
1070
+ addStyle(`prose-reader-theme`, getStyle());
1071
+ applyChangeToSpineItemElement({ container });
1072
+ return false;
1073
+ }
1074
+ );
981
1075
  };
982
1076
  reader.hookManager.register(`item.onLoad`, ({ itemId }) => {
983
1077
  const item = reader.spineItemManager.get(itemId);
@@ -988,7 +1082,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
988
1082
  });
989
1083
  });
990
1084
  reader.spine.$.spineItems$.pipe(
991
- operators.tap((items) => items.map(({ element }) => applyChangeToSpineItemElement({ container: element }))),
1085
+ operators.tap(
1086
+ (items) => items.map(
1087
+ ({ element }) => applyChangeToSpineItemElement({ container: element })
1088
+ )
1089
+ ),
992
1090
  operators.takeUntil(reader.$.destroy$)
993
1091
  ).subscribe();
994
1092
  currentThemeSubject$.pipe(
@@ -1055,7 +1153,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1055
1153
  };
1056
1154
  const scale = (userScale) => {
1057
1155
  const imgElement = imageMagnifierContainer == null ? void 0 : imageMagnifierContainer.querySelector(`img`);
1058
- const roundedScale = Math.ceil((userScale < 1 ? baseScale - (1 - userScale) : baseScale + (userScale - 1)) * 100) / 100;
1156
+ const roundedScale = Math.ceil(
1157
+ (userScale < 1 ? baseScale - (1 - userScale) : baseScale + (userScale - 1)) * 100
1158
+ ) / 100;
1059
1159
  const newScale = Math.max(roundedScale, 1);
1060
1160
  if (roundedScale < 1) {
1061
1161
  imgLastPosition = { x: 0, y: 0 };
@@ -1151,7 +1251,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1151
1251
  const spineElement = reader.spine.getElement();
1152
1252
  const viewportElement = reader.viewportNavigator.getElement();
1153
1253
  if (!spineElement || !viewportElement) return;
1154
- const roundedScale = Math.ceil((userScale < 1 ? baseScale - (1 - userScale) : baseScale + (userScale - 1)) * 100) / 100;
1254
+ const roundedScale = Math.ceil(
1255
+ (userScale < 1 ? baseScale - (1 - userScale) : baseScale + (userScale - 1)) * 100
1256
+ ) / 100;
1155
1257
  const newScale = Math.max(roundedScale, 1);
1156
1258
  const currentScale = spineElement.getBoundingClientRect().width / spineElement.offsetWidth;
1157
1259
  const currentScrollTop = viewportElement.scrollTop;
@@ -1260,7 +1362,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1260
1362
  isUsingScrollableZoom: isUsingScrollableViewport,
1261
1363
  setCurrentScaleAsBase,
1262
1364
  $: {
1263
- isZooming$: currentZoomerSubject$.pipe(rxjs.switchMap((zoomer) => (zoomer == null ? void 0 : zoomer.isZooming$) || rxjs.of(false)))
1365
+ isZooming$: currentZoomerSubject$.pipe(
1366
+ rxjs.switchMap((zoomer) => (zoomer == null ? void 0 : zoomer.isZooming$) || rxjs.of(false))
1367
+ )
1264
1368
  }
1265
1369
  }
1266
1370
  };
@@ -1407,15 +1511,21 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1407
1511
  return event[__UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY];
1408
1512
  };
1409
1513
  const attachOriginalFrameEventToDocumentEvent = (event, frameEvent) => {
1410
- Object.defineProperty(event, __UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY, { value: frameEvent, enumerable: true });
1514
+ Object.defineProperty(event, __UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY, {
1515
+ value: frameEvent,
1516
+ enumerable: true
1517
+ });
1411
1518
  };
1412
- const createFrame$ = Report.measurePerformance(`SpineItemFrame createFrame`, Infinity, () => {
1413
- const frame = document.createElement(`iframe`);
1414
- frame.frameBorder = `no`;
1415
- frame.tabIndex = 0;
1416
- frame.setAttribute(`sandbox`, `allow-same-origin allow-scripts`);
1417
- frame.scrolling = `no`;
1418
- frame.style.cssText = `
1519
+ const createFrame$ = Report.measurePerformance(
1520
+ `SpineItemFrame createFrame`,
1521
+ Infinity,
1522
+ () => {
1523
+ const frame = document.createElement(`iframe`);
1524
+ frame.frameBorder = `no`;
1525
+ frame.tabIndex = 0;
1526
+ frame.setAttribute(`sandbox`, `allow-same-origin allow-scripts`);
1527
+ frame.scrolling = `no`;
1528
+ frame.style.cssText = `
1419
1529
  visibility: hidden;
1420
1530
  overflow: hidden;
1421
1531
  background-color: transparent;
@@ -1424,8 +1534,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1424
1534
  transition: opacity 300ms;
1425
1535
  opacity: 0;
1426
1536
  `;
1427
- return rxjs.of(frame);
1428
- });
1537
+ return rxjs.of(frame);
1538
+ }
1539
+ );
1429
1540
  const getIntrinsicDimensionsFromBase64Img = (data) => new Promise((resolve, reject) => {
1430
1541
  const image = new Image();
1431
1542
  image.src = data;
@@ -1437,7 +1548,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1437
1548
  const createHtmlPageFromResource = async (resourceResponse, item) => {
1438
1549
  if (typeof resourceResponse === `string`) return resourceResponse;
1439
1550
  const contentType = shared.parseContentType(resourceResponse.headers.get(`Content-Type`) || ``) || shared.detectMimeTypeFromName(item.href);
1440
- if ([`image/jpg`, `image/jpeg`, `image/png`, `image/webp`].some((mime) => mime === contentType)) {
1551
+ if ([`image/jpg`, `image/jpeg`, `image/png`, `image/webp`].some(
1552
+ (mime) => mime === contentType
1553
+ )) {
1441
1554
  const data = await getBase64FromBlob(await resourceResponse.blob());
1442
1555
  const { height, width } = await getIntrinsicDimensionsFromBase64Img(data);
1443
1556
  return `
@@ -1480,7 +1593,6 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1480
1593
  const createLoader = ({
1481
1594
  item,
1482
1595
  parent,
1483
- fetchResource,
1484
1596
  context,
1485
1597
  viewportState$,
1486
1598
  settings,
@@ -1525,9 +1637,17 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1525
1637
  operators.mergeMap((frame) => {
1526
1638
  parent.appendChild(frame);
1527
1639
  frameElementSubject$.next(frame);
1640
+ const { fetchResource } = settings.settings;
1528
1641
  if (!fetchResource && item.href.startsWith(window.location.origin) && // we have an encoding and it's a valid html
1529
- (item.mediaType && [`application/xhtml+xml`, `application/xml`, `text/html`, `text/xml`].includes(item.mediaType) || // no encoding ? then try to detect html
1530
- !item.mediaType && ITEM_EXTENSION_VALID_FOR_FRAME_SRC.some((extension) => item.href.endsWith(extension)))) {
1642
+ (item.mediaType && [
1643
+ `application/xhtml+xml`,
1644
+ `application/xml`,
1645
+ `text/html`,
1646
+ `text/xml`
1647
+ ].includes(item.mediaType) || // no encoding ? then try to detect html
1648
+ !item.mediaType && ITEM_EXTENSION_VALID_FOR_FRAME_SRC.some(
1649
+ (extension) => item.href.endsWith(extension)
1650
+ ))) {
1531
1651
  frame == null ? void 0 : frame.setAttribute(`src`, item.href);
1532
1652
  return rxjs.of(frame);
1533
1653
  } else {
@@ -1541,7 +1661,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1541
1661
  }),
1542
1662
  operators.map(() => frame),
1543
1663
  operators.catchError((e) => {
1544
- Report.error(`Error while trying to fetch or load resource for item ${item.id}`);
1664
+ Report.error(
1665
+ `Error while trying to fetch or load resource for item ${item.id}`
1666
+ );
1545
1667
  console.error(e);
1546
1668
  return rxjs.of(frame);
1547
1669
  })
@@ -1569,8 +1691,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1569
1691
  const hookResults = hookManager.execute(`item.onLoad`, item.id, {
1570
1692
  itemId: item.id,
1571
1693
  frame
1572
- }).filter((result) => result instanceof rxjs.Observable);
1573
- return rxjs.combineLatest([rxjs.of(null), ...hookResults]).pipe(operators.map(() => frame));
1694
+ }).filter(
1695
+ (result) => result instanceof rxjs.Observable
1696
+ );
1697
+ return rxjs.combineLatest([rxjs.of(null), ...hookResults]).pipe(
1698
+ operators.map(() => frame)
1699
+ );
1574
1700
  })
1575
1701
  );
1576
1702
  }),
@@ -1583,10 +1709,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1583
1709
  operators.takeUntil(destroySubject$)
1584
1710
  );
1585
1711
  const ready$ = load$.pipe(
1586
- operators.switchMap((frame) => {
1587
- var _a;
1588
- return rxjs.from(((_a = frame == null ? void 0 : frame.contentDocument) == null ? void 0 : _a.fonts.ready) || rxjs.of(void 0)).pipe(operators.takeUntil(unloadSubject$));
1589
- }),
1712
+ operators.switchMap(
1713
+ (frame) => {
1714
+ var _a;
1715
+ return rxjs.from(((_a = frame == null ? void 0 : frame.contentDocument) == null ? void 0 : _a.fonts.ready) || rxjs.of(void 0)).pipe(
1716
+ operators.takeUntil(unloadSubject$)
1717
+ );
1718
+ }
1719
+ ),
1590
1720
  operators.share(),
1591
1721
  makeItHot,
1592
1722
  operators.takeUntil(destroySubject$)
@@ -1627,7 +1757,6 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1627
1757
  const createFrameItem = ({
1628
1758
  item,
1629
1759
  parent,
1630
- fetchResource,
1631
1760
  context,
1632
1761
  viewportState$,
1633
1762
  settings,
@@ -1635,12 +1764,27 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1635
1764
  }) => {
1636
1765
  const destroySubject$ = new rxjs.Subject();
1637
1766
  const {
1638
- $: { unload$, loaded$, isLoaded$, isReady$, unloaded$, frameElement$, ready$ },
1767
+ $: {
1768
+ unload$,
1769
+ loaded$,
1770
+ isLoaded$,
1771
+ isReady$,
1772
+ unloaded$,
1773
+ frameElement$,
1774
+ ready$
1775
+ },
1639
1776
  load,
1640
1777
  unload,
1641
1778
  destroy: loaderDestroy,
1642
1779
  getComputedStyleAfterLoad
1643
- } = createLoader({ context, hookManager, item, parent, fetchResource, viewportState$, settings });
1780
+ } = createLoader({
1781
+ context,
1782
+ hookManager,
1783
+ item,
1784
+ parent,
1785
+ viewportState$,
1786
+ settings
1787
+ });
1644
1788
  let isLoadedSync = false;
1645
1789
  let isReadySync = false;
1646
1790
  isLoaded$.subscribe({
@@ -1668,7 +1812,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1668
1812
  const viewPortMetaInfos = viewPortMeta.getAttribute(`content`);
1669
1813
  if (viewPortMetaInfos) {
1670
1814
  const width = getAttributeValueFromString(viewPortMetaInfos, `width`);
1671
- const height = getAttributeValueFromString(viewPortMetaInfos, `height`);
1815
+ const height = getAttributeValueFromString(
1816
+ viewPortMetaInfos,
1817
+ `height`
1818
+ );
1672
1819
  if (width > 0 && height > 0) {
1673
1820
  return {
1674
1821
  width,
@@ -1743,7 +1890,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1743
1890
  return `rtl`;
1744
1891
  }
1745
1892
  const direction = (_a = getComputedStyleAfterLoad()) == null ? void 0 : _a.direction;
1746
- if ([`ltr`, `rtl`].includes(direction || ``)) return direction;
1893
+ if ([`ltr`, `rtl`].includes(direction || ``))
1894
+ return direction;
1747
1895
  return void 0;
1748
1896
  },
1749
1897
  isUsingVerticalWriting,
@@ -1815,7 +1963,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1815
1963
  });
1816
1964
  (_a = frameToTrack.contentDocument) == null ? void 0 : _a.addEventListener(`selectionchange`, () => {
1817
1965
  var _a2;
1818
- subject.next({ event: `selectionchange`, data: ((_a2 = frame == null ? void 0 : frame.contentWindow) == null ? void 0 : _a2.getSelection()) || null });
1966
+ subject.next({
1967
+ event: `selectionchange`,
1968
+ data: ((_a2 = frame == null ? void 0 : frame.contentWindow) == null ? void 0 : _a2.getSelection()) || null
1969
+ });
1819
1970
  });
1820
1971
  (_b = frameToTrack.contentWindow) == null ? void 0 : _b.addEventListener(`selectstart`, () => {
1821
1972
  isSelecting = true;
@@ -1830,7 +1981,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1830
1981
  getSelection: () => {
1831
1982
  var _a;
1832
1983
  const selection = (_a = frame == null ? void 0 : frame.contentWindow) == null ? void 0 : _a.getSelection();
1833
- if (!(selection == null ? void 0 : selection.anchorNode) || selection.type === `None` || selection.type === `Caret`) return void 0;
1984
+ if (!(selection == null ? void 0 : selection.anchorNode) || selection.type === `None` || selection.type === `Caret`)
1985
+ return void 0;
1834
1986
  return selection;
1835
1987
  },
1836
1988
  $: subject.asObservable()
@@ -1845,7 +1997,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1845
1997
  hookManager
1846
1998
  }) => {
1847
1999
  const destroySubject$ = new rxjs.Subject();
1848
- const containerElement = createContainerElement$1(parentElement, item, hookManager);
2000
+ const containerElement = createContainerElement$1(
2001
+ parentElement,
2002
+ item,
2003
+ hookManager
2004
+ );
1849
2005
  const overlayElement = createOverlayElement(parentElement, item);
1850
2006
  const fingerTracker = createFingerTracker();
1851
2007
  const selectionTracker = createSelectionTracker();
@@ -1884,7 +2040,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1884
2040
  (_a = spineItemFrame.getManipulableFrame()) == null ? void 0 : _a.removeStyle(`prose-reader-css`);
1885
2041
  (_b = spineItemFrame.getManipulableFrame()) == null ? void 0 : _b.addStyle(`prose-reader-css`, cssText);
1886
2042
  };
1887
- const adjustPositionOfElement = ({ right, left, top }) => {
2043
+ const adjustPositionOfElement = ({
2044
+ right,
2045
+ left,
2046
+ top
2047
+ }) => {
1888
2048
  if (right !== void 0) {
1889
2049
  containerElement.style.right = `${right}px`;
1890
2050
  } else {
@@ -1908,7 +2068,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1908
2068
  const frameElement = (_a = spineItemFrame.getManipulableFrame()) == null ? void 0 : _a.frame;
1909
2069
  if (containerElement && (frameElement == null ? void 0 : frameElement.contentDocument) && (frameElement == null ? void 0 : frameElement.contentWindow) && viewportDimensions) {
1910
2070
  const computedWidthScale = pageWidth / viewportDimensions.width;
1911
- const computedScale = Math.min(computedWidthScale, pageHeight / viewportDimensions.height);
2071
+ const computedScale = Math.min(
2072
+ computedWidthScale,
2073
+ pageHeight / viewportDimensions.height
2074
+ );
1912
2075
  return { computedScale, computedWidthScale, viewportDimensions };
1913
2076
  }
1914
2077
  };
@@ -1961,7 +2124,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
1961
2124
  }) => {
1962
2125
  containerElement.style.width = `${width}px`;
1963
2126
  containerElement.style.height = `${height}px`;
1964
- hookManager.execute(`item.onAfterLayout`, void 0, { blankPagePosition, item, minimumWidth });
2127
+ hookManager.execute(`item.onAfterLayout`, void 0, {
2128
+ blankPagePosition,
2129
+ item,
2130
+ minimumWidth
2131
+ });
1965
2132
  setLayoutDirty();
1966
2133
  };
1967
2134
  const translateFramePositionIntoPage = (position) => {
@@ -2175,8 +2342,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2175
2342
  }
2176
2343
  const transformTranslateX = spreadPosition !== `none` ? `0` : `-50%`;
2177
2344
  const transformOriginX = spreadPosition === `right` && blankPagePosition !== `before` ? `left` : spreadPosition === `left` || blankPagePosition === `before` && context.isRTL() ? `right` : `center`;
2178
- frameElement == null ? void 0 : frameElement.style.setProperty(`transform`, `translate(${transformTranslateX}, -50%) scale(${computedScale})`);
2179
- frameElement == null ? void 0 : frameElement.style.setProperty(`transform-origin`, `${transformOriginX} center`);
2345
+ frameElement == null ? void 0 : frameElement.style.setProperty(
2346
+ `transform`,
2347
+ `translate(${transformTranslateX}, -50%) scale(${computedScale})`
2348
+ );
2349
+ frameElement == null ? void 0 : frameElement.style.setProperty(
2350
+ `transform-origin`,
2351
+ `${transformOriginX} center`
2352
+ );
2180
2353
  commonSpineItem.executeOnLayoutBeforeMeasurementHook({ minimumWidth });
2181
2354
  } else {
2182
2355
  commonSpineItem.injectStyle(cssLink);
@@ -2196,11 +2369,21 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2196
2369
  }
2197
2370
  }
2198
2371
  commonSpineItem.executeOnLayoutBeforeMeasurementHook({ minimumWidth });
2199
- commonSpineItem.layout({ width: minimumWidth, height: contentHeight, blankPagePosition, minimumWidth });
2372
+ commonSpineItem.layout({
2373
+ width: minimumWidth,
2374
+ height: contentHeight,
2375
+ blankPagePosition,
2376
+ minimumWidth
2377
+ });
2200
2378
  return { width: minimumWidth, height: contentHeight };
2201
2379
  } else {
2202
2380
  commonSpineItem.executeOnLayoutBeforeMeasurementHook({ minimumWidth });
2203
- commonSpineItem.layout({ width: minimumWidth, height: pageHeight, blankPagePosition, minimumWidth });
2381
+ commonSpineItem.layout({
2382
+ width: minimumWidth,
2383
+ height: pageHeight,
2384
+ blankPagePosition,
2385
+ minimumWidth
2386
+ });
2204
2387
  }
2205
2388
  return { width: minimumWidth, height: pageHeight };
2206
2389
  };
@@ -2329,19 +2512,27 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2329
2512
  `left`,
2330
2513
  blankPagePosition === `before` ? context.isRTL() ? `25%` : `75%` : blankPagePosition === `after` ? context.isRTL() ? `75%` : `25%` : `50%`
2331
2514
  );
2332
- frameElement == null ? void 0 : frameElement.style.setProperty(`transform`, `translate(-50%, -50%) scale(${computedScale})`);
2515
+ frameElement == null ? void 0 : frameElement.style.setProperty(
2516
+ `transform`,
2517
+ `translate(-50%, -50%) scale(${computedScale})`
2518
+ );
2333
2519
  frameElement == null ? void 0 : frameElement.style.setProperty(`transform-origin`, `center center`);
2334
2520
  } else {
2335
2521
  const frameStyle = commonSpineItem.isImageType() ? buildStyleForReflowableImageOnly({
2336
2522
  isScrollable: ((_g = context.manifest) == null ? void 0 : _g.renditionFlow) === `scrolled-continuous`,
2337
2523
  enableTouch: settings.settings.computedPageTurnMode !== `scrollable`
2338
2524
  }) : buildStyleWithMultiColumn(
2339
- commonSpineItem.getDimensionsForReflowableContent(spineItemFrame.isUsingVerticalWriting(), minimumWidth)
2525
+ commonSpineItem.getDimensionsForReflowableContent(
2526
+ spineItemFrame.isUsingVerticalWriting(),
2527
+ minimumWidth
2528
+ )
2340
2529
  );
2341
2530
  commonSpineItem.injectStyle(frameStyle);
2342
2531
  commonSpineItem.executeOnLayoutBeforeMeasurementHook({ minimumWidth });
2343
2532
  if (spineItemFrame.isUsingVerticalWriting()) {
2344
- const pages = Math.ceil(frameElement.contentDocument.documentElement.scrollHeight / pageHeight);
2533
+ const pages = Math.ceil(
2534
+ frameElement.contentDocument.documentElement.scrollHeight / pageHeight
2535
+ );
2345
2536
  contentHeight = pages * pageHeight;
2346
2537
  spineItemFrame.staticLayout({
2347
2538
  width: minimumWidth,
@@ -2355,7 +2546,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2355
2546
  height: contentHeight
2356
2547
  });
2357
2548
  } else {
2358
- const pages = Math.ceil(frameElement.contentDocument.documentElement.scrollWidth / pageWidth);
2549
+ const pages = Math.ceil(
2550
+ frameElement.contentDocument.documentElement.scrollWidth / pageWidth
2551
+ );
2359
2552
  if (isGloballyPrePaginated) {
2360
2553
  contentWidth = pageWidth;
2361
2554
  } else {
@@ -2376,13 +2569,23 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2376
2569
  } else {
2377
2570
  frameElement == null ? void 0 : frameElement.style.setProperty(`margin-left`, `0px`);
2378
2571
  }
2379
- commonSpineItem.layout({ width: contentWidth, height: contentHeight, blankPagePosition, minimumWidth });
2572
+ commonSpineItem.layout({
2573
+ width: contentWidth,
2574
+ height: contentHeight,
2575
+ blankPagePosition,
2576
+ minimumWidth
2577
+ });
2380
2578
  return { width: contentWidth, height: contentHeight };
2381
2579
  } else {
2382
2580
  commonSpineItem.executeOnLayoutBeforeMeasurementHook({ minimumWidth });
2383
2581
  }
2384
2582
  const height = latestContentHeightWhenLoaded || pageHeight;
2385
- commonSpineItem.layout({ width: minimumWidth, height, blankPagePosition, minimumWidth });
2583
+ commonSpineItem.layout({
2584
+ width: minimumWidth,
2585
+ height,
2586
+ blankPagePosition,
2587
+ minimumWidth
2588
+ });
2386
2589
  return { width: minimumWidth, height };
2387
2590
  };
2388
2591
  return {
@@ -2702,7 +2905,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2702
2905
  while (str.length) {
2703
2906
  ({ parsed, offset, newDoc } = this.parse(str));
2704
2907
  if (!parsed || offset === null) throw new Error(`Parsing failed`);
2705
- if (sawComma && newDoc) throw new Error(`CFI is a range that spans multiple documents. This is not allowed`);
2908
+ if (sawComma && newDoc)
2909
+ throw new Error(
2910
+ `CFI is a range that spans multiple documents. This is not allowed`
2911
+ );
2706
2912
  subParts.push(parsed);
2707
2913
  if (newDoc || str.length - offset <= 0) {
2708
2914
  if (sawComma === 2) {
@@ -2770,7 +2976,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2770
2976
  while (node.parentNode) {
2771
2977
  o = calcSiblingCount(node.parentNode.childNodes, node, offset);
2772
2978
  if (!cfi && o.offset) cfi = `:` + o.offset;
2773
- cfi = `/` + o.count + (node.id ? `[` + cfiEscape(node.id) + `]` : ``) + cfi;
2979
+ cfi = // @ts-ignore
2980
+ `/` + o.count + (node.id ? `[` + cfiEscape(node.id) + `]` : ``) + cfi;
2774
2981
  node = node.parentNode;
2775
2982
  }
2776
2983
  return cfi;
@@ -2873,7 +3080,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
2873
3080
  return this.decodeEntities(dom, str).length;
2874
3081
  }
2875
3082
  getFrom() {
2876
- if (!this.isRange) throw new Error(`Trying to get beginning of non-range CFI`);
3083
+ if (!this.isRange)
3084
+ throw new Error(`Trying to get beginning of non-range CFI`);
2877
3085
  if (!this.from) {
2878
3086
  return this.deepClone(this.parts);
2879
3087
  }
@@ -3058,10 +3266,13 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3058
3266
  }
3059
3267
  if (cur === `:` || cur === `~` || cur === `@`) {
3060
3268
  if (this.opts.stricter) {
3061
- if (cur === `:` && (typeof o.temporal !== `undefined` || typeof o.spatial !== `undefined`)) {
3269
+ if (cur === `:` && // @ts-ignore
3270
+ (typeof o.temporal !== `undefined` || // @ts-ignore
3271
+ typeof o.spatial !== `undefined`)) {
3062
3272
  break;
3063
3273
  }
3064
- if ((cur === `~` || cur === `@`) && typeof o.offset !== `undefined`) {
3274
+ if ((cur === `~` || cur === `@`) && // @ts-ignore
3275
+ typeof o.offset !== `undefined`) {
3065
3276
  break;
3066
3277
  }
3067
3278
  }
@@ -3124,7 +3335,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3124
3335
  }
3125
3336
  escape = false;
3126
3337
  }
3127
- if (!o.nodeIndex && o.nodeIndex !== 0) throw new Error(`Missing child node index in CFI`);
3338
+ if (!o.nodeIndex && o.nodeIndex !== 0)
3339
+ throw new Error(`Missing child node index in CFI`);
3128
3340
  return { parsed: o, offset: i, newDoc: state === `!` };
3129
3341
  }
3130
3342
  // The CFI counts child nodes differently from the DOM
@@ -3162,7 +3374,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3162
3374
  if (!lastChild) {
3163
3375
  return { node: parentNode, offset: 0 };
3164
3376
  }
3165
- return { node: lastChild, offset: this.trueLength(dom, lastChild.textContent) };
3377
+ return {
3378
+ node: lastChild,
3379
+ // @ts-ignore
3380
+ offset: this.trueLength(dom, lastChild.textContent)
3381
+ };
3166
3382
  }
3167
3383
  }
3168
3384
  lastChild = child;
@@ -3249,7 +3465,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3249
3465
  newOffset -= nodeLengths[i];
3250
3466
  if (newOffset < 0) return { node, offset };
3251
3467
  const nodeOffsets = [];
3252
- if (!curNode.nextSibling || i + 1 >= nodeOffsets.length) return { node, offset };
3468
+ if (!curNode.nextSibling || i + 1 >= nodeOffsets.length)
3469
+ return { node, offset };
3253
3470
  i++;
3254
3471
  curNode = curNode.nextSibling;
3255
3472
  }
@@ -3278,7 +3495,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3278
3495
  let subpart;
3279
3496
  for (i = subparts.length - 1; i >= 0; i--) {
3280
3497
  subpart = subparts[i];
3281
- if (!opts.ignoreIDs && subpart.nodeID && (node = dom.getElementById(subpart.nodeID))) {
3498
+ if (
3499
+ // @ts-ignore
3500
+ !opts.ignoreIDs && // @ts-ignore
3501
+ subpart.nodeID && // @ts-ignore
3502
+ (node = dom.getElementById(subpart.nodeID))
3503
+ ) {
3282
3504
  startFrom = i + 1;
3283
3505
  break;
3284
3506
  }
@@ -3290,9 +3512,22 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3290
3512
  for (i = startFrom; i < subparts.length; i++) {
3291
3513
  subpart = subparts[i];
3292
3514
  if (subpart) {
3293
- o = this.getChildNodeByCFIIndex(dom, o.node, subpart.nodeIndex, subpart.offset);
3515
+ o = this.getChildNodeByCFIIndex(
3516
+ dom,
3517
+ // @ts-ignore
3518
+ o.node,
3519
+ subpart.nodeIndex,
3520
+ subpart.offset
3521
+ );
3294
3522
  if (subpart.textLocationAssertion) {
3295
- o = this.correctOffset(dom, o.node, subpart.offset, subpart.textLocationAssertion);
3523
+ o = this.correctOffset(
3524
+ dom,
3525
+ // @ts-ignore
3526
+ o.node,
3527
+ subpart.offset,
3528
+ // @ts-ignore
3529
+ subpart.textLocationAssertion
3530
+ );
3296
3531
  }
3297
3532
  }
3298
3533
  }
@@ -3334,12 +3569,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3334
3569
  }
3335
3570
  if (tagName === `object`) {
3336
3571
  const data = node.getAttribute(`data`);
3337
- if (!data) throw new Error(tagName + ` element is missing 'data' attribute`);
3572
+ if (!data)
3573
+ throw new Error(tagName + ` element is missing 'data' attribute`);
3338
3574
  return data;
3339
3575
  }
3340
3576
  if (tagName === `image` || tagName === `use`) {
3341
3577
  const href = node.getAttribute(`xlink:href`);
3342
- if (!href) throw new Error(tagName + ` element is missing 'xlink:href' attribute`);
3578
+ if (!href)
3579
+ throw new Error(tagName + ` element is missing 'xlink:href' attribute`);
3343
3580
  return href;
3344
3581
  }
3345
3582
  throw new Error(`No URI found`);
@@ -3511,17 +3748,26 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3511
3748
  spineItemsFromPosition.beginPosition,
3512
3749
  beginSpineItem
3513
3750
  );
3514
- const beginPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(beginPosition, beginSpineItem);
3751
+ const beginPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(
3752
+ beginPosition,
3753
+ beginSpineItem
3754
+ );
3515
3755
  const endPosition = spineLocator.getSpineItemPositionFromSpinePosition(
3516
3756
  spineItemsFromPosition.endPosition,
3517
3757
  endSpineItem
3518
3758
  );
3519
- const endPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(endPosition, endSpineItem);
3759
+ const endPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(
3760
+ endPosition,
3761
+ endSpineItem
3762
+ );
3520
3763
  pagination.updateBeginAndEnd(
3521
3764
  {
3522
3765
  spineItem: beginSpineItem,
3523
3766
  spineItemIndex: spineItemManager.getSpineItemIndex(beginSpineItem) ?? 0,
3524
- pageIndex: spineItemLocator.getSpineItemPageIndexFromPosition(beginPosition, beginSpineItem),
3767
+ pageIndex: spineItemLocator.getSpineItemPageIndexFromPosition(
3768
+ beginPosition,
3769
+ beginSpineItem
3770
+ ),
3525
3771
  cfi: shouldUpdateBeginCfi ? cfiLocator.getCfi(beginPageIndex, beginSpineItem) : beginLastCfi,
3526
3772
  options: {
3527
3773
  isAtEndOfChapter: false
@@ -3530,7 +3776,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3530
3776
  {
3531
3777
  spineItem: endSpineItem,
3532
3778
  spineItemIndex: spineItemManager.getSpineItemIndex(endSpineItem) ?? 0,
3533
- pageIndex: spineItemLocator.getSpineItemPageIndexFromPosition(endPosition, endSpineItem),
3779
+ pageIndex: spineItemLocator.getSpineItemPageIndexFromPosition(
3780
+ endPosition,
3781
+ endSpineItem
3782
+ ),
3534
3783
  cfi: shouldUpdateEndCfi ? cfiLocator.getCfi(endPageIndex, endSpineItem) : endLastCfi,
3535
3784
  options: {
3536
3785
  isAtEndOfChapter: false
@@ -3567,7 +3816,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3567
3816
  () => fingerTracker$.pipe(
3568
3817
  operators.filter(({ event: event2 }) => event2 === `fingermove`),
3569
3818
  operators.debounce(() => rxjs.interval(1e3)),
3570
- operators.takeUntil(fingerTracker$.pipe(operators.filter(({ event: event2 }) => event2 === `fingerout`))),
3819
+ operators.takeUntil(
3820
+ fingerTracker$.pipe(
3821
+ operators.filter(({ event: event2 }) => event2 === `fingerout`)
3822
+ )
3823
+ ),
3571
3824
  operators.tap(({ data }) => {
3572
3825
  })
3573
3826
  )
@@ -3604,12 +3857,18 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3604
3857
  spineItemsFromPosition.beginPosition,
3605
3858
  beginSpineItem
3606
3859
  );
3607
- const beginPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(beginPosition, beginSpineItem);
3860
+ const beginPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(
3861
+ beginPosition,
3862
+ beginSpineItem
3863
+ );
3608
3864
  const endPosition = spineLocator.getSpineItemPositionFromSpinePosition(
3609
3865
  spineItemsFromPosition.endPosition,
3610
3866
  endSpineItem
3611
3867
  );
3612
- const endPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(endPosition, endSpineItem);
3868
+ const endPageIndex = spineItemLocator.getSpineItemPageIndexFromPosition(
3869
+ endPosition,
3870
+ endSpineItem
3871
+ );
3613
3872
  const endItemIndex = spineItemManager.getSpineItemIndex(endSpineItem) ?? 0;
3614
3873
  pagination.updateBeginAndEnd(
3615
3874
  {
@@ -3668,7 +3927,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3668
3927
  );
3669
3928
  itemUpdateOnNavigation$.pipe(
3670
3929
  operators.switchMap((data) => {
3671
- return adjustPagination(data.position).pipe(operators.takeUntil(spineItemManager.$.layout$));
3930
+ return adjustPagination(data.position).pipe(
3931
+ operators.takeUntil(spineItemManager.$.layout$)
3932
+ );
3672
3933
  }),
3673
3934
  operators.takeUntil(context.destroy$)
3674
3935
  ).subscribe();
@@ -3692,10 +3953,20 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3692
3953
  const focusedSpineItemIndex = spineItemManager.getFocusedSpineItemIndex();
3693
3954
  report.log(`update contents`, { focusedSpineItemIndex });
3694
3955
  if (focusedSpineItemIndex === void 0) return;
3695
- const { begin = focusedSpineItemIndex, end = focusedSpineItemIndex } = spineLocator.getSpineItemsFromReadingOrderPosition(currentNavigationPosition) || {};
3956
+ const {
3957
+ begin = focusedSpineItemIndex,
3958
+ end = focusedSpineItemIndex
3959
+ } = spineLocator.getSpineItemsFromReadingOrderPosition(
3960
+ currentNavigationPosition
3961
+ ) || {};
3696
3962
  if (begin !== focusedSpineItemIndex && end !== focusedSpineItemIndex) {
3697
- Report.warn(`Current viewport is not in sync with focus item, load from focus item rather than viewport`);
3698
- spineItemManager.loadContents([focusedSpineItemIndex, focusedSpineItemIndex]);
3963
+ Report.warn(
3964
+ `Current viewport is not in sync with focus item, load from focus item rather than viewport`
3965
+ );
3966
+ spineItemManager.loadContents([
3967
+ focusedSpineItemIndex,
3968
+ focusedSpineItemIndex
3969
+ ]);
3699
3970
  } else {
3700
3971
  spineItemManager.loadContents([begin, end]);
3701
3972
  }
@@ -3754,7 +4025,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3754
4025
  return element;
3755
4026
  };
3756
4027
  const NAMESPACE$4 = `spineItemManager`;
3757
- const createSpineItemManager = ({ context, settings }) => {
4028
+ const createSpineItemManager = ({
4029
+ context,
4030
+ settings
4031
+ }) => {
3758
4032
  const focus$ = new rxjs.Subject();
3759
4033
  const layout$ = new rxjs.Subject();
3760
4034
  let itemLayoutInformation = [];
@@ -3865,30 +4139,36 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3865
4139
  focusedSpineItemIndex = newActiveSpineItemIndex;
3866
4140
  focus$.next({ data: spineItemToFocus });
3867
4141
  };
3868
- const loadContents = Report.measurePerformance(`loadContents`, 10, (rangeOfIndex) => {
3869
- var _a;
3870
- const [leftIndex, rightIndex] = rangeOfIndex;
3871
- const numberOfAdjacentSpineItemToPreLoad = settings.settings.numberOfAdjacentSpineItemToPreLoad;
3872
- const isPrePaginated = ((_a = context.manifest) == null ? void 0 : _a.renditionLayout) === `pre-paginated`;
3873
- const isUsingFreeScroll = settings.settings.computedPageTurnMode === `scrollable`;
3874
- orderedSpineItemsSubject$.value.forEach((orderedSpineItem, index) => {
3875
- const isBeforeFocusedWithPreload = (
3876
- // we never want to preload anything before on free scroll on flow because it could offset the cursor
3877
- index < leftIndex && !isPrePaginated && isUsingFreeScroll ? true : index < leftIndex - numberOfAdjacentSpineItemToPreLoad
3878
- );
3879
- const isAfterTailWithPreload = index > rightIndex + numberOfAdjacentSpineItemToPreLoad;
3880
- if (!isBeforeFocusedWithPreload && !isAfterTailWithPreload) {
3881
- orderedSpineItem.loadContent();
3882
- } else {
3883
- orderedSpineItem.unloadContent();
3884
- }
3885
- });
3886
- });
4142
+ const loadContents = Report.measurePerformance(
4143
+ `loadContents`,
4144
+ 10,
4145
+ (rangeOfIndex) => {
4146
+ var _a;
4147
+ const [leftIndex, rightIndex] = rangeOfIndex;
4148
+ const numberOfAdjacentSpineItemToPreLoad = settings.settings.numberOfAdjacentSpineItemToPreLoad;
4149
+ const isPrePaginated = ((_a = context.manifest) == null ? void 0 : _a.renditionLayout) === `pre-paginated`;
4150
+ const isUsingFreeScroll = settings.settings.computedPageTurnMode === `scrollable`;
4151
+ orderedSpineItemsSubject$.value.forEach((orderedSpineItem, index) => {
4152
+ const isBeforeFocusedWithPreload = (
4153
+ // we never want to preload anything before on free scroll on flow because it could offset the cursor
4154
+ index < leftIndex && !isPrePaginated && isUsingFreeScroll ? true : index < leftIndex - numberOfAdjacentSpineItemToPreLoad
4155
+ );
4156
+ const isAfterTailWithPreload = index > rightIndex + numberOfAdjacentSpineItemToPreLoad;
4157
+ if (!isBeforeFocusedWithPreload && !isAfterTailWithPreload) {
4158
+ orderedSpineItem.loadContent();
4159
+ } else {
4160
+ orderedSpineItem.unloadContent();
4161
+ }
4162
+ });
4163
+ }
4164
+ );
3887
4165
  const get = (indexOrId) => {
3888
4166
  if (typeof indexOrId === `number`) {
3889
4167
  return orderedSpineItemsSubject$.value[indexOrId];
3890
4168
  }
3891
- return orderedSpineItemsSubject$.value.find(({ item }) => item.id === indexOrId);
4169
+ return orderedSpineItemsSubject$.value.find(
4170
+ ({ item }) => item.id === indexOrId
4171
+ );
3892
4172
  };
3893
4173
  const getAbsolutePositionOf = (spineItemOrIndex) => {
3894
4174
  const indexOfItem = typeof spineItemOrIndex === `number` ? spineItemOrIndex : orderedSpineItemsSubject$.value.indexOf(spineItemOrIndex);
@@ -3973,7 +4253,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
3973
4253
  itemIsReady$: orderedSpineItemsSubject$.asObservable().pipe(
3974
4254
  operators.switchMap((items) => {
3975
4255
  const itemsIsReady$ = items.map(
3976
- (item) => item.$.isReady$.pipe(operators.map((isReady) => ({ item: item.item, isReady })))
4256
+ (item) => item.$.isReady$.pipe(
4257
+ operators.map((isReady) => ({ item: item.item, isReady }))
4258
+ )
3977
4259
  );
3978
4260
  return rxjs.merge(...itemsIsReady$);
3979
4261
  })
@@ -4044,7 +4326,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4044
4326
  );
4045
4327
  const getFirstVisibleElementForViewport = (element, viewport) => {
4046
4328
  let lastValidElement;
4047
- const positionFromViewport = getElementOrNodePositionFromViewPort(element.getBoundingClientRect(), viewport);
4329
+ const positionFromViewport = getElementOrNodePositionFromViewPort(
4330
+ element.getBoundingClientRect(),
4331
+ viewport
4332
+ );
4048
4333
  if (positionFromViewport !== `before` && positionFromViewport !== `after`) {
4049
4334
  lastValidElement = element;
4050
4335
  }
@@ -4060,7 +4345,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4060
4345
  };
4061
4346
  function getElementOrNodePositionFromViewPort(domRect, { left, right }) {
4062
4347
  if (domRect.left <= left && domRect.right <= left) return `before`;
4063
- if (domRect.left <= left && domRect.right > left && domRect.right <= right) return `partially-before`;
4348
+ if (domRect.left <= left && domRect.right > left && domRect.right <= right)
4349
+ return `partially-before`;
4064
4350
  if (domRect.left <= right && domRect.right > right) return `partially-after`;
4065
4351
  if (domRect.left > right) return `after`;
4066
4352
  return `within`;
@@ -4144,19 +4430,33 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4144
4430
  };
4145
4431
  const createLocationResolver$1 = ({ context }) => {
4146
4432
  const getSafePosition = (unsafeSpineItemPosition, spineItem) => ({
4147
- x: Math.min(spineItem.getElementDimensions().width, Math.max(0, unsafeSpineItemPosition.x)),
4148
- y: Math.min(spineItem.getElementDimensions().height, Math.max(0, unsafeSpineItemPosition.y))
4433
+ x: Math.min(
4434
+ spineItem.getElementDimensions().width,
4435
+ Math.max(0, unsafeSpineItemPosition.x)
4436
+ ),
4437
+ y: Math.min(
4438
+ spineItem.getElementDimensions().height,
4439
+ Math.max(0, unsafeSpineItemPosition.y)
4440
+ )
4149
4441
  });
4150
4442
  const getSpineItemPositionFromPageIndex = (pageIndex, spineItem) => {
4151
4443
  const { width: itemWidth, height: itemHeight } = spineItem.getElementDimensions();
4152
4444
  if (spineItem.isUsingVerticalWriting()) {
4153
- const ltrRelativeOffset2 = getItemOffsetFromPageIndex(context.getPageSize().height, pageIndex, itemHeight);
4445
+ const ltrRelativeOffset2 = getItemOffsetFromPageIndex(
4446
+ context.getPageSize().height,
4447
+ pageIndex,
4448
+ itemHeight
4449
+ );
4154
4450
  return {
4155
4451
  x: 0,
4156
4452
  y: ltrRelativeOffset2
4157
4453
  };
4158
4454
  }
4159
- const ltrRelativeOffset = getItemOffsetFromPageIndex(context.getPageSize().width, pageIndex, itemWidth);
4455
+ const ltrRelativeOffset = getItemOffsetFromPageIndex(
4456
+ context.getPageSize().width,
4457
+ pageIndex,
4458
+ itemWidth
4459
+ );
4160
4460
  if (context.isRTL()) {
4161
4461
  return {
4162
4462
  x: itemWidth - ltrRelativeOffset - context.getPageSize().width,
@@ -4175,7 +4475,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4175
4475
  const safePosition = getSafePosition(position, spineItem);
4176
4476
  const offset = context.isRTL() ? itemWidth - safePosition.x - context.getPageSize().width : safePosition.x;
4177
4477
  if (spineItem.isUsingVerticalWriting()) {
4178
- const numberOfPages = calculateNumberOfPagesForItem(itemHeight, pageHeight);
4478
+ const numberOfPages = calculateNumberOfPagesForItem(
4479
+ itemHeight,
4480
+ pageHeight
4481
+ );
4179
4482
  return getPageFromOffset(position.y, pageHeight, numberOfPages);
4180
4483
  } else {
4181
4484
  const numberOfPages = calculateNumberOfPagesForItem(itemWidth, pageWidth);
@@ -4189,7 +4492,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4189
4492
  const pageWidth = context.getPageSize().width;
4190
4493
  const anchorElementBoundingRect = spineItem.getBoundingRectOfElementFromSelector(anchor);
4191
4494
  const offsetOfAnchor = (anchorElementBoundingRect == null ? void 0 : anchorElementBoundingRect.x) || 0;
4192
- return getClosestValidOffsetFromApproximateOffsetInPages(offsetOfAnchor, pageWidth, itemWidth);
4495
+ return getClosestValidOffsetFromApproximateOffsetInPages(
4496
+ offsetOfAnchor,
4497
+ pageWidth,
4498
+ itemWidth
4499
+ );
4193
4500
  };
4194
4501
  const getSpineItemPositionFromNode = (node, offset, spineItem) => {
4195
4502
  var _a;
@@ -4203,7 +4510,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4203
4510
  const spineItemWidth = ((_a = spineItem.getElementDimensions()) == null ? void 0 : _a.width) || 0;
4204
4511
  const pageWidth = context.getPageSize().width;
4205
4512
  if (offsetOfNodeInSpineItem) {
4206
- const val = getClosestValidOffsetFromApproximateOffsetInPages(offsetOfNodeInSpineItem, pageWidth, spineItemWidth);
4513
+ const val = getClosestValidOffsetFromApproximateOffsetInPages(
4514
+ offsetOfNodeInSpineItem,
4515
+ pageWidth,
4516
+ spineItemWidth
4517
+ );
4207
4518
  return { x: val, y: 0 };
4208
4519
  }
4209
4520
  return void 0;
@@ -4214,14 +4525,20 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4214
4525
  const frame = (_b = (_a = spineItem.spineItemFrame) == null ? void 0 : _a.getManipulableFrame()) == null ? void 0 : _b.frame;
4215
4526
  if (((_c = frame == null ? void 0 : frame.contentWindow) == null ? void 0 : _c.document) && // very important because it is being used by next functions
4216
4527
  frame.contentWindow.document.body !== null) {
4217
- const { x: left, y: top } = getSpineItemPositionFromPageIndex(pageIndex, spineItem);
4528
+ const { x: left, y: top } = getSpineItemPositionFromPageIndex(
4529
+ pageIndex,
4530
+ spineItem
4531
+ );
4218
4532
  const viewport = {
4219
4533
  left,
4220
4534
  right: left + pageSize.width,
4221
4535
  top,
4222
4536
  bottom: top + pageSize.height
4223
4537
  };
4224
- const res = getFirstVisibleNodeForViewport(frame.contentWindow.document, viewport);
4538
+ const res = getFirstVisibleNodeForViewport(
4539
+ frame.contentWindow.document,
4540
+ viewport
4541
+ );
4225
4542
  return res;
4226
4543
  }
4227
4544
  return void 0;
@@ -4229,8 +4546,16 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4229
4546
  const getSpineItemClosestPositionFromUnsafePosition = (unsafePosition, spineItem) => {
4230
4547
  const { width, height } = spineItem.getElementDimensions();
4231
4548
  const adjustedPosition = {
4232
- x: getClosestValidOffsetFromApproximateOffsetInPages(unsafePosition.x, context.getPageSize().width, width),
4233
- y: getClosestValidOffsetFromApproximateOffsetInPages(unsafePosition.y, context.getPageSize().height, height)
4549
+ x: getClosestValidOffsetFromApproximateOffsetInPages(
4550
+ unsafePosition.x,
4551
+ context.getPageSize().width,
4552
+ width
4553
+ ),
4554
+ y: getClosestValidOffsetFromApproximateOffsetInPages(
4555
+ unsafePosition.y,
4556
+ context.getPageSize().height,
4557
+ height
4558
+ )
4234
4559
  };
4235
4560
  return adjustedPosition;
4236
4561
  };
@@ -4264,7 +4589,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4264
4589
  this.y = position.y;
4265
4590
  }
4266
4591
  }
4267
- const createNavigationResolver$1 = ({ context }) => {
4592
+ const createNavigationResolver$1 = ({
4593
+ context
4594
+ }) => {
4268
4595
  const spineItemLocator = createLocationResolver$1({ context });
4269
4596
  const getNavigationForLeftPage = (position, spineItem) => {
4270
4597
  let nextPotentialPosition = {
@@ -4303,20 +4630,33 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4303
4630
  const getNavigationForLastPage = (spineItem) => {
4304
4631
  if (spineItem.isUsingVerticalWriting()) {
4305
4632
  const pageHeight = context.getPageSize().height;
4306
- const numberOfPages = calculateNumberOfPagesForItem(spineItem.getElementDimensions().height, pageHeight);
4633
+ const numberOfPages = calculateNumberOfPagesForItem(
4634
+ spineItem.getElementDimensions().height,
4635
+ pageHeight
4636
+ );
4307
4637
  return getNavigationForPage(numberOfPages - 1, spineItem);
4308
4638
  } else {
4309
4639
  const pageWidth = context.getPageSize().width;
4310
- const numberOfPages = calculateNumberOfPagesForItem(spineItem.getElementDimensions().width, pageWidth);
4640
+ const numberOfPages = calculateNumberOfPagesForItem(
4641
+ spineItem.getElementDimensions().width,
4642
+ pageWidth
4643
+ );
4311
4644
  return getNavigationForPage(numberOfPages - 1, spineItem);
4312
4645
  }
4313
4646
  };
4314
4647
  const getNavigationForPage = (pageIndex, spineItem) => {
4315
- const { x, y } = spineItemLocator.getSpineItemPositionFromPageIndex(pageIndex, spineItem);
4648
+ const { x, y } = spineItemLocator.getSpineItemPositionFromPageIndex(
4649
+ pageIndex,
4650
+ spineItem
4651
+ );
4316
4652
  return new SpineItemNavigationPosition({ x, y });
4317
4653
  };
4318
4654
  const getNavigationFromNode = (spineItem, node, offset) => {
4319
- const position = spineItemLocator.getSpineItemPositionFromNode(node, offset, spineItem);
4655
+ const position = spineItemLocator.getSpineItemPositionFromNode(
4656
+ node,
4657
+ offset,
4658
+ spineItem
4659
+ );
4320
4660
  return new SpineItemNavigationPosition(position || { x: 0, y: 0 });
4321
4661
  };
4322
4662
  const getNavigationForPosition = (spineItem, position) => {
@@ -4350,8 +4690,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4350
4690
  `${NAMESPACE$3} wrapPositionWithSafeEdge`,
4351
4691
  1,
4352
4692
  (position) => {
4353
- const lastSpineItem = spineItemManager.get(spineItemManager.getLength() - 1);
4354
- const distanceOfLastSpineItem = spineItemManager.getAbsolutePositionOf(lastSpineItem || 0);
4693
+ const lastSpineItem = spineItemManager.get(
4694
+ spineItemManager.getLength() - 1
4695
+ );
4696
+ const distanceOfLastSpineItem = spineItemManager.getAbsolutePositionOf(
4697
+ lastSpineItem || 0
4698
+ );
4355
4699
  const maximumYOffset = distanceOfLastSpineItem.bottom - context.getPageSize().height;
4356
4700
  const y = Math.min(Math.max(0, position.y), maximumYOffset);
4357
4701
  if (context.isRTL()) {
@@ -4368,7 +4712,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4368
4712
  },
4369
4713
  { disable: true }
4370
4714
  );
4371
- const getAdjustedPositionForSpread = ({ x, y }) => {
4715
+ const getAdjustedPositionForSpread = ({
4716
+ x,
4717
+ y
4718
+ }) => {
4372
4719
  const isOffsetNotAtEdge = x % context.state.visibleAreaRect.width !== 0;
4373
4720
  const correctedX = isOffsetNotAtEdge ? x - context.getPageSize().width : x;
4374
4721
  return { x: correctedX, y };
@@ -4380,7 +4727,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4380
4727
  Report.warn(NAMESPACE$3, `unable to detect item id from cfi ${cfi}`);
4381
4728
  } else {
4382
4729
  const spineItemNavigation = node ? spineItemNavigator.getNavigationFromNode(spineItem, node, offset) : new SpineItemNavigationPosition({ x: 0, y: 0 });
4383
- const readingPosition = locator.getSpinePositionFromSpineItemPosition(spineItemNavigation, spineItem);
4730
+ const readingPosition = locator.getSpinePositionFromSpineItemPosition(
4731
+ spineItemNavigation,
4732
+ spineItem
4733
+ );
4384
4734
  return { ...getAdjustedPositionForSpread(readingPosition), spineItem };
4385
4735
  }
4386
4736
  return { x: 0, y: 0 };
@@ -4390,13 +4740,22 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4390
4740
  const xPositionForPageIndex = pageIndex * context.getPageSize().width;
4391
4741
  return getNavigationForPosition({ x: xPositionForPageIndex, y: 0 });
4392
4742
  }
4393
- const spineItemNavigation = spineItemNavigator.getNavigationForPage(pageIndex, spineItem);
4394
- const readingOffset = locator.getSpinePositionFromSpineItemPosition(spineItemNavigation, spineItem);
4743
+ const spineItemNavigation = spineItemNavigator.getNavigationForPage(
4744
+ pageIndex,
4745
+ spineItem
4746
+ );
4747
+ const readingOffset = locator.getSpinePositionFromSpineItemPosition(
4748
+ spineItemNavigation,
4749
+ spineItem
4750
+ );
4395
4751
  return getAdjustedPositionForSpread(readingOffset);
4396
4752
  };
4397
4753
  const getNavigationForLastPage = (spineItem) => {
4398
4754
  const spineItemNavigation = spineItemNavigator.getNavigationForLastPage(spineItem);
4399
- const position = locator.getSpinePositionFromSpineItemPosition(spineItemNavigation, spineItem);
4755
+ const position = locator.getSpinePositionFromSpineItemPosition(
4756
+ spineItemNavigation,
4757
+ spineItem
4758
+ );
4400
4759
  return getAdjustedPositionForSpread(position);
4401
4760
  };
4402
4761
  const getNavigationForSpineIndexOrId = (indexOrId) => {
@@ -4414,9 +4773,15 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4414
4773
  if (!spineItem) {
4415
4774
  return defaultNavigation;
4416
4775
  }
4417
- const spineItemPosition = locator.getSpineItemPositionFromSpinePosition(position, spineItem);
4776
+ const spineItemPosition = locator.getSpineItemPositionFromSpinePosition(
4777
+ position,
4778
+ spineItem
4779
+ );
4418
4780
  const spineItemNavigationForRightPage = spineItemNavigator.getNavigationForRightPage(spineItemPosition, spineItem);
4419
- const isNewNavigationInCurrentItem = arePositionsDifferent(spineItemNavigationForRightPage, spineItemPosition);
4781
+ const isNewNavigationInCurrentItem = arePositionsDifferent(
4782
+ spineItemNavigationForRightPage,
4783
+ spineItemPosition
4784
+ );
4420
4785
  if (!isNewNavigationInCurrentItem) {
4421
4786
  return wrapPositionWithSafeEdge(
4422
4787
  pageTurnDirection === `horizontal` ? { x: position.x + context.getPageSize().width, y: 0 } : { y: position.y + context.getPageSize().height, x: 0 }
@@ -4436,15 +4801,27 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4436
4801
  if (!spineItem) {
4437
4802
  return defaultNavigation;
4438
4803
  }
4439
- const spineItemPosition = locator.getSpineItemPositionFromSpinePosition(position, spineItem);
4440
- const spineItemNavigation = spineItemNavigator.getNavigationForLeftPage(spineItemPosition, spineItem);
4441
- const isNewNavigationInCurrentItem = arePositionsDifferent(spineItemNavigation, spineItemPosition);
4804
+ const spineItemPosition = locator.getSpineItemPositionFromSpinePosition(
4805
+ position,
4806
+ spineItem
4807
+ );
4808
+ const spineItemNavigation = spineItemNavigator.getNavigationForLeftPage(
4809
+ spineItemPosition,
4810
+ spineItem
4811
+ );
4812
+ const isNewNavigationInCurrentItem = arePositionsDifferent(
4813
+ spineItemNavigation,
4814
+ spineItemPosition
4815
+ );
4442
4816
  if (!isNewNavigationInCurrentItem) {
4443
4817
  return wrapPositionWithSafeEdge(
4444
4818
  pageTurnDirection === `horizontal` ? { x: position.x - context.getPageSize().width, y: 0 } : { y: position.y - context.getPageSize().height, x: 0 }
4445
4819
  );
4446
4820
  } else {
4447
- const readingOrderPosition = locator.getSpinePositionFromSpineItemPosition(spineItemNavigation, spineItem);
4821
+ const readingOrderPosition = locator.getSpinePositionFromSpineItemPosition(
4822
+ spineItemNavigation,
4823
+ spineItem
4824
+ );
4448
4825
  return readingOrderPosition;
4449
4826
  }
4450
4827
  };
@@ -4486,7 +4863,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4486
4863
  if ((spineItemOnPosition == null ? void 0 : spineItemOnPosition.isUsingVerticalWriting()) && position.x !== navigation.x) {
4487
4864
  return getAdjustedPositionForSpread(
4488
4865
  wrapPositionWithSafeEdge(
4489
- context.isRTL() ? { ...navigation, x: navigation.x + context.getPageSize().width } : { ...navigation, x: navigation.x - context.getPageSize().width }
4866
+ context.isRTL() ? { ...navigation, x: navigation.x + context.getPageSize().width } : {
4867
+ ...navigation,
4868
+ x: navigation.x - context.getPageSize().width
4869
+ }
4490
4870
  )
4491
4871
  );
4492
4872
  }
@@ -4503,7 +4883,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4503
4883
  try {
4504
4884
  const validUrl = url instanceof URL ? url : new URL(url);
4505
4885
  const urlWithoutAnchor = `${validUrl.origin}${validUrl.pathname}`;
4506
- const existingSpineItem = (_a = context.manifest) == null ? void 0 : _a.spineItems.find((item) => item.href === urlWithoutAnchor);
4886
+ const existingSpineItem = (_a = context.manifest) == null ? void 0 : _a.spineItems.find(
4887
+ (item) => item.href === urlWithoutAnchor
4888
+ );
4507
4889
  if (existingSpineItem) {
4508
4890
  const spineItem = spineItemManager.get(existingSpineItem.id);
4509
4891
  if (spineItem) {
@@ -4518,15 +4900,27 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4518
4900
  }
4519
4901
  };
4520
4902
  const getNavigationForAnchor = (anchor, spineItem) => {
4521
- const position = locator.getSpinePositionFromSpineItemAnchor(anchor, spineItem);
4903
+ const position = locator.getSpinePositionFromSpineItemAnchor(
4904
+ anchor,
4905
+ spineItem
4906
+ );
4522
4907
  return getAdjustedPositionForSpread(position);
4523
4908
  };
4524
4909
  const getNavigationForPosition = (viewportPosition) => {
4525
4910
  const spineItem = locator.getSpineItemFromPosition(viewportPosition);
4526
4911
  if (spineItem) {
4527
- const spineItemPosition = locator.getSpineItemPositionFromSpinePosition(viewportPosition, spineItem);
4528
- const spineItemValidPosition = spineItemNavigator.getNavigationForPosition(spineItem, spineItemPosition);
4529
- const viewportNavigation = locator.getSpinePositionFromSpineItemPosition(spineItemValidPosition, spineItem);
4912
+ const spineItemPosition = locator.getSpineItemPositionFromSpinePosition(
4913
+ viewportPosition,
4914
+ spineItem
4915
+ );
4916
+ const spineItemValidPosition = spineItemNavigator.getNavigationForPosition(
4917
+ spineItem,
4918
+ spineItemPosition
4919
+ );
4920
+ const viewportNavigation = locator.getSpinePositionFromSpineItemPosition(
4921
+ spineItemValidPosition,
4922
+ spineItem
4923
+ );
4530
4924
  return getAdjustedPositionForSpread(viewportNavigation);
4531
4925
  }
4532
4926
  return { x: 0, y: 0 };
@@ -4536,7 +4930,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4536
4930
  const triggerPercentage = 0.5;
4537
4931
  const triggerXPosition = pageTurnDirection === `horizontal` ? viewportPosition.x + context.state.visibleAreaRect.width * triggerPercentage : 0;
4538
4932
  const triggerYPosition = pageTurnDirection === `horizontal` ? 0 : viewportPosition.y + context.state.visibleAreaRect.height * triggerPercentage;
4539
- const midScreenPositionSafePosition = wrapPositionWithSafeEdge({ x: triggerXPosition, y: triggerYPosition });
4933
+ const midScreenPositionSafePosition = wrapPositionWithSafeEdge({
4934
+ x: triggerXPosition,
4935
+ y: triggerYPosition
4936
+ });
4540
4937
  return getNavigationForPosition(midScreenPositionSafePosition);
4541
4938
  };
4542
4939
  const isNavigationGoingForwardFrom = (to, from) => {
@@ -4631,7 +5028,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4631
5028
  };
4632
5029
  const getCurrentViewportPosition = () => {
4633
5030
  var _a, _b;
4634
- return getScaledDownPosition({ x: ((_a = element$.getValue()) == null ? void 0 : _a.scrollLeft) ?? 0, y: ((_b = element$.getValue()) == null ? void 0 : _b.scrollTop) ?? 0 });
5031
+ return getScaledDownPosition({
5032
+ x: ((_a = element$.getValue()) == null ? void 0 : _a.scrollLeft) ?? 0,
5033
+ y: ((_b = element$.getValue()) == null ? void 0 : _b.scrollTop) ?? 0
5034
+ });
4635
5035
  };
4636
5036
  const navigationOnScroll$ = userScroll$.pipe(
4637
5037
  operators.debounceTime(SCROLL_FINISHED_DEBOUNCE_TIMEOUT, rxjs.animationFrameScheduler),
@@ -4639,9 +5039,16 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4639
5039
  operators.switchMap(() => {
4640
5040
  var _a, _b;
4641
5041
  const navigation = getNavigationForPosition(
4642
- getScaledDownPosition({ x: ((_a = element$.getValue()) == null ? void 0 : _a.scrollLeft) ?? 0, y: ((_b = element$.getValue()) == null ? void 0 : _b.scrollTop) ?? 0 })
5042
+ getScaledDownPosition({
5043
+ x: ((_a = element$.getValue()) == null ? void 0 : _a.scrollLeft) ?? 0,
5044
+ y: ((_b = element$.getValue()) == null ? void 0 : _b.scrollTop) ?? 0
5045
+ })
4643
5046
  );
4644
- return rxjs.of({ position: navigation, animate: false, lastUserExpectedNavigation: void 0 });
5047
+ return rxjs.of({
5048
+ position: navigation,
5049
+ animate: false,
5050
+ lastUserExpectedNavigation: void 0
5051
+ });
4645
5052
  }),
4646
5053
  operators.share()
4647
5054
  );
@@ -4679,16 +5086,29 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4679
5086
  }) => {
4680
5087
  const stateSubject$ = new rxjs.BehaviorSubject(`end`);
4681
5088
  const navigationTriggerSubject$ = new rxjs.Subject();
4682
- const turnLeft = ({ allowSpineItemChange = true } = {}) => navigationTriggerSubject$.next({ type: `leftPage`, data: { allowSpineItemChange } });
4683
- const turnRight = ({ allowSpineItemChange = true } = {}) => {
4684
- navigationTriggerSubject$.next({ type: `rightPage`, data: { allowSpineItemChange } });
5089
+ const turnLeft = ({
5090
+ allowSpineItemChange = true
5091
+ } = {}) => navigationTriggerSubject$.next({
5092
+ type: `leftPage`,
5093
+ data: { allowSpineItemChange }
5094
+ });
5095
+ const turnRight = ({
5096
+ allowSpineItemChange = true
5097
+ } = {}) => {
5098
+ navigationTriggerSubject$.next({
5099
+ type: `rightPage`,
5100
+ data: { allowSpineItemChange }
5101
+ });
4685
5102
  };
4686
5103
  const goToPageOfCurrentChapter = (pageIndex) => navigationTriggerSubject$.next({ type: `chapterPage`, data: { pageIndex } });
4687
5104
  const goToPage = (pageIndex) => navigationTriggerSubject$.next({ type: `pageIndex`, data: { pageIndex } });
4688
5105
  const goToCfi = (cfi, options = { animate: true }) => navigationTriggerSubject$.next({ type: `cfi`, data: { cfi, ...options } });
4689
5106
  const goToUrl = (url) => navigationTriggerSubject$.next({ type: `url`, data: url });
4690
5107
  const goToSpineItem = (indexOrId, options = { animate: true }) => {
4691
- navigationTriggerSubject$.next({ type: `spineItem`, data: { indexOrId, ...options } });
5108
+ navigationTriggerSubject$.next({
5109
+ type: `spineItem`,
5110
+ data: { indexOrId, ...options }
5111
+ });
4692
5112
  };
4693
5113
  const urlNavigation$ = navigationTriggerSubject$.pipe(
4694
5114
  operators.filter((e) => e.type === `url`),
@@ -4699,7 +5119,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4699
5119
  return rxjs.of({
4700
5120
  ...navigation,
4701
5121
  animate: true,
4702
- lastUserExpectedNavigation: { type: `navigate-from-anchor`, data: navigation.url.hash }
5122
+ lastUserExpectedNavigation: {
5123
+ type: `navigate-from-anchor`,
5124
+ data: navigation.url.hash
5125
+ }
4703
5126
  });
4704
5127
  }
4705
5128
  return rxjs.EMPTY;
@@ -4709,7 +5132,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4709
5132
  operators.filter((e) => e.type === `spineItem`),
4710
5133
  operators.switchMap(({ data: { animate, indexOrId } }) => {
4711
5134
  const navigation = navigator2.getNavigationForSpineIndexOrId(indexOrId);
4712
- const lastUserExpectedNavigation = { type: `navigate-from-previous-item` };
5135
+ const lastUserExpectedNavigation = {
5136
+ type: `navigate-from-previous-item`
5137
+ };
4713
5138
  Report.log(NAMESPACE$2, `goToSpineItem`, { indexOrId, animate, navigation });
4714
5139
  return rxjs.of({ ...navigation, animate, lastUserExpectedNavigation });
4715
5140
  })
@@ -4722,7 +5147,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4722
5147
  return {
4723
5148
  ...navigation,
4724
5149
  animate,
4725
- lastUserExpectedNavigation: { type: `navigate-from-cfi`, data: cfi }
5150
+ lastUserExpectedNavigation: {
5151
+ type: `navigate-from-cfi`,
5152
+ data: cfi
5153
+ }
4726
5154
  };
4727
5155
  })
4728
5156
  );
@@ -4732,7 +5160,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4732
5160
  const spineItem = spineItemManager.getFocusedSpineItem();
4733
5161
  if (spineItem) {
4734
5162
  const navigation = navigator2.getNavigationForPage(pageIndex, spineItem);
4735
- return rxjs.of({ ...navigation, lastUserExpectedNavigation: void 0, animate: true });
5163
+ return rxjs.of({
5164
+ ...navigation,
5165
+ lastUserExpectedNavigation: void 0,
5166
+ animate: true
5167
+ });
4736
5168
  }
4737
5169
  return rxjs.EMPTY;
4738
5170
  })
@@ -4765,26 +5197,31 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4765
5197
  const spineItemHasChanged = newSpineItem !== currentSpineItem;
4766
5198
  if (spineItemHasChanged) {
4767
5199
  if (allowSpineItemChange) {
4768
- const positionOfNewSpineItemComparedToCurrentOne = spineItemManager.comparePositionOf(
4769
- newSpineItem,
4770
- currentSpineItem
4771
- );
5200
+ const positionOfNewSpineItemComparedToCurrentOne = spineItemManager.comparePositionOf(newSpineItem, currentSpineItem);
4772
5201
  if (positionOfNewSpineItemComparedToCurrentOne === `before`) {
4773
5202
  return rxjs.of({
4774
5203
  ...navigation,
4775
- lastUserExpectedNavigation: { type: `navigate-from-next-item` },
5204
+ lastUserExpectedNavigation: {
5205
+ type: `navigate-from-next-item`
5206
+ },
4776
5207
  animate: true
4777
5208
  });
4778
5209
  } else {
4779
5210
  return rxjs.of({
4780
5211
  ...navigation,
4781
- lastUserExpectedNavigation: { type: `navigate-from-previous-item` },
5212
+ lastUserExpectedNavigation: {
5213
+ type: `navigate-from-previous-item`
5214
+ },
4782
5215
  animate: true
4783
5216
  });
4784
5217
  }
4785
5218
  }
4786
5219
  } else {
4787
- return rxjs.of({ ...navigation, lastUserExpectedNavigation: void 0, animate: true });
5220
+ return rxjs.of({
5221
+ ...navigation,
5222
+ lastUserExpectedNavigation: void 0,
5223
+ animate: true
5224
+ });
4788
5225
  }
4789
5226
  return rxjs.EMPTY;
4790
5227
  }
@@ -4800,7 +5237,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4800
5237
  currentNavigation
4801
5238
  ]) => {
4802
5239
  const navigation = navigator2.getNavigationForLeftPage(currentNavigation);
4803
- Report.log(NAMESPACE$2, `turnLeft`, { currentNavigation, navigation, allowSpineItemChange });
5240
+ Report.log(NAMESPACE$2, `turnLeft`, {
5241
+ currentNavigation,
5242
+ navigation,
5243
+ allowSpineItemChange
5244
+ });
4804
5245
  return turnPageTo$(navigation, { allowSpineItemChange });
4805
5246
  }
4806
5247
  )
@@ -4816,7 +5257,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4816
5257
  currentNavigation
4817
5258
  ]) => {
4818
5259
  const navigation = navigator2.getNavigationForRightPage(currentNavigation);
4819
- Report.log(NAMESPACE$2, `turnRight`, { currentNavigation, navigation, allowSpineItemChange });
5260
+ Report.log(NAMESPACE$2, `turnRight`, {
5261
+ currentNavigation,
5262
+ navigation,
5263
+ allowSpineItemChange
5264
+ });
4820
5265
  return turnPageTo$(navigation, { allowSpineItemChange });
4821
5266
  }
4822
5267
  )
@@ -4836,7 +5281,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4836
5281
  * navigation would theoretically always move to different items.
4837
5282
  */
4838
5283
  operators.withLatestFrom(currentNavigationSubject$),
4839
- operators.filter(([navigation, currentNavigation]) => navigator2.areNavigationDifferent(navigation, currentNavigation)),
5284
+ operators.filter(
5285
+ ([navigation, currentNavigation]) => navigator2.areNavigationDifferent(navigation, currentNavigation)
5286
+ ),
4840
5287
  operators.map(([navigation]) => navigation)
4841
5288
  );
4842
5289
  return {
@@ -4927,7 +5374,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4927
5374
  const spineItemHasChanged = newSpineItem !== currentSpineItem;
4928
5375
  if (spineItemHasChanged) {
4929
5376
  if (allowSpineItemChange) {
4930
- if (spineItemManager.comparePositionOf(newSpineItem, currentSpineItem) === `before`) {
5377
+ if (spineItemManager.comparePositionOf(
5378
+ newSpineItem,
5379
+ currentSpineItem
5380
+ ) === `before`) {
4931
5381
  return { type: `navigate-from-next-item` };
4932
5382
  } else {
4933
5383
  return { type: `navigate-from-previous-item` };
@@ -4957,7 +5407,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
4957
5407
  x: triggerXPosition,
4958
5408
  y: triggerYPosition
4959
5409
  });
4960
- const finalNavigation = navigator2.getNavigationForPosition(midScreenPositionSafePosition);
5410
+ const finalNavigation = navigator2.getNavigationForPosition(
5411
+ midScreenPositionSafePosition
5412
+ );
4961
5413
  const lastUserExpectedNavigation = getLastUserExpectedNavigation(finalNavigation);
4962
5414
  return rxjs.of({ ...finalNavigation, lastUserExpectedNavigation });
4963
5415
  }
@@ -5009,23 +5461,30 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5009
5461
  locator: spineLocator
5010
5462
  });
5011
5463
  const adjustNavigationSubject$ = new rxjs.Subject();
5012
- const getCurrentViewportPosition = Report.measurePerformance(`${NAMESPACE} getCurrentViewportPosition`, 1, () => {
5013
- var _a;
5014
- if (settings.settings.computedPageTurnMode === `scrollable`) {
5015
- return scrollViewportNavigator.getCurrentViewportPosition();
5464
+ const getCurrentViewportPosition = Report.measurePerformance(
5465
+ `${NAMESPACE} getCurrentViewportPosition`,
5466
+ 1,
5467
+ () => {
5468
+ var _a;
5469
+ if (settings.settings.computedPageTurnMode === `scrollable`) {
5470
+ return scrollViewportNavigator.getCurrentViewportPosition();
5471
+ }
5472
+ const { x, y } = ((_a = element$.getValue()) == null ? void 0 : _a.getBoundingClientRect()) ?? {
5473
+ x: 0,
5474
+ y: 0
5475
+ };
5476
+ const newValue = {
5477
+ // we want to round to first decimal because it's possible to have half pixel
5478
+ // however browser engine can also gives back x.yyyy based on their precision
5479
+ // @see https://stackoverflow.com/questions/13847053/difference-between-and-math-floor for ~~
5480
+ x: ~~(x * -1 * 10) / 10,
5481
+ // x: ~~(x * 10) / 10,
5482
+ y: ~~(Math.abs(y) * 10) / 10
5483
+ };
5484
+ currentViewportPositionMemoUnused = newValue;
5485
+ return currentViewportPositionMemoUnused;
5016
5486
  }
5017
- const { x, y } = ((_a = element$.getValue()) == null ? void 0 : _a.getBoundingClientRect()) ?? { x: 0, y: 0 };
5018
- const newValue = {
5019
- // we want to round to first decimal because it's possible to have half pixel
5020
- // however browser engine can also gives back x.yyyy based on their precision
5021
- // @see https://stackoverflow.com/questions/13847053/difference-between-and-math-floor for ~~
5022
- x: ~~(x * -1 * 10) / 10,
5023
- // x: ~~(x * 10) / 10,
5024
- y: ~~(Math.abs(y) * 10) / 10
5025
- };
5026
- currentViewportPositionMemoUnused = newValue;
5027
- return currentViewportPositionMemoUnused;
5028
- });
5487
+ );
5029
5488
  const panViewportNavigator = createPanViewportNavigator({
5030
5489
  context,
5031
5490
  settings,
@@ -5051,8 +5510,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5051
5510
  spineItemManager,
5052
5511
  locator: spineLocator
5053
5512
  });
5054
- const viewportNavigators = [scrollViewportNavigator, panViewportNavigator, manualViewportNavigator];
5055
- const viewportNavigatorsSharedState$ = rxjs.merge(...viewportNavigators.map(({ $: { state$: state$2 } }) => state$2));
5513
+ const viewportNavigators = [
5514
+ scrollViewportNavigator,
5515
+ panViewportNavigator,
5516
+ manualViewportNavigator
5517
+ ];
5518
+ const viewportNavigatorsSharedState$ = rxjs.merge(
5519
+ ...viewportNavigators.map(({ $: { state$: state$2 } }) => state$2)
5520
+ );
5056
5521
  let lastUserExpectedNavigation;
5057
5522
  const makeItHot = (source$) => {
5058
5523
  source$.pipe(operators.takeUntil(context.destroy$)).subscribe();
@@ -5080,28 +5545,51 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5080
5545
  let adjustedSpinePosition = currentNavigationPositionSubject$.value;
5081
5546
  const offsetInSpineItem = 0;
5082
5547
  if (settings.settings.computedPageTurnMode === `scrollable`) {
5083
- adjustedSpinePosition = scrollViewportNavigator.getNavigationForPosition(getCurrentViewportPosition());
5548
+ adjustedSpinePosition = scrollViewportNavigator.getNavigationForPosition(
5549
+ getCurrentViewportPosition()
5550
+ );
5084
5551
  } else if ((lastUserExpectedNavigation == null ? void 0 : lastUserExpectedNavigation.type) === `navigate-from-cfi`) {
5085
- adjustedSpinePosition = navigator2.getNavigationForCfi(lastUserExpectedNavigation.data);
5086
- Report.log(NAMESPACE, `adjustNavigation`, `navigate-from-cfi`, `use last cfi`);
5552
+ adjustedSpinePosition = navigator2.getNavigationForCfi(
5553
+ lastUserExpectedNavigation.data
5554
+ );
5555
+ Report.log(
5556
+ NAMESPACE,
5557
+ `adjustNavigation`,
5558
+ `navigate-from-cfi`,
5559
+ `use last cfi`
5560
+ );
5087
5561
  } else if ((lastUserExpectedNavigation == null ? void 0 : lastUserExpectedNavigation.type) === `navigate-from-next-item`) {
5088
5562
  adjustedSpinePosition = navigator2.getNavigationForLastPage(spineItem);
5089
5563
  Report.log(NAMESPACE, `adjustNavigation`, `navigate-from-next-item`, {});
5090
5564
  } else if ((lastUserExpectedNavigation == null ? void 0 : lastUserExpectedNavigation.type) === `navigate-from-previous-item`) {
5091
5565
  adjustedSpinePosition = navigator2.getNavigationForPage(0, spineItem);
5092
- Report.log(NAMESPACE, `adjustNavigation`, `navigate-from-previous-item`, {});
5566
+ Report.log(
5567
+ NAMESPACE,
5568
+ `adjustNavigation`,
5569
+ `navigate-from-previous-item`,
5570
+ {}
5571
+ );
5093
5572
  } else if ((lastUserExpectedNavigation == null ? void 0 : lastUserExpectedNavigation.type) === `navigate-from-anchor`) {
5094
5573
  const anchor = lastUserExpectedNavigation.data;
5095
- adjustedSpinePosition = navigator2.getNavigationForAnchor(anchor, spineItem);
5574
+ adjustedSpinePosition = navigator2.getNavigationForAnchor(
5575
+ anchor,
5576
+ spineItem
5577
+ );
5096
5578
  } else if (lastCfi) {
5097
5579
  adjustedSpinePosition = navigator2.getNavigationForCfi(lastCfi);
5098
5580
  Report.log(NAMESPACE, `adjustNavigation`, `use last cfi`);
5099
5581
  } else {
5100
5582
  const currentPageIndex = pagination.getPaginationInfo().beginPageIndexInSpineItem || 0;
5101
- adjustedSpinePosition = navigator2.getNavigationForPage(currentPageIndex, spineItem);
5583
+ adjustedSpinePosition = navigator2.getNavigationForPage(
5584
+ currentPageIndex,
5585
+ spineItem
5586
+ );
5102
5587
  Report.log(NAMESPACE, `adjustNavigation`, `use guess strategy`, {});
5103
5588
  }
5104
- const areDifferent = navigator2.arePositionsDifferent(adjustedSpinePosition, currentNavigationPositionSubject$.value);
5589
+ const areDifferent = navigator2.arePositionsDifferent(
5590
+ adjustedSpinePosition,
5591
+ currentNavigationPositionSubject$.value
5592
+ );
5105
5593
  Report.log(NAMESPACE, `adjustNavigation`, {
5106
5594
  areDifferent,
5107
5595
  offsetInSpineItem,
@@ -5125,7 +5613,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5125
5613
  currentViewportPositionMemoUnused = void 0;
5126
5614
  });
5127
5615
  const layoutChangeSettings$ = settings.settings$.pipe(
5128
- mapKeysTo([`computedPageTurnDirection`, `computedPageTurnMode`, `numberOfAdjacentSpineItemToPreLoad`]),
5616
+ mapKeysTo([
5617
+ `computedPageTurnDirection`,
5618
+ `computedPageTurnMode`,
5619
+ `numberOfAdjacentSpineItemToPreLoad`
5620
+ ]),
5129
5621
  operators.distinctUntilChanged(isShallowEqual),
5130
5622
  operators.skip(1)
5131
5623
  );
@@ -5237,10 +5729,16 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5237
5729
  const noAdjustmentNeeded = false;
5238
5730
  if (data.shouldAnimate && !noAdjustmentNeeded) {
5239
5731
  if (pageTurnAnimation === `fade`) {
5240
- element$.getValue().style.setProperty(`transition`, `opacity ${animationDuration / 2}ms`);
5732
+ element$.getValue().style.setProperty(
5733
+ `transition`,
5734
+ `opacity ${animationDuration / 2}ms`
5735
+ );
5241
5736
  element$.getValue().style.setProperty(`opacity`, `0`);
5242
5737
  } else if (currentEvent.animation === `snap` || pageTurnAnimation === `slide`) {
5243
- element$.getValue().style.setProperty(`transition`, `transform ${animationDuration}ms`);
5738
+ element$.getValue().style.setProperty(
5739
+ `transition`,
5740
+ `transform ${animationDuration}ms`
5741
+ );
5244
5742
  element$.getValue().style.setProperty(`opacity`, `1`);
5245
5743
  }
5246
5744
  } else {
@@ -5289,8 +5787,13 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5289
5787
  rxjs.merge(manualAdjust$).pipe(operators.map(() => `start`)),
5290
5788
  rxjs.merge(processManualAdjust$).pipe(operators.map(() => `end`))
5291
5789
  );
5292
- const state$ = rxjs.combineLatest([...viewportNavigators.map(({ $: { state$: state$2 } }) => state$2), adjustmentState$]).pipe(
5293
- operators.map((states) => states.every((state) => state === `end`) ? `free` : `busy`),
5790
+ const state$ = rxjs.combineLatest([
5791
+ ...viewportNavigators.map(({ $: { state$: state$2 } }) => state$2),
5792
+ adjustmentState$
5793
+ ]).pipe(
5794
+ operators.map(
5795
+ (states) => states.every((state) => state === `end`) ? `free` : `busy`
5796
+ ),
5294
5797
  operators.distinctUntilChanged(),
5295
5798
  operators.shareReplay(1),
5296
5799
  /**
@@ -5380,7 +5883,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5380
5883
  position: relative;
5381
5884
  `;
5382
5885
  element.className = `${HTML_PREFIX$1}-viewport-navigator`;
5383
- hookManager.execute("viewportNavigator.onBeforeContainerCreated", void 0, { element });
5886
+ hookManager.execute("viewportNavigator.onBeforeContainerCreated", void 0, {
5887
+ element
5888
+ });
5384
5889
  return element;
5385
5890
  };
5386
5891
  const createLocationResolver = ({
@@ -5439,8 +5944,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5439
5944
  return getSpinePositionFromSpineItemPosition({ x: 0, y: 0 }, spineItem);
5440
5945
  };
5441
5946
  const getSpinePositionFromSpineItemAnchor = (anchor, spineItem) => {
5442
- const spineItemOffset = spineItemLocator.getSpineItemOffsetFromAnchor(anchor, spineItem);
5443
- const position = getSpinePositionFromSpineItemPosition({ x: spineItemOffset, y: 0 }, spineItem);
5947
+ const spineItemOffset = spineItemLocator.getSpineItemOffsetFromAnchor(
5948
+ anchor,
5949
+ spineItem
5950
+ );
5951
+ const position = getSpinePositionFromSpineItemPosition(
5952
+ { x: spineItemOffset, y: 0 },
5953
+ spineItem
5954
+ );
5444
5955
  return position;
5445
5956
  };
5446
5957
  const getSpineItemsFromReadingOrderPosition = (position) => {
@@ -5449,7 +5960,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5449
5960
  if (itemAtPositionIndex === void 0) return void 0;
5450
5961
  let endPosition = position;
5451
5962
  if (context.state.isUsingSpreadMode) {
5452
- endPosition = { x: position.x + context.getPageSize().width, y: position.y };
5963
+ endPosition = {
5964
+ x: position.x + context.getPageSize().width,
5965
+ y: position.y
5966
+ };
5453
5967
  }
5454
5968
  const endItemIndex = spineItemManager.getSpineItemIndex(
5455
5969
  getSpineItemFromPosition(endPosition) || spineItemManager.getFocusedSpineItem()
@@ -5477,9 +5991,17 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5477
5991
  const getSpineItemPageIndexFromNode = (node, offset, spineItemOrIndex) => {
5478
5992
  if (typeof spineItemOrIndex === `number`) {
5479
5993
  const spineItem = spineItemManager.get(spineItemOrIndex);
5480
- return spineItem ? spineItemLocator.getSpineItemPageIndexFromNode(node, offset || 0, spineItem) : void 0;
5994
+ return spineItem ? spineItemLocator.getSpineItemPageIndexFromNode(
5995
+ node,
5996
+ offset || 0,
5997
+ spineItem
5998
+ ) : void 0;
5481
5999
  }
5482
- return spineItemLocator.getSpineItemPageIndexFromNode(node, offset || 0, spineItemOrIndex);
6000
+ return spineItemLocator.getSpineItemPageIndexFromNode(
6001
+ node,
6002
+ offset || 0,
6003
+ spineItemOrIndex
6004
+ );
5483
6005
  };
5484
6006
  return {
5485
6007
  getSpinePositionFromSpineItemPosition,
@@ -5497,18 +6019,29 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5497
6019
  spineItemLocator
5498
6020
  }) => {
5499
6021
  const getItemAnchor = (spineItem) => `|[prose~anchor~${encodeURIComponent(spineItem.item.id)}]`;
5500
- const getCfi = Report.measurePerformance(`getCfi`, 10, (pageIndex, spineItem) => {
5501
- var _a, _b, _c;
5502
- const nodeOrRange = spineItemLocator.getFirstNodeOrRangeAtPage(pageIndex, spineItem);
5503
- const doc = (_c = (_b = (_a = spineItem.spineItemFrame.getManipulableFrame()) == null ? void 0 : _a.frame) == null ? void 0 : _b.contentWindow) == null ? void 0 : _c.document;
5504
- const itemAnchor = getItemAnchor(spineItem);
5505
- const offset = `|[prose~offset~${(nodeOrRange == null ? void 0 : nodeOrRange.offset) || 0}]`;
5506
- if (nodeOrRange && doc) {
5507
- const cfiString = CFI.generate(nodeOrRange.node, 0, `${itemAnchor}${offset}`);
5508
- return cfiString;
6022
+ const getCfi = Report.measurePerformance(
6023
+ `getCfi`,
6024
+ 10,
6025
+ (pageIndex, spineItem) => {
6026
+ var _a, _b, _c;
6027
+ const nodeOrRange = spineItemLocator.getFirstNodeOrRangeAtPage(
6028
+ pageIndex,
6029
+ spineItem
6030
+ );
6031
+ const doc = (_c = (_b = (_a = spineItem.spineItemFrame.getManipulableFrame()) == null ? void 0 : _a.frame) == null ? void 0 : _b.contentWindow) == null ? void 0 : _c.document;
6032
+ const itemAnchor = getItemAnchor(spineItem);
6033
+ const offset = `|[prose~offset~${(nodeOrRange == null ? void 0 : nodeOrRange.offset) || 0}]`;
6034
+ if (nodeOrRange && doc) {
6035
+ const cfiString = CFI.generate(
6036
+ nodeOrRange.node,
6037
+ 0,
6038
+ `${itemAnchor}${offset}`
6039
+ );
6040
+ return cfiString;
6041
+ }
6042
+ return getRootCfi(spineItem);
5509
6043
  }
5510
- return getRootCfi(spineItem);
5511
- });
6044
+ );
5512
6045
  const getRootCfi = (spineItem) => {
5513
6046
  const itemAnchor = getItemAnchor(spineItem);
5514
6047
  return `epubcfi(/0${itemAnchor}) `;
@@ -5555,9 +6088,22 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5555
6088
  spineItemIndex
5556
6089
  };
5557
6090
  };
5558
- const generateFromRange = ({ startNode, start, end, endNode }, item) => {
5559
- const startCFI = CFI.generate(startNode, start, `|[prose~anchor~${encodeURIComponent(item.id)}]`);
5560
- const endCFI = CFI.generate(endNode, end, `|[prose~anchor~${encodeURIComponent(item.id)}]`);
6091
+ const generateFromRange = ({
6092
+ startNode,
6093
+ start,
6094
+ end,
6095
+ endNode
6096
+ }, item) => {
6097
+ const startCFI = CFI.generate(
6098
+ startNode,
6099
+ start,
6100
+ `|[prose~anchor~${encodeURIComponent(item.id)}]`
6101
+ );
6102
+ const endCFI = CFI.generate(
6103
+ endNode,
6104
+ end,
6105
+ `|[prose~anchor~${encodeURIComponent(item.id)}]`
6106
+ );
5561
6107
  return { start: startCFI, end: endCFI };
5562
6108
  };
5563
6109
  return {
@@ -5569,19 +6115,57 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5569
6115
  generateFromRange
5570
6116
  };
5571
6117
  };
5572
- class ReaderSettingsManager {
5573
- constructor(initialSettings, context) {
5574
- __privateAdd(this, _context);
5575
- __privateSet(this, _context, context);
6118
+ class SettingsManager {
6119
+ constructor(initialSettings) {
5576
6120
  const settingsWithDefaults = {
5577
6121
  ...this.getDefaultSettings(),
5578
6122
  ...initialSettings
5579
6123
  };
5580
- const outputSettings = this.getOutputSettings(settingsWithDefaults);
5581
- this.outputSettings = outputSettings;
6124
+ this.inputSettings = settingsWithDefaults;
5582
6125
  this.outputSettingsUpdateSubject = new rxjs.Subject();
5583
- this.settings$ = this.outputSettingsUpdateSubject.asObservable().pipe(operators.startWith(this.settings), operators.shareReplay(1));
5584
- const recomputeSettingsOnContextChange$ = rxjs.combineLatest([context.hasVerticalWriting$, context.manifest$]).pipe(
6126
+ this.settings$ = this.outputSettingsUpdateSubject.asObservable().pipe(operators.shareReplay(1));
6127
+ this.settings$.subscribe();
6128
+ }
6129
+ _prepareUpdate(settings) {
6130
+ const newInputSettings = shallowMergeIfDefined(this.inputSettings, settings);
6131
+ const state = this.getOutputSettings(newInputSettings);
6132
+ const hasChanged = !isShallowEqual(this.outputSettings, state);
6133
+ return {
6134
+ hasChanged,
6135
+ state,
6136
+ commit: () => {
6137
+ this.inputSettings = newInputSettings;
6138
+ this.outputSettings = state;
6139
+ if (hasChanged) {
6140
+ this.outputSettingsUpdateSubject.next(state);
6141
+ }
6142
+ return state;
6143
+ }
6144
+ };
6145
+ }
6146
+ update(settings) {
6147
+ const { commit } = this._prepareUpdate(settings);
6148
+ commit();
6149
+ }
6150
+ get settings() {
6151
+ if (!this.outputSettings) {
6152
+ const { commit } = this._prepareUpdate(this.inputSettings);
6153
+ return commit();
6154
+ }
6155
+ return this.outputSettings;
6156
+ }
6157
+ destroy() {
6158
+ this.outputSettingsUpdateSubject.complete();
6159
+ }
6160
+ }
6161
+ class ReaderSettingsManager extends SettingsManager {
6162
+ constructor(initialSettings, context) {
6163
+ super(initialSettings);
6164
+ this.context = context;
6165
+ const recomputeSettingsOnContextChange$ = rxjs.combineLatest([
6166
+ context.hasVerticalWriting$,
6167
+ context.manifest$
6168
+ ]).pipe(
5585
6169
  operators.tap(() => {
5586
6170
  this.update(this.settings);
5587
6171
  })
@@ -5595,8 +6179,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5595
6179
  this.settings$.subscribe();
5596
6180
  }
5597
6181
  getComputedSettings(settings) {
5598
- const manifest = __privateGet(this, _context).manifest;
5599
- const hasVerticalWriting = __privateGet(this, _context).state.hasVerticalWriting ?? false;
6182
+ const manifest = this.context.manifest;
6183
+ const hasVerticalWriting = this.context.state.hasVerticalWriting ?? false;
5600
6184
  const computedSettings = {
5601
6185
  computedPageTurnDirection: settings.pageTurnDirection,
5602
6186
  computedPageTurnAnimation: settings.pageTurnAnimation,
@@ -5607,7 +6191,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5607
6191
  computedSettings.computedPageTurnMode = `scrollable`;
5608
6192
  computedSettings.computedPageTurnDirection = `vertical`;
5609
6193
  } else if (manifest && settings.pageTurnMode === `scrollable` && (manifest.renditionLayout !== `pre-paginated` || !areAllItemsPrePaginated(manifest))) {
5610
- Report.warn(`pageTurnMode ${settings.pageTurnMode} incompatible with current book, switching back to default`);
6194
+ Report.warn(
6195
+ `pageTurnMode ${settings.pageTurnMode} incompatible with current book, switching back to default`
6196
+ );
5611
6197
  computedSettings.computedPageTurnAnimation = `none`;
5612
6198
  computedSettings.computedPageTurnMode = `controlled`;
5613
6199
  } else if (settings.pageTurnMode === `scrollable`) {
@@ -5628,22 +6214,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5628
6214
  }
5629
6215
  return computedSettings;
5630
6216
  }
5631
- _prepareUpdate(settings) {
5632
- const state = this.getOutputSettings(settings);
5633
- const hasChanged = !isShallowEqual(this.outputSettings, state);
5634
- return {
5635
- hasChanged,
5636
- state,
5637
- commit: () => {
5638
- this.outputSettings = state;
5639
- if (hasChanged) {
5640
- this.outputSettingsUpdateSubject.next(state);
5641
- }
5642
- }
5643
- };
5644
- }
5645
6217
  getOutputSettings(inputSettings) {
5646
- const computedSettings = this.getComputedSettings({ ...this.outputSettings, ...inputSettings });
6218
+ const computedSettings = this.getComputedSettings(inputSettings);
5647
6219
  return { ...this.outputSettings, ...inputSettings, ...computedSettings };
5648
6220
  }
5649
6221
  getDefaultSettings() {
@@ -5662,18 +6234,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5662
6234
  numberOfAdjacentSpineItemToPreLoad: 0
5663
6235
  };
5664
6236
  }
5665
- update(settings) {
5666
- const { commit } = this._prepareUpdate(settings);
5667
- commit();
5668
- }
5669
- get settings() {
5670
- return this.outputSettings;
5671
- }
5672
- destroy() {
5673
- this.outputSettingsUpdateSubject.complete();
5674
- }
5675
6237
  }
5676
- _context = new WeakMap();
5677
6238
  class HookManager {
5678
6239
  constructor() {
5679
6240
  this._hooks = [];
@@ -5704,7 +6265,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5704
6265
  };
5705
6266
  }
5706
6267
  execute(name, id, params) {
5707
- const hooks = this._hooks.filter((hook) => name === hook.name);
6268
+ const hooks = this._hooks.filter(
6269
+ (hook) => name === hook.name
6270
+ );
5708
6271
  const fnResults = hooks.map((hook) => {
5709
6272
  let userDestroyFn = () => rxjs.of(void 0);
5710
6273
  const destroySubject = new rxjs.Subject();
@@ -5717,7 +6280,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5717
6280
  const result = userDestroyFn();
5718
6281
  return result ?? rxjs.of(void 0);
5719
6282
  };
5720
- const fnResult = hook.runFn({ ...params, destroy$: destroySubject.asObservable(), destroy });
6283
+ const fnResult = hook.runFn({
6284
+ ...params,
6285
+ destroy$: destroySubject.asObservable(),
6286
+ destroy
6287
+ });
5721
6288
  this._hookExecutions.push({
5722
6289
  name,
5723
6290
  id,
@@ -5736,7 +6303,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5736
6303
  name === hookInstance.name && (!id || id && id === hookInstance.id)
5737
6304
  )
5738
6305
  );
5739
- this._hookExecutions = this._hookExecutions.filter((instance) => !instances.includes(instance));
6306
+ this._hookExecutions = this._hookExecutions.filter(
6307
+ (instance) => !instances.includes(instance)
6308
+ );
5740
6309
  const destroyFns = instances.map(({ destroyFn }) => destroyFn());
5741
6310
  return rxjs.combineLatest(destroyFns);
5742
6311
  }
@@ -5757,9 +6326,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5757
6326
  const hookManager = new HookManager();
5758
6327
  const context = new Context();
5759
6328
  const settingsManager = new ReaderSettingsManager(inputSettings, context);
5760
- const spineItemManager = createSpineItemManager({ context, settings: settingsManager });
6329
+ const spineItemManager = createSpineItemManager({
6330
+ context,
6331
+ settings: settingsManager
6332
+ });
5761
6333
  const pagination = createPagination({ context, spineItemManager });
5762
- const elementSubject$ = new rxjs.BehaviorSubject(void 0);
6334
+ const elementSubject$ = new rxjs.BehaviorSubject(
6335
+ void 0
6336
+ );
5763
6337
  const element$ = elementSubject$.pipe(operators.filter(isDefined));
5764
6338
  const spineItemLocator = createLocationResolver$1({ context });
5765
6339
  const spineLocator = createLocationResolver({
@@ -5802,8 +6376,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5802
6376
  });
5803
6377
  viewportNavigator.$.state$.subscribe(viewportStateSubject);
5804
6378
  viewportNavigator.$.navigation$.subscribe(navigationSubject);
5805
- viewportNavigator.$.navigationAdjustedAfterLayout$.subscribe(navigationAdjustedSubject);
5806
- viewportNavigator.$.currentNavigationPosition$.subscribe(currentNavigationPositionSubject$);
6379
+ viewportNavigator.$.navigationAdjustedAfterLayout$.subscribe(
6380
+ navigationAdjustedSubject
6381
+ );
6382
+ viewportNavigator.$.currentNavigationPosition$.subscribe(
6383
+ currentNavigationPositionSubject$
6384
+ );
5807
6385
  const layout = () => {
5808
6386
  var _a;
5809
6387
  const containerElement = (_a = elementSubject$.getValue()) == null ? void 0 : _a.parentElement;
@@ -5845,7 +6423,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5845
6423
  elementSubject$.next(element);
5846
6424
  loadOptions.containerElement.appendChild(element);
5847
6425
  }
5848
- context.update({ manifest, ...loadOptions, forceSinglePageMode: settingsManager.settings.forceSinglePageMode });
6426
+ context.update({
6427
+ manifest,
6428
+ ...loadOptions,
6429
+ forceSinglePageMode: settingsManager.settings.forceSinglePageMode
6430
+ });
5849
6431
  layout();
5850
6432
  if (!loadOptions.cfi) {
5851
6433
  viewportNavigator.goToSpineItem(0, { animate: false });
@@ -5930,7 +6512,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
5930
6512
  * have an effect.
5931
6513
  * It can typically be used to hide a loading indicator.
5932
6514
  */
5933
- loadStatus$: context.manifest$.pipe(operators.map((manifest) => manifest ? "ready" : "idle")),
6515
+ loadStatus$: context.manifest$.pipe(
6516
+ operators.map((manifest) => manifest ? "ready" : "idle")
6517
+ ),
5934
6518
  /**
5935
6519
  * Dispatched when a change in selection happens
5936
6520
  */
@@ -6097,7 +6681,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6097
6681
  operators.mergeMap(({ id, data }) => {
6098
6682
  const item = retrieveItem(id);
6099
6683
  if (!item) return rxjs.EMPTY;
6100
- return rxjs.from(rxjs.forkJoin([openDatabase(`prose-reader`), rxjs.from(data.blob())])).pipe(
6684
+ return rxjs.from(
6685
+ rxjs.forkJoin([openDatabase(`prose-reader`), rxjs.from(data.blob())])
6686
+ ).pipe(
6101
6687
  operators.switchMap(([db, blob]) => {
6102
6688
  return rxjs.from(db.put(`${uniqueID}_${item.id}`, blob));
6103
6689
  }),
@@ -6120,7 +6706,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6120
6706
  return rxjs.from(openDatabase(`prose-reader`)).pipe(
6121
6707
  operators.switchMap(
6122
6708
  (db) => rxjs.from(db.keys()).pipe(
6123
- operators.map((keys) => keys.filter((key) => !key.toString().startsWith(uniqueID))),
6709
+ operators.map(
6710
+ (keys) => keys.filter((key) => !key.toString().startsWith(uniqueID))
6711
+ ),
6124
6712
  operators.switchMap((keysToRemove) => {
6125
6713
  const promises = keysToRemove.map((key) => db.remove(key));
6126
6714
  return rxjs.from(Promise.all(promises));
@@ -6167,7 +6755,9 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6167
6755
  entries.forEach((entry) => {
6168
6756
  var _a;
6169
6757
  const frame = entry.target;
6170
- const audios = Array.from(((_a = frame.contentDocument) == null ? void 0 : _a.body.getElementsByTagName(`audio`)) || []);
6758
+ const audios = Array.from(
6759
+ ((_a = frame.contentDocument) == null ? void 0 : _a.body.getElementsByTagName(`audio`)) || []
6760
+ );
6171
6761
  if (!entry.isIntersecting) {
6172
6762
  audios.forEach((audioElement) => {
6173
6763
  audioElement.pause();
@@ -6246,7 +6836,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6246
6836
  let totalProgress = estimateBeforeThisItem + progressWithinThisItem;
6247
6837
  if (((_f = context.manifest) == null ? void 0 : _f.renditionFlow) === `scrolled-continuous`) {
6248
6838
  if (currentItem.isReady()) {
6249
- progressWithinThisItem = getScrollPercentageWithinItem(context, currentPosition, currentItem);
6839
+ progressWithinThisItem = getScrollPercentageWithinItem(
6840
+ context,
6841
+ currentPosition,
6842
+ currentItem
6843
+ );
6250
6844
  } else {
6251
6845
  progressWithinThisItem = 0;
6252
6846
  }
@@ -6268,9 +6862,21 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6268
6862
  const { height, width } = currentItem.getElementDimensions();
6269
6863
  const { top, left } = reader.spineItemManager.getAbsolutePositionOf(currentItem);
6270
6864
  if (reader.settings.settings.computedPageTurnDirection === `vertical`) {
6271
- return Math.max(0, Math.min(1, (currentPosition.y - top + context.state.visibleAreaRect.height) / height));
6865
+ return Math.max(
6866
+ 0,
6867
+ Math.min(
6868
+ 1,
6869
+ (currentPosition.y - top + context.state.visibleAreaRect.height) / height
6870
+ )
6871
+ );
6272
6872
  } else {
6273
- return Math.max(0, Math.min(1, (currentPosition.x - left + context.state.visibleAreaRect.width) / width));
6873
+ return Math.max(
6874
+ 0,
6875
+ Math.min(
6876
+ 1,
6877
+ (currentPosition.x - left + context.state.visibleAreaRect.width) / width
6878
+ )
6879
+ );
6274
6880
  }
6275
6881
  };
6276
6882
  return {
@@ -6330,19 +6936,25 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6330
6936
  const webkitEnhancer = (createReader2) => (options) => {
6331
6937
  const reader = createReader2(options);
6332
6938
  if (IS_SAFARI) {
6333
- reader.hookManager.register("viewportNavigator.onBeforeContainerCreated", ({ element }) => {
6334
- element.style.cssText = `
6939
+ reader.hookManager.register(
6940
+ "viewportNavigator.onBeforeContainerCreated",
6941
+ ({ element }) => {
6942
+ element.style.cssText = `
6335
6943
  ${element.style.cssText}
6336
6944
  -webkit-transform-style: preserve-3d;
6337
6945
  `;
6338
- });
6339
- reader.hookManager.register("item.onBeforeContainerCreated", ({ element }) => {
6340
- element.style.cssText = `
6946
+ }
6947
+ );
6948
+ reader.hookManager.register(
6949
+ "item.onBeforeContainerCreated",
6950
+ ({ element }) => {
6951
+ element.style.cssText = `
6341
6952
  ${element.style.cssText}
6342
6953
  -webkit-transform-style: preserve-3d;
6343
6954
  -webkit-backface-visibility: hidden;
6344
6955
  `;
6345
- });
6956
+ }
6957
+ );
6346
6958
  }
6347
6959
  return reader;
6348
6960
  };
@@ -6373,14 +6985,20 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6373
6985
  operators.tap(({ width, theme }) => {
6374
6986
  Object.values(entries).forEach((element) => {
6375
6987
  element.style.setProperty(`max-width`, `${width}px`);
6376
- element.style.setProperty(`color`, theme === `sepia` ? `#939393` : `rgb(202, 202, 202)`);
6988
+ element.style.setProperty(
6989
+ `color`,
6990
+ theme === `sepia` ? `#939393` : `rgb(202, 202, 202)`
6991
+ );
6377
6992
  });
6378
6993
  })
6379
6994
  );
6380
6995
  const updateEntriesVisibility$ = (entries) => reader.spineItemManager.$.itemIsReady$.pipe(
6381
6996
  operators.tap(({ item, isReady }) => {
6382
6997
  var _a;
6383
- (_a = entries[item.id]) == null ? void 0 : _a.style.setProperty(`visibility`, isReady ? `hidden` : `visible`);
6998
+ (_a = entries[item.id]) == null ? void 0 : _a.style.setProperty(
6999
+ `visibility`,
7000
+ isReady ? `hidden` : `visible`
7001
+ );
6384
7002
  })
6385
7003
  );
6386
7004
  const destroyEntries$ = (entries) => reader.spine.$.itemsBeforeDestroy$.pipe(
@@ -6396,7 +7014,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6396
7014
  );
6397
7015
  items$.pipe(
6398
7016
  operators.switchMap((entries) => rxjs.merge(rxjs.of(entries), destroyEntries$(entries))),
6399
- operators.switchMap((entries) => rxjs.merge(updateEntriesLayout$(entries), updateEntriesVisibility$(entries))),
7017
+ operators.switchMap(
7018
+ (entries) => rxjs.merge(
7019
+ updateEntriesLayout$(entries),
7020
+ updateEntriesVisibility$(entries)
7021
+ )
7022
+ ),
6400
7023
  operators.takeUntil(reader.$.destroy$)
6401
7024
  ).subscribe();
6402
7025
  return {
@@ -6466,7 +7089,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6466
7089
  const eventIsComingFromBridge = event.target === iframeEventBridgeElement$.getValue();
6467
7090
  const iframeOriginalEvent = getOriginalFrameEventFromDocumentEvent(event);
6468
7091
  const originalFrame = (_a = iframeOriginalEvent == null ? void 0 : iframeOriginalEvent.view) == null ? void 0 : _a.frameElement;
6469
- if (!eventIsComingFromBridge || !iframeOriginalEvent || !originalFrame) return event;
7092
+ if (!eventIsComingFromBridge || !iframeOriginalEvent || !originalFrame)
7093
+ return event;
6470
7094
  const spineItem = locator.getSpineItemFromIframe(originalFrame);
6471
7095
  if (!spineItem) return event;
6472
7096
  if (isPointerEvent(event)) {
@@ -6477,7 +7101,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6477
7101
  clientX,
6478
7102
  clientY
6479
7103
  });
6480
- Object.defineProperty(newEvent, `target`, { value: iframeOriginalEvent.target, enumerable: true });
7104
+ Object.defineProperty(newEvent, `target`, {
7105
+ value: iframeOriginalEvent.target,
7106
+ enumerable: true
7107
+ });
6481
7108
  return newEvent;
6482
7109
  }
6483
7110
  if (isMouseEvent(event)) {
@@ -6487,7 +7114,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6487
7114
  clientX,
6488
7115
  clientY
6489
7116
  });
6490
- Object.defineProperty(newEvent, `target`, { value: iframeOriginalEvent.target, enumerable: true });
7117
+ Object.defineProperty(newEvent, `target`, {
7118
+ value: iframeOriginalEvent.target,
7119
+ enumerable: true
7120
+ });
6491
7121
  return newEvent;
6492
7122
  }
6493
7123
  if (isTouchEvent(event)) {
@@ -6505,7 +7135,10 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6505
7135
  changedTouches: touches,
6506
7136
  targetTouches: touches
6507
7137
  });
6508
- Object.defineProperty(newEvent, `target`, { value: iframeOriginalEvent.target, enumerable: true });
7138
+ Object.defineProperty(newEvent, `target`, {
7139
+ value: iframeOriginalEvent.target,
7140
+ enumerable: true
7141
+ });
6509
7142
  return newEvent;
6510
7143
  }
6511
7144
  return event;
@@ -6646,6 +7279,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
6646
7279
  );
6647
7280
  exports2.HookManager = HookManager;
6648
7281
  exports2.Report = Report;
7282
+ exports2.SettingsManager = SettingsManager;
6649
7283
  exports2.createReader = createReaderWithEnhancers;
6650
7284
  exports2.groupBy = groupBy;
6651
7285
  exports2.isShallowEqual = isShallowEqual;