@prose-reader/core 1.197.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 (45) 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/index.js +253 -212
  15. package/dist/index.js.map +1 -1
  16. package/dist/index.umd.cjs +252 -211
  17. package/dist/index.umd.cjs.map +1 -1
  18. package/dist/navigation/InternalNavigator.d.ts +6 -5
  19. package/dist/navigation/Navigator.d.ts +8 -8
  20. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +2 -2
  21. package/dist/navigation/resolvers/NavigationResolver.d.ts +12 -11
  22. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +2 -1
  23. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +2 -1
  24. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +2 -1
  25. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +2 -2
  26. package/dist/navigation/restoration/restorePosition.d.ts +2 -1
  27. package/dist/navigation/tests/SpineItemsManagerMock.d.ts +1 -1
  28. package/dist/navigation/viewport/ViewportNavigator.d.ts +6 -5
  29. package/dist/reader.d.ts +7 -9
  30. package/dist/spine/SpineLayout.d.ts +5 -6
  31. package/dist/spine/layout/layoutItem.d.ts +2 -2
  32. package/dist/spine/locator/SpineLocator.d.ts +17 -26
  33. package/dist/spine/locator/getItemVisibilityForPosition.d.ts +2 -1
  34. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -1
  35. package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +1 -1
  36. package/dist/spine/locator/getSpinePositionFromSpineItemPosition.d.ts +4 -4
  37. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +2 -1
  38. package/dist/spine/types.d.ts +35 -16
  39. package/dist/spineItem/layout/getSpineItemPagesPosition.d.ts +1 -1
  40. package/dist/spineItem/layout/getSpineItemPositionFromPageIndex.d.ts +2 -2
  41. package/dist/spineItem/locationResolver.d.ts +8 -18
  42. package/dist/spineItem/navigationResolver.d.ts +4 -4
  43. package/dist/spineItem/types.d.ts +9 -10
  44. package/package.json +3 -3
  45. package/dist/spine/layout/convertViewportPositionToLayoutPosition.d.ts +0 -9
@@ -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,11 +4,11 @@ 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 './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
14
  pages: PageLayoutInformation[];
@@ -18,12 +18,11 @@ export declare class SpineLayout extends DestroyableClass {
18
18
  protected context: Context;
19
19
  protected settings: ReaderSettingsManager;
20
20
  protected layoutSubject: Subject<unknown>;
21
- protected spineItemsRelativeLayouts: SpineItemRelativeLayout[];
22
- readonly layout$: Observable<LayoutInfo>;
23
- readonly info$: Observable<LayoutInfo>;
21
+ protected spineItemsRelativeLayouts: SpineItemSpineLayout[];
22
+ readonly layout$: Observable<unknown>;
24
23
  constructor(spineItemsManager: SpineItemsManager, context: Context, settings: ReaderSettingsManager);
25
24
  layout(): void;
26
- getSpineItemRelativeLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemRelativeLayout;
25
+ getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
27
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,38 +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[];
71
+ }) => SpineItemPosition[];
81
72
  };
82
- getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: UnsafeSpineItemPosition, spineItem: SpineItem) => SafeSpineItemPosition;
73
+ getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
83
74
  };
@@ -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;
@@ -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;
@@ -1,16 +1,35 @@
1
- export type SpineItemRelativeLayout = {
2
- left: number;
3
- right: number;
4
- top: number;
5
- bottom: number;
6
- width: number;
7
- height: number;
8
- x: number;
9
- y: number;
10
- __symbol?: `SpineItemRelativeLayout`;
11
- };
12
- export type SpinePosition = {
13
- x: number;
14
- y: number;
15
- __symbol?: `SpinePosition` | SpineItemRelativeLayout["__symbol"];
16
- };
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
+ }
@@ -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;