@prose-reader/core 1.209.0 → 1.210.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 (62) hide show
  1. package/dist/cfi/generate.d.ts +22 -0
  2. package/dist/cfi/generate.test.d.ts +1 -0
  3. package/dist/cfi/index.d.ts +3 -0
  4. package/dist/cfi/{lookup/parseCfi.d.ts → parse.d.ts} +1 -0
  5. package/dist/cfi/parse.test.d.ts +1 -0
  6. package/dist/cfi/{lookup/resolveCfi.d.ts → resolve.d.ts} +4 -4
  7. package/dist/context/BridgeEvent.d.ts +2 -2
  8. package/dist/context/Context.d.ts +1 -1
  9. package/dist/createReaderWithEnhancer.d.ts +18 -18
  10. package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +1 -1
  11. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +1 -1
  12. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +1 -1
  13. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +1 -1
  14. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +1 -1
  15. package/dist/enhancers/pagination/pagination.d.ts +1 -1
  16. package/dist/enhancers/pagination/types.d.ts +1 -1
  17. package/dist/index.js +2753 -3236
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.umd.cjs +49 -49
  20. package/dist/index.umd.cjs.map +1 -1
  21. package/dist/navigation/InternalNavigator.d.ts +4 -32
  22. package/dist/navigation/Navigator.d.ts +10 -10
  23. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +2 -2
  24. package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +1 -2
  25. package/dist/navigation/consolidation/withCfiPosition.d.ts +1 -1
  26. package/dist/navigation/consolidation/withDirection.d.ts +1 -1
  27. package/dist/navigation/consolidation/withFallbackPosition.d.ts +1 -1
  28. package/dist/navigation/consolidation/withPaginationInfo.d.ts +2 -2
  29. package/dist/navigation/consolidation/withSpineItem.d.ts +1 -1
  30. package/dist/navigation/consolidation/withSpineItemLayoutInfo.d.ts +1 -1
  31. package/dist/navigation/consolidation/withSpineItemPosition.d.ts +1 -1
  32. package/dist/navigation/consolidation/withUrlInfo.d.ts +1 -1
  33. package/dist/navigation/controllers/ControlledNavigationController.d.ts +0 -1
  34. package/dist/navigation/controllers/getScaledDownPosition.d.ts +1 -1
  35. package/dist/navigation/resolvers/NavigationResolver.d.ts +1 -1
  36. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +1 -1
  37. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +1 -1
  38. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +1 -1
  39. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +1 -1
  40. package/dist/navigation/resolvers/getNavigationForUrl.d.ts +1 -1
  41. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +1 -1
  42. package/dist/navigation/restoration/restorePosition.d.ts +1 -2
  43. package/dist/navigation/restoration/withRestoredPosition.d.ts +1 -1
  44. package/dist/navigation/types.d.ts +29 -1
  45. package/dist/pagination/Pagination.d.ts +1 -11
  46. package/dist/pagination/index.d.ts +2 -0
  47. package/dist/pagination/types.d.ts +11 -0
  48. package/dist/reader.d.ts +13 -13
  49. package/dist/spine/loader/SpineItemsLoader.d.ts +1 -1
  50. package/dist/spine/locator/getSpineItemFromPosition.d.ts +1 -1
  51. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +1 -1
  52. package/dist/spineItem/SpineItem.d.ts +1 -1
  53. package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +1 -1
  54. package/package.json +11 -3
  55. package/dist/cfi/CfiHandler.d.ts +0 -72
  56. package/dist/cfi/generate/generateCfi.d.ts +0 -2
  57. package/dist/cfi/generate/generateCfiForSpineItemPage.d.ts +0 -7
  58. package/dist/cfi/generate/generateCfiFromRange.d.ts +0 -5
  59. package/dist/cfi/generate/generateCfiFronSelection.d.ts +0 -8
  60. package/dist/cfi/generate/getItemAnchor.d.ts +0 -2
  61. package/dist/cfi/generate/getRootCfi.d.ts +0 -2
  62. package/dist/cfi/lookup/isRootCfi.d.ts +0 -1
@@ -3,40 +3,12 @@ import { Context } from '../context/Context';
3
3
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
4
  import { Spine } from '../spine/Spine';
5
5
  import { SpinePosition } from '../spine/types';
6
- import { SpineItemPosition } from '../spineItem/types';
7
6
  import { DestroyableClass } from '../utils/DestroyableClass';
8
7
  import { Locker } from './Locker';
9
- import { ControlledNavigationController, DeprecatedViewportPosition } from './controllers/ControlledNavigationController';
8
+ import { ControlledNavigationController } from './controllers/ControlledNavigationController';
10
9
  import { ScrollNavigationController } from './controllers/ScrollNavigationController';
11
10
  import { createNavigationResolver } from './resolvers/NavigationResolver';
12
- import { UserNavigationEntry } from './types';
13
- export type NavigationConsolidation = {
14
- spineItemHeight?: number;
15
- spineItemWidth?: number;
16
- spineItemTop?: number;
17
- spineItemLeft?: number;
18
- spineItemIsReady?: boolean;
19
- spineItemIsUsingVerticalWriting?: boolean;
20
- paginationBeginCfi?: string;
21
- positionInSpineItem?: SpineItemPosition;
22
- directionFromLastNavigation?: "forward" | "backward" | "anchor";
23
- };
24
- export type InternalNavigationEntry = {
25
- position: SpinePosition | DeprecatedViewportPosition;
26
- id: symbol;
27
- meta: {
28
- triggeredBy: `user` | `restoration` | `pagination`;
29
- };
30
- type: `api` | `scroll`;
31
- animation?: boolean | `turn` | `snap`;
32
- url?: string | URL;
33
- spineItem?: string | number;
34
- cfi?: string;
35
- } & NavigationConsolidation;
36
- export type InternalNavigationInput = Omit<InternalNavigationEntry, "position"> & {
37
- position?: SpinePosition | DeprecatedViewportPosition;
38
- };
39
- export type Navigation = Pick<InternalNavigationEntry, "position" | "id">;
11
+ import { InternalNavigationEntry, UserNavigationEntry } from './types';
40
12
  export declare class InternalNavigator extends DestroyableClass {
41
13
  protected settings: ReaderSettingsManager;
42
14
  protected context: Context;
@@ -48,7 +20,7 @@ export declare class InternalNavigator extends DestroyableClass {
48
20
  protected isUserLocked$: Observable<boolean>;
49
21
  navigationSubject: BehaviorSubject<InternalNavigationEntry>;
50
22
  navigated$: Observable<{
51
- position: SpinePosition | DeprecatedViewportPosition;
23
+ position: SpinePosition | import('./types').DeprecatedViewportPosition;
52
24
  id: symbol;
53
25
  meta: {
54
26
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -58,7 +30,7 @@ export declare class InternalNavigator extends DestroyableClass {
58
30
  url?: string | URL;
59
31
  spineItem?: string | number;
60
32
  cfi?: string;
61
- } & NavigationConsolidation>;
33
+ } & import('./types').NavigationConsolidation>;
62
34
  navigation$: Observable<{
63
35
  position: SpinePosition;
64
36
  id: symbol;
@@ -18,7 +18,7 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
18
18
  viewport: Viewport;
19
19
  }) => {
20
20
  destroy: () => void;
21
- getNavigation: () => import('./InternalNavigator').InternalNavigationEntry;
21
+ getNavigation: () => import('./types').InternalNavigationEntry;
22
22
  internalNavigator: InternalNavigator;
23
23
  scrollNavigationController: ScrollNavigationController;
24
24
  controlledNavigationController: ControlledNavigationController;
@@ -28,7 +28,7 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
28
28
  lock(): () => void;
29
29
  navigationResolver: {
30
30
  getNavigationForUrl: (url: string | URL) => {
31
- position: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition;
31
+ position: import('./types').DeprecatedViewportPosition;
32
32
  spineItemId: string;
33
33
  } | undefined;
34
34
  getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('../spine/types').SpinePosition;
@@ -36,13 +36,13 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
36
36
  spineItemPosition: import('../spineItem/types').SpineItemPosition;
37
37
  spineItem: import('..').SpineItem;
38
38
  }) => import('../spine/types').SpinePosition;
39
- getNavigationForCfi: (cfi: string) => import('./controllers/ControlledNavigationController').DeprecatedViewportPosition | undefined;
40
- getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('./controllers/ControlledNavigationController').DeprecatedViewportPosition;
41
- getNavigationForSpineIndexOrId: (indexOrId: number | string | import('..').SpineItem) => import('./controllers/ControlledNavigationController').DeprecatedViewportPosition;
42
- getNavigationForPosition: (viewportPosition: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
43
- getMostPredominantNavigationForPosition: (viewportPosition: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition) => import('./controllers/ControlledNavigationController').DeprecatedViewportPosition;
44
- getAdjustedPositionWithSafeEdge: (position: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
45
- isNavigationGoingForwardFrom: (to: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition, from: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition) => boolean;
39
+ getNavigationForCfi: (cfi: string) => import('./types').DeprecatedViewportPosition | undefined;
40
+ getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('./types').DeprecatedViewportPosition;
41
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | import('..').SpineItem) => import('./types').DeprecatedViewportPosition;
42
+ getNavigationForPosition: (viewportPosition: import('./types').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
43
+ getMostPredominantNavigationForPosition: (viewportPosition: import('./types').DeprecatedViewportPosition) => import('./types').DeprecatedViewportPosition;
44
+ getAdjustedPositionWithSafeEdge: (position: import('./types').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
45
+ isNavigationGoingForwardFrom: (to: import('./types').DeprecatedViewportPosition, from: import('./types').DeprecatedViewportPosition) => boolean;
46
46
  arePositionsDifferent: (a: {
47
47
  x: number;
48
48
  y: number;
@@ -50,7 +50,7 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
50
50
  x: number;
51
51
  y: number;
52
52
  }) => boolean;
53
- getAdjustedPositionForSpread: (position: import('./controllers/ControlledNavigationController').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
53
+ getAdjustedPositionForSpread: (position: import('./types').DeprecatedViewportPosition | import('../spine/types').SpinePosition) => import('../spine/types').SpinePosition;
54
54
  spineItemNavigator: {
55
55
  getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('../spineItem/types').SpineItemPosition;
56
56
  getNavigationForPosition: (spineItem: import('..').SpineItem, position: import('../spineItem/types').SpineItemPosition) => import('../spineItem/types').SpineItemPosition;
@@ -1,12 +1,12 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../../context/Context';
3
- import { InternalNavigationEntry } from '../InternalNavigator';
4
3
  import { Spine } from '../../spine/Spine';
4
+ import { InternalNavigationEntry } from '../types';
5
5
  export declare const consolidateWithPagination: (context: Context, navigation$: Observable<InternalNavigationEntry>, spine: Spine) => Observable<{
6
6
  meta: {
7
7
  triggeredBy: "pagination";
8
8
  };
9
- position: import('../../spine/types').SpinePosition | import('../controllers/ControlledNavigationController').DeprecatedViewportPosition;
9
+ position: import('../../spine/types').SpinePosition | import('../types').DeprecatedViewportPosition;
10
10
  id: symbol;
11
11
  type: `api` | `scroll`;
12
12
  animation?: boolean | `turn` | `snap`;
@@ -1,6 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
3
- import { UserNavigationEntry } from '../types';
2
+ import { InternalNavigationEntry, InternalNavigationInput, UserNavigationEntry } from '../types';
4
3
  export declare const mapUserNavigationToInternal: (stream: Observable<[UserNavigationEntry, InternalNavigationEntry]>) => Observable<{
5
4
  navigation: InternalNavigationInput;
6
5
  previousNavigation: InternalNavigationEntry;
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationInput } from '../InternalNavigator';
3
2
  import { NavigationResolver } from '../resolvers/NavigationResolver';
3
+ import { InternalNavigationInput } from '../types';
4
4
  type Navigation = {
5
5
  navigation: InternalNavigationInput;
6
6
  };
@@ -1,7 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
3
2
  import { Context } from '../../context/Context';
4
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
+ import { InternalNavigationEntry, InternalNavigationInput } from '../types';
5
5
  type Navigation = {
6
6
  navigation: InternalNavigationInput;
7
7
  previousNavigation: InternalNavigationEntry;
@@ -1,7 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
4
3
  import { NavigationResolver } from '../resolvers/NavigationResolver';
4
+ import { InternalNavigationEntry, InternalNavigationInput } from '../types';
5
5
  export declare const withFallbackPosition: ({ spineItemsManager, navigationResolver, }: {
6
6
  spineItemsManager: SpineItemsManager;
7
7
  navigationResolver: NavigationResolver;
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationEntry } from '../InternalNavigator';
3
- import { PaginationInfo } from '../../pagination/Pagination';
2
+ import { PaginationInfo } from '../../pagination';
3
+ import { InternalNavigationEntry } from '../types';
4
4
  type Navigation = {
5
5
  navigation: InternalNavigationEntry;
6
6
  pagination: PaginationInfo;
@@ -3,8 +3,8 @@ import { Context } from '../../context/Context';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
4
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
5
5
  import { SpineLocator } from '../../spine/locator/SpineLocator';
6
- import { InternalNavigationInput } from '../InternalNavigator';
7
6
  import { NavigationResolver } from '../resolvers/NavigationResolver';
7
+ import { InternalNavigationInput } from '../types';
8
8
  type Navigation = {
9
9
  navigation: InternalNavigationInput;
10
10
  };
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Spine } from '../../spine/Spine';
3
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
3
+ import { InternalNavigationEntry, InternalNavigationInput } from '../types';
4
4
  type Navigation = {
5
5
  navigation: InternalNavigationInput | InternalNavigationEntry;
6
6
  };
@@ -2,8 +2,8 @@ import { Observable } from 'rxjs';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
4
4
  import { SpineLocator } from '../../spine/locator/SpineLocator';
5
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
6
5
  import { NavigationResolver } from '../resolvers/NavigationResolver';
6
+ import { InternalNavigationEntry, InternalNavigationInput } from '../types';
7
7
  type Navigation = {
8
8
  navigation: InternalNavigationEntry | InternalNavigationInput;
9
9
  };
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationInput } from '../InternalNavigator';
3
2
  import { NavigationResolver } from '../resolvers/NavigationResolver';
3
+ import { InternalNavigationInput } from '../types';
4
4
  type Navigation = {
5
5
  navigation: InternalNavigationInput;
6
6
  };
@@ -6,7 +6,6 @@ import { Spine } from '../../spine/Spine';
6
6
  import { SpinePosition } from '../../spine/types';
7
7
  import { DestroyableClass } from '../../utils/DestroyableClass';
8
8
  import { Viewport } from '../../viewport/Viewport';
9
- export type DeprecatedViewportPosition = SpinePosition;
10
9
  export type ViewportNavigationEntry = {
11
10
  position: SpinePosition;
12
11
  animation?: boolean | "turn" | "snap";
@@ -1,5 +1,5 @@
1
1
  import { SpinePosition } from '../../spine/types';
2
- import { DeprecatedViewportPosition } from './ControlledNavigationController';
2
+ import { DeprecatedViewportPosition } from '../types';
3
3
  export declare const getScaledDownPosition: ({ position: { x, y }, spineElement, element, }: {
4
4
  position: DeprecatedViewportPosition;
5
5
  spineElement: HTMLElement;
@@ -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 { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
9
+ import { DeprecatedViewportPosition } from '../types';
10
10
  import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage';
11
11
  export declare const NAMESPACE = "spineNavigator";
12
12
  export type NavigationResolver = ReturnType<typeof createNavigationResolver>;
@@ -1,5 +1,5 @@
1
1
  import { SpinePosition } from '../../spine/types';
2
- import { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
2
+ import { DeprecatedViewportPosition } from '../types';
3
3
  export declare const getAdjustedPositionForSpread: ({ position: { x, y }, pageSizeWidth, visibleAreaRectWidth, }: {
4
4
  position: DeprecatedViewportPosition | SpinePosition;
5
5
  pageSizeWidth: number;
@@ -1,7 +1,7 @@
1
1
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
2
  import { SpineLayout } from '../../spine/SpineLayout';
3
3
  import { SpinePosition } from '../../spine/types';
4
- import { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
4
+ import { DeprecatedViewportPosition } from '../types';
5
5
  export declare const NAMESPACE = "spineNavigator";
6
6
  export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spineLayout, }: {
7
7
  position: DeprecatedViewportPosition | SpinePosition;
@@ -2,7 +2,7 @@ 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 { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
5
+ import { DeprecatedViewportPosition } from '../types';
6
6
  export declare const getNavigationForPosition: ({ viewportPosition, spineLocator, context, spineItemNavigationResolver, }: {
7
7
  viewportPosition: DeprecatedViewportPosition | SpinePosition;
8
8
  spineLocator: SpineLocator;
@@ -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 { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
6
+ import { DeprecatedViewportPosition } from '../types';
7
7
  export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsManager, spineItemId, context, spineLocator, spineItemNavigationResolver, }: {
8
8
  pageIndex: number;
9
9
  spineItemId: SpineItem | number | string;
@@ -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 { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
4
+ import { DeprecatedViewportPosition } from '../types';
5
5
  export declare const getNavigationForUrl: ({ context, spineItemsManager, spineLocator, url, pageSizeWidth, visibleAreaRectWidth, }: {
6
6
  url: string | URL;
7
7
  spineItemsManager: SpineItemsManager;
@@ -3,8 +3,8 @@ import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
3
  import { SpineLayout } from '../../spine/SpineLayout';
4
4
  import { SpineLocator } from '../../spine/locator/SpineLocator';
5
5
  import { SpinePosition } from '../../spine/types';
6
- import { InternalNavigationEntry } from '../InternalNavigator';
7
6
  import { NavigationResolver } from '../resolvers/NavigationResolver';
7
+ import { InternalNavigationEntry } from '../types';
8
8
  export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator, navigation, navigationResolver, spineItemsManager, spineLayout, }: {
9
9
  navigation: InternalNavigationEntry;
10
10
  spineLocator: SpineLocator;
@@ -6,9 +6,8 @@ import { SpineLayout } from '../../spine/SpineLayout';
6
6
  import { SpineLocator } from '../../spine/locator/SpineLocator';
7
7
  import { SpinePosition } from '../../spine/types';
8
8
  import { SpineItemLocator } from '../../spineItem/locationResolver';
9
- import { InternalNavigationEntry } from '../InternalNavigator';
10
- import { DeprecatedViewportPosition } from '../controllers/ControlledNavigationController';
11
9
  import { NavigationResolver } from '../resolvers/NavigationResolver';
10
+ import { DeprecatedViewportPosition, InternalNavigationEntry } from '../types';
12
11
  export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver, spineLayout, }: {
13
12
  spineLocator: SpineLocator;
14
13
  settings: ReaderSettingsManager;
@@ -2,8 +2,8 @@ import { 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 { InternalNavigationEntry } from '../InternalNavigator';
6
5
  import { NavigationResolver } from '../resolvers/NavigationResolver';
6
+ import { InternalNavigationEntry } from '../types';
7
7
  type Navigation = {
8
8
  navigation: InternalNavigationEntry;
9
9
  };
@@ -1,5 +1,6 @@
1
1
  import { SpinePosition } from '../spine/types';
2
- import { DeprecatedViewportPosition } from './controllers/ControlledNavigationController';
2
+ import { SpineItemPosition } from '../spineItem/types';
3
+ export type DeprecatedViewportPosition = SpinePosition;
3
4
  export type UserNavigationEntry = {
4
5
  position?: DeprecatedViewportPosition | SpinePosition;
5
6
  spineItem?: number | string;
@@ -9,3 +10,30 @@ export type UserNavigationEntry = {
9
10
  type?: "api" | "scroll";
10
11
  direction?: "left" | "right" | "top" | "bottom";
11
12
  };
13
+ export type NavigationConsolidation = {
14
+ spineItemHeight?: number;
15
+ spineItemWidth?: number;
16
+ spineItemTop?: number;
17
+ spineItemLeft?: number;
18
+ spineItemIsReady?: boolean;
19
+ spineItemIsUsingVerticalWriting?: boolean;
20
+ paginationBeginCfi?: string;
21
+ positionInSpineItem?: SpineItemPosition;
22
+ directionFromLastNavigation?: "forward" | "backward" | "anchor";
23
+ };
24
+ export type InternalNavigationEntry = {
25
+ position: SpinePosition | DeprecatedViewportPosition;
26
+ id: symbol;
27
+ meta: {
28
+ triggeredBy: `user` | `restoration` | `pagination`;
29
+ };
30
+ type: `api` | `scroll`;
31
+ animation?: boolean | `turn` | `snap`;
32
+ url?: string | URL;
33
+ spineItem?: string | number;
34
+ cfi?: string;
35
+ } & NavigationConsolidation;
36
+ export type InternalNavigationInput = Omit<InternalNavigationEntry, "position"> & {
37
+ position?: SpinePosition | DeprecatedViewportPosition;
38
+ };
39
+ export type Navigation = Pick<InternalNavigationEntry, "position" | "id">;
@@ -1,17 +1,7 @@
1
1
  import { Context } from '../context/Context';
2
2
  import { SpineItemsManager } from '../spine/SpineItemsManager';
3
3
  import { ReactiveEntity } from '../utils/ReactiveEntity';
4
- export type PaginationInfo = {
5
- beginPageIndexInSpineItem: number | undefined;
6
- beginNumberOfPagesInSpineItem: number;
7
- beginCfi: string | undefined;
8
- beginSpineItemIndex: number | undefined;
9
- endPageIndexInSpineItem: number | undefined;
10
- endNumberOfPagesInSpineItem: number;
11
- endCfi: string | undefined;
12
- endSpineItemIndex: number | undefined;
13
- navigationId?: symbol;
14
- };
4
+ import { PaginationInfo } from './types';
15
5
  export declare class Pagination extends ReactiveEntity<PaginationInfo> {
16
6
  protected context: Context;
17
7
  protected spineItemsManager: SpineItemsManager;
@@ -0,0 +1,2 @@
1
+ export * from './Pagination';
2
+ export * from './types';
@@ -0,0 +1,11 @@
1
+ export type PaginationInfo = {
2
+ beginPageIndexInSpineItem: number | undefined;
3
+ beginNumberOfPagesInSpineItem: number;
4
+ beginCfi: string | undefined;
5
+ beginSpineItemIndex: number | undefined;
6
+ endPageIndexInSpineItem: number | undefined;
7
+ endNumberOfPagesInSpineItem: number;
8
+ endCfi: string | undefined;
9
+ endSpineItemIndex: number | undefined;
10
+ navigationId?: symbol;
11
+ };
package/dist/reader.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Observable, ObservedValueOf, Subject } from 'rxjs';
2
- import { resolveCfi } from './cfi/lookup/resolveCfi';
2
+ import { resolveCfi } from './cfi/resolve';
3
3
  import { Context, ContextState } from './context/Context';
4
4
  import { Features } from './features/Features';
5
5
  import { HookManager } from './hooks/HookManager';
@@ -40,7 +40,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
40
40
  spineItem: SpineItem;
41
41
  }) => string;
42
42
  resolveCfi: (params: Omit<Parameters<typeof resolveCfi>[0], "spineItemsManager">) => {
43
- node: Node | undefined;
43
+ node: Node | null | undefined;
44
44
  offset: number | undefined;
45
45
  spineItem: SpineItem;
46
46
  } | {
@@ -51,7 +51,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
51
51
  };
52
52
  navigation: {
53
53
  destroy: () => void;
54
- getNavigation: () => import('./navigation/InternalNavigator').InternalNavigationEntry;
54
+ getNavigation: () => import('./navigation/types').InternalNavigationEntry;
55
55
  internalNavigator: import('./navigation/InternalNavigator').InternalNavigator;
56
56
  scrollNavigationController: import('./navigation/controllers/ScrollNavigationController').ScrollNavigationController;
57
57
  controlledNavigationController: import('./navigation/controllers/ControlledNavigationController').ControlledNavigationController;
@@ -61,7 +61,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
61
61
  lock(): () => void;
62
62
  navigationResolver: {
63
63
  getNavigationForUrl: (url: string | URL) => {
64
- position: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition;
64
+ position: import('./navigation/types').DeprecatedViewportPosition;
65
65
  spineItemId: string;
66
66
  } | undefined;
67
67
  getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./spine/types').SpinePosition;
@@ -69,13 +69,13 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
69
69
  spineItemPosition: import('./spineItem/types').SpineItemPosition;
70
70
  spineItem: SpineItem;
71
71
  }) => import('./spine/types').SpinePosition;
72
- getNavigationForCfi: (cfi: string) => import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition | undefined;
73
- getNavigationForLastPage: (spineItem: SpineItem) => import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition;
74
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition;
75
- getNavigationForPosition: (viewportPosition: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
76
- getMostPredominantNavigationForPosition: (viewportPosition: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition) => import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition;
77
- getAdjustedPositionWithSafeEdge: (position: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
78
- isNavigationGoingForwardFrom: (to: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition, from: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition) => boolean;
72
+ getNavigationForCfi: (cfi: string) => import('./navigation/types').DeprecatedViewportPosition | undefined;
73
+ getNavigationForLastPage: (spineItem: SpineItem) => import('./navigation/types').DeprecatedViewportPosition;
74
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => import('./navigation/types').DeprecatedViewportPosition;
75
+ getNavigationForPosition: (viewportPosition: import('./navigation/types').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
76
+ getMostPredominantNavigationForPosition: (viewportPosition: import('./navigation/types').DeprecatedViewportPosition) => import('./navigation/types').DeprecatedViewportPosition;
77
+ getAdjustedPositionWithSafeEdge: (position: import('./navigation/types').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
78
+ isNavigationGoingForwardFrom: (to: import('./navigation/types').DeprecatedViewportPosition, from: import('./navigation/types').DeprecatedViewportPosition) => boolean;
79
79
  arePositionsDifferent: (a: {
80
80
  x: number;
81
81
  y: number;
@@ -83,7 +83,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
83
83
  x: number;
84
84
  y: number;
85
85
  }) => boolean;
86
- getAdjustedPositionForSpread: (position: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
86
+ getAdjustedPositionForSpread: (position: import('./navigation/types').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
87
87
  spineItemNavigator: {
88
88
  getNavigationForLastPage: (spineItem: SpineItem) => import('./spineItem/types').SpineItemPosition;
89
89
  getNavigationForPosition: (spineItem: SpineItem, position: import('./spineItem/types').SpineItemPosition) => import('./spineItem/types').SpineItemPosition;
@@ -101,7 +101,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
101
101
  load: (options: Required<Pick<ContextState, "manifest" | "containerElement">>) => void;
102
102
  destroy: () => void;
103
103
  pagination: {
104
- readonly state: import('./pagination/Pagination').PaginationInfo;
104
+ readonly state: import('./pagination').PaginationInfo;
105
105
  readonly state$: Observable<ObservedValueOf<Pagination>>;
106
106
  };
107
107
  settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<import('./settings/types').CoreOutputSettings | undefined>>;
@@ -1,6 +1,6 @@
1
- import { SpineItem } from '../..';
2
1
  import { Context } from '../../context/Context';
3
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
+ import { SpineItem } from '../../spineItem/SpineItem';
4
4
  import { DestroyableClass } from '../../utils/DestroyableClass';
5
5
  import { SpineItemsManager } from '../SpineItemsManager';
6
6
  import { SpineLayout } from '../SpineLayout';
@@ -1,4 +1,4 @@
1
- import { DeprecatedViewportPosition } from '../../navigation/controllers/ControlledNavigationController';
1
+ import { DeprecatedViewportPosition } from '../../navigation/types';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItemsManager } from '../SpineItemsManager';
4
4
  import { SpineLayout } from '../SpineLayout';
@@ -1,4 +1,4 @@
1
- import { DeprecatedViewportPosition } from '../../navigation/controllers/ControlledNavigationController';
1
+ import { DeprecatedViewportPosition } from '../../navigation/types';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { Viewport } from '../../viewport/Viewport';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
@@ -27,7 +27,7 @@ export declare class SpineItem extends DestroyableClass {
27
27
  unload: () => void;
28
28
  destroy: () => void;
29
29
  get element(): HTMLElement;
30
- get readingDirection(): "rtl" | "ltr" | undefined;
30
+ get readingDirection(): "ltr" | "rtl" | undefined;
31
31
  isUsingVerticalWriting: () => boolean;
32
32
  get loaded$(): Observable<"loaded">;
33
33
  get unloaded$(): Observable<"idle">;
@@ -1,4 +1,4 @@
1
- import { DeprecatedViewportPosition } from '../navigation/controllers/ControlledNavigationController';
1
+ import { DeprecatedViewportPosition } from '../navigation/types';
2
2
  import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
3
3
  import { AbsoluteViewport, RelativeViewport } from './types';
4
4
  export declare const translateSpinePositionToRelativeViewport: (absolutePosition: DeprecatedViewportPosition | SpinePosition, absoluteViewport: AbsoluteViewport, relativeViewport: RelativeViewport | AbsoluteViewport) => UnsafeSpinePosition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.209.0",
3
+ "version": "1.210.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -23,7 +23,8 @@
23
23
  "tsc": "tsc"
24
24
  },
25
25
  "dependencies": {
26
- "@prose-reader/shared": "^1.209.0"
26
+ "@prose-reader/cfi": "^1.210.0",
27
+ "@prose-reader/shared": "^1.210.0"
27
28
  },
28
29
  "peerDependencies": {
29
30
  "rxjs": "*"
@@ -31,5 +32,12 @@
31
32
  "devDependencies": {
32
33
  "happy-dom": "^17.1.0"
33
34
  },
34
- "gitHead": "66eed41b95e4e14710f3eb3d75345fc2ec942a74"
35
+ "madge": {
36
+ "detectiveOptions": {
37
+ "ts": {
38
+ "skipTypeImports": true
39
+ }
40
+ }
41
+ },
42
+ "gitHead": "d4d195dfe67e1e5797f05848f6d7363178f605db"
35
43
  }