@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.
- package/dist/createReaderWithEnhancer.d.ts +11 -10
- package/dist/enhancers/layout/coordinates.d.ts +3 -3
- package/dist/enhancers/layout/types.d.ts +0 -1
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -4
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +3 -4
- package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -4
- package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +3 -4
- package/dist/enhancers/zoom/ControlledZoomController.d.ts +19 -0
- package/dist/enhancers/zoom/ScrollableZoomer.d.ts +10 -11
- package/dist/enhancers/zoom/ZoomController.d.ts +26 -0
- package/dist/enhancers/zoom/types.d.ts +8 -9
- package/dist/index.js +2019 -1922
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +38 -38
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/InternalNavigator.d.ts +6 -5
- package/dist/navigation/Navigator.d.ts +12 -11
- package/dist/navigation/consolidation/consolidateWithPagination.d.ts +4 -4
- package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +4 -1
- package/dist/navigation/consolidation/withFallbackPosition.d.ts +4 -1
- package/dist/navigation/consolidation/withSpineItem.d.ts +1 -1
- package/dist/navigation/consolidation/withSpineItemPosition.d.ts +1 -1
- package/dist/navigation/controllers/ScrollNavigationController.d.ts +9 -7
- package/dist/navigation/resolvers/NavigationResolver.d.ts +10 -10
- package/dist/navigation/resolvers/fromOutOfBoundsSpinePosition.d.ts +20 -0
- package/dist/navigation/resolvers/{getAdjustedPositionWithSafeEdge.d.ts → fromUnboundSpinePosition.d.ts} +3 -4
- package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +3 -4
- package/dist/navigation/resolvers/getNavigationForPosition.d.ts +2 -3
- package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +2 -2
- package/dist/navigation/restoration/restorePosition.d.ts +4 -4
- package/dist/navigation/types.d.ts +6 -7
- package/dist/reader.d.ts +11 -10
- package/dist/spine/loader/SpineItemsLoader.d.ts +1 -1
- package/dist/spine/locator/SpineLocator.d.ts +9 -9
- package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -3
- package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +2 -3
- package/dist/spine/types.d.ts +4 -4
- package/dist/spineItem/locationResolver.d.ts +2 -2
- package/dist/spineItem/types.d.ts +1 -1
- package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +2 -3
- package/dist/viewport/types.d.ts +2 -2
- package/package.json +4 -4
- package/dist/enhancers/layout/viewportMode.d.ts +0 -3
- package/dist/enhancers/zoom/ControllableZoomer.d.ts +0 -18
- package/dist/enhancers/zoom/Zoomer.d.ts +0 -20
- package/dist/utils/layout.d.ts +0 -7
- 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,
|
|
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) =>
|
|
73
|
-
getNavigationForLastPage: (spineItem: SpineItem) =>
|
|
74
|
-
getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) =>
|
|
75
|
-
getNavigationForPosition: (viewportPosition:
|
|
76
|
-
getMostPredominantNavigationForPosition: (viewportPosition:
|
|
77
|
-
|
|
78
|
-
|
|
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:
|
|
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 {
|
|
2
|
+
import { UnboundSpinePosition } from '../../spine/types';
|
|
3
3
|
export declare const getSpinePositionFromClientPosition: (position: {
|
|
4
4
|
x: number;
|
|
5
5
|
y: number;
|
|
6
|
-
}, spineElement: HTMLElement) =>
|
|
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
|
-
}) =>
|
|
11
|
+
}) => UnboundSpinePosition | undefined;
|
|
12
12
|
};
|
|
@@ -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:
|
|
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
|
-
}) =>
|
|
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:
|
|
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
|
-
}) =>
|
|
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:
|
|
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
|
-
}) =>
|
|
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:
|
|
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
|
-
}) =>
|
|
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 {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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: (
|
|
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
|
-
|
|
12
|
-
|
|
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
|
};
|