@prose-reader/core 1.199.0 → 1.200.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 (41) hide show
  1. package/dist/context/Context.d.ts +3 -0
  2. package/dist/createReaderWithEnhancer.d.ts +12 -19
  3. package/dist/enhancers/layoutEnhancer/layoutInfo.d.ts +2 -2
  4. package/dist/enhancers/navigation/navigators/manualNavigator.d.ts +2 -2
  5. package/dist/enhancers/navigation/navigators/panNavigator.d.ts +3 -3
  6. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -3
  7. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +3 -3
  8. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -3
  9. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +3 -3
  10. package/dist/index.js +211 -89
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.umd.cjs +211 -89
  13. package/dist/index.umd.cjs.map +1 -1
  14. package/dist/navigation/InternalNavigator.d.ts +7 -5
  15. package/dist/navigation/Navigator.d.ts +12 -16
  16. package/dist/navigation/UserNavigator.d.ts +5 -4
  17. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +1 -1
  18. package/dist/navigation/consolidation/withFallbackPosition.d.ts +1 -1
  19. package/dist/navigation/consolidation/withSpineItem.d.ts +2 -2
  20. package/dist/navigation/resolvers/NavigationResolver.d.ts +12 -16
  21. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +3 -3
  22. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -6
  23. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +3 -3
  24. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +2 -2
  25. package/dist/navigation/resolvers/getNavigationForUrl.d.ts +2 -2
  26. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +1 -1
  27. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -4
  28. package/dist/navigation/restoration/restorePosition.d.ts +2 -2
  29. package/dist/navigation/viewport/ViewportNavigator.d.ts +4 -12
  30. package/dist/navigation/viewport/getScaledDownPosition.d.ts +4 -6
  31. package/dist/navigation/viewport/positions.d.ts +9 -0
  32. package/dist/reader.d.ts +12 -19
  33. package/dist/spine/loader/SpineItemsLoader.d.ts +2 -2
  34. package/dist/spine/locator/SpineLocator.d.ts +7 -6
  35. package/dist/spine/locator/getItemVisibilityForPosition.d.ts +3 -6
  36. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -2
  37. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +4 -3
  38. package/dist/spine/types.d.ts +13 -3
  39. package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +4 -0
  40. package/dist/viewport/types.d.ts +29 -0
  41. package/package.json +3 -3
@@ -8,7 +8,7 @@ import { DestroyableClass } from '../utils/DestroyableClass';
8
8
  import { Locker } from './Locker';
9
9
  import { UserNavigationEntry } from './UserNavigator';
10
10
  import { createNavigationResolver } from './resolvers/NavigationResolver';
11
- import { ViewportNavigator, ViewportPosition } from './viewport/ViewportNavigator';
11
+ import { DeprecatedViewportPosition, ViewportNavigator } from './viewport/ViewportNavigator';
12
12
  export type NavigationConsolidation = {
13
13
  spineItemHeight?: number;
14
14
  spineItemWidth?: number;
@@ -21,7 +21,7 @@ export type NavigationConsolidation = {
21
21
  directionFromLastNavigation?: "forward" | "backward" | "anchor";
22
22
  };
23
23
  export type InternalNavigationEntry = {
24
- position: SpinePosition | ViewportPosition;
24
+ position: SpinePosition | DeprecatedViewportPosition;
25
25
  id: symbol;
26
26
  meta: {
27
27
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -32,7 +32,9 @@ export type InternalNavigationEntry = {
32
32
  spineItem?: string | number;
33
33
  cfi?: string;
34
34
  } & NavigationConsolidation;
35
- export type InternalNavigationInput = Omit<InternalNavigationEntry, "position"> & Partial<InternalNavigationEntry>;
35
+ export type InternalNavigationInput = Omit<InternalNavigationEntry, "position"> & {
36
+ position?: SpinePosition | DeprecatedViewportPosition;
37
+ };
36
38
  export type Navigation = Pick<InternalNavigationEntry, "position" | "id">;
37
39
  export declare class InternalNavigator extends DestroyableClass {
38
40
  protected settings: ReaderSettingsManager;
@@ -45,7 +47,7 @@ export declare class InternalNavigator extends DestroyableClass {
45
47
  protected isUserLocked$: Observable<boolean>;
46
48
  navigationSubject: BehaviorSubject<InternalNavigationEntry>;
47
49
  navigated$: Observable<{
48
- position: SpinePosition | ViewportPosition;
50
+ position: SpinePosition | DeprecatedViewportPosition;
49
51
  id: symbol;
50
52
  meta: {
51
53
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -57,7 +59,7 @@ export declare class InternalNavigator extends DestroyableClass {
57
59
  cfi?: string;
58
60
  } & NavigationConsolidation>;
59
61
  navigation$: Observable<{
60
- position: SpinePosition | ViewportPosition;
62
+ position: SpinePosition;
61
63
  id: symbol;
62
64
  }>;
63
65
  locker: Locker;
@@ -25,25 +25,21 @@ export declare const createNavigator: ({ spineItemsManager, context, parentEleme
25
25
  lock(): () => void;
26
26
  navigationResolver: {
27
27
  getNavigationForUrl: (url: string | URL) => {
28
- position: import('./viewport/ViewportNavigator').ViewportPosition;
28
+ position: import('./viewport/ViewportNavigator').DeprecatedViewportPosition;
29
29
  spineItemId: string;
30
30
  } | undefined;
31
- getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./viewport/ViewportNavigator').ViewportPosition;
31
+ getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('../spine/types').SpinePosition;
32
32
  getNavigationFromSpineItemPosition: (params: {
33
33
  spineItemPosition: import('../spineItem/types').SpineItemPosition;
34
34
  spineItem: import('..').SpineItem;
35
- }) => import('./viewport/ViewportNavigator').ViewportPosition;
36
- getNavigationForCfi: (cfi: string) => import('./viewport/ViewportNavigator').ViewportPosition | undefined;
37
- getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('./viewport/ViewportNavigator').ViewportPosition;
38
- getNavigationForSpineIndexOrId: (indexOrId: number | string | import('..').SpineItem) => import('./viewport/ViewportNavigator').ViewportPosition;
39
- getNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').ViewportPosition | import('../spine/types').SpinePosition) => import('./viewport/ViewportNavigator').ViewportPosition;
40
- getMostPredominantNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').ViewportPosition) => import('./viewport/ViewportNavigator').ViewportPosition;
41
- getAdjustedPositionWithSafeEdge: (position: import('./viewport/ViewportNavigator').ViewportPosition | import('../spine/types').SpinePosition) => {
42
- x: number;
43
- y: number;
44
- };
45
- isNavigationGoingForwardFrom: (to: import('./viewport/ViewportNavigator').ViewportPosition, from: import('./viewport/ViewportNavigator').ViewportPosition) => boolean;
46
- areNavigationDifferent: (a: import('./viewport/ViewportNavigator').ViewportPosition, b: import('./viewport/ViewportNavigator').ViewportPosition) => boolean;
35
+ }) => import('../spine/types').SpinePosition;
36
+ getNavigationForCfi: (cfi: string) => import('./viewport/ViewportNavigator').DeprecatedViewportPosition | undefined;
37
+ getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('./viewport/ViewportNavigator').DeprecatedViewportPosition;
38
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | import('..').SpineItem) => import('./viewport/ViewportNavigator').DeprecatedViewportPosition;
39
+ getNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
40
+ getMostPredominantNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').DeprecatedViewportPosition) => import('./viewport/ViewportNavigator').DeprecatedViewportPosition;
41
+ getAdjustedPositionWithSafeEdge: (position: import('./viewport/ViewportNavigator').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
42
+ isNavigationGoingForwardFrom: (to: import('./viewport/ViewportNavigator').DeprecatedViewportPosition, from: import('./viewport/ViewportNavigator').DeprecatedViewportPosition) => boolean;
47
43
  arePositionsDifferent: (a: {
48
44
  x: number;
49
45
  y: number;
@@ -51,7 +47,7 @@ export declare const createNavigator: ({ spineItemsManager, context, parentEleme
51
47
  x: number;
52
48
  y: number;
53
49
  }) => boolean;
54
- getAdjustedPositionForSpread: (position: import('./viewport/ViewportNavigator').ViewportPosition | import('../spine/types').SpinePosition) => import('./viewport/ViewportNavigator').ViewportPosition;
50
+ getAdjustedPositionForSpread: (position: import('./viewport/ViewportNavigator').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
55
51
  spineItemNavigator: {
56
52
  getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('../spineItem/types').SpineItemPosition;
57
53
  getNavigationForPosition: (spineItem: import('..').SpineItem, position: import('../spineItem/types').SpineItemPosition) => import('../spineItem/types').SpineItemPosition;
@@ -59,7 +55,7 @@ export declare const createNavigator: ({ spineItemsManager, context, parentEleme
59
55
  };
60
56
  };
61
57
  navigation$: import('rxjs').Observable<{
62
- position: import('../spine/types').SpinePosition | import('./viewport/ViewportNavigator').ViewportPosition;
58
+ position: import('../spine/types').SpinePosition;
63
59
  id: symbol;
64
60
  }>;
65
61
  getElement: () => HTMLElement;
@@ -1,12 +1,13 @@
1
1
  import { Observable, Subject } from 'rxjs';
2
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
3
- import { ViewportPosition } from './viewport/ViewportNavigator';
4
2
  import { Context } from '../context/Context';
3
+ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
+ import { Spine } from '../spine/Spine';
5
+ import { SpinePosition } from '../spine/types';
5
6
  import { DestroyableClass } from '../utils/DestroyableClass';
6
7
  import { Locker } from './Locker';
7
- import { Spine } from '../spine/Spine';
8
+ import { DeprecatedViewportPosition } from './viewport/ViewportNavigator';
8
9
  export type UserNavigationEntry = {
9
- position?: ViewportPosition;
10
+ position?: DeprecatedViewportPosition | SpinePosition;
10
11
  spineItem?: number | string;
11
12
  url?: string | URL;
12
13
  cfi?: string;
@@ -6,7 +6,7 @@ export declare const consolidateWithPagination: (context: Context, navigation$:
6
6
  meta: {
7
7
  triggeredBy: "pagination";
8
8
  };
9
- position: import('../../spine/types').SpinePosition | import('../viewport/ViewportNavigator').ViewportPosition;
9
+ position: import('../../spine/types').SpinePosition | import('../viewport/ViewportNavigator').DeprecatedViewportPosition;
10
10
  id: symbol;
11
11
  type: `api` | `scroll`;
12
12
  animation?: boolean | `turn` | `snap`;
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
3
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
+ import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
4
4
  import { NavigationResolver } from '../resolvers/NavigationResolver';
5
5
  export declare const withFallbackPosition: ({ spineItemsManager, navigationResolver, }: {
6
6
  spineItemsManager: SpineItemsManager;
@@ -1,10 +1,10 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationInput } from '../InternalNavigator';
3
2
  import { Context } from '../../context/Context';
4
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
4
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
6
- import { NavigationResolver } from '../resolvers/NavigationResolver';
7
5
  import { SpineLocator } from '../../spine/locator/SpineLocator';
6
+ import { InternalNavigationInput } from '../InternalNavigator';
7
+ import { NavigationResolver } from '../resolvers/NavigationResolver';
8
8
  type Navigation = {
9
9
  navigation: InternalNavigationInput;
10
10
  };
@@ -6,7 +6,7 @@ import { SpineLocator } from '../../spine/locator/SpineLocator';
6
6
  import { SpinePosition } from '../../spine/types';
7
7
  import { SpineItem } from '../../spineItem/SpineItem';
8
8
  import { SpineItemPosition } from '../../spineItem/types';
9
- import { ViewportPosition } from '../viewport/ViewportNavigator';
9
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
10
10
  import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage';
11
11
  export declare const NAMESPACE = "spineNavigator";
12
12
  export type NavigationResolver = ReturnType<typeof createNavigationResolver>;
@@ -18,25 +18,21 @@ export declare const createNavigationResolver: ({ context, spineItemsManager, lo
18
18
  spineLayout: SpineLayout;
19
19
  }) => {
20
20
  getNavigationForUrl: (url: string | URL) => {
21
- position: ViewportPosition;
21
+ position: DeprecatedViewportPosition;
22
22
  spineItemId: string;
23
23
  } | undefined;
24
- getNavigationForSpineItemPage: (params: Omit<Parameters<typeof getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => ViewportPosition;
24
+ getNavigationForSpineItemPage: (params: Omit<Parameters<typeof getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
25
25
  getNavigationFromSpineItemPosition: (params: {
26
26
  spineItemPosition: SpineItemPosition;
27
27
  spineItem: SpineItem;
28
- }) => ViewportPosition;
29
- getNavigationForCfi: (cfi: string) => ViewportPosition | undefined;
30
- getNavigationForLastPage: (spineItem: SpineItem) => ViewportPosition;
31
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => ViewportPosition;
32
- getNavigationForPosition: (viewportPosition: ViewportPosition | SpinePosition) => ViewportPosition;
33
- getMostPredominantNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportPosition;
34
- getAdjustedPositionWithSafeEdge: (position: ViewportPosition | SpinePosition) => {
35
- x: number;
36
- y: number;
37
- };
38
- isNavigationGoingForwardFrom: (to: ViewportPosition, from: ViewportPosition) => boolean;
39
- areNavigationDifferent: (a: ViewportPosition, b: ViewportPosition) => boolean;
28
+ }) => SpinePosition;
29
+ getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
30
+ getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
31
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
32
+ getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
33
+ getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
34
+ getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
35
+ isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
40
36
  arePositionsDifferent: (a: {
41
37
  x: number;
42
38
  y: number;
@@ -44,7 +40,7 @@ export declare const createNavigationResolver: ({ context, spineItemsManager, lo
44
40
  x: number;
45
41
  y: number;
46
42
  }) => boolean;
47
- getAdjustedPositionForSpread: (position: ViewportPosition | SpinePosition) => ViewportPosition;
43
+ getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
48
44
  spineItemNavigator: {
49
45
  getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
50
46
  getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
@@ -1,7 +1,7 @@
1
1
  import { SpinePosition } from '../../spine/types';
2
- import { ViewportPosition } from '../viewport/ViewportNavigator';
2
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
3
3
  export declare const getAdjustedPositionForSpread: ({ position: { x, y }, pageSizeWidth, visibleAreaRectWidth, }: {
4
- position: ViewportPosition | SpinePosition;
4
+ position: DeprecatedViewportPosition | SpinePosition;
5
5
  pageSizeWidth: number;
6
6
  visibleAreaRectWidth: number;
7
- }) => ViewportPosition;
7
+ }) => DeprecatedViewportPosition;
@@ -1,16 +1,13 @@
1
1
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
2
  import { SpineLayout } from '../../spine/SpineLayout';
3
3
  import { SpinePosition } from '../../spine/types';
4
- import { ViewportPosition } from '../viewport/ViewportNavigator';
4
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
5
5
  export declare const NAMESPACE = "spineNavigator";
6
6
  export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spineLayout, }: {
7
- position: ViewportPosition | SpinePosition;
7
+ position: DeprecatedViewportPosition | SpinePosition;
8
8
  isRTL: boolean;
9
9
  pageSizeHeight: number;
10
10
  spineItemsManager: SpineItemsManager;
11
11
  visibleAreaRectWidth: number;
12
12
  spineLayout: SpineLayout;
13
- }) => {
14
- x: number;
15
- y: number;
16
- };
13
+ }) => SpinePosition;
@@ -2,10 +2,10 @@ import { Context } from '../../context/Context';
2
2
  import { SpineLocator } from '../../spine/locator/SpineLocator';
3
3
  import { SpinePosition } from '../../spine/types';
4
4
  import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
5
- import { ViewportPosition } from '../viewport/ViewportNavigator';
5
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
6
6
  export declare const getNavigationForPosition: ({ viewportPosition, spineLocator, context, spineItemNavigationResolver, }: {
7
- viewportPosition: ViewportPosition | SpinePosition;
7
+ viewportPosition: DeprecatedViewportPosition | SpinePosition;
8
8
  spineLocator: SpineLocator;
9
9
  context: Context;
10
10
  spineItemNavigationResolver: SpineItemNavigationResolver;
11
- }) => ViewportPosition;
11
+ }) => SpinePosition;
@@ -3,7 +3,7 @@ import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
3
  import { SpineLocator } from '../../spine/locator/SpineLocator';
4
4
  import { SpineItem } from '../../spineItem/SpineItem';
5
5
  import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
6
- import { ViewportPosition } from '../viewport/ViewportNavigator';
6
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
7
7
  export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsManager, spineItemId, context, spineLocator, spineItemNavigationResolver, }: {
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
  context: Context;
14
- }) => ViewportPosition;
14
+ }) => DeprecatedViewportPosition;
@@ -1,7 +1,7 @@
1
1
  import { Context } from '../../context/Context';
2
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
3
  import { SpineLocator } from '../../spine/locator/SpineLocator';
4
- import { ViewportPosition } from '../viewport/ViewportNavigator';
4
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
5
5
  export declare const getNavigationForUrl: ({ context, spineItemsManager, spineLocator, url, pageSizeWidth, visibleAreaRectWidth, }: {
6
6
  url: string | URL;
7
7
  spineItemsManager: SpineItemsManager;
@@ -10,6 +10,6 @@ export declare const getNavigationForUrl: ({ context, spineItemsManager, spineLo
10
10
  pageSizeWidth: number;
11
11
  visibleAreaRectWidth: number;
12
12
  }) => {
13
- position: ViewportPosition;
13
+ position: DeprecatedViewportPosition;
14
14
  spineItemId: string;
15
15
  } | undefined;
@@ -9,4 +9,4 @@ export declare const getNavigationFromSpineItemPosition: ({ spineItem, spineItem
9
9
  spineLocator: SpineLocator;
10
10
  spineItemLocator: SpineItemLocator;
11
11
  context: Context;
12
- }) => import('../viewport/ViewportNavigator').ViewportPosition;
12
+ }) => import('../../spine/types').SpinePosition;
@@ -1,6 +1,8 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
3
  import { SpineLayout } from '../../spine/SpineLayout';
3
4
  import { SpineLocator } from '../../spine/locator/SpineLocator';
5
+ import { SpinePosition } from '../../spine/types';
4
6
  import { InternalNavigationEntry } from '../InternalNavigator';
5
7
  import { NavigationResolver } from '../resolvers/NavigationResolver';
6
8
  export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator, navigation, navigationResolver, spineItemsManager, spineLayout, }: {
@@ -9,7 +11,4 @@ export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator
9
11
  navigationResolver: NavigationResolver;
10
12
  spineItemsManager: SpineItemsManager;
11
13
  spineLayout: SpineLayout;
12
- }) => import('rxjs').Observable<{
13
- x: number;
14
- y: number;
15
- }>;
14
+ }) => Observable<SpinePosition>;
@@ -8,7 +8,7 @@ import { SpinePosition } from '../../spine/types';
8
8
  import { SpineItemLocator } from '../../spineItem/locationResolver';
9
9
  import { InternalNavigationEntry } from '../InternalNavigator';
10
10
  import { NavigationResolver } from '../resolvers/NavigationResolver';
11
- import { ViewportPosition } from '../viewport/ViewportNavigator';
11
+ import { DeprecatedViewportPosition } from '../viewport/ViewportNavigator';
12
12
  export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver, spineLayout, }: {
13
13
  spineLocator: SpineLocator;
14
14
  settings: ReaderSettingsManager;
@@ -18,4 +18,4 @@ export declare const restorePosition: ({ navigation, spineItemsManager, settings
18
18
  spineItemLocator: SpineItemLocator;
19
19
  context: Context;
20
20
  spineLayout: SpineLayout;
21
- }) => Observable<ViewportPosition | SpinePosition>;
21
+ }) => Observable<DeprecatedViewportPosition | SpinePosition>;
@@ -5,14 +5,9 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
5
  import { Spine } from '../../spine/Spine';
6
6
  import { SpinePosition } from '../../spine/types';
7
7
  import { DestroyableClass } from '../../utils/DestroyableClass';
8
- export type ViewportPosition = {
9
- x: number;
10
- y: number;
11
- __symbol?: `ViewportPosition`;
12
- spineItem?: false;
13
- };
8
+ export type DeprecatedViewportPosition = SpinePosition;
14
9
  export type ViewportNavigationEntry = {
15
- position: ViewportPosition | SpinePosition;
10
+ position: SpinePosition;
16
11
  animation?: boolean | "turn" | "snap";
17
12
  };
18
13
  export declare class ViewportNavigator extends DestroyableClass {
@@ -27,10 +22,7 @@ export declare class ViewportNavigator extends DestroyableClass {
27
22
  isScrolling$: Observable<boolean>;
28
23
  layout$: Observable<unknown>;
29
24
  constructor(settings: ReaderSettingsManager, viewportElement$: BehaviorSubject<HTMLElement>, hookManager: HookManager, context: Context, spine: Spine);
30
- protected setViewportPosition({ x, y }: ViewportPosition | SpinePosition): void;
25
+ protected setViewportPosition(position: SpinePosition): void;
31
26
  navigate(navigation: ViewportNavigationEntry): void;
32
- get viewportPosition(): {
33
- x: number;
34
- y: number;
35
- };
27
+ get viewportPosition(): SpinePosition;
36
28
  }
@@ -1,9 +1,7 @@
1
- import { ViewportPosition } from './ViewportNavigator';
1
+ import { SpinePosition } from '../../spine/types';
2
+ import { DeprecatedViewportPosition } from './ViewportNavigator';
2
3
  export declare const getScaledDownPosition: ({ position: { x, y }, spineElement, element, }: {
3
- position: ViewportPosition;
4
+ position: DeprecatedViewportPosition;
4
5
  spineElement: HTMLElement;
5
6
  element: HTMLElement;
6
- }) => {
7
- x: number;
8
- y: number;
9
- };
7
+ }) => SpinePosition;
@@ -0,0 +1,9 @@
1
+ import { SpinePosition } from '../../spine/types';
2
+ export declare const spinePositionToTranslation: (position: SpinePosition) => {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ export declare const translationToSpinePosition: (translation: {
7
+ x: number;
8
+ y: number;
9
+ } | DOMMatrix) => SpinePosition;
package/dist/reader.d.ts CHANGED
@@ -48,35 +48,28 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
48
48
  };
49
49
  navigation: {
50
50
  viewportBusy$: import('rxjs').Observable<"busy">;
51
- getViewportPosition: () => {
52
- x: number;
53
- y: number;
54
- };
51
+ getViewportPosition: () => import('./spine/types').SpinePosition;
55
52
  getNavigation: () => import('./navigation/InternalNavigator').InternalNavigationEntry;
56
53
  getElement: () => HTMLElement;
57
54
  navigate: (to: import('./navigation/UserNavigator').UserNavigationEntry) => void;
58
55
  lock: () => () => void;
59
56
  navigationResolver: {
60
57
  getNavigationForUrl: (url: string | URL) => {
61
- position: import('./navigation/viewport/ViewportNavigator').ViewportPosition;
58
+ position: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition;
62
59
  spineItemId: string;
63
60
  } | undefined;
64
- getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
61
+ getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./spine/types').SpinePosition;
65
62
  getNavigationFromSpineItemPosition: (params: {
66
63
  spineItemPosition: import('./spineItem/types').SpineItemPosition;
67
64
  spineItem: SpineItem;
68
- }) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
69
- getNavigationForCfi: (cfi: string) => import('./navigation/viewport/ViewportNavigator').ViewportPosition | undefined;
70
- getNavigationForLastPage: (spineItem: SpineItem) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
71
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
72
- getNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
73
- getMostPredominantNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
74
- getAdjustedPositionWithSafeEdge: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => {
75
- x: number;
76
- y: number;
77
- };
78
- isNavigationGoingForwardFrom: (to: import('./navigation/viewport/ViewportNavigator').ViewportPosition, from: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => boolean;
79
- areNavigationDifferent: (a: import('./navigation/viewport/ViewportNavigator').ViewportPosition, b: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => boolean;
65
+ }) => import('./spine/types').SpinePosition;
66
+ getNavigationForCfi: (cfi: string) => import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition | undefined;
67
+ getNavigationForLastPage: (spineItem: SpineItem) => import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition;
68
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition;
69
+ getNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
70
+ getMostPredominantNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition) => import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition;
71
+ getAdjustedPositionWithSafeEdge: (position: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
72
+ isNavigationGoingForwardFrom: (to: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition, from: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition) => boolean;
80
73
  arePositionsDifferent: (a: {
81
74
  x: number;
82
75
  y: number;
@@ -84,7 +77,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
84
77
  x: number;
85
78
  y: number;
86
79
  }) => boolean;
87
- getAdjustedPositionForSpread: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
80
+ getAdjustedPositionForSpread: (position: import('./navigation/viewport/ViewportNavigator').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
88
81
  spineItemNavigator: {
89
82
  getNavigationForLastPage: (spineItem: SpineItem) => import('./spineItem/types').SpineItemPosition;
90
83
  getNavigationForPosition: (spineItem: SpineItem, position: import('./spineItem/types').SpineItemPosition) => import('./spineItem/types').SpineItemPosition;
@@ -1,9 +1,9 @@
1
- import { SpineItemsManager } from '../SpineItemsManager';
2
- import { SpineLocator } from '../locator/SpineLocator';
3
1
  import { Context } from '../../context/Context';
4
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
3
  import { DestroyableClass } from '../../utils/DestroyableClass';
4
+ import { SpineItemsManager } from '../SpineItemsManager';
6
5
  import { SpineLayout } from '../SpineLayout';
6
+ import { SpineLocator } from '../locator/SpineLocator';
7
7
  export declare class SpineItemsLoader extends DestroyableClass {
8
8
  protected context: Context;
9
9
  protected spineItemsManager: SpineItemsManager;
@@ -1,9 +1,9 @@
1
1
  import { Context } from '../../context/Context';
2
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
3
  import { SpineItem } from '../../spineItem/SpineItem';
5
4
  import { createSpineItemLocator } from '../../spineItem/locationResolver';
6
5
  import { SpineItemPosition } from '../../spineItem/types';
6
+ import { ViewportSlicePosition } from '../../viewport/types';
7
7
  import { SpineItemsManager } from '../SpineItemsManager';
8
8
  import { SpineLayout } from '../SpineLayout';
9
9
  import { SpinePosition } from '../types';
@@ -30,24 +30,25 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
30
30
  currentAbsolutePage: number;
31
31
  } | undefined;
32
32
  getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
33
- getSpineItemPositionFromSpinePosition: ((position: ViewportPosition | SpinePosition, spineItem: SpineItem) => SpineItemPosition) | ((position: SpinePosition | ViewportPosition, spineItem: SpineItem) => SpineItemPosition);
34
- getSpineItemFromPosition: (position: ViewportPosition | SpinePosition) => SpineItem | undefined;
33
+ getSpineItemPositionFromSpinePosition: (position: SpinePosition, spineItem: SpineItem) => SpineItemPosition;
34
+ getSpineItemFromPosition: (position: SpinePosition) => SpineItem | undefined;
35
35
  getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined;
36
36
  getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
37
37
  getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "context" | "spineItemsManager" | "settings" | "spineLayout">) => {
38
38
  beginIndex: number;
39
39
  endIndex: number;
40
40
  } | undefined;
41
- getVisiblePagesFromViewportPosition: ({ position, threshold, spineItem, restrictToScreen, }: {
42
- position: ViewportPosition | SpinePosition;
41
+ getVisiblePagesFromViewportPosition: ({ position, threshold, spineItem, restrictToScreen, useAbsoluteViewport, }: {
42
+ position: SpinePosition;
43
43
  threshold: number;
44
44
  spineItem: SpineItem;
45
45
  restrictToScreen?: boolean;
46
+ useAbsoluteViewport?: boolean;
46
47
  }) => {
47
48
  beginPageIndex: number;
48
49
  endPageIndex: number;
49
50
  } | undefined;
50
- isPositionWithinSpineItem: (position: ViewportPosition | SpinePosition, spineItem: SpineItem) => boolean;
51
+ isPositionWithinSpineItem: (position: ViewportSlicePosition | SpinePosition, spineItem: SpineItem) => boolean;
51
52
  spineItemLocator: {
52
53
  getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => SpineItemPosition | undefined;
53
54
  getSpineItemPositionFromPageIndex: ({ pageIndex, spineItem, }: {
@@ -1,7 +1,5 @@
1
- import { Context } from '../../context/Context';
2
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
- import { SpinePosition } from '../types';
4
- export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, left, right, top, width: itemWidth, height: itemHeight, }, threshold, viewportPosition, restrictToScreen, context, }: {
1
+ import { ViewportSlicePosition } from '../../viewport/types';
2
+ export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, left, right, top, width: itemWidth, height: itemHeight, }, threshold, viewportPosition, restrictToScreen, }: {
5
3
  itemPosition: {
6
4
  right: number;
7
5
  left: number;
@@ -10,10 +8,9 @@ export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, le
10
8
  height: number;
11
9
  width: number;
12
10
  };
13
- viewportPosition: ViewportPosition | SpinePosition;
11
+ viewportPosition: ViewportSlicePosition;
14
12
  threshold: number;
15
13
  restrictToScreen?: boolean;
16
- context: Context;
17
14
  }) => {
18
15
  visible: boolean;
19
16
  };
@@ -1,10 +1,10 @@
1
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
1
+ import { DeprecatedViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItemsManager } from '../SpineItemsManager';
4
4
  import { SpineLayout } from '../SpineLayout';
5
5
  import { SpinePosition } from '../types';
6
6
  export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
7
- position: ViewportPosition | SpinePosition;
7
+ position: DeprecatedViewportPosition | SpinePosition;
8
8
  spineItemsManager: SpineItemsManager;
9
9
  spineLayout: SpineLayout;
10
10
  settings: ReaderSettingsManager;
@@ -1,17 +1,18 @@
1
1
  import { Context } from '../../context/Context';
2
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
+ import { DeprecatedViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
5
5
  import { SpineLayout } from '../SpineLayout';
6
6
  import { SpinePosition } from '../types';
7
- export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, context, settings, spineLayout, }: {
8
- position: ViewportPosition | SpinePosition;
7
+ export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, context, settings, spineLayout, useAbsoluteViewport, }: {
8
+ position: DeprecatedViewportPosition | SpinePosition;
9
9
  threshold: number;
10
10
  restrictToScreen?: boolean;
11
11
  spineItemsManager: SpineItemsManager;
12
12
  context: Context;
13
13
  settings: ReaderSettingsManager;
14
14
  spineLayout: SpineLayout;
15
+ useAbsoluteViewport?: boolean;
15
16
  }) => {
16
17
  beginIndex: number;
17
18
  endIndex: number;
@@ -19,17 +19,27 @@ export declare class SpineElementLayout {
19
19
  });
20
20
  }
21
21
  export declare class SpineItemSpineLayout extends SpineElementLayout {
22
- readonly __symbol: symbol;
22
+ readonly __symbol = "SpineItemSpineLayout";
23
23
  }
24
24
  export declare class SpineItemPageSpineLayout extends SpineElementLayout {
25
- readonly __symbol: symbol;
25
+ readonly __symbol = "SpineItemPageSpineLayout";
26
26
  }
27
27
  export declare class SpinePosition {
28
28
  readonly x: number;
29
29
  readonly y: number;
30
- readonly __symbol: symbol;
30
+ readonly __symbol = "SpinePosition";
31
31
  constructor(position: {
32
32
  x: number;
33
33
  y: number;
34
34
  });
35
35
  }
36
+ export declare class UnsafeSpinePosition {
37
+ readonly x: number;
38
+ readonly y: number;
39
+ readonly __symbol = "UnsafeSpinePosition";
40
+ constructor(position: {
41
+ x: number;
42
+ y: number;
43
+ });
44
+ static from(position: SpinePosition): UnsafeSpinePosition;
45
+ }
@@ -0,0 +1,4 @@
1
+ import { DeprecatedViewportPosition } from '../navigation/viewport/ViewportNavigator';
2
+ import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
3
+ import { AbsoluteViewport, RelativeViewport } from './types';
4
+ export declare const translateSpinePositionToRelativeViewport: (absolutePosition: DeprecatedViewportPosition | SpinePosition, absoluteViewport: AbsoluteViewport, relativeViewport: RelativeViewport | AbsoluteViewport) => UnsafeSpinePosition;