@prose-reader/core 1.289.0 → 1.290.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.
Files changed (40) hide show
  1. package/dist/context/BridgeEvent.d.ts +3 -2
  2. package/dist/createReaderWithEnhancer.d.ts +9 -9
  3. package/dist/enhancers/navigation/bookBoundary.d.ts +8 -0
  4. package/dist/enhancers/navigation/bookBoundary.test.d.ts +1 -0
  5. package/dist/enhancers/navigation/boundary.d.ts +6 -0
  6. package/dist/enhancers/navigation/boundary.test.d.ts +1 -0
  7. package/dist/enhancers/navigation/navigators/UserScrollNavigation.d.ts +2 -3
  8. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +1 -1
  9. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.test.d.ts +1 -0
  10. package/dist/enhancers/navigation/types.d.ts +2 -0
  11. package/dist/enhancers/zoom/ZoomController.test.d.ts +1 -0
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +2485 -2409
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.umd.cjs +28 -28
  16. package/dist/index.umd.cjs.map +1 -1
  17. package/dist/navigation/InternalNavigator.d.ts +9 -24
  18. package/dist/navigation/Navigator.d.ts +9 -10
  19. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +3 -1
  20. package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +3 -2
  21. package/dist/navigation/consolidation/withFallbackPosition.d.ts +3 -1
  22. package/dist/navigation/controllers/ControlledNavigationController.d.ts +9 -8
  23. package/dist/navigation/controllers/ControlledNavigationController.test.d.ts +1 -0
  24. package/dist/navigation/controllers/ScrollNavigationController.d.ts +9 -8
  25. package/dist/navigation/controllers/positions.d.ts +6 -1
  26. package/dist/navigation/operators.d.ts +11 -0
  27. package/dist/navigation/resolvers/NavigationResolver.d.ts +4 -3
  28. package/dist/navigation/resolvers/clampRectInSpine.d.ts +13 -0
  29. package/dist/navigation/resolvers/clampRectInSpine.test.d.ts +1 -0
  30. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +5 -3
  31. package/dist/navigation/types.d.ts +25 -1
  32. package/dist/pagination/PaginationController.d.ts +3 -1
  33. package/dist/reader.d.ts +9 -9
  34. package/dist/spine/loader/SpineItemsLoader.d.ts +3 -1
  35. package/dist/spine/loader/SpineItemsLoader.test.d.ts +1 -0
  36. package/dist/utilities.d.ts +4 -0
  37. package/dist/viewport/Viewport.d.ts +4 -0
  38. package/package.json +4 -4
  39. package/dist/navigation/resolvers/fromOutOfBoundsSpinePosition.d.ts +0 -20
  40. package/dist/navigation/resolvers/fromUnboundSpinePosition.d.ts +0 -12
@@ -1,15 +1,16 @@
1
1
  import { BehaviorSubject, ReplaySubject, Observable } from 'rxjs';
2
2
  import { Navigation } from '../navigation/types';
3
3
  import { PaginationInfo } from '../pagination/types';
4
+ import { SpinePosition, UnboundSpinePosition } from '../spine/types';
4
5
  export declare class BridgeEvent {
5
6
  navigationSubject: ReplaySubject<Navigation>;
7
+ positionSubject: ReplaySubject<SpinePosition | UnboundSpinePosition>;
6
8
  viewportStateSubject: BehaviorSubject<"free" | "busy">;
7
9
  paginationSubject: ReplaySubject<PaginationInfo>;
8
- navigationIsLockedSubject: BehaviorSubject<boolean>;
9
10
  pagination$: Observable<PaginationInfo>;
10
- navigationUnlocked$: Observable<boolean>;
11
11
  viewportState$: Observable<"free" | "busy">;
12
12
  viewportFree$: Observable<"free">;
13
13
  viewportBusy$: Observable<"busy">;
14
14
  navigation$: Observable<Navigation>;
15
+ position$: Observable<SpinePosition | UnboundSpinePosition>;
15
16
  }
@@ -1,4 +1,4 @@
1
- import { CoreInputSettings, Theme, EnhancerLayoutInputSettings, EnhancerFontsInputSettings, Context, Spine, PageEntry, SpineItem, InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, SpinePosition, SpineItemPosition, UnboundSpinePosition, SpineItemsObserver, SpineItemsManager, ContextState, SettingsInterface, CoreOutputSettings, SpineItemReference, Viewport, Features, LayoutEnhancerOutput, ComputedCoreSettings, ExtraPaginationInfo, ResourcesLocator, NavigationEnhancerOutput, ZoomEnhancerOutput } from '.';
1
+ import { CoreInputSettings, Theme, EnhancerLayoutInputSettings, EnhancerFontsInputSettings, Context, Spine, PageEntry, SpineItem, InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, UserNavigationEntry, SpinePosition, SpineItemPosition, UnboundSpinePosition, NavigationVisibleArea, SpineBoundary, SpineItemsObserver, SpineItemsManager, ContextState, SettingsInterface, CoreOutputSettings, SpineItemReference, Viewport, Features, LayoutEnhancerOutput, ComputedCoreSettings, ExtraPaginationInfo, ResourcesLocator, NavigationEnhancerOutput, ZoomEnhancerOutput } from '.';
2
2
  import { HookManager, CoreHook } from './hooks';
3
3
  import { Manifest } from '@prose-reader/shared';
4
4
  import { ProseParsedCfi, resolveCfi } from './cfi';
@@ -36,10 +36,10 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
36
36
  internalNavigator: InternalNavigator;
37
37
  scrollNavigationController: ScrollNavigationController;
38
38
  controlledNavigationController: ControlledNavigationController;
39
- locker: Locker;
40
39
  navigationState$: Observable<"free" | "busy">;
41
40
  navigate: (to: UserNavigationEntry) => void;
42
- lock(): () => void;
41
+ lock: () => () => void;
42
+ isLocked$: Observable<boolean>;
43
43
  navigationResolver: {
44
44
  getNavigationForUrl: (url: string | URL) => {
45
45
  position: SpinePosition;
@@ -55,8 +55,8 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
55
55
  getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => SpinePosition;
56
56
  getNavigationForPosition: (viewportPosition: SpinePosition | UnboundSpinePosition) => SpinePosition;
57
57
  getMostPredominantNavigationForPosition: (viewportPosition: SpinePosition) => SpinePosition;
58
- fromUnboundSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
59
- fromOutOfBoundsSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition;
58
+ clampPositionInSpine: (position: SpinePosition | UnboundSpinePosition, size: NavigationVisibleArea) => UnboundSpinePosition;
59
+ getBoundaryForPosition: (position: SpinePosition | UnboundSpinePosition, size?: NavigationVisibleArea) => SpineBoundary | undefined;
60
60
  isNavigationGoingForwardFrom: (to: SpinePosition, from: SpinePosition) => boolean;
61
61
  arePositionsDifferent: (a: {
62
62
  x: number;
@@ -65,17 +65,17 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
65
65
  x: number;
66
66
  y: number;
67
67
  }) => boolean;
68
- getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
68
+ getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition;
69
69
  spineItemNavigator: {
70
70
  getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
71
71
  getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
72
72
  getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
73
73
  };
74
74
  };
75
- navigation$: Observable<{
76
- position: SpinePosition | UnboundSpinePosition;
77
- id: symbol;
75
+ navigation$: Observable<Pick< InternalNavigationEntry, "id" | "position" | "requestedPosition" | "requestedVisibleArea"> & {
76
+ triggeredBy: InternalNavigationEntry["meta"]["triggeredBy"];
78
77
  }>;
78
+ position$: Observable< SpinePosition | UnboundSpinePosition>;
79
79
  };
80
80
  spineItemsObserver: SpineItemsObserver;
81
81
  spineItemsManager: SpineItemsManager;
@@ -0,0 +1,8 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Reader } from '../../reader';
3
+ import { BoundaryReachedEvent } from './boundary';
4
+ export type BookBoundaryReachedOptions = {
5
+ itemReadinessTimeoutMs?: number;
6
+ };
7
+ export type BookBoundaryReachedEvent = BoundaryReachedEvent;
8
+ export declare const observeBookBoundaryReached: (reader: Reader, { itemReadinessTimeoutMs, }?: BookBoundaryReachedOptions) => Observable<BookBoundaryReachedEvent>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Reader } from '../../reader';
3
+ export type BoundaryReachedEvent = {
4
+ boundary: "start" | "end";
5
+ };
6
+ export declare const outOfSpineBoundary: (reader: Reader) => Observable<BoundaryReachedEvent>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,12 +1,11 @@
1
1
  import { Subject, Observable } from 'rxjs';
2
2
  import { ScrollNavigationController } from '../../../navigation/controllers/ScrollNavigationController';
3
- import { Locker } from '../../../navigation/Locker';
4
3
  import { UserNavigationEntry } from '../../../navigation/types';
5
4
  import { DestroyableClass } from '../../../utils/DestroyableClass';
6
5
  export declare class UserScrollNavigation extends DestroyableClass {
7
6
  protected scrollNavigationController: ScrollNavigationController;
8
- protected locker: Locker;
7
+ protected lock: () => () => void;
9
8
  protected navigationSubject: Subject<UserNavigationEntry>;
10
9
  navigation$: Observable<UserNavigationEntry>;
11
- constructor(scrollNavigationController: ScrollNavigationController, locker: Locker);
10
+ constructor(scrollNavigationController: ScrollNavigationController, lock: () => () => void);
12
11
  }
@@ -17,4 +17,4 @@ export declare const getNavigationForRightOrBottomPage: ({ position, spineItem,
17
17
  computedPageTurnDirection: "horizontal" | "vertical";
18
18
  viewport: Viewport;
19
19
  settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
20
- }) => SpinePosition;
20
+ }) => SpinePosition | UnboundSpinePosition;
@@ -1,5 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Reader } from '../../reader';
3
+ import { outOfSpineBoundary } from './boundary';
3
4
  import { ManualNavigator } from './navigators/manualNavigator';
4
5
  import { PanNavigator } from './navigators/panNavigator';
5
6
  import { observeState } from './state';
@@ -9,6 +10,7 @@ export type NavigationEnhancerOutput = {
9
10
  }) => void;
10
11
  navigation: {
11
12
  state$: ReturnType<typeof observeState>;
13
+ outOfSpineBoundary$: ReturnType<typeof outOfSpineBoundary>;
12
14
  throttleLock: <T>(params: {
13
15
  duration: number;
14
16
  trigger: Observable<T>;
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -37,8 +37,8 @@ export * from './spine/types';
37
37
  export * from './spineItem/SpineItem';
38
38
  export { SpineItem } from './spineItem/SpineItem';
39
39
  export * from './spineItem/types';
40
+ export * from './utilities';
40
41
  export * from './utils/DestroyableClass';
41
- export { isHtmlElement, isHtmlTagElement } from './utils/dom';
42
42
  export * from './utils/frames';
43
43
  export * from './utils/isDefined';
44
44
  export * from './utils/objects';