@prose-reader/core 1.196.0 → 1.198.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 (51) hide show
  1. package/dist/createReaderWithEnhancer.d.ts +12 -14
  2. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +7 -1
  3. package/dist/enhancers/layoutEnhancer/layoutInfo.d.ts +25 -0
  4. package/dist/enhancers/loading/loadingEnhancer.d.ts +1 -1
  5. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -2
  6. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +4 -3
  7. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -2
  8. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +4 -3
  9. package/dist/enhancers/navigation/resolvers/getSpineItemPositionForLeftPage.d.ts +4 -4
  10. package/dist/enhancers/navigation/resolvers/getSpineItemPositionForRightPage.d.ts +4 -4
  11. package/dist/enhancers/pagination/enhancer.d.ts +2 -1
  12. package/dist/enhancers/pagination/pagination.d.ts +2 -1
  13. package/dist/enhancers/pagination/progression.d.ts +2 -1
  14. package/dist/enhancers/pagination/spine.d.ts +0 -1
  15. package/dist/index.js +285 -303
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.umd.cjs +284 -302
  18. package/dist/index.umd.cjs.map +1 -1
  19. package/dist/navigation/InternalNavigator.d.ts +6 -5
  20. package/dist/navigation/Navigator.d.ts +8 -8
  21. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +2 -2
  22. package/dist/navigation/resolvers/NavigationResolver.d.ts +12 -11
  23. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +2 -1
  24. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +2 -1
  25. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +2 -1
  26. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +2 -2
  27. package/dist/navigation/restoration/restorePosition.d.ts +2 -1
  28. package/dist/navigation/tests/SpineItemsManagerMock.d.ts +1 -1
  29. package/dist/navigation/viewport/ViewportNavigator.d.ts +6 -5
  30. package/dist/reader.d.ts +7 -9
  31. package/dist/spine/SpineLayout.d.ts +6 -7
  32. package/dist/spine/layout/layoutItem.d.ts +2 -2
  33. package/dist/spine/locator/SpineLocator.d.ts +17 -31
  34. package/dist/spine/locator/getAbsolutePageIndexFromPageIndex.d.ts +1 -1
  35. package/dist/spine/locator/getItemVisibilityForPosition.d.ts +2 -1
  36. package/dist/spine/locator/getSpineInfoFromAbsolutePageIndex.d.ts +1 -1
  37. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -1
  38. package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +1 -1
  39. package/dist/spine/locator/getSpinePositionFromSpineItemPosition.d.ts +4 -4
  40. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +2 -1
  41. package/dist/spine/types.d.ts +35 -0
  42. package/dist/spineItem/SpineItem.d.ts +1 -0
  43. package/dist/spineItem/{locator → layout}/getSpineItemPagesPosition.d.ts +1 -1
  44. package/dist/spineItem/{locator → layout}/getSpineItemPositionFromPageIndex.d.ts +2 -2
  45. package/dist/spineItem/locationResolver.d.ts +8 -23
  46. package/dist/spineItem/navigationResolver.d.ts +4 -4
  47. package/dist/spineItem/types.d.ts +9 -10
  48. package/package.json +3 -3
  49. package/dist/spine/layout/convertViewportPositionToLayoutPosition.d.ts +0 -9
  50. package/dist/spine/layout/types.d.ts +0 -11
  51. /package/dist/spineItem/{locator → layout}/getSpineItemNumberOfPages.d.ts +0 -0
@@ -2,7 +2,8 @@ import { BehaviorSubject, Observable } from 'rxjs';
2
2
  import { Context } from '../context/Context';
3
3
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
4
  import { Spine } from '../spine/Spine';
5
- import { UnsafeSpineItemPosition } from '../spineItem/types';
5
+ import { SpinePosition } from '../spine/types';
6
+ import { SpineItemPosition } from '../spineItem/types';
6
7
  import { DestroyableClass } from '../utils/DestroyableClass';
7
8
  import { Locker } from './Locker';
8
9
  import { UserNavigationEntry } from './UserNavigator';
@@ -16,11 +17,11 @@ export type NavigationConsolidation = {
16
17
  spineItemIsReady?: boolean;
17
18
  spineItemIsUsingVerticalWriting?: boolean;
18
19
  paginationBeginCfi?: string;
19
- positionInSpineItem?: UnsafeSpineItemPosition;
20
+ positionInSpineItem?: SpineItemPosition;
20
21
  directionFromLastNavigation?: "forward" | "backward" | "anchor";
21
22
  };
22
23
  export type InternalNavigationEntry = {
23
- position: ViewportPosition;
24
+ position: SpinePosition | ViewportPosition;
24
25
  id: symbol;
25
26
  meta: {
26
27
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -44,7 +45,7 @@ export declare class InternalNavigator extends DestroyableClass {
44
45
  protected isUserLocked$: Observable<boolean>;
45
46
  navigationSubject: BehaviorSubject<InternalNavigationEntry>;
46
47
  navigated$: Observable<{
47
- position: ViewportPosition;
48
+ position: SpinePosition | ViewportPosition;
48
49
  id: symbol;
49
50
  meta: {
50
51
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -56,7 +57,7 @@ export declare class InternalNavigator extends DestroyableClass {
56
57
  cfi?: string;
57
58
  } & NavigationConsolidation>;
58
59
  navigation$: Observable<{
59
- position: ViewportPosition;
60
+ position: SpinePosition | ViewportPosition;
60
61
  id: symbol;
61
62
  }>;
62
63
  locker: Locker;
@@ -30,15 +30,15 @@ export declare const createNavigator: ({ spineItemsManager, context, parentEleme
30
30
  } | undefined;
31
31
  getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./viewport/ViewportNavigator').ViewportPosition;
32
32
  getNavigationFromSpineItemPosition: (params: {
33
- spineItemPosition: import('../spineItem/types').UnsafeSpineItemPosition;
33
+ spineItemPosition: import('../spineItem/types').SpineItemPosition;
34
34
  spineItem: import('..').SpineItem;
35
35
  }) => import('./viewport/ViewportNavigator').ViewportPosition;
36
36
  getNavigationForCfi: (cfi: string) => import('./viewport/ViewportNavigator').ViewportPosition | undefined;
37
37
  getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('./viewport/ViewportNavigator').ViewportPosition;
38
38
  getNavigationForSpineIndexOrId: (indexOrId: number | string | import('..').SpineItem) => import('./viewport/ViewportNavigator').ViewportPosition;
39
- getNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').ViewportPosition) => import('./viewport/ViewportNavigator').ViewportPosition;
39
+ getNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').ViewportPosition | import('../spine/types').SpinePosition) => import('./viewport/ViewportNavigator').ViewportPosition;
40
40
  getMostPredominantNavigationForPosition: (viewportPosition: import('./viewport/ViewportNavigator').ViewportPosition) => import('./viewport/ViewportNavigator').ViewportPosition;
41
- getAdjustedPositionWithSafeEdge: (position: import('./viewport/ViewportNavigator').ViewportPosition) => {
41
+ getAdjustedPositionWithSafeEdge: (position: import('./viewport/ViewportNavigator').ViewportPosition | import('../spine/types').SpinePosition) => {
42
42
  x: number;
43
43
  y: number;
44
44
  };
@@ -51,15 +51,15 @@ export declare const createNavigator: ({ spineItemsManager, context, parentEleme
51
51
  x: number;
52
52
  y: number;
53
53
  }) => boolean;
54
- getAdjustedPositionForSpread: (position: import('./viewport/ViewportNavigator').ViewportPosition) => import('./viewport/ViewportNavigator').ViewportPosition;
54
+ getAdjustedPositionForSpread: (position: import('./viewport/ViewportNavigator').ViewportPosition | import('../spine/types').SpinePosition) => import('./viewport/ViewportNavigator').ViewportPosition;
55
55
  spineItemNavigator: {
56
- getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('../spineItem/types').SafeSpineItemPosition;
57
- getNavigationForPosition: (spineItem: import('..').SpineItem, position: import('../spineItem/types').UnsafeSpineItemPosition) => import('../spineItem/types').SafeSpineItemPosition;
58
- getNavigationFromNode: (spineItem: import('..').SpineItem, node: Node, offset: number) => import('../spineItem/types').SafeSpineItemPosition;
56
+ getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('../spineItem/types').SpineItemPosition;
57
+ getNavigationForPosition: (spineItem: import('..').SpineItem, position: import('../spineItem/types').SpineItemPosition) => import('../spineItem/types').SpineItemPosition;
58
+ getNavigationFromNode: (spineItem: import('..').SpineItem, node: Node, offset: number) => import('../spineItem/types').SpineItemPosition;
59
59
  };
60
60
  };
61
61
  navigation$: import('rxjs').Observable<{
62
- position: import('./viewport/ViewportNavigator').ViewportPosition;
62
+ position: import('../spine/types').SpinePosition | import('./viewport/ViewportNavigator').ViewportPosition;
63
63
  id: symbol;
64
64
  }>;
65
65
  getElement: () => HTMLElement;
@@ -6,7 +6,7 @@ export declare const consolidateWithPagination: (context: Context, navigation$:
6
6
  meta: {
7
7
  triggeredBy: "pagination";
8
8
  };
9
- position: import('../viewport/ViewportNavigator').ViewportPosition;
9
+ position: import('../../spine/types').SpinePosition | import('../viewport/ViewportNavigator').ViewportPosition;
10
10
  id: symbol;
11
11
  type: `api` | `scroll`;
12
12
  animation?: boolean | `turn` | `snap`;
@@ -20,6 +20,6 @@ export declare const consolidateWithPagination: (context: Context, navigation$:
20
20
  spineItemIsReady?: boolean;
21
21
  spineItemIsUsingVerticalWriting?: boolean;
22
22
  paginationBeginCfi?: string;
23
- positionInSpineItem?: import('../../spineItem/types').UnsafeSpineItemPosition;
23
+ positionInSpineItem?: import('../../spineItem/types').SpineItemPosition;
24
24
  directionFromLastNavigation?: "forward" | "backward" | "anchor";
25
25
  }>;
@@ -1,12 +1,13 @@
1
1
  import { Context } from '../../context/Context';
2
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
2
3
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
4
+ import { SpineLayout } from '../../spine/SpineLayout';
3
5
  import { SpineLocator } from '../../spine/locator/SpineLocator';
4
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
6
+ import { SpinePosition } from '../../spine/types';
7
+ import { SpineItem } from '../../spineItem/SpineItem';
8
+ import { SpineItemPosition } from '../../spineItem/types';
5
9
  import { ViewportPosition } from '../viewport/ViewportNavigator';
6
- import { SafeSpineItemPosition, UnsafeSpineItemPosition } from '../../spineItem/types';
7
10
  import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage';
8
- import { SpineLayout } from '../../spine/SpineLayout';
9
- import { SpineItem } from '../../spineItem/SpineItem';
10
11
  export declare const NAMESPACE = "spineNavigator";
11
12
  export type NavigationResolver = ReturnType<typeof createNavigationResolver>;
12
13
  export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spineLayout, }: {
@@ -22,15 +23,15 @@ export declare const createNavigationResolver: ({ context, spineItemsManager, lo
22
23
  } | undefined;
23
24
  getNavigationForSpineItemPage: (params: Omit<Parameters<typeof getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => ViewportPosition;
24
25
  getNavigationFromSpineItemPosition: (params: {
25
- spineItemPosition: UnsafeSpineItemPosition;
26
+ spineItemPosition: SpineItemPosition;
26
27
  spineItem: SpineItem;
27
28
  }) => ViewportPosition;
28
29
  getNavigationForCfi: (cfi: string) => ViewportPosition | undefined;
29
30
  getNavigationForLastPage: (spineItem: SpineItem) => ViewportPosition;
30
31
  getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => ViewportPosition;
31
- getNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportPosition;
32
+ getNavigationForPosition: (viewportPosition: ViewportPosition | SpinePosition) => ViewportPosition;
32
33
  getMostPredominantNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportPosition;
33
- getAdjustedPositionWithSafeEdge: (position: ViewportPosition) => {
34
+ getAdjustedPositionWithSafeEdge: (position: ViewportPosition | SpinePosition) => {
34
35
  x: number;
35
36
  y: number;
36
37
  };
@@ -43,10 +44,10 @@ export declare const createNavigationResolver: ({ context, spineItemsManager, lo
43
44
  x: number;
44
45
  y: number;
45
46
  }) => boolean;
46
- getAdjustedPositionForSpread: (position: ViewportPosition) => ViewportPosition;
47
+ getAdjustedPositionForSpread: (position: ViewportPosition | SpinePosition) => ViewportPosition;
47
48
  spineItemNavigator: {
48
- getNavigationForLastPage: (spineItem: SpineItem) => SafeSpineItemPosition;
49
- getNavigationForPosition: (spineItem: SpineItem, position: UnsafeSpineItemPosition) => SafeSpineItemPosition;
50
- getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SafeSpineItemPosition;
49
+ getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
50
+ getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
51
+ getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
51
52
  };
52
53
  };
@@ -1,6 +1,7 @@
1
+ import { SpinePosition } from '../../spine/types';
1
2
  import { ViewportPosition } from '../viewport/ViewportNavigator';
2
3
  export declare const getAdjustedPositionForSpread: ({ position: { x, y }, pageSizeWidth, visibleAreaRectWidth, }: {
3
- position: ViewportPosition;
4
+ position: ViewportPosition | SpinePosition;
4
5
  pageSizeWidth: number;
5
6
  visibleAreaRectWidth: number;
6
7
  }) => ViewportPosition;
@@ -1,9 +1,10 @@
1
1
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
2
  import { SpineLayout } from '../../spine/SpineLayout';
3
+ import { SpinePosition } from '../../spine/types';
3
4
  import { ViewportPosition } from '../viewport/ViewportNavigator';
4
5
  export declare const NAMESPACE = "spineNavigator";
5
6
  export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spineLayout, }: {
6
- position: ViewportPosition;
7
+ position: ViewportPosition | SpinePosition;
7
8
  isRTL: boolean;
8
9
  pageSizeHeight: number;
9
10
  spineItemsManager: SpineItemsManager;
@@ -1,9 +1,10 @@
1
1
  import { Context } from '../../context/Context';
2
2
  import { SpineLocator } from '../../spine/locator/SpineLocator';
3
+ import { SpinePosition } from '../../spine/types';
3
4
  import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
4
5
  import { ViewportPosition } from '../viewport/ViewportNavigator';
5
6
  export declare const getNavigationForPosition: ({ viewportPosition, spineLocator, context, spineItemNavigationResolver, }: {
6
- viewportPosition: ViewportPosition;
7
+ viewportPosition: ViewportPosition | SpinePosition;
7
8
  spineLocator: SpineLocator;
8
9
  context: Context;
9
10
  spineItemNavigationResolver: SpineItemNavigationResolver;
@@ -2,9 +2,9 @@ import { Context } from '../../context/Context';
2
2
  import { SpineLocator } from '../../spine/locator/SpineLocator';
3
3
  import { SpineItem } from '../../spineItem/SpineItem';
4
4
  import { SpineItemLocator } from '../../spineItem/locationResolver';
5
- import { UnsafeSpineItemPosition } from '../../spineItem/types';
5
+ import { SpineItemPosition } from '../../spineItem/types';
6
6
  export declare const getNavigationFromSpineItemPosition: ({ spineItem, spineItemPosition, spineLocator, spineItemLocator, context, }: {
7
- spineItemPosition: UnsafeSpineItemPosition;
7
+ spineItemPosition: SpineItemPosition;
8
8
  spineItem: SpineItem;
9
9
  spineLocator: SpineLocator;
10
10
  spineItemLocator: SpineItemLocator;
@@ -4,6 +4,7 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
4
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
5
5
  import { SpineLayout } from '../../spine/SpineLayout';
6
6
  import { SpineLocator } from '../../spine/locator/SpineLocator';
7
+ import { SpinePosition } from '../../spine/types';
7
8
  import { SpineItemLocator } from '../../spineItem/locationResolver';
8
9
  import { InternalNavigationEntry } from '../InternalNavigator';
9
10
  import { NavigationResolver } from '../resolvers/NavigationResolver';
@@ -17,4 +18,4 @@ export declare const restorePosition: ({ navigation, spineItemsManager, settings
17
18
  spineItemLocator: SpineItemLocator;
18
19
  context: Context;
19
20
  spineLayout: SpineLayout;
20
- }) => Observable<ViewportPosition>;
21
+ }) => Observable<ViewportPosition | SpinePosition>;
@@ -26,5 +26,5 @@ export declare class SpineItemsManagerMock {
26
26
  getAll(): Item[];
27
27
  getLength(): number;
28
28
  getSpineItemIndex(item: Item): number;
29
- getSpineItemRelativeLayoutInfo(spineItem: any): Item;
29
+ getSpineItemSpineLayoutInfo(spineItem: any): Item;
30
30
  }
@@ -1,9 +1,10 @@
1
1
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
2
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
- import { HookManager } from '../../hooks/HookManager';
4
2
  import { Context } from '../../context/Context';
5
- import { DestroyableClass } from '../../utils/DestroyableClass';
3
+ import { HookManager } from '../../hooks/HookManager';
4
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
6
5
  import { Spine } from '../../spine/Spine';
6
+ import { SpinePosition } from '../../spine/types';
7
+ import { DestroyableClass } from '../../utils/DestroyableClass';
7
8
  export type ViewportPosition = {
8
9
  x: number;
9
10
  y: number;
@@ -11,7 +12,7 @@ export type ViewportPosition = {
11
12
  spineItem?: false;
12
13
  };
13
14
  export type ViewportNavigationEntry = {
14
- position: ViewportPosition;
15
+ position: ViewportPosition | SpinePosition;
15
16
  animation?: boolean | "turn" | "snap";
16
17
  };
17
18
  export declare class ViewportNavigator extends DestroyableClass {
@@ -26,7 +27,7 @@ export declare class ViewportNavigator extends DestroyableClass {
26
27
  isScrolling$: Observable<boolean>;
27
28
  layout$: Observable<unknown>;
28
29
  constructor(settings: ReaderSettingsManager, viewportElement$: BehaviorSubject<HTMLElement>, hookManager: HookManager, context: Context, spine: Spine);
29
- protected setViewportPosition({ x, y }: ViewportPosition): void;
30
+ protected setViewportPosition({ x, y }: ViewportPosition | SpinePosition): void;
30
31
  navigate(navigation: ViewportNavigationEntry): void;
31
32
  get viewportPosition(): {
32
33
  x: number;
package/dist/reader.d.ts CHANGED
@@ -63,15 +63,15 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
63
63
  } | undefined;
64
64
  getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
65
65
  getNavigationFromSpineItemPosition: (params: {
66
- spineItemPosition: import('./spineItem/types').UnsafeSpineItemPosition;
66
+ spineItemPosition: import('./spineItem/types').SpineItemPosition;
67
67
  spineItem: SpineItem;
68
68
  }) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
69
69
  getNavigationForCfi: (cfi: string) => import('./navigation/viewport/ViewportNavigator').ViewportPosition | undefined;
70
70
  getNavigationForLastPage: (spineItem: SpineItem) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
71
71
  getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
72
- getNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
72
+ getNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
73
73
  getMostPredominantNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
74
- getAdjustedPositionWithSafeEdge: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => {
74
+ getAdjustedPositionWithSafeEdge: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => {
75
75
  x: number;
76
76
  y: number;
77
77
  };
@@ -84,11 +84,11 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
84
84
  x: number;
85
85
  y: number;
86
86
  }) => boolean;
87
- getAdjustedPositionForSpread: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
87
+ getAdjustedPositionForSpread: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
88
88
  spineItemNavigator: {
89
- getNavigationForLastPage: (spineItem: SpineItem) => import('./spineItem/types').SafeSpineItemPosition;
90
- getNavigationForPosition: (spineItem: SpineItem, position: import('./spineItem/types').UnsafeSpineItemPosition) => import('./spineItem/types').SafeSpineItemPosition;
91
- getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => import('./spineItem/types').SafeSpineItemPosition;
89
+ getNavigationForLastPage: (spineItem: SpineItem) => import('./spineItem/types').SpineItemPosition;
90
+ getNavigationForPosition: (spineItem: SpineItem, position: import('./spineItem/types').SpineItemPosition) => import('./spineItem/types').SpineItemPosition;
91
+ getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => import('./spineItem/types').SpineItemPosition;
92
92
  };
93
93
  };
94
94
  };
@@ -103,8 +103,6 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
103
103
  };
104
104
  settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<import('./settings/types').CoreOutputSettings | undefined>>;
105
105
  element$: import('rxjs').Observable<HTMLElement>;
106
- layout$: import('rxjs').Observable<import('./spine/SpineLayout').LayoutInfo>;
107
- layoutInfo$: import('rxjs').Observable<import('./spine/SpineLayout').LayoutInfo>;
108
106
  viewportState$: import('rxjs').Observable<"free" | "busy">;
109
107
  viewportFree$: import('rxjs').Observable<"free">;
110
108
  state$: import('rxjs').Observable<"idle" | "ready">;
@@ -4,14 +4,13 @@ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
4
  import { SpineItem } from '../spineItem/SpineItem';
5
5
  import { DestroyableClass } from '../utils/DestroyableClass';
6
6
  import { SpineItemsManager } from './SpineItemsManager';
7
- import { SpineItemRelativeLayout } from './layout/types';
7
+ import { SpineItemSpineLayout } from './types';
8
8
  export type PageLayoutInformation = {
9
9
  absolutePageIndex: number;
10
10
  itemIndex: number;
11
- absolutePosition: SpineItemRelativeLayout;
11
+ absolutePosition: SpineItemSpineLayout;
12
12
  };
13
13
  export type LayoutInfo = {
14
- spineItemsAbsolutePositions: SpineItemRelativeLayout[];
15
14
  pages: PageLayoutInformation[];
16
15
  };
17
16
  export declare class SpineLayout extends DestroyableClass {
@@ -19,11 +18,11 @@ export declare class SpineLayout extends DestroyableClass {
19
18
  protected context: Context;
20
19
  protected settings: ReaderSettingsManager;
21
20
  protected layoutSubject: Subject<unknown>;
22
- protected spineItemsRelativeLayouts: SpineItemRelativeLayout[];
23
- readonly layout$: Observable<LayoutInfo>;
24
- readonly info$: Observable<LayoutInfo>;
21
+ protected spineItemsRelativeLayouts: SpineItemSpineLayout[];
22
+ readonly layout$: Observable<unknown>;
25
23
  constructor(spineItemsManager: SpineItemsManager, context: Context, settings: ReaderSettingsManager);
26
24
  layout(): void;
27
- getSpineItemRelativeLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemRelativeLayout;
25
+ getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
26
+ get numberOfPages(): number;
28
27
  destroy(): void;
29
28
  }
@@ -3,7 +3,7 @@ import { SpineItem } from '../..';
3
3
  import { Context } from '../../context/Context';
4
4
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
5
  import { SpineItemsManager } from '../SpineItemsManager';
6
- import { SpineItemRelativeLayout } from './types';
6
+ import { SpineItemSpineLayout } from '../types';
7
7
  export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, spineItemsManager, isGloballyPrePaginated, settings, index, item, }: {
8
8
  horizontalOffset: number;
9
9
  verticalOffset: number;
@@ -16,5 +16,5 @@ export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, s
16
16
  }) => Observable<{
17
17
  horizontalOffset: number;
18
18
  verticalOffset: number;
19
- layoutPosition: SpineItemRelativeLayout;
19
+ layoutPosition: SpineItemSpineLayout;
20
20
  }>;
@@ -3,9 +3,10 @@ import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
4
  import { SpineItem } from '../../spineItem/SpineItem';
5
5
  import { createSpineItemLocator } from '../../spineItem/locationResolver';
6
- import { SafeSpineItemPosition, UnsafeSpineItemPosition } from '../../spineItem/types';
6
+ import { SpineItemPosition } from '../../spineItem/types';
7
7
  import { SpineItemsManager } from '../SpineItemsManager';
8
8
  import { SpineLayout } from '../SpineLayout';
9
+ import { SpinePosition } from '../types';
9
10
  import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPageIndex';
10
11
  import { getSpineInfoFromAbsolutePageIndex } from './getSpineInfoFromAbsolutePageIndex';
11
12
  import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
@@ -18,9 +19,9 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
18
19
  spineLayout: SpineLayout;
19
20
  }) => {
20
21
  getSpinePositionFromSpineItemPosition: ({ spineItem, spineItemPosition, }: {
21
- spineItemPosition: SafeSpineItemPosition;
22
+ spineItemPosition: SpineItemPosition;
22
23
  spineItem: SpineItem;
23
- }) => ViewportPosition;
24
+ }) => SpinePosition;
24
25
  getAbsolutePageIndexFromPageIndex: (params: Omit<Parameters<typeof getAbsolutePageIndexFromPageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => number | undefined;
25
26
  getSpineInfoFromAbsolutePageIndex: (params: Omit<Parameters<typeof getSpineInfoFromAbsolutePageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => {
26
27
  spineItem: SpineItem;
@@ -28,9 +29,9 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
28
29
  itemIndex: number;
29
30
  currentAbsolutePage: number;
30
31
  } | undefined;
31
- getSpinePositionFromSpineItem: (spineItem: SpineItem) => ViewportPosition;
32
- getSpineItemPositionFromSpinePosition: ((position: ViewportPosition, spineItem: SpineItem) => UnsafeSpineItemPosition) | ((position: ViewportPosition, spineItem: SpineItem) => UnsafeSpineItemPosition);
33
- getSpineItemFromPosition: (position: ViewportPosition) => SpineItem | undefined;
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;
34
35
  getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined;
35
36
  getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
36
37
  getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "context" | "spineItemsManager" | "settings" | "spineLayout">) => {
@@ -38,7 +39,7 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
38
39
  endIndex: number;
39
40
  } | undefined;
40
41
  getVisiblePagesFromViewportPosition: ({ position, threshold, spineItem, restrictToScreen, }: {
41
- position: ViewportPosition;
42
+ position: ViewportPosition | SpinePosition;
42
43
  threshold: number;
43
44
  spineItem: SpineItem;
44
45
  restrictToScreen?: boolean;
@@ -46,43 +47,28 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
46
47
  beginPageIndex: number;
47
48
  endPageIndex: number;
48
49
  } | undefined;
49
- isPositionWithinSpineItem: (position: ViewportPosition, spineItem: SpineItem) => boolean;
50
+ isPositionWithinSpineItem: (position: ViewportPosition | SpinePosition, spineItem: SpineItem) => boolean;
50
51
  spineItemLocator: {
51
- getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => {
52
- x: number;
53
- y: number;
54
- } | undefined;
55
- getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, isUsingVerticalWriting, }: {
52
+ getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => SpineItemPosition | undefined;
53
+ getSpineItemPositionFromPageIndex: ({ pageIndex, spineItem, }: {
56
54
  pageIndex: number;
57
- itemLayout: {
58
- width: number;
59
- height: number;
60
- };
61
- isUsingVerticalWriting: boolean;
62
- }) => SafeSpineItemPosition;
55
+ spineItem: SpineItem;
56
+ }) => SpineItemPosition;
63
57
  getSpineItemPageIndexFromPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, }: {
64
58
  itemWidth: number;
65
59
  itemHeight: number;
66
- position: UnsafeSpineItemPosition;
60
+ position: SpineItemPosition;
67
61
  isUsingVerticalWriting: boolean;
68
62
  }) => number;
69
63
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
70
- getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: UnsafeSpineItemPosition, spineItem: SpineItem) => {
71
- x: number;
72
- y: number;
73
- };
64
+ getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
74
65
  getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
75
66
  node: Node;
76
67
  offset: number;
77
68
  } | undefined;
78
69
  getSpineItemPagesPosition: ({ item }: {
79
70
  item: SpineItem;
80
- }) => SafeSpineItemPosition[];
81
- getSpineItemNumberOfPages: (params: {
82
- itemWidth: number;
83
- itemHeight: number;
84
- isUsingVerticalWriting: boolean;
85
- }) => number;
71
+ }) => SpineItemPosition[];
86
72
  };
87
- getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: UnsafeSpineItemPosition, spineItem: SpineItem) => SafeSpineItemPosition;
73
+ getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
88
74
  };
@@ -3,7 +3,7 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItem } from '../../spineItem/SpineItem';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
5
5
  import { SpineLayout } from '../SpineLayout';
6
- export declare const getAbsolutePageIndexFromPageIndex: ({ pageIndex, spineItemOrId, spineLayout, spineItemsManager, context, settings, }: {
6
+ export declare const getAbsolutePageIndexFromPageIndex: ({ pageIndex, spineItemOrId, spineItemsManager, }: {
7
7
  pageIndex: number;
8
8
  spineItemOrId: number | SpineItem | string;
9
9
  spineLayout: SpineLayout;
@@ -1,5 +1,6 @@
1
1
  import { Context } from '../../context/Context';
2
2
  import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
+ import { SpinePosition } from '../types';
3
4
  export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, left, right, top, width: itemWidth, height: itemHeight, }, threshold, viewportPosition, restrictToScreen, context, }: {
4
5
  itemPosition: {
5
6
  right: number;
@@ -9,7 +10,7 @@ export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, le
9
10
  height: number;
10
11
  width: number;
11
12
  };
12
- viewportPosition: ViewportPosition;
13
+ viewportPosition: ViewportPosition | SpinePosition;
13
14
  threshold: number;
14
15
  restrictToScreen?: boolean;
15
16
  context: Context;
@@ -3,7 +3,7 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItem } from '../../spineItem/SpineItem';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
5
5
  import { SpineLayout } from '../SpineLayout';
6
- export declare const getSpineInfoFromAbsolutePageIndex: ({ absolutePageIndex, spineLayout, spineItemsManager, context, settings, }: {
6
+ export declare const getSpineInfoFromAbsolutePageIndex: ({ absolutePageIndex, spineItemsManager, }: {
7
7
  absolutePageIndex: number;
8
8
  spineLayout: SpineLayout;
9
9
  spineItemsManager: SpineItemsManager;
@@ -2,8 +2,9 @@ import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItemsManager } from '../SpineItemsManager';
4
4
  import { SpineLayout } from '../SpineLayout';
5
+ import { SpinePosition } from '../types';
5
6
  export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
6
- position: ViewportPosition;
7
+ position: ViewportPosition | SpinePosition;
7
8
  spineItemsManager: SpineItemsManager;
8
9
  spineLayout: SpineLayout;
9
10
  settings: ReaderSettingsManager;
@@ -9,4 +9,4 @@ export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, conte
9
9
  width: number;
10
10
  height: number;
11
11
  };
12
- }) => import('../../navigation/viewport/ViewportNavigator').ViewportPosition;
12
+ }) => import('../types').SpinePosition;
@@ -1,9 +1,9 @@
1
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
- import { SafeSpineItemPosition } from '../../spineItem/types';
1
+ import { SpineItemPosition } from '../../spineItem/types';
2
+ import { SpinePosition } from '../types';
3
3
  export declare const getSpinePositionFromSpineItemPosition: ({ spineItemPosition, itemLayout: { left, top }, }: {
4
- spineItemPosition: SafeSpineItemPosition;
4
+ spineItemPosition: SpineItemPosition;
5
5
  itemLayout: {
6
6
  left: number;
7
7
  top: number;
8
8
  };
9
- }) => ViewportPosition;
9
+ }) => SpinePosition;
@@ -3,8 +3,9 @@ import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
5
5
  import { SpineLayout } from '../SpineLayout';
6
+ import { SpinePosition } from '../types';
6
7
  export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, context, settings, spineLayout, }: {
7
- position: ViewportPosition;
8
+ position: ViewportPosition | SpinePosition;
8
9
  threshold: number;
9
10
  restrictToScreen?: boolean;
10
11
  spineItemsManager: SpineItemsManager;
@@ -0,0 +1,35 @@
1
+ export declare class SpineElementLayout {
2
+ readonly left: number;
3
+ readonly right: number;
4
+ readonly top: number;
5
+ readonly bottom: number;
6
+ readonly width: number;
7
+ readonly height: number;
8
+ readonly x: number;
9
+ readonly y: number;
10
+ constructor(layout: {
11
+ left: number;
12
+ right: number;
13
+ top: number;
14
+ bottom: number;
15
+ width: number;
16
+ height: number;
17
+ x: number;
18
+ y: number;
19
+ });
20
+ }
21
+ export declare class SpineItemSpineLayout extends SpineElementLayout {
22
+ readonly __symbol: symbol;
23
+ }
24
+ export declare class SpineItemPageSpineLayout extends SpineElementLayout {
25
+ readonly __symbol: symbol;
26
+ }
27
+ export declare class SpinePosition {
28
+ readonly x: number;
29
+ readonly y: number;
30
+ readonly __symbol: symbol;
31
+ constructor(position: {
32
+ x: number;
33
+ y: number;
34
+ });
35
+ }
@@ -31,4 +31,5 @@ export declare class SpineItem extends DestroyableClass {
31
31
  get loaded$(): Observable<"loaded">;
32
32
  get unloaded$(): Observable<"idle">;
33
33
  get renditionLayout(): "reflowable" | "pre-paginated";
34
+ get numberOfPages(): number;
34
35
  }
@@ -8,4 +8,4 @@ export declare const getSpineItemPagesPosition: ({ context, isUsingVerticalWriti
8
8
  isUsingVerticalWriting: boolean;
9
9
  settings: ReaderSettingsManager;
10
10
  context: Context;
11
- }) => import('../types').SafeSpineItemPosition[];
11
+ }) => import('../types').SpineItemPosition[];
@@ -1,5 +1,5 @@
1
1
  import { Context } from '../../context/Context';
2
- import { SafeSpineItemPosition } from '../types';
2
+ import { SpineItemPosition } from '../types';
3
3
  export declare const getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, context, isUsingVerticalWriting, }: {
4
4
  pageIndex: number;
5
5
  itemLayout: {
@@ -8,4 +8,4 @@ export declare const getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout
8
8
  };
9
9
  context: Context;
10
10
  isUsingVerticalWriting: boolean;
11
- }) => SafeSpineItemPosition;
11
+ }) => SpineItemPosition;