@prose-reader/core 1.222.0 → 1.224.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/cfi/generate.d.ts +4 -15
- package/dist/cfi/resolve.d.ts +7 -2
- package/dist/context/BridgeEvent.d.ts +7 -7
- package/dist/context/Context.d.ts +6 -6
- package/dist/createReaderWithEnhancer.d.ts +80 -79
- package/dist/enhancers/html/enhancer.d.ts +4 -2
- package/dist/enhancers/html/links.d.ts +2 -1
- package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +6 -5
- package/dist/enhancers/layout/layoutEnhancer.d.ts +4 -4
- package/dist/enhancers/media/ImageRenderer.d.ts +6 -5
- package/dist/enhancers/navigation/links.d.ts +2 -1
- package/dist/enhancers/navigation/state.d.ts +2 -1
- package/dist/enhancers/pagination/ResourcesLocator.d.ts +3 -2
- package/dist/enhancers/pagination/chapters.d.ts +2 -1
- package/dist/enhancers/pagination/enhancer.d.ts +1 -0
- package/dist/enhancers/pagination/index.d.ts +3 -0
- package/dist/enhancers/pagination/progression.d.ts +2 -1
- package/dist/enhancers/selection/trackSpineItemSelection.d.ts +2 -1
- package/dist/hooks/HookManager.d.ts +3 -2
- package/dist/hooks/index.d.ts +2 -0
- package/dist/index.d.ts +15 -6
- package/dist/index.js +1431 -1349
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +33 -33
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/InternalNavigator.d.ts +3 -3
- package/dist/navigation/Locker.d.ts +2 -2
- package/dist/navigation/Navigator.d.ts +24 -21
- package/dist/navigation/UserScrollNavigation.d.ts +2 -2
- package/dist/navigation/consolidation/consolidateWithPagination.d.ts +4 -3
- package/dist/navigation/resolvers/NavigationResolver.d.ts +3 -3
- package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -3
- package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +2 -1
- package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -3
- package/dist/navigation/restoration/restorePosition.d.ts +3 -3
- package/dist/pagination/index.d.ts +1 -0
- package/dist/reader.d.ts +36 -37
- package/dist/spine/Pages.d.ts +42 -0
- package/dist/spine/Spine.d.ts +20 -1
- package/dist/spine/SpineItemsManager.d.ts +2 -2
- package/dist/spine/locator/SpineLocator.d.ts +0 -7
- package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -1
- package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +2 -1
- package/dist/spine/types.d.ts +3 -22
- package/dist/spineItem/locationResolver.d.ts +0 -7
- package/dist/spineItem/renderer/DefaultRenderer.d.ts +6 -5
- package/dist/spineItem/types.d.ts +23 -0
- package/dist/utils/DestroyableClass.d.ts +2 -1
- package/dist/utils/dom.d.ts +4 -2
- package/package.json +4 -4
- package/dist/enhancers/layout/layoutInfo.d.ts +0 -25
- package/dist/enhancers/navigation/report.d.ts +0 -1
- package/dist/report.d.ts +0 -8
- package/dist/spineItem/layout/getSpineItemPagesPosition.d.ts +0 -11
|
@@ -8,7 +8,7 @@ import { Locker } from './Locker';
|
|
|
8
8
|
import { ControlledNavigationController } from './controllers/ControlledNavigationController';
|
|
9
9
|
import { ScrollNavigationController } from './controllers/ScrollNavigationController';
|
|
10
10
|
import { createNavigationResolver } from './resolvers/NavigationResolver';
|
|
11
|
-
import { InternalNavigationEntry, UserNavigationEntry } from './types';
|
|
11
|
+
import { InternalNavigationEntry, UserNavigationEntry, DeprecatedViewportPosition, NavigationConsolidation } from './types';
|
|
12
12
|
export declare class InternalNavigator extends DestroyableClass {
|
|
13
13
|
protected settings: ReaderSettingsManager;
|
|
14
14
|
protected context: Context;
|
|
@@ -20,7 +20,7 @@ export declare class InternalNavigator extends DestroyableClass {
|
|
|
20
20
|
protected isUserLocked$: Observable<boolean>;
|
|
21
21
|
navigationSubject: BehaviorSubject<InternalNavigationEntry>;
|
|
22
22
|
navigated$: Observable<{
|
|
23
|
-
position: SpinePosition |
|
|
23
|
+
position: SpinePosition | DeprecatedViewportPosition;
|
|
24
24
|
id: symbol;
|
|
25
25
|
meta: {
|
|
26
26
|
triggeredBy: `user` | `restoration` | `pagination`;
|
|
@@ -30,7 +30,7 @@ export declare class InternalNavigator extends DestroyableClass {
|
|
|
30
30
|
url?: string | URL;
|
|
31
31
|
spineItem?: string | number;
|
|
32
32
|
cfi?: string;
|
|
33
|
-
} &
|
|
33
|
+
} & NavigationConsolidation>;
|
|
34
34
|
navigation$: Observable<{
|
|
35
35
|
position: SpinePosition;
|
|
36
36
|
id: symbol;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
1
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
2
2
|
export declare class Locker {
|
|
3
3
|
protected isLockedSubject: BehaviorSubject<number>;
|
|
4
|
-
isLocked$:
|
|
4
|
+
isLocked$: Observable<boolean>;
|
|
5
5
|
lock(): () => void;
|
|
6
6
|
}
|
|
@@ -8,7 +8,10 @@ import { InternalNavigator } from './InternalNavigator';
|
|
|
8
8
|
import { Locker } from './Locker';
|
|
9
9
|
import { ControlledNavigationController } from './controllers/ControlledNavigationController';
|
|
10
10
|
import { ScrollNavigationController } from './controllers/ScrollNavigationController';
|
|
11
|
-
import { UserNavigationEntry } from './types';
|
|
11
|
+
import { UserNavigationEntry, InternalNavigationEntry, DeprecatedViewportPosition } from './types';
|
|
12
|
+
import { Observable } from 'rxjs';
|
|
13
|
+
import { getNavigationForSpineItemPage } from './resolvers/getNavigationForSpineItemPage';
|
|
14
|
+
import { SpinePosition, SpineItemPosition, SpineItem } from '..';
|
|
12
15
|
export declare const createNavigator: ({ spineItemsManager, context, hookManager, spine, settings, viewport, }: {
|
|
13
16
|
spineItemsManager: SpineItemsManager;
|
|
14
17
|
context: Context;
|
|
@@ -18,31 +21,31 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
|
|
|
18
21
|
viewport: Viewport;
|
|
19
22
|
}) => {
|
|
20
23
|
destroy: () => void;
|
|
21
|
-
getNavigation: () =>
|
|
24
|
+
getNavigation: () => InternalNavigationEntry;
|
|
22
25
|
internalNavigator: InternalNavigator;
|
|
23
26
|
scrollNavigationController: ScrollNavigationController;
|
|
24
27
|
controlledNavigationController: ControlledNavigationController;
|
|
25
28
|
locker: Locker;
|
|
26
|
-
viewportState$:
|
|
29
|
+
viewportState$: Observable<"free" | "busy">;
|
|
27
30
|
navigate: (to: UserNavigationEntry) => void;
|
|
28
31
|
lock(): () => void;
|
|
29
32
|
navigationResolver: {
|
|
30
33
|
getNavigationForUrl: (url: string | URL) => {
|
|
31
|
-
position:
|
|
34
|
+
position: DeprecatedViewportPosition;
|
|
32
35
|
spineItemId: string;
|
|
33
36
|
} | undefined;
|
|
34
|
-
getNavigationForSpineItemPage: (params: Omit<Parameters<
|
|
37
|
+
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
|
|
35
38
|
getNavigationFromSpineItemPosition: (params: {
|
|
36
|
-
spineItemPosition:
|
|
37
|
-
spineItem:
|
|
38
|
-
}) =>
|
|
39
|
-
getNavigationForCfi: (cfi: string) =>
|
|
40
|
-
getNavigationForLastPage: (spineItem:
|
|
41
|
-
getNavigationForSpineIndexOrId: (indexOrId: number | string |
|
|
42
|
-
getNavigationForPosition: (viewportPosition:
|
|
43
|
-
getMostPredominantNavigationForPosition: (viewportPosition:
|
|
44
|
-
getAdjustedPositionWithSafeEdge: (position:
|
|
45
|
-
isNavigationGoingForwardFrom: (to:
|
|
39
|
+
spineItemPosition: SpineItemPosition;
|
|
40
|
+
spineItem: SpineItem;
|
|
41
|
+
}) => SpinePosition;
|
|
42
|
+
getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
|
|
43
|
+
getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
|
|
44
|
+
getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
|
|
45
|
+
getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
46
|
+
getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
|
|
47
|
+
getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
48
|
+
isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
|
|
46
49
|
arePositionsDifferent: (a: {
|
|
47
50
|
x: number;
|
|
48
51
|
y: number;
|
|
@@ -50,15 +53,15 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
|
|
|
50
53
|
x: number;
|
|
51
54
|
y: number;
|
|
52
55
|
}) => boolean;
|
|
53
|
-
getAdjustedPositionForSpread: (position:
|
|
56
|
+
getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
54
57
|
spineItemNavigator: {
|
|
55
|
-
getNavigationForLastPage: (spineItem:
|
|
56
|
-
getNavigationForPosition: (spineItem:
|
|
57
|
-
getNavigationFromNode: (spineItem:
|
|
58
|
+
getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
|
|
59
|
+
getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
|
|
60
|
+
getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
|
|
58
61
|
};
|
|
59
62
|
};
|
|
60
|
-
navigation$:
|
|
61
|
-
position:
|
|
63
|
+
navigation$: Observable<{
|
|
64
|
+
position: SpinePosition;
|
|
62
65
|
id: symbol;
|
|
63
66
|
}>;
|
|
64
67
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
1
|
+
import { Subject, Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
4
|
import { Spine } from '../spine/Spine';
|
|
@@ -13,6 +13,6 @@ export declare class UserScrollNavigation extends DestroyableClass {
|
|
|
13
13
|
protected scrollNavigationController: ScrollNavigationController;
|
|
14
14
|
protected locker: Locker;
|
|
15
15
|
protected navigationSubject: Subject<UserNavigationEntry>;
|
|
16
|
-
navigation$:
|
|
16
|
+
navigation$: Observable<UserNavigationEntry>;
|
|
17
17
|
constructor(settings: ReaderSettingsManager, context: Context, spine: Spine, scrollNavigationController: ScrollNavigationController, locker: Locker);
|
|
18
18
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../../context/Context';
|
|
3
3
|
import { Spine } from '../../spine/Spine';
|
|
4
|
-
import { InternalNavigationEntry } from '../types';
|
|
4
|
+
import { InternalNavigationEntry, DeprecatedViewportPosition } from '../types';
|
|
5
|
+
import { SpinePosition, SpineItemPosition } from '../..';
|
|
5
6
|
export declare const consolidateWithPagination: (context: Context, navigation$: Observable<InternalNavigationEntry>, spine: Spine) => Observable<{
|
|
6
7
|
meta: {
|
|
7
8
|
triggeredBy: "pagination";
|
|
8
9
|
};
|
|
9
|
-
position:
|
|
10
|
+
position: SpinePosition | DeprecatedViewportPosition;
|
|
10
11
|
id: symbol;
|
|
11
12
|
type: `api` | `scroll`;
|
|
12
13
|
animation?: boolean | `turn` | `snap`;
|
|
@@ -20,6 +21,6 @@ export declare const consolidateWithPagination: (context: Context, navigation$:
|
|
|
20
21
|
spineItemIsReady?: boolean;
|
|
21
22
|
spineItemIsUsingVerticalWriting?: boolean;
|
|
22
23
|
paginationBeginCfi?: string;
|
|
23
|
-
positionInSpineItem?:
|
|
24
|
+
positionInSpineItem?: SpineItemPosition;
|
|
24
25
|
directionFromLastNavigation?: "forward" | "backward" | "anchor";
|
|
25
26
|
}>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context } from '../../context/Context';
|
|
2
2
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
3
|
+
import { Spine } from '../../spine/Spine';
|
|
3
4
|
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
4
|
-
import { SpineLayout } from '../../spine/SpineLayout';
|
|
5
5
|
import { SpineLocator } from '../../spine/locator/SpineLocator';
|
|
6
6
|
import { SpinePosition } from '../../spine/types';
|
|
7
7
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
@@ -10,12 +10,12 @@ 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>;
|
|
13
|
-
export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings,
|
|
13
|
+
export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spine, }: {
|
|
14
14
|
context: Context;
|
|
15
15
|
spineItemsManager: SpineItemsManager;
|
|
16
16
|
locator: SpineLocator;
|
|
17
17
|
settings: ReaderSettingsManager;
|
|
18
|
-
|
|
18
|
+
spine: Spine;
|
|
19
19
|
}) => {
|
|
20
20
|
getNavigationForUrl: (url: string | URL) => {
|
|
21
21
|
position: DeprecatedViewportPosition;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { Spine } from '../../spine/Spine';
|
|
1
2
|
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
2
|
-
import { SpineLayout } from '../../spine/SpineLayout';
|
|
3
3
|
import { SpinePosition } from '../../spine/types';
|
|
4
4
|
import { DeprecatedViewportPosition } from '../types';
|
|
5
5
|
export declare const NAMESPACE = "spineNavigator";
|
|
6
|
-
export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth,
|
|
6
|
+
export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spine, }: {
|
|
7
7
|
position: DeprecatedViewportPosition | SpinePosition;
|
|
8
8
|
isRTL: boolean;
|
|
9
9
|
pageSizeHeight: number;
|
|
10
10
|
spineItemsManager: SpineItemsManager;
|
|
11
11
|
visibleAreaRectWidth: number;
|
|
12
|
-
|
|
12
|
+
spine: Spine;
|
|
13
13
|
}) => SpinePosition;
|
|
@@ -3,10 +3,11 @@ import { SpineLocator } from '../../spine/locator/SpineLocator';
|
|
|
3
3
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
4
4
|
import { SpineItemLocator } from '../../spineItem/locationResolver';
|
|
5
5
|
import { SpineItemPosition } from '../../spineItem/types';
|
|
6
|
+
import { SpinePosition } from '../..';
|
|
6
7
|
export declare const getNavigationFromSpineItemPosition: ({ spineItem, spineItemPosition, spineLocator, spineItemLocator, context, }: {
|
|
7
8
|
spineItemPosition: SpineItemPosition;
|
|
8
9
|
spineItem: SpineItem;
|
|
9
10
|
spineLocator: SpineLocator;
|
|
10
11
|
spineItemLocator: SpineItemLocator;
|
|
11
12
|
context: Context;
|
|
12
|
-
}) =>
|
|
13
|
+
}) => SpinePosition;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { Spine } from '../../spine/Spine';
|
|
2
3
|
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
3
|
-
import { SpineLayout } from '../../spine/SpineLayout';
|
|
4
4
|
import { SpineLocator } from '../../spine/locator/SpineLocator';
|
|
5
5
|
import { SpinePosition } from '../../spine/types';
|
|
6
6
|
import { NavigationResolver } from '../resolvers/NavigationResolver';
|
|
7
7
|
import { InternalNavigationEntry } from '../types';
|
|
8
|
-
export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator, navigation, navigationResolver, spineItemsManager,
|
|
8
|
+
export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator, navigation, navigationResolver, spineItemsManager, spine, }: {
|
|
9
9
|
navigation: InternalNavigationEntry;
|
|
10
10
|
spineLocator: SpineLocator;
|
|
11
11
|
navigationResolver: NavigationResolver;
|
|
12
12
|
spineItemsManager: SpineItemsManager;
|
|
13
|
-
|
|
13
|
+
spine: Spine;
|
|
14
14
|
}) => Observable<SpinePosition>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../../context/Context';
|
|
3
3
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
4
|
+
import { Spine } from '../../spine/Spine';
|
|
4
5
|
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
5
|
-
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
9
|
import { NavigationResolver } from '../resolvers/NavigationResolver';
|
|
10
10
|
import { DeprecatedViewportPosition, InternalNavigationEntry } from '../types';
|
|
11
|
-
export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver,
|
|
11
|
+
export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver, spine, }: {
|
|
12
12
|
spineLocator: SpineLocator;
|
|
13
13
|
settings: ReaderSettingsManager;
|
|
14
14
|
navigationResolver: NavigationResolver;
|
|
@@ -16,5 +16,5 @@ export declare const restorePosition: ({ navigation, spineItemsManager, settings
|
|
|
16
16
|
spineItemsManager: SpineItemsManager;
|
|
17
17
|
spineItemLocator: SpineItemLocator;
|
|
18
18
|
context: Context;
|
|
19
|
-
|
|
19
|
+
spine: Spine;
|
|
20
20
|
}) => Observable<DeprecatedViewportPosition | SpinePosition>;
|
package/dist/reader.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ import { Spine } from './spine/Spine';
|
|
|
10
10
|
import { SpineItemsManager } from './spine/SpineItemsManager';
|
|
11
11
|
import { SpineItem } from './spineItem/SpineItem';
|
|
12
12
|
import { Viewport } from './viewport/Viewport';
|
|
13
|
+
import { CoreHook } from './hooks';
|
|
14
|
+
import { Manifest } from '@prose-reader/shared';
|
|
15
|
+
import { InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, DeprecatedViewportPosition, SpinePosition, SpineItemPosition, SpineItemsObserver, CoreOutputSettings } from '.';
|
|
16
|
+
import { getNavigationForSpineItemPage } from './navigation/resolvers/getNavigationForSpineItemPage';
|
|
17
|
+
import { PaginationInfo } from './pagination';
|
|
13
18
|
export type CreateReaderOptions = Partial<CoreInputSettings>;
|
|
14
19
|
export type CreateReaderParameters = CreateReaderOptions;
|
|
15
20
|
export type ContextSettings = Partial<CoreInputSettings>;
|
|
@@ -17,19 +22,9 @@ export type ReaderInternal = ReturnType<typeof createReader>;
|
|
|
17
22
|
export declare const createReader: (inputSettings: CreateReaderOptions) => {
|
|
18
23
|
context: Context;
|
|
19
24
|
spine: Spine;
|
|
20
|
-
hookManager: HookManager<
|
|
25
|
+
hookManager: HookManager< CoreHook>;
|
|
21
26
|
cfi: {
|
|
22
|
-
generateCfiFromRange: (range: Range, item:
|
|
23
|
-
start: string;
|
|
24
|
-
end: string;
|
|
25
|
-
};
|
|
26
|
-
generateCfiFromSelection: ({ item, selection, }: {
|
|
27
|
-
selection: Selection;
|
|
28
|
-
item: import('@prose-reader/shared').Manifest["spineItems"][number];
|
|
29
|
-
}) => {
|
|
30
|
-
anchorCfi: string | undefined;
|
|
31
|
-
focusCfi: string | undefined;
|
|
32
|
-
};
|
|
27
|
+
generateCfiFromRange: (range: Range, item: Manifest[`spineItems`][number]) => string;
|
|
33
28
|
parseCfi: (cfi: string) => {
|
|
34
29
|
cleanedCfi: string;
|
|
35
30
|
itemIndex?: number;
|
|
@@ -41,41 +36,45 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
|
|
|
41
36
|
}) => string;
|
|
42
37
|
resolveCfi: (params: Omit<Parameters<typeof resolveCfi>[0], "spineItemsManager">) => {
|
|
43
38
|
node: Node | null | undefined;
|
|
39
|
+
isRange: boolean;
|
|
40
|
+
range: Range | null | undefined;
|
|
44
41
|
offset: number | undefined;
|
|
45
42
|
spineItem: SpineItem;
|
|
46
43
|
} | {
|
|
47
44
|
spineItem: SpineItem;
|
|
48
45
|
node?: undefined;
|
|
46
|
+
isRange?: undefined;
|
|
47
|
+
range?: undefined;
|
|
49
48
|
offset?: undefined;
|
|
50
49
|
} | undefined;
|
|
51
50
|
};
|
|
52
51
|
navigation: {
|
|
53
52
|
destroy: () => void;
|
|
54
|
-
getNavigation: () =>
|
|
55
|
-
internalNavigator:
|
|
56
|
-
scrollNavigationController:
|
|
57
|
-
controlledNavigationController:
|
|
58
|
-
locker:
|
|
53
|
+
getNavigation: () => InternalNavigationEntry;
|
|
54
|
+
internalNavigator: InternalNavigator;
|
|
55
|
+
scrollNavigationController: ScrollNavigationController;
|
|
56
|
+
controlledNavigationController: ControlledNavigationController;
|
|
57
|
+
locker: Locker;
|
|
59
58
|
viewportState$: Observable<"free" | "busy">;
|
|
60
|
-
navigate: (to:
|
|
59
|
+
navigate: (to: UserNavigationEntry) => void;
|
|
61
60
|
lock(): () => void;
|
|
62
61
|
navigationResolver: {
|
|
63
62
|
getNavigationForUrl: (url: string | URL) => {
|
|
64
|
-
position:
|
|
63
|
+
position: DeprecatedViewportPosition;
|
|
65
64
|
spineItemId: string;
|
|
66
65
|
} | undefined;
|
|
67
|
-
getNavigationForSpineItemPage: (params: Omit<Parameters<
|
|
66
|
+
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
|
|
68
67
|
getNavigationFromSpineItemPosition: (params: {
|
|
69
|
-
spineItemPosition:
|
|
68
|
+
spineItemPosition: SpineItemPosition;
|
|
70
69
|
spineItem: SpineItem;
|
|
71
|
-
}) =>
|
|
72
|
-
getNavigationForCfi: (cfi: string) =>
|
|
73
|
-
getNavigationForLastPage: (spineItem: SpineItem) =>
|
|
74
|
-
getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) =>
|
|
75
|
-
getNavigationForPosition: (viewportPosition:
|
|
76
|
-
getMostPredominantNavigationForPosition: (viewportPosition:
|
|
77
|
-
getAdjustedPositionWithSafeEdge: (position:
|
|
78
|
-
isNavigationGoingForwardFrom: (to:
|
|
70
|
+
}) => SpinePosition;
|
|
71
|
+
getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
|
|
72
|
+
getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
|
|
73
|
+
getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
|
|
74
|
+
getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
75
|
+
getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
|
|
76
|
+
getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
77
|
+
isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
|
|
79
78
|
arePositionsDifferent: (a: {
|
|
80
79
|
x: number;
|
|
81
80
|
y: number;
|
|
@@ -83,28 +82,28 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
|
|
|
83
82
|
x: number;
|
|
84
83
|
y: number;
|
|
85
84
|
}) => boolean;
|
|
86
|
-
getAdjustedPositionForSpread: (position:
|
|
85
|
+
getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
87
86
|
spineItemNavigator: {
|
|
88
|
-
getNavigationForLastPage: (spineItem: SpineItem) =>
|
|
89
|
-
getNavigationForPosition: (spineItem: SpineItem, position:
|
|
90
|
-
getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) =>
|
|
87
|
+
getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
|
|
88
|
+
getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
|
|
89
|
+
getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
|
|
91
90
|
};
|
|
92
91
|
};
|
|
93
92
|
navigation$: Observable<{
|
|
94
|
-
position:
|
|
93
|
+
position: SpinePosition;
|
|
95
94
|
id: symbol;
|
|
96
95
|
}>;
|
|
97
96
|
};
|
|
98
|
-
spineItemsObserver:
|
|
97
|
+
spineItemsObserver: SpineItemsObserver;
|
|
99
98
|
spineItemsManager: SpineItemsManager;
|
|
100
99
|
layout: () => void;
|
|
101
100
|
load: (options: Required<Pick<ContextState, "manifest" | "containerElement">>) => void;
|
|
102
101
|
destroy: () => void;
|
|
103
102
|
pagination: {
|
|
104
|
-
readonly state:
|
|
103
|
+
readonly state: PaginationInfo;
|
|
105
104
|
readonly state$: Observable<ObservedValueOf<Pagination>>;
|
|
106
105
|
};
|
|
107
|
-
settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<
|
|
106
|
+
settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable< CoreOutputSettings | undefined>>;
|
|
108
107
|
viewport: Viewport;
|
|
109
108
|
element$: Observable<HTMLElement>;
|
|
110
109
|
viewportState$: Observable<"free" | "busy">;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Context } from '../context/Context';
|
|
3
|
+
import { SpineItemLocator } from '../spineItem/locationResolver';
|
|
4
|
+
import { SpineItemPageLayout } from '../spineItem/types';
|
|
5
|
+
import { ReactiveEntity } from '../utils/ReactiveEntity';
|
|
6
|
+
import { Viewport } from '../viewport/Viewport';
|
|
7
|
+
import { SpineItemsManager } from './SpineItemsManager';
|
|
8
|
+
import { SpineLayout } from './SpineLayout';
|
|
9
|
+
import { SpineLocator } from './locator/SpineLocator';
|
|
10
|
+
import { SpineItemPageSpineLayout, SpinePosition } from './types';
|
|
11
|
+
export declare const spinePositionToSpineItemSpineLayout: ({ position, pageSize, }: {
|
|
12
|
+
position: SpinePosition;
|
|
13
|
+
pageSize: {
|
|
14
|
+
height: number;
|
|
15
|
+
width: number;
|
|
16
|
+
};
|
|
17
|
+
}) => SpineItemPageSpineLayout;
|
|
18
|
+
type PageEntry = {
|
|
19
|
+
absoluteLayout: SpineItemPageSpineLayout;
|
|
20
|
+
layout: SpineItemPageLayout;
|
|
21
|
+
itemIndex: number;
|
|
22
|
+
absolutePageIndex: number;
|
|
23
|
+
pageIndex: number;
|
|
24
|
+
firstVisibleNode: {
|
|
25
|
+
node: Node;
|
|
26
|
+
offset: number;
|
|
27
|
+
} | undefined;
|
|
28
|
+
};
|
|
29
|
+
type State = {
|
|
30
|
+
pages: PageEntry[];
|
|
31
|
+
};
|
|
32
|
+
export declare class Pages extends ReactiveEntity<State> {
|
|
33
|
+
readonly spineLayout: SpineLayout;
|
|
34
|
+
readonly spineItemsManager: SpineItemsManager;
|
|
35
|
+
readonly spineItemLocator: SpineItemLocator;
|
|
36
|
+
readonly context: Context;
|
|
37
|
+
readonly locator: SpineLocator;
|
|
38
|
+
readonly viewport: Viewport;
|
|
39
|
+
readonly layout$: Observable<State>;
|
|
40
|
+
constructor(spineLayout: SpineLayout, spineItemsManager: SpineItemsManager, spineItemLocator: SpineItemLocator, context: Context, locator: SpineLocator, viewport: Viewport);
|
|
41
|
+
}
|
|
42
|
+
export {};
|
package/dist/spine/Spine.d.ts
CHANGED
|
@@ -3,14 +3,18 @@ import { Context } from '../context/Context';
|
|
|
3
3
|
import { HookManager } from '../hooks/HookManager';
|
|
4
4
|
import { Pagination } from '../pagination/Pagination';
|
|
5
5
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
6
|
+
import { SpineItem } from '../spineItem/SpineItem';
|
|
6
7
|
import { createSpineItemLocator as createSpineItemLocationResolver } from '../spineItem/locationResolver';
|
|
7
8
|
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
8
9
|
import { Viewport } from '../viewport/Viewport';
|
|
10
|
+
import { Pages } from './Pages';
|
|
9
11
|
import { SpineItemsManager } from './SpineItemsManager';
|
|
10
12
|
import { SpineItemsObserver } from './SpineItemsObserver';
|
|
11
13
|
import { SpineLayout } from './SpineLayout';
|
|
12
14
|
import { SpineItemsLoader } from './loader/SpineItemsLoader';
|
|
13
15
|
import { SpineLocator } from './locator/SpineLocator';
|
|
16
|
+
import { SpineItemSpineLayout, SpineItemPageSpineLayout } from './types';
|
|
17
|
+
import { SpineItemPageLayout } from '..';
|
|
14
18
|
export declare class Spine extends DestroyableClass {
|
|
15
19
|
protected parentElement$: Observable<HTMLElement>;
|
|
16
20
|
protected context: Context;
|
|
@@ -21,13 +25,28 @@ export declare class Spine extends DestroyableClass {
|
|
|
21
25
|
protected hookManager: HookManager;
|
|
22
26
|
protected viewport: Viewport;
|
|
23
27
|
protected elementSubject: BehaviorSubject<HTMLElement>;
|
|
28
|
+
protected spineLayout: SpineLayout;
|
|
24
29
|
readonly spineItemsLoader: SpineItemsLoader;
|
|
25
30
|
locator: SpineLocator;
|
|
26
31
|
spineItemsObserver: SpineItemsObserver;
|
|
27
|
-
|
|
32
|
+
pages: Pages;
|
|
28
33
|
element$: Observable<HTMLElement>;
|
|
29
34
|
constructor(parentElement$: Observable<HTMLElement>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager, viewport: Viewport);
|
|
30
35
|
get element(): HTMLElement;
|
|
31
36
|
layout(): void;
|
|
37
|
+
getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
|
|
38
|
+
get layout$(): Observable<{
|
|
39
|
+
pages: {
|
|
40
|
+
absoluteLayout: SpineItemPageSpineLayout;
|
|
41
|
+
layout: SpineItemPageLayout;
|
|
42
|
+
itemIndex: number;
|
|
43
|
+
absolutePageIndex: number;
|
|
44
|
+
pageIndex: number;
|
|
45
|
+
firstVisibleNode: {
|
|
46
|
+
node: Node;
|
|
47
|
+
offset: number;
|
|
48
|
+
} | undefined;
|
|
49
|
+
}[];
|
|
50
|
+
}>;
|
|
32
51
|
destroy(): void;
|
|
33
52
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
1
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
4
|
import { SpineItem } from '../spineItem/SpineItem';
|
|
@@ -8,7 +8,7 @@ export declare class SpineItemsManager extends DestroyableClass {
|
|
|
8
8
|
protected settings: ReaderSettingsManager;
|
|
9
9
|
constructor(context: Context, settings: ReaderSettingsManager);
|
|
10
10
|
protected orderedSpineItemsSubject: BehaviorSubject<SpineItem[]>;
|
|
11
|
-
items$:
|
|
11
|
+
items$: Observable<SpineItem[]>;
|
|
12
12
|
get(indexOrId: number | string | SpineItem | undefined): SpineItem | undefined;
|
|
13
13
|
comparePositionOf(toCompare: SpineItem, withItem: SpineItem): "before" | "after" | "same";
|
|
14
14
|
getSpineItemIndex(spineItemOrId: SpineItem | string | number | undefined): number | undefined;
|
|
@@ -69,13 +69,6 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
|
|
|
69
69
|
}) => number;
|
|
70
70
|
getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
|
|
71
71
|
getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
|
|
72
|
-
getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
|
|
73
|
-
node: Node;
|
|
74
|
-
offset: number;
|
|
75
|
-
} | undefined;
|
|
76
|
-
getSpineItemPagesPosition: ({ item }: {
|
|
77
|
-
item: SpineItem;
|
|
78
|
-
}) => SpineItemPosition[];
|
|
79
72
|
};
|
|
80
73
|
getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
|
|
81
74
|
};
|
|
@@ -3,9 +3,10 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
|
3
3
|
import { SpineItemsManager } from '../SpineItemsManager';
|
|
4
4
|
import { SpineLayout } from '../SpineLayout';
|
|
5
5
|
import { SpinePosition } from '../types';
|
|
6
|
+
import { SpineItem } from '../..';
|
|
6
7
|
export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
|
|
7
8
|
position: DeprecatedViewportPosition | SpinePosition;
|
|
8
9
|
spineItemsManager: SpineItemsManager;
|
|
9
10
|
spineLayout: SpineLayout;
|
|
10
11
|
settings: ReaderSettingsManager;
|
|
11
|
-
}) =>
|
|
12
|
+
}) => SpineItem | undefined;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Context } from '../../context/Context';
|
|
2
|
+
import { SpinePosition } from '../types';
|
|
2
3
|
export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, context, isUsingVerticalWriting, itemLayout, }: {
|
|
3
4
|
pageIndex: number;
|
|
4
5
|
isUsingVerticalWriting: boolean;
|
|
@@ -9,4 +10,4 @@ export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, conte
|
|
|
9
10
|
width: number;
|
|
10
11
|
height: number;
|
|
11
12
|
};
|
|
12
|
-
}) =>
|
|
13
|
+
}) => SpinePosition;
|
package/dist/spine/types.d.ts
CHANGED
|
@@ -1,27 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 {
|
|
1
|
+
import { LayoutEntry } from '../spineItem/types';
|
|
2
|
+
export declare class SpineItemSpineLayout extends LayoutEntry {
|
|
22
3
|
readonly __symbol = "SpineItemSpineLayout";
|
|
23
4
|
}
|
|
24
|
-
export declare class SpineItemPageSpineLayout extends
|
|
5
|
+
export declare class SpineItemPageSpineLayout extends LayoutEntry {
|
|
25
6
|
readonly __symbol = "SpineItemPageSpineLayout";
|
|
26
7
|
}
|
|
27
8
|
export declare class SpinePosition {
|
|
@@ -20,11 +20,4 @@ export declare const createSpineItemLocator: ({ context, settings, }: {
|
|
|
20
20
|
}) => number;
|
|
21
21
|
getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
|
|
22
22
|
getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
|
|
23
|
-
getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
|
|
24
|
-
node: Node;
|
|
25
|
-
offset: number;
|
|
26
|
-
} | undefined;
|
|
27
|
-
getSpineItemPagesPosition: ({ item }: {
|
|
28
|
-
item: SpineItem;
|
|
29
|
-
}) => SpineItemPosition[];
|
|
30
23
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DocumentRenderer } from './DocumentRenderer';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export declare class DefaultRenderer extends DocumentRenderer {
|
|
3
|
-
onUnload():
|
|
4
|
-
onCreateDocument():
|
|
5
|
-
onLoadDocument():
|
|
6
|
-
onLayout():
|
|
7
|
-
onRenderHeadless():
|
|
4
|
+
onUnload(): Observable<never>;
|
|
5
|
+
onCreateDocument(): Observable<HTMLDivElement>;
|
|
6
|
+
onLoadDocument(): Observable<never>;
|
|
7
|
+
onLayout(): Observable<undefined>;
|
|
8
|
+
onRenderHeadless(): Observable<never>;
|
|
8
9
|
getDocumentFrame(): undefined;
|
|
9
10
|
}
|