@prose-reader/core 1.66.0 → 1.67.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.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { takeUntil, Subject, combineLatest, map as map$1, switchMap, merge, EMPTY, fromEvent, withLatestFrom, NEVER, Observable, of, scheduled, animationFrameScheduler, distinctUntilChanged as distinctUntilChanged$1, startWith as startWith$1, BehaviorSubject, filter as filter$1, debounceTime, combineLatestWith, tap as tap$1, shareReplay as shareReplay$1, from, interval, iif, identity, take as take$1, forkJoin } from "rxjs";
2
- import { startWith, map, shareReplay, tap, pairwise, switchMap as switchMap$1, filter, take, distinctUntilChanged, takeUntil as takeUntil$1, skip, withLatestFrom as withLatestFrom$1, share, exhaustMap, mergeMap, catchError, debounce, debounceTime as debounceTime$1, delay } from "rxjs/operators";
1
+ import { takeUntil, Subject, combineLatest, map as map$1, switchMap, merge, EMPTY, fromEvent, withLatestFrom, NEVER, Observable, of, scheduled, animationFrameScheduler, distinctUntilChanged as distinctUntilChanged$1, startWith as startWith$1, BehaviorSubject, filter as filter$1, debounceTime as debounceTime$1, combineLatestWith, tap as tap$1, shareReplay as shareReplay$1, from, interval, iif, identity, take as take$1, forkJoin } from "rxjs";
2
+ import { startWith, map, shareReplay, tap, pairwise, switchMap as switchMap$1, filter, take, distinctUntilChanged, takeUntil as takeUntil$1, debounceTime, skip, withLatestFrom as withLatestFrom$1, share, exhaustMap, mergeMap, catchError, debounce, delay } from "rxjs/operators";
3
3
  import { parseContentType, detectMimeTypeFromName } from "@prose-reader/shared";
4
4
  const chromeEnhancer = (next) => (options) => {
5
5
  const reader = next(options);
@@ -467,20 +467,25 @@ const layoutEnhancer = (next) => (options) => {
467
467
  }
468
468
  );
469
469
  fixReflowable(reader);
470
- let observer;
471
- if (options.layoutAutoResize === `container`) {
472
- reader.context.state$.pipe(
473
- map((state) => state.containerElement),
474
- filter(isDefined),
475
- distinctUntilChanged(),
476
- takeUntil$1(reader.$.destroy$)
477
- ).subscribe((container) => {
478
- observer = new ResizeObserver(() => {
479
- reader == null ? void 0 : reader.layout();
480
- });
481
- observer.observe(container);
470
+ const observeContainerResize = (container) => new Observable((observer) => {
471
+ const resizeObserver = new ResizeObserver(() => {
472
+ observer.next();
482
473
  });
483
- }
474
+ resizeObserver.observe(container);
475
+ return () => {
476
+ resizeObserver.disconnect();
477
+ };
478
+ });
479
+ const layoutOnContainerResize$ = settingsManager.settings$.pipe(
480
+ filter(({ layoutAutoResize: layoutAutoResize2 }) => layoutAutoResize2 === "container"),
481
+ switchMap$1(() => reader.context.containerElement$),
482
+ filter(isDefined),
483
+ switchMap$1((container) => observeContainerResize(container)),
484
+ debounceTime(100),
485
+ tap(() => {
486
+ reader == null ? void 0 : reader.layout();
487
+ })
488
+ );
484
489
  const movingSafePan$ = createMovingSafePan$(reader);
485
490
  movingSafePan$.subscribe();
486
491
  settingsManager.settings$.pipe(
@@ -492,12 +497,12 @@ const layoutEnhancer = (next) => (options) => {
492
497
  }),
493
498
  takeUntil$1(reader.$.destroy$)
494
499
  ).subscribe();
500
+ merge(layoutOnContainerResize$).pipe(takeUntil$1(reader.$.destroy$)).subscribe();
495
501
  return {
496
502
  ...reader,
497
503
  destroy: () => {
498
504
  settingsManager.destroy();
499
505
  reader.destroy();
500
- observer == null ? void 0 : observer.disconnect();
501
506
  },
502
507
  settings: settingsManager
503
508
  };
@@ -883,7 +888,7 @@ const getNumberOfPagesForAllSpineItems = (reader) => reader.spineItemManager.get
883
888
  }, 0);
884
889
  const trackTotalPages = (reader) => {
885
890
  const totalPages$ = reader.spine.$.layout$.pipe(
886
- debounceTime(10, animationFrameScheduler),
891
+ debounceTime$1(10, animationFrameScheduler),
887
892
  withLatestFrom(reader.pagination.paginationInfo$),
888
893
  map$1(() => {
889
894
  const numberOfPagesPerItems = getNumberOfPagesForAllSpineItems(reader);
@@ -5033,7 +5038,7 @@ const createScrollViewportNavigator = ({
5033
5038
  });
5034
5039
  };
5035
5040
  const navigationOnScroll$ = userScroll$.pipe(
5036
- debounceTime$1(SCROLL_FINISHED_DEBOUNCE_TIMEOUT, animationFrameScheduler),
5041
+ debounceTime(SCROLL_FINISHED_DEBOUNCE_TIMEOUT, animationFrameScheduler),
5037
5042
  withLatestFrom$1(currentNavigationSubject$),
5038
5043
  switchMap$1(() => {
5039
5044
  var _a, _b;
@@ -5052,7 +5057,7 @@ const createScrollViewportNavigator = ({
5052
5057
  share()
5053
5058
  );
5054
5059
  const userScrollEnd$ = userScroll$.pipe(
5055
- debounceTime$1(SCROLL_FINISHED_DEBOUNCE_TIMEOUT, animationFrameScheduler),
5060
+ debounceTime(SCROLL_FINISHED_DEBOUNCE_TIMEOUT, animationFrameScheduler),
5056
5061
  share(),
5057
5062
  takeUntil$1(context.destroy$)
5058
5063
  );