@prose-reader/core 1.240.0 → 1.242.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 (47) hide show
  1. package/dist/createReaderWithEnhancer.d.ts +11 -10
  2. package/dist/enhancers/layout/coordinates.d.ts +3 -3
  3. package/dist/enhancers/layout/types.d.ts +0 -1
  4. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -4
  5. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +3 -4
  6. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -4
  7. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +3 -4
  8. package/dist/enhancers/zoom/ControlledZoomController.d.ts +19 -0
  9. package/dist/enhancers/zoom/ScrollableZoomer.d.ts +10 -11
  10. package/dist/enhancers/zoom/ZoomController.d.ts +26 -0
  11. package/dist/enhancers/zoom/types.d.ts +8 -9
  12. package/dist/index.js +2019 -1922
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.umd.cjs +38 -38
  15. package/dist/index.umd.cjs.map +1 -1
  16. package/dist/navigation/InternalNavigator.d.ts +6 -5
  17. package/dist/navigation/Navigator.d.ts +12 -11
  18. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +4 -4
  19. package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +4 -1
  20. package/dist/navigation/consolidation/withFallbackPosition.d.ts +4 -1
  21. package/dist/navigation/consolidation/withSpineItem.d.ts +1 -1
  22. package/dist/navigation/consolidation/withSpineItemPosition.d.ts +1 -1
  23. package/dist/navigation/controllers/ScrollNavigationController.d.ts +9 -7
  24. package/dist/navigation/resolvers/NavigationResolver.d.ts +10 -10
  25. package/dist/navigation/resolvers/fromOutOfBoundsSpinePosition.d.ts +20 -0
  26. package/dist/navigation/resolvers/{getAdjustedPositionWithSafeEdge.d.ts → fromUnboundSpinePosition.d.ts} +3 -4
  27. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +3 -4
  28. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +2 -3
  29. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +2 -2
  30. package/dist/navigation/restoration/restorePosition.d.ts +4 -4
  31. package/dist/navigation/types.d.ts +6 -7
  32. package/dist/reader.d.ts +11 -10
  33. package/dist/spine/loader/SpineItemsLoader.d.ts +1 -1
  34. package/dist/spine/locator/SpineLocator.d.ts +9 -9
  35. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -3
  36. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +2 -3
  37. package/dist/spine/types.d.ts +4 -4
  38. package/dist/spineItem/locationResolver.d.ts +2 -2
  39. package/dist/spineItem/types.d.ts +1 -1
  40. package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +2 -3
  41. package/dist/viewport/types.d.ts +2 -2
  42. package/package.json +4 -4
  43. package/dist/enhancers/layout/viewportMode.d.ts +0 -3
  44. package/dist/enhancers/zoom/ControllableZoomer.d.ts +0 -18
  45. package/dist/enhancers/zoom/Zoomer.d.ts +0 -20
  46. package/dist/utils/layout.d.ts +0 -7
  47. package/dist/utils/layout.test.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { CoreInputSettings, EnhancerLayoutInputSettings, Theme, EnhancerFontsInputSettings, Context, Spine, SpineItem, InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, SpinePosition, SpineItemPosition, DeprecatedViewportPosition, SpineItemsObserver, SpineItemsManager, ContextState, SettingsInterface, CoreOutputSettings, SpineItemReference, Viewport, Features, LayoutEnhancerOutput, ComputedCoreSettings, ExtraPaginationInfo, ResourcesLocator, NavigationEnhancerOutput, ZoomEnhancerOutput } from '.';
1
+ import { CoreInputSettings, EnhancerLayoutInputSettings, Theme, EnhancerFontsInputSettings, Context, Spine, SpineItem, InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, SpinePosition, SpineItemPosition, UnboundSpinePosition, SpineItemsObserver, SpineItemsManager, ContextState, SettingsInterface, CoreOutputSettings, SpineItemReference, Viewport, Features, LayoutEnhancerOutput, ComputedCoreSettings, ExtraPaginationInfo, ResourcesLocator, NavigationEnhancerOutput, ZoomEnhancerOutput } from '.';
2
2
  import { HookManager, CoreHook } from './hooks';
3
3
  import { Manifest } from '@prose-reader/shared';
4
4
  import { resolveCfi } from './cfi';
@@ -69,13 +69,14 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
69
69
  spineItemPosition: SpineItemPosition;
70
70
  spineItem: SpineItem;
71
71
  }) => SpinePosition;
72
- getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
73
- getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
74
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
75
- getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
76
- getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
77
- getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
78
- isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
72
+ getNavigationForCfi: (cfi: string) => SpinePosition | undefined;
73
+ getNavigationForLastPage: (spineItem: SpineItem) => SpinePosition;
74
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => SpinePosition;
75
+ getNavigationForPosition: (viewportPosition: SpinePosition | UnboundSpinePosition) => SpinePosition;
76
+ getMostPredominantNavigationForPosition: (viewportPosition: SpinePosition) => SpinePosition;
77
+ fromUnboundSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
78
+ fromOutOfBoundsSpinePosition: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition;
79
+ isNavigationGoingForwardFrom: (to: SpinePosition, from: SpinePosition) => boolean;
79
80
  arePositionsDifferent: (a: {
80
81
  x: number;
81
82
  y: number;
@@ -83,7 +84,7 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
83
84
  x: number;
84
85
  y: number;
85
86
  }) => boolean;
86
- getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
87
+ getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition;
87
88
  spineItemNavigator: {
88
89
  getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
89
90
  getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
@@ -91,7 +92,7 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
91
92
  };
92
93
  };
93
94
  navigation$: Observable<{
94
- position: SpinePosition;
95
+ position: SpinePosition | UnboundSpinePosition;
95
96
  id: symbol;
96
97
  }>;
97
98
  };
@@ -1,12 +1,12 @@
1
1
  import { Reader } from '../../reader';
2
- import { UnsafeSpinePosition } from '../../spine/types';
2
+ import { UnboundSpinePosition } from '../../spine/types';
3
3
  export declare const getSpinePositionFromClientPosition: (position: {
4
4
  x: number;
5
5
  y: number;
6
- }, spineElement: HTMLElement) => UnsafeSpinePosition;
6
+ }, spineElement: HTMLElement) => UnboundSpinePosition;
7
7
  export declare const createCoordinatesApi: (reader: Reader) => {
8
8
  getSpinePositionFromClientPosition: (position: {
9
9
  x: number;
10
10
  y: number;
11
- }) => UnsafeSpinePosition | undefined;
11
+ }) => UnboundSpinePosition | undefined;
12
12
  };
@@ -3,6 +3,5 @@ export type EnhancerLayoutInputSettings = {
3
3
  pageVerticalMargin: number;
4
4
  layoutAutoResize: `container` | false;
5
5
  layoutLayerTransition: boolean;
6
- viewportMode: `normal` | `thumbnails`;
7
6
  };
8
7
  export type OutputSettings = EnhancerLayoutInputSettings;
@@ -1,15 +1,14 @@
1
1
  import { Context } from '../../../context/Context';
2
2
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
- import { DeprecatedViewportPosition } from '../../../navigation/types';
4
3
  import { SettingsInterface } from '../../../settings/SettingsInterface';
5
4
  import { ComputedCoreSettings, CoreInputSettings } from '../../../settings/types';
6
5
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
7
6
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
8
- import { SpinePosition } from '../../../spine/types';
7
+ import { SpinePosition, UnboundSpinePosition } from '../../../spine/types';
9
8
  import { SpineItem } from '../../../spineItem/SpineItem';
10
9
  import { Viewport } from '../../../viewport/Viewport';
11
10
  export declare const getNavigationForLeftOrTopPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, viewport, settings, }: {
12
- position: DeprecatedViewportPosition | SpinePosition;
11
+ position: SpinePosition | UnboundSpinePosition;
13
12
  spineItem: SpineItem;
14
13
  context: Context;
15
14
  spineItemsManager: SpineItemsManager;
@@ -18,4 +17,4 @@ export declare const getNavigationForLeftOrTopPage: ({ position, spineItem, cont
18
17
  computedPageTurnDirection: "horizontal" | "vertical";
19
18
  viewport: Viewport;
20
19
  settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
21
- }) => DeprecatedViewportPosition;
20
+ }) => SpinePosition | UnboundSpinePosition;
@@ -1,14 +1,13 @@
1
1
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
2
- import { DeprecatedViewportPosition } from '../../../navigation/types';
3
2
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
4
3
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
- import { SpinePosition } from '../../../spine/types';
4
+ import { SpinePosition, UnboundSpinePosition } from '../../../spine/types';
6
5
  import { Viewport } from '../../../viewport/Viewport';
7
6
  export declare const getNavigationForLeftSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, viewport, }: {
8
- position: DeprecatedViewportPosition | SpinePosition;
7
+ position: SpinePosition | UnboundSpinePosition;
9
8
  navigationResolver: NavigationResolver;
10
9
  computedPageTurnDirection: "horizontal" | "vertical";
11
10
  spineItemsManager: SpineItemsManager;
12
11
  spineLocator: SpineLocator;
13
12
  viewport: Viewport;
14
- }) => DeprecatedViewportPosition | SpinePosition;
13
+ }) => SpinePosition | UnboundSpinePosition;
@@ -1,15 +1,14 @@
1
1
  import { Context } from '../../../context/Context';
2
2
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
- import { DeprecatedViewportPosition } from '../../../navigation/types';
4
3
  import { SettingsInterface } from '../../../settings/SettingsInterface';
5
4
  import { ComputedCoreSettings, CoreInputSettings } from '../../../settings/types';
6
5
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
7
6
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
8
- import { SpinePosition } from '../../../spine/types';
7
+ import { SpinePosition, UnboundSpinePosition } from '../../../spine/types';
9
8
  import { SpineItem } from '../../../spineItem/SpineItem';
10
9
  import { Viewport } from '../../../viewport/Viewport';
11
10
  export declare const getNavigationForRightOrBottomPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, viewport, settings, }: {
12
- position: DeprecatedViewportPosition | SpinePosition;
11
+ position: SpinePosition | UnboundSpinePosition;
13
12
  spineItem: SpineItem;
14
13
  context: Context;
15
14
  spineItemsManager: SpineItemsManager;
@@ -18,4 +17,4 @@ export declare const getNavigationForRightOrBottomPage: ({ position, spineItem,
18
17
  computedPageTurnDirection: "horizontal" | "vertical";
19
18
  viewport: Viewport;
20
19
  settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
21
- }) => DeprecatedViewportPosition;
20
+ }) => SpinePosition;
@@ -1,14 +1,13 @@
1
1
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
2
- import { DeprecatedViewportPosition } from '../../../navigation/types';
3
2
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
4
3
  import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
- import { SpinePosition } from '../../../spine/types';
4
+ import { SpinePosition, UnboundSpinePosition } from '../../../spine/types';
6
5
  import { Viewport } from '../../../viewport/Viewport';
7
6
  export declare const getNavigationForRightSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, viewport, }: {
8
- position: DeprecatedViewportPosition | SpinePosition;
7
+ position: SpinePosition | UnboundSpinePosition;
9
8
  navigationResolver: NavigationResolver;
10
9
  computedPageTurnDirection: "horizontal" | "vertical";
11
10
  spineItemsManager: SpineItemsManager;
12
11
  spineLocator: SpineLocator;
13
12
  viewport: Viewport;
14
- }) => DeprecatedViewportPosition | SpinePosition;
13
+ }) => SpinePosition | UnboundSpinePosition;
@@ -0,0 +1,19 @@
1
+ import { Reader } from '../../reader';
2
+ import { ZoomController } from './ZoomController';
3
+ export declare class ControlledZoomController extends ZoomController {
4
+ constructor(reader: Reader);
5
+ enter({ element, scale, animate, }?: {
6
+ element?: HTMLImageElement;
7
+ scale?: number;
8
+ animate?: boolean;
9
+ }): void;
10
+ exit(): void;
11
+ moveAt(position: {
12
+ x: number;
13
+ y: number;
14
+ }): void;
15
+ protected setElementScale(element: HTMLDivElement, scale: number): void;
16
+ protected setViewportScale(scale: number): void;
17
+ protected setScale(userScale: number): void;
18
+ scaleAt(userScale: number): void;
19
+ }
@@ -1,15 +1,14 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Zoomer } from './Zoomer';
3
- export declare class ScrollableZoomer extends Zoomer {
4
- element: HTMLDivElement | undefined;
5
- isZooming$: BehaviorSubject<boolean>;
6
- currentScale: number;
7
- currentPosition: {
8
- x: number;
9
- y: number;
10
- };
11
- enter(): void;
1
+ import { ZoomController } from './ZoomController';
2
+ export declare const adjustScrollToKeepContentCentered: (scrollContainer: HTMLElement, fromScale: number, toScale: number) => {
3
+ newScrollLeft: number;
4
+ newScrollTop: number;
5
+ };
6
+ export declare class ScrollableZoomController extends ZoomController {
7
+ enter({ scale }?: {
8
+ scale?: number;
9
+ }): void;
12
10
  exit(): void;
13
11
  moveAt(): void;
12
+ protected setScale(scale: number): void;
14
13
  scaleAt(userScale: number): void;
15
14
  }
@@ -0,0 +1,26 @@
1
+ import { Reader } from '../../reader';
2
+ import { ReactiveEntity } from '../../utils/ReactiveEntity';
3
+ export type ZoomControllerState = {
4
+ element: HTMLDivElement | undefined;
5
+ isZooming: boolean;
6
+ currentScale: number;
7
+ currentPosition: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ };
12
+ export declare abstract class ZoomController extends ReactiveEntity<ZoomControllerState> {
13
+ protected reader: Reader;
14
+ constructor(reader: Reader);
15
+ abstract enter(params?: {
16
+ element?: HTMLImageElement;
17
+ scale?: number;
18
+ animate?: boolean;
19
+ }): void;
20
+ abstract exit(): void;
21
+ abstract moveAt(position: {
22
+ x: number;
23
+ y: number;
24
+ }): void;
25
+ abstract scaleAt(scale: number): void;
26
+ }
@@ -1,20 +1,19 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { ZoomControllerState } from './ZoomController';
2
3
  export type ZoomEnhancerOutput = {
3
4
  zoom: {
4
- enter: (imgElement?: HTMLImageElement) => void;
5
+ enter: (params?: {
6
+ element?: HTMLImageElement;
7
+ scale?: number;
8
+ animate?: boolean;
9
+ }) => void;
5
10
  exit: () => void;
6
11
  moveAt: (position: {
7
12
  x: number;
8
13
  y: number;
9
14
  }) => void;
10
15
  scaleAt: (scale: number) => void;
11
- currentScale: number;
12
- currentPosition: {
13
- x: number;
14
- y: number;
15
- };
16
- zoomContainerElement: HTMLDivElement | undefined;
17
- isZooming$: Observable<boolean>;
18
- isZooming: boolean;
16
+ state$: Observable<ZoomControllerState>;
17
+ get state(): ZoomControllerState;
19
18
  };
20
19
  };