@prose-reader/core 1.240.0 → 1.242.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 (47) hide show
  1. package/dist/createReaderWithEnhancer.d.ts +11 -10
  2. package/dist/enhancers/layout/coordinates.d.ts +3 -3
  3. package/dist/enhancers/layout/types.d.ts +0 -1
  4. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -4
  5. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +3 -4
  6. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -4
  7. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +3 -4
  8. package/dist/enhancers/zoom/ControlledZoomController.d.ts +19 -0
  9. package/dist/enhancers/zoom/ScrollableZoomer.d.ts +10 -11
  10. package/dist/enhancers/zoom/ZoomController.d.ts +26 -0
  11. package/dist/enhancers/zoom/types.d.ts +8 -9
  12. package/dist/index.js +2019 -1922
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.umd.cjs +38 -38
  15. package/dist/index.umd.cjs.map +1 -1
  16. package/dist/navigation/InternalNavigator.d.ts +6 -5
  17. package/dist/navigation/Navigator.d.ts +12 -11
  18. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +4 -4
  19. package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +4 -1
  20. package/dist/navigation/consolidation/withFallbackPosition.d.ts +4 -1
  21. package/dist/navigation/consolidation/withSpineItem.d.ts +1 -1
  22. package/dist/navigation/consolidation/withSpineItemPosition.d.ts +1 -1
  23. package/dist/navigation/controllers/ScrollNavigationController.d.ts +9 -7
  24. package/dist/navigation/resolvers/NavigationResolver.d.ts +10 -10
  25. package/dist/navigation/resolvers/fromOutOfBoundsSpinePosition.d.ts +20 -0
  26. package/dist/navigation/resolvers/{getAdjustedPositionWithSafeEdge.d.ts → fromUnboundSpinePosition.d.ts} +3 -4
  27. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +3 -4
  28. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +2 -3
  29. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +2 -2
  30. package/dist/navigation/restoration/restorePosition.d.ts +4 -4
  31. package/dist/navigation/types.d.ts +6 -7
  32. package/dist/reader.d.ts +11 -10
  33. package/dist/spine/loader/SpineItemsLoader.d.ts +1 -1
  34. package/dist/spine/locator/SpineLocator.d.ts +9 -9
  35. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -3
  36. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +2 -3
  37. package/dist/spine/types.d.ts +4 -4
  38. package/dist/spineItem/locationResolver.d.ts +2 -2
  39. package/dist/spineItem/types.d.ts +1 -1
  40. package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +2 -3
  41. package/dist/viewport/types.d.ts +2 -2
  42. package/package.json +4 -4
  43. package/dist/enhancers/layout/viewportMode.d.ts +0 -3
  44. package/dist/enhancers/zoom/ControllableZoomer.d.ts +0 -18
  45. package/dist/enhancers/zoom/Zoomer.d.ts +0 -20
  46. package/dist/utils/layout.d.ts +0 -7
  47. package/dist/utils/layout.test.d.ts +0 -1
@@ -8,19 +8,20 @@ import { ControlledNavigationController } from './controllers/ControlledNavigati
8
8
  import { ScrollNavigationController } from './controllers/ScrollNavigationController';
9
9
  import { Locker } from './Locker';
10
10
  import { createNavigationResolver } from './resolvers/NavigationResolver';
11
- import { InternalNavigationEntry, UserNavigationEntry, DeprecatedViewportPosition, NavigationConsolidation } from './types';
11
+ import { InternalNavigationEntry, UserNavigationEntry, NavigationConsolidation } from './types';
12
+ import { UnboundSpinePosition } from '..';
12
13
  export declare class InternalNavigator extends DestroyableClass {
13
14
  protected settings: ReaderSettingsManager;
14
15
  protected context: Context;
15
16
  protected userNavigation$: Observable<UserNavigationEntry>;
16
- protected viewportController: ControlledNavigationController;
17
+ protected controlledNavigationController: ControlledNavigationController;
17
18
  protected scrollNavigationController: ScrollNavigationController;
18
19
  protected navigationResolver: ReturnType<typeof createNavigationResolver>;
19
20
  protected spine: Spine;
20
21
  protected isUserLocked$: Observable<boolean>;
21
22
  navigationSubject: BehaviorSubject<InternalNavigationEntry>;
22
23
  navigated$: Observable<{
23
- position: SpinePosition | DeprecatedViewportPosition;
24
+ position: SpinePosition | UnboundSpinePosition;
24
25
  id: symbol;
25
26
  meta: {
26
27
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -32,10 +33,10 @@ export declare class InternalNavigator extends DestroyableClass {
32
33
  cfi?: string;
33
34
  } & NavigationConsolidation>;
34
35
  navigation$: Observable<{
35
- position: SpinePosition;
36
+ position: SpinePosition | UnboundSpinePosition;
36
37
  id: symbol;
37
38
  }>;
38
39
  locker: Locker;
39
- constructor(settings: ReaderSettingsManager, context: Context, userNavigation$: Observable<UserNavigationEntry>, viewportController: ControlledNavigationController, scrollNavigationController: ScrollNavigationController, navigationResolver: ReturnType<typeof createNavigationResolver>, spine: Spine, isUserLocked$: Observable<boolean>);
40
+ constructor(settings: ReaderSettingsManager, context: Context, userNavigation$: Observable<UserNavigationEntry>, controlledNavigationController: ControlledNavigationController, scrollNavigationController: ScrollNavigationController, navigationResolver: ReturnType<typeof createNavigationResolver>, spine: Spine, isUserLocked$: Observable<boolean>);
40
41
  get navigation(): InternalNavigationEntry;
41
42
  }
@@ -8,9 +8,9 @@ import { ControlledNavigationController } from './controllers/ControlledNavigati
8
8
  import { ScrollNavigationController } from './controllers/ScrollNavigationController';
9
9
  import { InternalNavigator } from './InternalNavigator';
10
10
  import { Locker } from './Locker';
11
- import { UserNavigationEntry, InternalNavigationEntry, DeprecatedViewportPosition } from './types';
11
+ import { UserNavigationEntry, InternalNavigationEntry } from './types';
12
12
  import { Observable } from 'rxjs';
13
- import { SpinePosition, SpineItemPosition, SpineItem } from '..';
13
+ import { SpinePosition, SpineItemPosition, SpineItem, UnboundSpinePosition } from '..';
14
14
  import { getNavigationForSpineItemPage } from './resolvers/getNavigationForSpineItemPage';
15
15
  export declare const createNavigator: ({ spineItemsManager, context, hookManager, spine, settings, viewport, }: {
16
16
  spineItemsManager: SpineItemsManager;
@@ -39,13 +39,14 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
39
39
  spineItemPosition: SpineItemPosition;
40
40
  spineItem: SpineItem;
41
41
  }) => SpinePosition;
42
- getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
43
- getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
44
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
45
- getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
46
- getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
47
- getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
48
- isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
42
+ getNavigationForCfi: (cfi: string) => SpinePosition | undefined;
43
+ getNavigationForLastPage: (spineItem: SpineItem) => SpinePosition;
44
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => SpinePosition;
45
+ getNavigationForPosition: (viewportPosition: SpinePosition | UnboundSpinePosition) => SpinePosition;
46
+ getMostPredominantNavigationForPosition: (viewportPosition: SpinePosition) => SpinePosition;
47
+ fromUnboundSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
48
+ fromOutOfBoundsSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition;
49
+ isNavigationGoingForwardFrom: (to: SpinePosition, from: SpinePosition) => boolean;
49
50
  arePositionsDifferent: (a: {
50
51
  x: number;
51
52
  y: number;
@@ -53,7 +54,7 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
53
54
  x: number;
54
55
  y: number;
55
56
  }) => boolean;
56
- getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
57
+ getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
57
58
  spineItemNavigator: {
58
59
  getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
59
60
  getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
@@ -61,7 +62,7 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
61
62
  };
62
63
  };
63
64
  navigation$: Observable<{
64
- position: SpinePosition;
65
+ position: SpinePosition | UnboundSpinePosition;
65
66
  id: symbol;
66
67
  }>;
67
68
  };
@@ -1,13 +1,13 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../../context/Context';
3
3
  import { Spine } from '../../spine/Spine';
4
- import { InternalNavigationEntry, DeprecatedViewportPosition } from '../types';
5
- import { SpinePosition, SpineItemPosition } from '../..';
4
+ import { InternalNavigationEntry } from '../types';
5
+ import { SpinePosition, UnboundSpinePosition, SpineItemPosition, UnboundSpineItemPagePosition } from '../..';
6
6
  export declare const consolidateWithPagination: (context: Context, navigation$: Observable<InternalNavigationEntry>, spine: Spine) => Observable<{
7
7
  meta: {
8
8
  triggeredBy: "pagination";
9
9
  };
10
- position: SpinePosition | DeprecatedViewportPosition;
10
+ position: SpinePosition | UnboundSpinePosition;
11
11
  id: symbol;
12
12
  type: `api` | `scroll`;
13
13
  animation?: boolean | `turn` | `snap`;
@@ -21,6 +21,6 @@ export declare const consolidateWithPagination: (context: Context, navigation$:
21
21
  spineItemIsReady?: boolean;
22
22
  spineItemIsUsingVerticalWriting?: boolean;
23
23
  paginationBeginCfi?: string;
24
- positionInSpineItem?: SpineItemPosition;
24
+ positionInSpineItem?: SpineItemPosition | UnboundSpineItemPagePosition;
25
25
  directionFromLastNavigation?: "forward" | "backward" | "anchor";
26
26
  }>;
@@ -1,6 +1,9 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { NavigationResolver } from '../resolvers/NavigationResolver';
2
3
  import { InternalNavigationEntry, InternalNavigationInput, UserNavigationEntry } from '../types';
3
- export declare const mapUserNavigationToInternal: (stream: Observable<[UserNavigationEntry, InternalNavigationEntry]>) => Observable<{
4
+ export declare const mapUserNavigationToInternal: ({ navigationResolver }: {
5
+ navigationResolver: NavigationResolver;
6
+ }) => (stream: Observable<[UserNavigationEntry, InternalNavigationEntry]>) => Observable<{
4
7
  navigation: InternalNavigationInput;
5
8
  previousNavigation: InternalNavigationEntry;
6
9
  }>;
@@ -1,12 +1,15 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
2
3
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
4
  import { NavigationResolver } from '../resolvers/NavigationResolver';
4
5
  import { InternalNavigationEntry, InternalNavigationInput } from '../types';
5
- export declare const withFallbackPosition: ({ spineItemsManager, navigationResolver, }: {
6
+ export declare const withFallbackPosition: ({ spineItemsManager, navigationResolver, settings, }: {
6
7
  spineItemsManager: SpineItemsManager;
7
8
  navigationResolver: NavigationResolver;
9
+ settings: ReaderSettingsManager;
8
10
  }) => <Navigation extends {
9
11
  navigation: InternalNavigationInput;
12
+ previousNavigation: InternalNavigationEntry;
10
13
  }>(stream: Observable<Navigation>) => Observable<Omit<Navigation, "navigation"> & {
11
14
  navigation: InternalNavigationEntry;
12
15
  }>;
@@ -1,8 +1,8 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../../context/Context';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
- import { SpineItemsManager } from '../../spine/SpineItemsManager';
5
4
  import { SpineLocator } from '../../spine/locator/SpineLocator';
5
+ import { SpineItemsManager } from '../../spine/SpineItemsManager';
6
6
  import { NavigationResolver } from '../resolvers/NavigationResolver';
7
7
  import { InternalNavigationInput } from '../types';
8
8
  type Navigation = {
@@ -1,7 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
- import { SpineItemsManager } from '../../spine/SpineItemsManager';
4
3
  import { SpineLocator } from '../../spine/locator/SpineLocator';
4
+ import { SpineItemsManager } from '../../spine/SpineItemsManager';
5
5
  import { NavigationResolver } from '../resolvers/NavigationResolver';
6
6
  import { InternalNavigationEntry, InternalNavigationInput } from '../types';
7
7
  type Navigation = {
@@ -3,13 +3,15 @@ import { Context } from '../../context/Context';
3
3
  import { HookManager } from '../../hooks/HookManager';
4
4
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
5
  import { Spine } from '../../spine/Spine';
6
- import { SpinePosition } from '../../spine/types';
6
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
7
7
  import { AbstractPosition } from '../../types';
8
8
  import { ReactiveEntity } from '../../utils/ReactiveEntity';
9
9
  import { Viewport } from '../../viewport/Viewport';
10
- import { ViewportNavigationEntry } from './ControlledNavigationController';
11
10
  export declare class ScrollPosition extends AbstractPosition {
12
11
  }
12
+ export type ScrollNavigationViewportNavigationEntry = {
13
+ position: UnboundSpinePosition | SpinePosition;
14
+ };
13
15
  export declare class ScrollNavigationController extends ReactiveEntity<{
14
16
  element: HTMLElement | undefined;
15
17
  }> {
@@ -18,18 +20,18 @@ export declare class ScrollNavigationController extends ReactiveEntity<{
18
20
  protected hookManager: HookManager;
19
21
  protected spine: Spine;
20
22
  protected context: Context;
21
- protected navigateSubject: Subject<ViewportNavigationEntry>;
23
+ protected navigateSubject: Subject<ScrollNavigationViewportNavigationEntry>;
22
24
  protected scrollingSubject: BehaviorSubject<boolean>;
23
25
  isScrolling$: Observable<boolean>;
24
26
  isNavigating$: Observable<boolean>;
25
27
  userScroll$: Observable<Event>;
26
28
  constructor(viewport: Viewport, settings: ReaderSettingsManager, hookManager: HookManager, spine: Spine, context: Context);
27
- protected setViewportPosition: ({ position }: ViewportNavigationEntry) => void;
29
+ protected setViewportPosition: ({ position, }: ScrollNavigationViewportNavigationEntry) => void;
28
30
  update(value: Partial<{
29
31
  element: HTMLElement | undefined;
30
32
  }>): void;
31
- navigate(navigation: ViewportNavigationEntry): void;
32
- fromScrollPosition(position: ScrollPosition): SpinePosition;
33
- fromSpinePosition(position: SpinePosition): ScrollPosition;
33
+ navigate(navigation: ScrollNavigationViewportNavigationEntry): void;
34
+ fromScrollPosition(position: ScrollPosition): UnboundSpinePosition;
35
+ fromSpinePosition(position: UnboundSpinePosition | SpinePosition): ScrollPosition;
34
36
  get scrollPosition(): ScrollPosition;
35
37
  }
@@ -3,11 +3,10 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineLocator } from '../../spine/locator/SpineLocator';
4
4
  import { Spine } from '../../spine/Spine';
5
5
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
6
- import { SpinePosition } from '../../spine/types';
6
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
7
7
  import { SpineItem } from '../../spineItem/SpineItem';
8
8
  import { SpineItemPosition } from '../../spineItem/types';
9
9
  import { Viewport } from '../../viewport/Viewport';
10
- import { DeprecatedViewportPosition } from '../types';
11
10
  import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage';
12
11
  export declare const NAMESPACE = "spineNavigator";
13
12
  export type NavigationResolver = ReturnType<typeof createNavigationResolver>;
@@ -28,13 +27,14 @@ export declare const createNavigationResolver: ({ context, spineItemsManager, lo
28
27
  spineItemPosition: SpineItemPosition;
29
28
  spineItem: SpineItem;
30
29
  }) => SpinePosition;
31
- getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
32
- getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
33
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
34
- getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
35
- getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
36
- getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
37
- isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
30
+ getNavigationForCfi: (cfi: string) => SpinePosition | undefined;
31
+ getNavigationForLastPage: (spineItem: SpineItem) => SpinePosition;
32
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => SpinePosition;
33
+ getNavigationForPosition: (viewportPosition: SpinePosition | UnboundSpinePosition) => SpinePosition;
34
+ getMostPredominantNavigationForPosition: (viewportPosition: SpinePosition) => SpinePosition;
35
+ fromUnboundSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
36
+ fromOutOfBoundsSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition;
37
+ isNavigationGoingForwardFrom: (to: SpinePosition, from: SpinePosition) => boolean;
38
38
  arePositionsDifferent: (a: {
39
39
  x: number;
40
40
  y: number;
@@ -42,7 +42,7 @@ export declare const createNavigationResolver: ({ context, spineItemsManager, lo
42
42
  x: number;
43
43
  y: number;
44
44
  }) => boolean;
45
- getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
45
+ getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
46
46
  spineItemNavigator: {
47
47
  getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
48
48
  getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
@@ -0,0 +1,20 @@
1
+ import { Spine } from '../../spine/Spine';
2
+ import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
4
+ export declare const NAMESPACE = "spineNavigator";
5
+ type SharedParams = {
6
+ isRTL: boolean;
7
+ spineItemsManager: SpineItemsManager;
8
+ spine: Spine;
9
+ viewportWidth: number;
10
+ };
11
+ export declare function fromOutOfBoundsSpinePosition(params: SharedParams & {
12
+ position: SpinePosition;
13
+ }): SpinePosition;
14
+ export declare function fromOutOfBoundsSpinePosition(params: SharedParams & {
15
+ position: UnboundSpinePosition;
16
+ }): UnboundSpinePosition;
17
+ export declare function fromOutOfBoundsSpinePosition(params: SharedParams & {
18
+ position: UnboundSpinePosition | SpinePosition;
19
+ }): UnboundSpinePosition | SpinePosition;
20
+ export {};
@@ -1,10 +1,9 @@
1
1
  import { Spine } from '../../spine/Spine';
2
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
- import { SpinePosition } from '../../spine/types';
4
- import { DeprecatedViewportPosition } from '../types';
3
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
5
4
  export declare const NAMESPACE = "spineNavigator";
6
- export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spine, }: {
7
- position: DeprecatedViewportPosition | SpinePosition;
5
+ export declare const fromUnboundSpinePosition: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spine, }: {
6
+ position: SpinePosition | UnboundSpinePosition;
8
7
  isRTL: boolean;
9
8
  pageSizeHeight: number;
10
9
  spineItemsManager: SpineItemsManager;
@@ -1,7 +1,6 @@
1
- import { SpinePosition } from '../../spine/types';
2
- import { DeprecatedViewportPosition } from '../types';
1
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
3
2
  export declare const getAdjustedPositionForSpread: ({ position: { x, y }, pageSizeWidth, visibleAreaRectWidth, }: {
4
- position: DeprecatedViewportPosition | SpinePosition;
3
+ position: SpinePosition | UnboundSpinePosition;
5
4
  pageSizeWidth: number;
6
5
  visibleAreaRectWidth: number;
7
- }) => DeprecatedViewportPosition;
6
+ }) => SpinePosition;
@@ -1,10 +1,9 @@
1
1
  import { SpineLocator } from '../../spine/locator/SpineLocator';
2
- import { SpinePosition } from '../../spine/types';
2
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
3
3
  import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
4
4
  import { Viewport } from '../../viewport/Viewport';
5
- import { DeprecatedViewportPosition } from '../types';
6
5
  export declare const getNavigationForPosition: ({ viewportPosition, spineLocator, spineItemNavigationResolver, viewport, }: {
7
- viewportPosition: DeprecatedViewportPosition | SpinePosition;
6
+ viewportPosition: SpinePosition | UnboundSpinePosition;
8
7
  spineLocator: SpineLocator;
9
8
  spineItemNavigationResolver: SpineItemNavigationResolver;
10
9
  viewport: Viewport;
@@ -1,9 +1,9 @@
1
1
  import { SpineLocator } from '../../spine/locator/SpineLocator';
2
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
+ import { SpinePosition } from '../../spine/types';
3
4
  import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
4
5
  import { SpineItem } from '../../spineItem/SpineItem';
5
6
  import { Viewport } from '../../viewport/Viewport';
6
- import { DeprecatedViewportPosition } from '../types';
7
7
  export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsManager, spineItemId, spineLocator, spineItemNavigationResolver, viewport, }: {
8
8
  pageIndex: number;
9
9
  spineItemId: SpineItem | number | string;
@@ -11,4 +11,4 @@ export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsMana
11
11
  spineItemNavigationResolver: SpineItemNavigationResolver;
12
12
  spineLocator: SpineLocator;
13
13
  viewport: Viewport;
14
- }) => DeprecatedViewportPosition;
14
+ }) => SpinePosition;
@@ -1,13 +1,13 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../../context/Context';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
+ import { SpineLocator } from '../../spine/locator/SpineLocator';
4
5
  import { Spine } from '../../spine/Spine';
5
6
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
6
- import { SpineLocator } from '../../spine/locator/SpineLocator';
7
- import { SpinePosition } from '../../spine/types';
7
+ import { SpinePosition, UnboundSpinePosition } from '../../spine/types';
8
8
  import { SpineItemLocator } from '../../spineItem/locationResolver';
9
9
  import { NavigationResolver } from '../resolvers/NavigationResolver';
10
- import { DeprecatedViewportPosition, InternalNavigationEntry } from '../types';
10
+ import { InternalNavigationEntry } from '../types';
11
11
  export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver, spine, }: {
12
12
  spineLocator: SpineLocator;
13
13
  settings: ReaderSettingsManager;
@@ -17,4 +17,4 @@ export declare const restorePosition: ({ navigation, spineItemsManager, settings
17
17
  spineItemLocator: SpineItemLocator;
18
18
  context: Context;
19
19
  spine: Spine;
20
- }) => Observable<DeprecatedViewportPosition | SpinePosition>;
20
+ }) => Observable<SpinePosition | UnboundSpinePosition>;
@@ -1,8 +1,7 @@
1
- import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
2
- import { SpineItemPosition } from '../spineItem/types';
3
- export type DeprecatedViewportPosition = SpinePosition;
1
+ import { SpinePosition, UnboundSpinePosition } from '../spine/types';
2
+ import { SpineItemPosition, UnboundSpineItemPagePosition } from '../spineItem/types';
4
3
  export type UserNavigationEntry = {
5
- position?: DeprecatedViewportPosition | SpinePosition | UnsafeSpinePosition;
4
+ position?: SpinePosition | UnboundSpinePosition;
6
5
  spineItem?: number | string;
7
6
  url?: string | URL;
8
7
  cfi?: string;
@@ -18,11 +17,11 @@ export type NavigationConsolidation = {
18
17
  spineItemIsReady?: boolean;
19
18
  spineItemIsUsingVerticalWriting?: boolean;
20
19
  paginationBeginCfi?: string;
21
- positionInSpineItem?: SpineItemPosition;
20
+ positionInSpineItem?: SpineItemPosition | UnboundSpineItemPagePosition;
22
21
  directionFromLastNavigation?: "forward" | "backward" | "anchor";
23
22
  };
24
23
  export type InternalNavigationEntry = {
25
- position: SpinePosition | DeprecatedViewportPosition;
24
+ position: SpinePosition | UnboundSpinePosition;
26
25
  id: symbol;
27
26
  meta: {
28
27
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -34,6 +33,6 @@ export type InternalNavigationEntry = {
34
33
  cfi?: string;
35
34
  } & NavigationConsolidation;
36
35
  export type InternalNavigationInput = Omit<InternalNavigationEntry, "position"> & {
37
- position?: SpinePosition | DeprecatedViewportPosition;
36
+ position?: SpinePosition | UnboundSpinePosition;
38
37
  };
39
38
  export type Navigation = Pick<InternalNavigationEntry, "position" | "id">;
package/dist/reader.d.ts CHANGED
@@ -12,7 +12,7 @@ import { SpineItem, SpineItemReference } from './spineItem/SpineItem';
12
12
  import { Viewport } from './viewport/Viewport';
13
13
  import { CoreHook } from './hooks';
14
14
  import { Manifest } from '@prose-reader/shared';
15
- import { InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, SpinePosition, SpineItemPosition, DeprecatedViewportPosition, SpineItemsObserver, CoreOutputSettings } from '.';
15
+ import { InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, SpinePosition, SpineItemPosition, UnboundSpinePosition, SpineItemsObserver, CoreOutputSettings } from '.';
16
16
  import { getNavigationForSpineItemPage } from './navigation/resolvers/getNavigationForSpineItemPage';
17
17
  import { PaginationInfo } from './pagination';
18
18
  export type CreateReaderOptions = Partial<CoreInputSettings>;
@@ -67,13 +67,14 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
67
67
  spineItemPosition: SpineItemPosition;
68
68
  spineItem: SpineItem;
69
69
  }) => SpinePosition;
70
- getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
71
- getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
72
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
73
- getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
74
- getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
75
- getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
76
- isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
70
+ getNavigationForCfi: (cfi: string) => SpinePosition | undefined;
71
+ getNavigationForLastPage: (spineItem: SpineItem) => SpinePosition;
72
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => SpinePosition;
73
+ getNavigationForPosition: (viewportPosition: SpinePosition | UnboundSpinePosition) => SpinePosition;
74
+ getMostPredominantNavigationForPosition: (viewportPosition: SpinePosition) => SpinePosition;
75
+ fromUnboundSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
76
+ fromOutOfBoundsSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition;
77
+ isNavigationGoingForwardFrom: (to: SpinePosition, from: SpinePosition) => boolean;
77
78
  arePositionsDifferent: (a: {
78
79
  x: number;
79
80
  y: number;
@@ -81,7 +82,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
81
82
  x: number;
82
83
  y: number;
83
84
  }) => boolean;
84
- getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
85
+ getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
85
86
  spineItemNavigator: {
86
87
  getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
87
88
  getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
@@ -89,7 +90,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
89
90
  };
90
91
  };
91
92
  navigation$: Observable<{
92
- position: SpinePosition;
93
+ position: SpinePosition | UnboundSpinePosition;
93
94
  id: symbol;
94
95
  }>;
95
96
  };
@@ -2,9 +2,9 @@ import { Context } from '../../context/Context';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItem } from '../../spineItem/SpineItem';
4
4
  import { DestroyableClass } from '../../utils/DestroyableClass';
5
+ import { SpineLocator } from '../locator/SpineLocator';
5
6
  import { SpineItemsManager } from '../SpineItemsManager';
6
7
  import { SpineLayout } from '../SpineLayout';
7
- import { SpineLocator } from '../locator/SpineLocator';
8
8
  export declare class SpineItemsLoader extends DestroyableClass {
9
9
  protected context: Context;
10
10
  protected spineItemsManager: SpineItemsManager;
@@ -7,10 +7,10 @@ import { ViewportSlicePosition } from '../../viewport/types';
7
7
  import { Viewport } from '../../viewport/Viewport';
8
8
  import { SpineItemsManager } from '../SpineItemsManager';
9
9
  import { SpineLayout } from '../SpineLayout';
10
- import { SpinePosition, UnsafeSpinePosition } from '../types';
10
+ import { SpinePosition, UnboundSpinePosition } from '../types';
11
11
  import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPageIndex';
12
12
  import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
13
- import { UnsafeSpineItemPagePosition } from '../..';
13
+ import { UnboundSpineItemPagePosition } from '../..';
14
14
  export type SpineLocator = ReturnType<typeof createSpineLocator>;
15
15
  export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, viewport, }: {
16
16
  spineItemsManager: SpineItemsManager;
@@ -25,18 +25,18 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
25
25
  spineItem: SpineItem;
26
26
  }) => SpinePosition;
27
27
  _getAbsolutePageIndexFromPageIndex: (params: Omit<Parameters<typeof getAbsolutePageIndexFromPageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => number | undefined;
28
- getSpineItemPagePositionFromSpinePosition: (spinePosition: UnsafeSpinePosition | SpinePosition) => {
28
+ getSpineItemPagePositionFromSpinePosition: (spinePosition: UnboundSpinePosition | SpinePosition) => {
29
29
  spineItem: SpineItem;
30
30
  spineItemPageIndex: number;
31
- spineItemPagePosition: UnsafeSpineItemPagePosition;
31
+ spineItemPagePosition: UnboundSpineItemPagePosition;
32
32
  pageSize: {
33
33
  width: number;
34
34
  height: number;
35
35
  };
36
36
  } | undefined;
37
37
  getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
38
- getSpineItemPositionFromSpinePosition: (position: SpinePosition | UnsafeSpinePosition, spineItem: SpineItem) => SpineItemPosition;
39
- getSpineItemFromPosition: (position: SpinePosition) => SpineItem | undefined;
38
+ getSpineItemPositionFromSpinePosition: (position: SpinePosition | UnboundSpinePosition, spineItem: SpineItem) => SpineItemPosition;
39
+ getSpineItemFromPosition: (position: SpinePosition | UnboundSpinePosition) => SpineItem | undefined;
40
40
  getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined;
41
41
  getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
42
42
  getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "spineItemsManager" | "settings" | "spineLayout" | "viewport">) => {
@@ -44,7 +44,7 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
44
44
  endIndex: number;
45
45
  } | undefined;
46
46
  getVisiblePagesFromViewportPosition: (params: Omit<Parameters<({ position, threshold, spineItem, restrictToScreen, useAbsoluteViewport, viewport, }: {
47
- position: SpinePosition;
47
+ position: SpinePosition | UnboundSpinePosition;
48
48
  threshold: {
49
49
  type: "percentage";
50
50
  value: number;
@@ -63,7 +63,7 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
63
63
  beginPageIndex: number;
64
64
  endPageIndex: number;
65
65
  } | undefined;
66
- isPositionWithinSpineItem: (position: ViewportSlicePosition | SpinePosition, spineItem: SpineItem) => boolean;
66
+ isPositionWithinSpineItem: (position: ViewportSlicePosition | SpinePosition | UnboundSpinePosition, spineItem: SpineItem) => boolean;
67
67
  spineItemLocator: {
68
68
  getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => SpineItemPosition | undefined;
69
69
  getSpineItemPositionFromPageIndex: ({ pageIndex, spineItem, }: {
@@ -78,7 +78,7 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
78
78
  }) => number;
79
79
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
80
80
  getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
81
- getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnsafeSpineItemPagePosition;
81
+ getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnboundSpineItemPagePosition;
82
82
  };
83
83
  getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
84
84
  };
@@ -1,10 +1,9 @@
1
- import { DeprecatedViewportPosition } from '../../navigation/types';
2
1
  import { SpineItemsManager } from '../SpineItemsManager';
3
2
  import { SpineLayout } from '../SpineLayout';
4
- import { SpinePosition, UnsafeSpinePosition } from '../types';
3
+ import { SpinePosition, UnboundSpinePosition } from '../types';
5
4
  import { SpineItem } from '../..';
6
5
  export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, }: {
7
- position: DeprecatedViewportPosition | SpinePosition | UnsafeSpinePosition;
6
+ position: SpinePosition | SpinePosition | UnboundSpinePosition;
8
7
  spineItemsManager: SpineItemsManager;
9
8
  spineLayout: SpineLayout;
10
9
  }) => SpineItem | undefined;
@@ -1,11 +1,10 @@
1
- import { DeprecatedViewportPosition } from '../../navigation/types';
2
1
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
2
  import { Viewport } from '../../viewport/Viewport';
4
3
  import { SpineItemsManager } from '../SpineItemsManager';
5
4
  import { SpineLayout } from '../SpineLayout';
6
- import { SpinePosition } from '../types';
5
+ import { SpinePosition, UnboundSpinePosition } from '../types';
7
6
  export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, spineLayout, useAbsoluteViewport, viewport, }: {
8
- position: DeprecatedViewportPosition | SpinePosition;
7
+ position: SpinePosition | UnboundSpinePosition;
9
8
  threshold: {
10
9
  type: "percentage";
11
10
  value: number;
@@ -15,9 +15,9 @@ export declare class AbstractSpinePosition {
15
15
  }
16
16
  export declare class SpinePosition extends AbstractSpinePosition {
17
17
  readonly __symbol = "SpinePosition";
18
- static from(position: UnsafeSpinePosition | SpinePosition): SpinePosition;
18
+ static from(position: UnboundSpinePosition | SpinePosition): SpinePosition;
19
19
  }
20
- export declare class UnsafeSpinePosition extends AbstractSpinePosition {
21
- readonly __symbol = "UnsafeSpinePosition";
22
- static from(position: SpinePosition): UnsafeSpinePosition;
20
+ export declare class UnboundSpinePosition extends AbstractSpinePosition {
21
+ readonly __symbol = "UnboundSpinePosition";
22
+ static from(position: SpinePosition): UnboundSpinePosition;
23
23
  }
@@ -2,7 +2,7 @@ import { Context } from '../context/Context';
2
2
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
3
3
  import { Viewport } from '../viewport/Viewport';
4
4
  import { SpineItem } from './SpineItem';
5
- import { SpineItemPosition, UnsafeSpineItemPagePosition } from './types';
5
+ import { SpineItemPosition, UnboundSpineItemPagePosition } from './types';
6
6
  export type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
7
7
  export declare const createSpineItemLocator: ({ context, settings, viewport, }: {
8
8
  context: Context;
@@ -22,5 +22,5 @@ export declare const createSpineItemLocator: ({ context, settings, viewport, }:
22
22
  }) => number;
23
23
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
24
24
  getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
25
- getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnsafeSpineItemPagePosition;
25
+ getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnboundSpineItemPagePosition;
26
26
  };
@@ -27,7 +27,7 @@ export declare class SpineItemPosition {
27
27
  y: number;
28
28
  });
29
29
  }
30
- export declare class UnsafeSpineItemPagePosition {
30
+ export declare class UnboundSpineItemPagePosition {
31
31
  readonly x: number;
32
32
  readonly y: number;
33
33
  readonly __symbol: symbol;
@@ -1,4 +1,3 @@
1
- import { DeprecatedViewportPosition } from '../navigation/types';
2
- import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
1
+ import { SpinePosition, UnboundSpinePosition } from '../spine/types';
3
2
  import { AbsoluteViewport, RelativeViewport } from './types';
4
- export declare const translateSpinePositionToRelativeViewport: (absolutePosition: DeprecatedViewportPosition | SpinePosition, absoluteViewport: AbsoluteViewport, relativeViewport: RelativeViewport | AbsoluteViewport) => UnsafeSpinePosition;
3
+ export declare const translateSpinePositionToRelativeViewport: (absolutePosition: SpinePosition | UnboundSpinePosition, absoluteViewport: AbsoluteViewport, relativeViewport: RelativeViewport | AbsoluteViewport) => UnboundSpinePosition;
@@ -1,4 +1,4 @@
1
- import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
1
+ import { SpinePosition, UnboundSpinePosition } from '../spine/types';
2
2
  export declare class ViewportSlicePosition extends DOMRect {
3
3
  readonly __symbol: symbol;
4
4
  static from(rect: {
@@ -7,7 +7,7 @@ export declare class ViewportSlicePosition extends DOMRect {
7
7
  width: number;
8
8
  height: number;
9
9
  }): ViewportSlicePosition;
10
- static from(position: SpinePosition | UnsafeSpinePosition, viewport: AbsoluteViewport | RelativeViewport): ViewportSlicePosition;
10
+ static from(position: SpinePosition | UnboundSpinePosition, viewport: AbsoluteViewport | RelativeViewport): ViewportSlicePosition;
11
11
  }
12
12
  export declare class AbsoluteViewport {
13
13
  width: number;