@prose-reader/core 1.199.0 → 1.201.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 (52) hide show
  1. package/dist/context/Context.d.ts +5 -4
  2. package/dist/createReaderWithEnhancer.d.ts +23 -22
  3. package/dist/enhancers/layoutEnhancer/layoutInfo.d.ts +2 -2
  4. package/dist/enhancers/navigation/navigators/manualNavigator.d.ts +2 -2
  5. package/dist/enhancers/navigation/navigators/panNavigator.d.ts +3 -3
  6. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -3
  7. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +3 -3
  8. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -3
  9. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +3 -3
  10. package/dist/hooks/types.d.ts +0 -5
  11. package/dist/index.js +2970 -2716
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.umd.cjs +2967 -2714
  14. package/dist/index.umd.cjs.map +1 -1
  15. package/dist/navigation/InternalNavigator.d.ts +11 -8
  16. package/dist/navigation/Navigator.d.ts +22 -26
  17. package/dist/navigation/UserNavigator.d.ts +7 -6
  18. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +1 -1
  19. package/dist/navigation/consolidation/withFallbackPosition.d.ts +1 -1
  20. package/dist/navigation/consolidation/withSpineItem.d.ts +2 -2
  21. package/dist/navigation/{viewport/ViewportNavigator.d.ts → controllers/ControlledNavigationController.d.ts} +9 -17
  22. package/dist/navigation/controllers/ScrollNavigationController.d.ts +26 -0
  23. package/dist/navigation/controllers/getScaledDownPosition.d.ts +7 -0
  24. package/dist/navigation/controllers/positions.d.ts +9 -0
  25. package/dist/navigation/resolvers/NavigationResolver.d.ts +12 -16
  26. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +3 -3
  27. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -6
  28. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +3 -3
  29. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +2 -2
  30. package/dist/navigation/resolvers/getNavigationForUrl.d.ts +2 -2
  31. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +1 -1
  32. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -4
  33. package/dist/navigation/restoration/restorePosition.d.ts +2 -2
  34. package/dist/reader.d.ts +24 -22
  35. package/dist/spine/Spine.d.ts +8 -6
  36. package/dist/spine/SpineLayout.d.ts +3 -1
  37. package/dist/spine/layout/layoutItem.d.ts +3 -1
  38. package/dist/spine/loader/SpineItemsLoader.d.ts +2 -2
  39. package/dist/spine/locator/SpineLocator.d.ts +15 -8
  40. package/dist/spine/locator/getItemVisibilityForPosition.d.ts +3 -6
  41. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -2
  42. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +6 -5
  43. package/dist/spine/types.d.ts +13 -3
  44. package/dist/spineItem/SpineItemLayout.d.ts +3 -1
  45. package/dist/utils/ReactiveEntity.d.ts +8 -0
  46. package/dist/utils/rxjs.d.ts +1 -0
  47. package/dist/viewport/Viewport.d.ts +17 -0
  48. package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +4 -0
  49. package/dist/viewport/types.d.ts +29 -0
  50. package/package.json +3 -3
  51. package/dist/navigation/tests/SpineItemsManagerMock.d.ts +0 -30
  52. package/dist/navigation/viewport/getScaledDownPosition.d.ts +0 -9
@@ -1,8 +1,10 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
- import { BehaviorSubject, Subject } from 'rxjs';
2
+ import { Subject } from 'rxjs';
3
+ import { ReactiveEntity } from '../utils/ReactiveEntity';
3
4
  import { BridgeEvent } from './BridgeEvent';
4
5
  export type ContextState = {
5
6
  containerElement?: HTMLElement;
7
+ rootElement?: HTMLElement;
6
8
  manifest?: Manifest;
7
9
  hasVerticalWriting?: boolean;
8
10
  isUsingSpreadMode?: boolean;
@@ -19,8 +21,7 @@ export type ContextState = {
19
21
  y: number;
20
22
  };
21
23
  };
22
- export declare class Context {
23
- _stateSubject: BehaviorSubject<ContextState>;
24
+ export declare class Context extends ReactiveEntity<ContextState> {
24
25
  bridgeEvent: BridgeEvent;
25
26
  destroy$: Subject<void>;
26
27
  state$: import('rxjs').Observable<ContextState>;
@@ -28,6 +29,7 @@ export declare class Context {
28
29
  containerElement$: import('rxjs').Observable<HTMLElement>;
29
30
  hasVerticalWriting$: import('rxjs').Observable<boolean>;
30
31
  isUsingSpreadMode$: import('rxjs').Observable<boolean | undefined>;
32
+ constructor();
31
33
  update(newState: Partial<ContextState>): void;
32
34
  isRTL: () => boolean;
33
35
  get state(): ContextState;
@@ -37,5 +39,4 @@ export declare class Context {
37
39
  width: number;
38
40
  height: number;
39
41
  };
40
- destroy: () => void;
41
42
  }
@@ -50,36 +50,32 @@ export declare const createReaderWithEnhancers: (options: Partial<import('./sett
50
50
  } | undefined;
51
51
  };
52
52
  navigation: {
53
- viewportBusy$: import('rxjs').Observable<"busy">;
54
- getViewportPosition: () => {
55
- x: number;
56
- y: number;
57
- };
53
+ destroy: () => void;
58
54
  getNavigation: () => import('./navigation/InternalNavigator').InternalNavigationEntry;
59
- getElement: () => HTMLElement;
55
+ internalNavigator: import('./navigation/InternalNavigator').InternalNavigator;
56
+ scrollNavigationController: import('./navigation/controllers/ScrollNavigationController').ScrollNavigationController;
57
+ controlledNavigationController: import('./navigation/controllers/ControlledNavigationController').ControlledNavigationController;
58
+ isLocked$: import('rxjs').Observable<boolean>;
59
+ viewportState$: import('rxjs').Observable<"free" | "busy">;
60
60
  navigate: (to: import('./navigation/UserNavigator').UserNavigationEntry) => void;
61
- lock: () => () => void;
61
+ lock(): () => void;
62
62
  navigationResolver: {
63
63
  getNavigationForUrl: (url: string | URL) => {
64
- position: import('./navigation/viewport/ViewportNavigator').ViewportPosition;
64
+ position: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition;
65
65
  spineItemId: string;
66
66
  } | undefined;
67
- getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
67
+ getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('./spine/types').SpinePosition;
68
68
  getNavigationFromSpineItemPosition: (params: {
69
69
  spineItemPosition: import('./spineItem/types').SpineItemPosition;
70
70
  spineItem: import('.').SpineItem;
71
- }) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
72
- getNavigationForCfi: (cfi: string) => import('./navigation/viewport/ViewportNavigator').ViewportPosition | undefined;
73
- getNavigationForLastPage: (spineItem: import('.').SpineItem) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
74
- getNavigationForSpineIndexOrId: (indexOrId: number | string | import('.').SpineItem) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
75
- getNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
76
- getMostPredominantNavigationForPosition: (viewportPosition: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
77
- getAdjustedPositionWithSafeEdge: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => {
78
- x: number;
79
- y: number;
80
- };
81
- isNavigationGoingForwardFrom: (to: import('./navigation/viewport/ViewportNavigator').ViewportPosition, from: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => boolean;
82
- areNavigationDifferent: (a: import('./navigation/viewport/ViewportNavigator').ViewportPosition, b: import('./navigation/viewport/ViewportNavigator').ViewportPosition) => boolean;
71
+ }) => import('./spine/types').SpinePosition;
72
+ getNavigationForCfi: (cfi: string) => import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition | undefined;
73
+ getNavigationForLastPage: (spineItem: import('.').SpineItem) => import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition;
74
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | import('.').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;
83
79
  arePositionsDifferent: (a: {
84
80
  x: number;
85
81
  y: number;
@@ -87,13 +83,17 @@ export declare const createReaderWithEnhancers: (options: Partial<import('./sett
87
83
  x: number;
88
84
  y: number;
89
85
  }) => boolean;
90
- getAdjustedPositionForSpread: (position: import('./navigation/viewport/ViewportNavigator').ViewportPosition | import('./spine/types').SpinePosition) => import('./navigation/viewport/ViewportNavigator').ViewportPosition;
86
+ getAdjustedPositionForSpread: (position: import('./navigation/controllers/ControlledNavigationController').DeprecatedViewportPosition | import('./spine/types').SpinePosition) => import('./spine/types').SpinePosition;
91
87
  spineItemNavigator: {
92
88
  getNavigationForLastPage: (spineItem: import('.').SpineItem) => import('./spineItem/types').SpineItemPosition;
93
89
  getNavigationForPosition: (spineItem: import('.').SpineItem, position: import('./spineItem/types').SpineItemPosition) => import('./spineItem/types').SpineItemPosition;
94
90
  getNavigationFromNode: (spineItem: import('.').SpineItem, node: Node, offset: number) => import('./spineItem/types').SpineItemPosition;
95
91
  };
96
92
  };
93
+ navigation$: import('rxjs').Observable<{
94
+ position: import('./spine/types').SpinePosition;
95
+ id: symbol;
96
+ }>;
97
97
  };
98
98
  spineItemsObserver: import('./spine/SpineItemsObserver').SpineItemsObserver;
99
99
  spineItemsManager: import('./spine/SpineItemsManager').SpineItemsManager;
@@ -105,6 +105,7 @@ export declare const createReaderWithEnhancers: (options: Partial<import('./sett
105
105
  state$: import('rxjs').Observable<import('./pagination/Pagination').PaginationInfo>;
106
106
  };
107
107
  settings: import('./settings/SettingsInterface').SettingsInterface<NonNullable<import('./settings/types').CoreInputSettings>, NonNullable<import('./settings/types').CoreOutputSettings | undefined>>;
108
+ viewport: import('./viewport/Viewport').Viewport;
108
109
  element$: import('rxjs').Observable<HTMLElement>;
109
110
  viewportState$: import('rxjs').Observable<"free" | "busy">;
110
111
  viewportFree$: import('rxjs').Observable<"free">;
@@ -1,9 +1,9 @@
1
1
  import { Reader } from '../../reader';
2
- import { SpineItemPageSpineLayout, SpineItemSpineLayout, SpinePosition } from '../../spine/types';
2
+ import { SpineItemPageSpineLayout, SpinePosition } from '../../spine/types';
3
3
  export type PageLayoutInformation = {
4
4
  absolutePageIndex: number;
5
5
  itemIndex: number;
6
- absolutePosition: SpineItemSpineLayout;
6
+ absolutePosition: SpineItemPageSpineLayout;
7
7
  };
8
8
  export type LayoutInfo = {
9
9
  pages: PageLayoutInformation[];
@@ -1,13 +1,13 @@
1
1
  import { UserNavigationEntry } from '../../../navigation/UserNavigator';
2
- import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
3
2
  import { Reader } from '../../../reader';
3
+ import { SpinePosition } from '../../../spine/types';
4
4
  export declare class ManualNavigator {
5
5
  protected reader: Reader;
6
6
  movingLastDelta: {
7
7
  x: number;
8
8
  y: number;
9
9
  };
10
- movingLastPosition: ViewportPosition;
10
+ movingLastPosition: SpinePosition;
11
11
  unlock: ReturnType<Reader["navigation"]["lock"]> | undefined;
12
12
  constructor(reader: Reader);
13
13
  turnRight(): void;
@@ -1,13 +1,13 @@
1
1
  import { Reader } from '../../../reader';
2
- import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
2
+ import { SpinePosition } from '../../../spine/types';
3
3
  export declare class PanNavigator {
4
4
  protected reader: Reader;
5
5
  lastDelta: {
6
6
  x: number;
7
7
  y: number;
8
8
  };
9
- lastPosition: ViewportPosition;
10
- lastStartPosition: ViewportPosition;
9
+ lastPosition: SpinePosition;
10
+ lastStartPosition: SpinePosition;
11
11
  unlock: ReturnType<Reader["navigation"]["lock"]> | undefined;
12
12
  constructor(reader: Reader);
13
13
  moveTo(delta: {
@@ -1,16 +1,16 @@
1
1
  import { Context } from '../../../context/Context';
2
+ import { DeprecatedViewportPosition } from '../../../navigation/controllers/ControlledNavigationController';
2
3
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
- import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
4
4
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
5
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
6
6
  import { SpinePosition } from '../../../spine/types';
7
7
  import { SpineItem } from '../../../spineItem/SpineItem';
8
8
  export declare const getNavigationForLeftOrTopPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, }: {
9
- position: ViewportPosition | SpinePosition;
9
+ position: DeprecatedViewportPosition | SpinePosition;
10
10
  spineItem: SpineItem;
11
11
  context: Context;
12
12
  spineItemsManager: SpineItemsManager;
13
13
  navigationResolver: NavigationResolver;
14
14
  spineLocator: SpineLocator;
15
15
  computedPageTurnDirection: "horizontal" | "vertical";
16
- }) => ViewportPosition;
16
+ }) => DeprecatedViewportPosition;
@@ -1,14 +1,14 @@
1
1
  import { Context } from '../../../context/Context';
2
+ import { DeprecatedViewportPosition } from '../../../navigation/controllers/ControlledNavigationController';
2
3
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
- import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
4
4
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
5
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
6
6
  import { SpinePosition } from '../../../spine/types';
7
7
  export declare const getNavigationForLeftSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, context, }: {
8
- position: ViewportPosition | SpinePosition;
8
+ position: DeprecatedViewportPosition | SpinePosition;
9
9
  navigationResolver: NavigationResolver;
10
10
  computedPageTurnDirection: "horizontal" | "vertical";
11
11
  spineItemsManager: SpineItemsManager;
12
12
  spineLocator: SpineLocator;
13
13
  context: Context;
14
- }) => ViewportPosition | SpinePosition;
14
+ }) => DeprecatedViewportPosition | SpinePosition;
@@ -1,16 +1,16 @@
1
1
  import { Context } from '../../../context/Context';
2
+ import { DeprecatedViewportPosition } from '../../../navigation/controllers/ControlledNavigationController';
2
3
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
- import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
4
4
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
5
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
6
6
  import { SpinePosition } from '../../../spine/types';
7
7
  import { SpineItem } from '../../../spineItem/SpineItem';
8
8
  export declare const getNavigationForRightOrBottomPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, }: {
9
- position: ViewportPosition | SpinePosition;
9
+ position: DeprecatedViewportPosition | SpinePosition;
10
10
  spineItem: SpineItem;
11
11
  context: Context;
12
12
  spineItemsManager: SpineItemsManager;
13
13
  navigationResolver: NavigationResolver;
14
14
  spineLocator: SpineLocator;
15
15
  computedPageTurnDirection: "horizontal" | "vertical";
16
- }) => ViewportPosition;
16
+ }) => DeprecatedViewportPosition;
@@ -1,14 +1,14 @@
1
1
  import { Context } from '../../../context/Context';
2
+ import { DeprecatedViewportPosition } from '../../../navigation/controllers/ControlledNavigationController';
2
3
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
- import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
4
4
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
5
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
6
6
  import { SpinePosition } from '../../../spine/types';
7
7
  export declare const getNavigationForRightSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, context, }: {
8
- position: ViewportPosition | SpinePosition;
8
+ position: DeprecatedViewportPosition | SpinePosition;
9
9
  navigationResolver: NavigationResolver;
10
10
  computedPageTurnDirection: "horizontal" | "vertical";
11
11
  spineItemsManager: SpineItemsManager;
12
12
  spineLocator: SpineLocator;
13
13
  context: Context;
14
- }) => ViewportPosition | SpinePosition;
14
+ }) => DeprecatedViewportPosition | SpinePosition;
@@ -41,11 +41,6 @@ export type CoreHook = {
41
41
  } | {
42
42
  name: "onViewportOffsetAdjust";
43
43
  runFn: (params: undefined) => void;
44
- } | {
45
- name: `navigator.onBeforeContainerCreated`;
46
- runFn: (params: {
47
- element: HTMLElement;
48
- }) => void;
49
44
  };
50
45
  export type HookExecution<H extends Hook<any, any, any>> = {
51
46
  name: string;