@prose-reader/core 1.66.0 → 1.68.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.d.ts → cfi/CfiHandler.d.ts} +1 -7
- package/dist/cfi/generate/generateCfiFromRange.d.ts +11 -0
- package/dist/cfi/generate/getCfiForSpineItemPage.d.ts +12 -0
- package/dist/cfi/generate/getItemAnchor.d.ts +3 -0
- package/dist/cfi/generate/getRootCfi.d.ts +3 -0
- package/dist/cfi/lookup/extractProseMetadataFromCfi.d.ts +5 -0
- package/dist/cfi/lookup/isRootCfi.d.ts +1 -0
- package/dist/cfi/lookup/resolveCfi.d.ts +14 -0
- package/dist/context/BridgeEvent.d.ts +16 -0
- package/dist/context/Context.d.ts +3 -1
- package/dist/createReaderWithEnhancer.d.ts +103 -167
- package/dist/enhancers/events/normalizeEventForViewport.d.ts +2 -2
- package/dist/enhancers/hotkeys.d.ts +2 -1
- package/dist/enhancers/links.d.ts +2 -1
- package/dist/enhancers/loadingEnhancer.d.ts +1 -1
- package/dist/enhancers/navigation/{navigation.d.ts → index.d.ts} +2 -7
- package/dist/enhancers/navigation/navigators/manualNavigator.d.ts +27 -0
- package/dist/enhancers/navigation/navigators/panNavigator.d.ts +21 -0
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftPage.d.ts +16 -0
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +14 -0
- package/dist/enhancers/navigation/resolvers/getNavigationForRightPage.d.ts +16 -0
- package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +14 -0
- package/dist/enhancers/navigation/resolvers/getSpineItemPositionForLeftPage.d.ts +11 -0
- package/dist/enhancers/navigation/resolvers/getSpineItemPositionForRightPage.d.ts +11 -0
- package/dist/enhancers/navigation/state.d.ts +2 -5
- package/dist/enhancers/navigation/types.d.ts +20 -0
- package/dist/enhancers/pagination/enhancer.d.ts +4 -4
- package/dist/enhancers/pagination/pagination.d.ts +1 -1
- package/dist/enhancers/pagination/spine.d.ts +0 -5
- package/dist/enhancers/pagination/types.d.ts +1 -1
- package/dist/enhancers/resources/resourcesManager.d.ts +1 -1
- package/dist/enhancers/types/enhancer.d.ts +1 -2
- package/dist/hooks/types.d.ts +2 -15
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5514 -4869
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +5517 -4872
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/InternalNavigator.d.ts +67 -0
- package/dist/navigation/InternalNavigator.test.d.ts +1 -0
- package/dist/navigation/Locker.d.ts +7 -0
- package/dist/navigation/Navigator.d.ts +70 -0
- package/dist/navigation/UserNavigator.d.ts +27 -0
- package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +8 -0
- package/dist/navigation/consolidation/withCfiPosition.d.ts +11 -0
- package/dist/navigation/consolidation/withDirection.d.ts +22 -0
- package/dist/navigation/consolidation/withFallbackPosition.d.ts +13 -0
- package/dist/navigation/consolidation/withPaginationInfo.d.ts +10 -0
- package/dist/navigation/consolidation/withSpineItem.d.ts +19 -0
- package/dist/navigation/consolidation/withSpineItemLayoutInfo.d.ts +11 -0
- package/dist/navigation/consolidation/withSpineItemPosition.d.ts +19 -0
- package/dist/navigation/consolidation/withUrlInfo.d.ts +11 -0
- package/dist/navigation/resolvers/NavigationResolver.d.ts +51 -0
- package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +7 -0
- package/dist/navigation/resolvers/getNavigationForPosition.d.ts +11 -0
- package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +15 -0
- package/dist/navigation/resolvers/getNavigationForUrl.d.ts +16 -0
- package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +13 -0
- package/dist/navigation/resolvers/wrapPositionWithSafeEdge.d.ts +14 -0
- package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +11 -0
- package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.test.d.ts +1 -0
- package/dist/navigation/restoration/restorePosition.d.ts +18 -0
- package/dist/navigation/restoration/withRestoredPosition.d.ts +21 -0
- package/dist/navigation/tests/SpineItemsManagerMock.d.ts +27 -0
- package/dist/navigation/tests/utils.d.ts +12 -0
- package/dist/navigation/viewport/ViewportNavigator.d.ts +36 -0
- package/dist/navigation/viewport/getScaledDownPosition.d.ts +11 -0
- package/dist/pagination/Pagination.d.ts +26 -0
- package/dist/pagination/PaginationController.d.ts +15 -0
- package/dist/reader.d.ts +108 -2
- package/dist/report.d.ts +2 -0
- package/dist/selection.d.ts +1 -1
- package/dist/settings/ReaderSettingsManager.d.ts +2 -1
- package/dist/spine/Spine.d.ts +32 -0
- package/dist/spine/{locationResolver.d.ts → SpineItemsManager.d.ts} +216 -226
- package/dist/spine/SpineItemsObserver.d.ts +17 -0
- package/dist/spine/loader/SpineItemsLoader.d.ts +13 -0
- package/dist/spine/loader/loadItems.d.ts +8 -0
- package/dist/spine/loader/mapToItemsToLoad.d.ts +7 -0
- package/dist/{spineItemManager.d.ts → spine/locator/SpineLocator.d.ts} +109 -198
- package/dist/spine/locator/getItemVisibilityForPosition.d.ts +19 -0
- package/dist/spine/locator/getItemVisibilityForPosition.test.d.ts +1 -0
- package/dist/spine/locator/getSpineItemFromPosition.d.ts +126 -0
- package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +16 -0
- package/dist/spine/locator/getVisibleSpineItemsFromPosition.test.d.ts +1 -0
- package/dist/spineItem/commonSpineItem.d.ts +25 -61
- package/dist/spineItem/createSpineItem.d.ts +24 -60
- package/dist/spineItem/frame/FrameItem.d.ts +44 -0
- package/dist/spineItem/{frameItem → frame}/createHtmlPageFromResource.d.ts +1 -1
- package/dist/spineItem/frame/loader/attachFrameSrc.d.ts +8 -0
- package/dist/spineItem/frame/loader/configureFrame.d.ts +10 -0
- package/dist/spineItem/frame/loader/createFrameElement.d.ts +1 -0
- package/dist/spineItem/frame/loader/loadFrame.d.ts +12 -0
- package/dist/spineItem/frame/loader/loader.d.ts +23 -0
- package/dist/spineItem/frame/loader/unloadFrame.d.ts +9 -0
- package/dist/spineItem/frame/loader/waitForFrameLoad.d.ts +3 -0
- package/dist/spineItem/frame/loader/waitForFrameReady.d.ts +3 -0
- package/dist/spineItem/helpers.d.ts +3 -0
- package/dist/spineItem/locationResolver.d.ts +17 -5
- package/dist/spineItem/navigationResolver.d.ts +6 -8
- package/dist/spineItem/prePaginatedSpineItem.d.ts +24 -60
- package/dist/spineItem/reflowable/ReflowableSpineItems.d.ts +24 -60
- package/dist/spineItem/types.d.ts +1 -10
- package/dist/tests/utils.d.ts +1 -0
- package/dist/utils/DestroyableClass.d.ts +5 -0
- package/dist/utils/dom.d.ts +3 -2
- package/dist/utils/rxjs.d.ts +3 -1
- package/package.json +3 -3
- package/dist/enhancers/navigation/navigator.d.ts +0 -8
- package/dist/enhancers/publicApi.d.ts +0 -5
- package/dist/pagination/pagination.d.ts +0 -88
- package/dist/pagination/types.d.ts +0 -10
- package/dist/spine/cfiLocator.d.ts +0 -340
- package/dist/spine/createSpine.d.ts +0 -31
- package/dist/spine/navigationResolver.d.ts +0 -48
- package/dist/spine/types.d.ts +0 -10
- package/dist/spineItem/frameItem/createFrame$.d.ts +0 -1
- package/dist/spineItem/frameItem/createFrameManipulator.d.ts +0 -5
- package/dist/spineItem/frameItem/frameItem.d.ts +0 -48
- package/dist/spineItem/frameItem/loader.d.ts +0 -29
- package/dist/types/Spine.d.ts +0 -40
- package/dist/types/index.d.ts +0 -12
- package/dist/types/reader.d.ts +0 -44
- package/dist/viewportNavigator/manualViewportNavigator.d.ts +0 -96
- package/dist/viewportNavigator/panViewportNavigator.d.ts +0 -55
- package/dist/viewportNavigator/scrollViewportNavigator.d.ts +0 -38
- package/dist/viewportNavigator/types.d.ts +0 -34
- package/dist/viewportNavigator/viewportNavigator.d.ts +0 -82
- /package/dist/enhancers/{pagination.test.d.ts → pagination/pagination.test.d.ts} +0 -0
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { createFrameManipulator } from './frameItem/createFrameManipulator';
|
|
2
|
+
import { FrameItem } from './frame/FrameItem';
|
|
3
|
+
import { Manifest } from '..';
|
|
5
4
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
6
5
|
import { HookManager } from '../hooks/HookManager';
|
|
7
6
|
|
|
8
|
-
export declare const createCommonSpineItem: ({ item, context, parentElement,
|
|
7
|
+
export declare const createCommonSpineItem: ({ item, context, parentElement, settings, hookManager, index, }: {
|
|
9
8
|
item: Manifest[`spineItems`][number];
|
|
10
9
|
parentElement: HTMLElement;
|
|
11
10
|
context: Context;
|
|
12
|
-
viewportState$: Observable<`free` | `busy`>;
|
|
13
11
|
settings: ReaderSettingsManager;
|
|
14
12
|
hookManager: HookManager;
|
|
13
|
+
index: number;
|
|
15
14
|
}) => {
|
|
16
15
|
item: {
|
|
17
16
|
id: string;
|
|
18
17
|
href: string;
|
|
19
|
-
renditionLayout
|
|
20
|
-
progressionWeight
|
|
21
|
-
pageSpreadLeft
|
|
22
|
-
pageSpreadRight
|
|
18
|
+
renditionLayout?: `reflowable` | `pre-paginated`;
|
|
19
|
+
progressionWeight?: number;
|
|
20
|
+
pageSpreadLeft?: true | undefined;
|
|
21
|
+
pageSpreadRight?: true | undefined;
|
|
23
22
|
mediaType?: string;
|
|
24
23
|
};
|
|
25
|
-
load: () => void;
|
|
26
24
|
layout: ({ height, width, blankPagePosition, minimumWidth, }: {
|
|
27
25
|
height: number;
|
|
28
26
|
width: number;
|
|
29
27
|
blankPagePosition: `before` | `after` | `none`;
|
|
30
28
|
minimumWidth: number;
|
|
31
29
|
}) => void;
|
|
30
|
+
overlayElement: HTMLDivElement;
|
|
32
31
|
adjustPositionOfElement: ({ right, left, top, }: {
|
|
33
32
|
right?: number;
|
|
34
33
|
left?: number;
|
|
@@ -37,6 +36,13 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
37
36
|
getElementDimensions: () => {
|
|
38
37
|
width: number;
|
|
39
38
|
height: number;
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
bottom: number;
|
|
42
|
+
left: number;
|
|
43
|
+
right: number;
|
|
44
|
+
top: number;
|
|
45
|
+
toJSON(): any;
|
|
40
46
|
};
|
|
41
47
|
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
42
48
|
getResource: () => Promise<Response>;
|
|
@@ -47,43 +53,10 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
47
53
|
clientX: number;
|
|
48
54
|
clientY: number;
|
|
49
55
|
};
|
|
50
|
-
setLayoutDirty: () => void;
|
|
51
56
|
injectStyle: (cssText: string) => void;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
getIsLoaded: () => boolean;
|
|
56
|
-
getIsReady: () => boolean;
|
|
57
|
-
getViewportDimensions: () => {
|
|
58
|
-
width: number;
|
|
59
|
-
height: number;
|
|
60
|
-
} | undefined;
|
|
61
|
-
getFrameElement: () => HTMLIFrameElement | undefined;
|
|
62
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
63
|
-
load: () => void;
|
|
64
|
-
unload: () => void;
|
|
65
|
-
staticLayout: (size: {
|
|
66
|
-
width: number;
|
|
67
|
-
height: number;
|
|
68
|
-
}) => void;
|
|
69
|
-
getManipulableFrame: () => ReturnType<typeof createFrameManipulator> | undefined;
|
|
70
|
-
getReadingDirection: () => `ltr` | `rtl` | undefined;
|
|
71
|
-
isUsingVerticalWriting: () => boolean;
|
|
72
|
-
getWritingMode: () => `vertical-rl` | `horizontal-tb` | undefined;
|
|
73
|
-
destroy: () => void;
|
|
74
|
-
$: {
|
|
75
|
-
unload$: Observable<void>;
|
|
76
|
-
unloaded$: Observable<void>;
|
|
77
|
-
loaded$: Observable<HTMLIFrameElement>;
|
|
78
|
-
ready$: Observable<FontFaceSet | undefined>;
|
|
79
|
-
isReady$: Observable<boolean>;
|
|
80
|
-
contentLayoutChange$: Observable<{
|
|
81
|
-
isFirstLayout: boolean;
|
|
82
|
-
} | {
|
|
83
|
-
isFirstLayout: boolean;
|
|
84
|
-
}>;
|
|
85
|
-
};
|
|
86
|
-
};
|
|
57
|
+
load: () => void;
|
|
58
|
+
unload: () => void;
|
|
59
|
+
frame: FrameItem;
|
|
87
60
|
element: HTMLElement;
|
|
88
61
|
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
89
62
|
getViewPortInformation: () => {
|
|
@@ -97,17 +70,8 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
97
70
|
isImageType: () => boolean;
|
|
98
71
|
isReady: () => boolean;
|
|
99
72
|
destroy: () => void;
|
|
73
|
+
readonly readingDirection: "ltr" | "rtl" | undefined;
|
|
100
74
|
isUsingVerticalWriting: () => boolean | undefined;
|
|
101
|
-
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
102
|
-
manipulateSpineItem: (cb: (options: {
|
|
103
|
-
container: HTMLElement;
|
|
104
|
-
item: Manifest[`spineItems`][number];
|
|
105
|
-
overlayElement: HTMLDivElement;
|
|
106
|
-
} & (ReturnType<typeof createFrameManipulator> | {
|
|
107
|
-
frame: undefined;
|
|
108
|
-
removeStyle: (id: string) => void;
|
|
109
|
-
addStyle: (id: string, style: string) => void;
|
|
110
|
-
})) => boolean) => boolean;
|
|
111
75
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
112
76
|
minimumWidth: number;
|
|
113
77
|
}) => void[];
|
|
@@ -116,7 +80,7 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
116
80
|
destroy: () => void;
|
|
117
81
|
isSelecting: () => boolean;
|
|
118
82
|
getSelection: () => Selection | undefined;
|
|
119
|
-
$: Observable<{
|
|
83
|
+
$: import('rxjs').Observable<{
|
|
120
84
|
event: `selectionchange`;
|
|
121
85
|
data: Selection | null;
|
|
122
86
|
} | {
|
|
@@ -134,7 +98,7 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
134
98
|
y: number | undefined;
|
|
135
99
|
} | undefined;
|
|
136
100
|
destroy: () => void;
|
|
137
|
-
$: Observable<{
|
|
101
|
+
$: import('rxjs').Observable<{
|
|
138
102
|
event: `fingermove`;
|
|
139
103
|
data: {
|
|
140
104
|
x: number;
|
|
@@ -155,11 +119,11 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
155
119
|
columnWidth: number;
|
|
156
120
|
};
|
|
157
121
|
$: {
|
|
158
|
-
contentLayout$: Observable<{
|
|
122
|
+
contentLayout$: import('rxjs').Observable<{
|
|
159
123
|
isFirstLayout: boolean;
|
|
160
124
|
isReady: boolean;
|
|
161
125
|
}>;
|
|
162
|
-
loaded$: Observable<HTMLIFrameElement>;
|
|
163
|
-
isReady$: Observable<boolean>;
|
|
126
|
+
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
127
|
+
isReady$: import('rxjs').Observable<boolean>;
|
|
164
128
|
};
|
|
165
129
|
};
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
import { Context } from '../context/Context';
|
|
3
|
-
import { Manifest } from '
|
|
2
|
+
import { Manifest } from '..';
|
|
4
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
4
|
import { HookManager } from '../hooks/HookManager';
|
|
6
5
|
|
|
7
|
-
export declare const createSpineItem: ({ item, context, containerElement,
|
|
6
|
+
export declare const createSpineItem: ({ item, context, containerElement, settings, hookManager, index, }: {
|
|
8
7
|
item: Manifest[`spineItems`][number];
|
|
9
8
|
containerElement: HTMLElement;
|
|
10
9
|
context: Context;
|
|
11
|
-
viewportState$: Observable<`free` | `busy`>;
|
|
12
10
|
settings: ReaderSettingsManager;
|
|
13
11
|
hookManager: HookManager;
|
|
12
|
+
index: number;
|
|
14
13
|
}) => {
|
|
15
14
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
16
15
|
blankPagePosition: `before` | `after` | `none`;
|
|
@@ -23,13 +22,13 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
23
22
|
item: {
|
|
24
23
|
id: string;
|
|
25
24
|
href: string;
|
|
26
|
-
renditionLayout
|
|
27
|
-
progressionWeight
|
|
28
|
-
pageSpreadLeft
|
|
29
|
-
pageSpreadRight
|
|
25
|
+
renditionLayout?: `reflowable` | `pre-paginated`;
|
|
26
|
+
progressionWeight?: number;
|
|
27
|
+
pageSpreadLeft?: true | undefined;
|
|
28
|
+
pageSpreadRight?: true | undefined;
|
|
30
29
|
mediaType?: string;
|
|
31
30
|
};
|
|
32
|
-
|
|
31
|
+
overlayElement: HTMLDivElement;
|
|
33
32
|
adjustPositionOfElement: ({ right, left, top, }: {
|
|
34
33
|
right?: number;
|
|
35
34
|
left?: number;
|
|
@@ -38,6 +37,13 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
38
37
|
getElementDimensions: () => {
|
|
39
38
|
width: number;
|
|
40
39
|
height: number;
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
bottom: number;
|
|
43
|
+
left: number;
|
|
44
|
+
right: number;
|
|
45
|
+
top: number;
|
|
46
|
+
toJSON(): any;
|
|
41
47
|
};
|
|
42
48
|
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
43
49
|
getResource: () => Promise<Response>;
|
|
@@ -48,43 +54,10 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
48
54
|
clientX: number;
|
|
49
55
|
clientY: number;
|
|
50
56
|
};
|
|
51
|
-
setLayoutDirty: () => void;
|
|
52
57
|
injectStyle: (cssText: string) => void;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
getIsLoaded: () => boolean;
|
|
57
|
-
getIsReady: () => boolean;
|
|
58
|
-
getViewportDimensions: () => {
|
|
59
|
-
width: number;
|
|
60
|
-
height: number;
|
|
61
|
-
} | undefined;
|
|
62
|
-
getFrameElement: () => HTMLIFrameElement | undefined;
|
|
63
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
64
|
-
load: () => void;
|
|
65
|
-
unload: () => void;
|
|
66
|
-
staticLayout: (size: {
|
|
67
|
-
width: number;
|
|
68
|
-
height: number;
|
|
69
|
-
}) => void;
|
|
70
|
-
getManipulableFrame: () => ReturnType<typeof import('./frameItem/createFrameManipulator').createFrameManipulator> | undefined;
|
|
71
|
-
getReadingDirection: () => `ltr` | `rtl` | undefined;
|
|
72
|
-
isUsingVerticalWriting: () => boolean;
|
|
73
|
-
getWritingMode: () => `vertical-rl` | `horizontal-tb` | undefined;
|
|
74
|
-
destroy: () => void;
|
|
75
|
-
$: {
|
|
76
|
-
unload$: Observable<void>;
|
|
77
|
-
unloaded$: Observable<void>;
|
|
78
|
-
loaded$: Observable<HTMLIFrameElement>;
|
|
79
|
-
ready$: Observable<FontFaceSet | undefined>;
|
|
80
|
-
isReady$: Observable<boolean>;
|
|
81
|
-
contentLayoutChange$: Observable<{
|
|
82
|
-
isFirstLayout: boolean;
|
|
83
|
-
} | {
|
|
84
|
-
isFirstLayout: boolean;
|
|
85
|
-
}>;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
58
|
+
load: () => void;
|
|
59
|
+
unload: () => void;
|
|
60
|
+
frame: import('./frame/FrameItem').FrameItem;
|
|
88
61
|
element: HTMLElement;
|
|
89
62
|
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
90
63
|
getViewPortInformation: () => {
|
|
@@ -98,17 +71,8 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
98
71
|
isImageType: () => boolean;
|
|
99
72
|
isReady: () => boolean;
|
|
100
73
|
destroy: () => void;
|
|
74
|
+
readingDirection: "ltr" | "rtl" | undefined;
|
|
101
75
|
isUsingVerticalWriting: () => boolean | undefined;
|
|
102
|
-
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
103
|
-
manipulateSpineItem: (cb: (options: {
|
|
104
|
-
container: HTMLElement;
|
|
105
|
-
item: Manifest[`spineItems`][number];
|
|
106
|
-
overlayElement: HTMLDivElement;
|
|
107
|
-
} & (ReturnType<typeof import('./frameItem/createFrameManipulator').createFrameManipulator> | {
|
|
108
|
-
frame: undefined;
|
|
109
|
-
removeStyle: (id: string) => void;
|
|
110
|
-
addStyle: (id: string, style: string) => void;
|
|
111
|
-
})) => boolean) => boolean;
|
|
112
76
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
113
77
|
minimumWidth: number;
|
|
114
78
|
}) => void[];
|
|
@@ -117,7 +81,7 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
117
81
|
destroy: () => void;
|
|
118
82
|
isSelecting: () => boolean;
|
|
119
83
|
getSelection: () => Selection | undefined;
|
|
120
|
-
$: Observable<{
|
|
84
|
+
$: import('rxjs').Observable<{
|
|
121
85
|
event: `selectionchange`;
|
|
122
86
|
data: Selection | null;
|
|
123
87
|
} | {
|
|
@@ -135,7 +99,7 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
135
99
|
y: number | undefined;
|
|
136
100
|
} | undefined;
|
|
137
101
|
destroy: () => void;
|
|
138
|
-
$: Observable<{
|
|
102
|
+
$: import('rxjs').Observable<{
|
|
139
103
|
event: `fingermove`;
|
|
140
104
|
data: {
|
|
141
105
|
x: number;
|
|
@@ -156,12 +120,12 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
156
120
|
columnWidth: number;
|
|
157
121
|
};
|
|
158
122
|
$: {
|
|
159
|
-
contentLayout$: Observable<{
|
|
123
|
+
contentLayout$: import('rxjs').Observable<{
|
|
160
124
|
isFirstLayout: boolean;
|
|
161
125
|
isReady: boolean;
|
|
162
126
|
}>;
|
|
163
|
-
loaded$: Observable<HTMLIFrameElement>;
|
|
164
|
-
isReady$: Observable<boolean>;
|
|
127
|
+
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
128
|
+
isReady$: import('rxjs').Observable<boolean>;
|
|
165
129
|
};
|
|
166
130
|
};
|
|
167
131
|
export type SpineItem = ReturnType<typeof createSpineItem>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Manifest } from '../..';
|
|
3
|
+
import { Context } from '../../context/Context';
|
|
4
|
+
import { createLoader } from './loader/loader';
|
|
5
|
+
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
6
|
+
import { HookManager } from '../../hooks/HookManager';
|
|
7
|
+
import { DestroyableClass } from '../../utils/DestroyableClass';
|
|
8
|
+
|
|
9
|
+
export declare class FrameItem extends DestroyableClass {
|
|
10
|
+
protected parent: HTMLElement;
|
|
11
|
+
protected item: Manifest[`spineItems`][number];
|
|
12
|
+
protected context: Context;
|
|
13
|
+
protected settings: ReaderSettingsManager;
|
|
14
|
+
protected hookManager: HookManager;
|
|
15
|
+
protected loader: ReturnType<typeof createLoader>;
|
|
16
|
+
contentLayoutChange$: Observable<{
|
|
17
|
+
isFirstLayout: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
constructor(parent: HTMLElement, item: Manifest[`spineItems`][number], context: Context, settings: ReaderSettingsManager, hookManager: HookManager);
|
|
20
|
+
getComputedStyleAfterLoad(): CSSStyleDeclaration | undefined;
|
|
21
|
+
getViewportDimensions: () => {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
} | undefined;
|
|
25
|
+
getWritingMode: () => `vertical-rl` | `horizontal-tb` | undefined;
|
|
26
|
+
isUsingVerticalWriting: () => boolean;
|
|
27
|
+
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
28
|
+
get element(): HTMLIFrameElement | undefined;
|
|
29
|
+
get unloaded$(): Observable<null>;
|
|
30
|
+
get loaded$(): Observable<HTMLIFrameElement>;
|
|
31
|
+
get ready$(): Observable<FontFaceSet | undefined>;
|
|
32
|
+
get isReady$(): Observable<boolean>;
|
|
33
|
+
get isLoaded(): boolean;
|
|
34
|
+
get isReady(): boolean;
|
|
35
|
+
load(): void;
|
|
36
|
+
unload(): void;
|
|
37
|
+
staticLayout: (size: {
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
}) => void;
|
|
41
|
+
addStyle(id: string, style: string, prepend?: boolean): void;
|
|
42
|
+
removeStyle(id: string): void;
|
|
43
|
+
destroy: () => void;
|
|
44
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
3
|
+
import { Manifest } from '@prose-reader/shared';
|
|
4
|
+
|
|
5
|
+
export declare const attachFrameSrc: ({ settings, item, }: {
|
|
6
|
+
settings: ReaderSettingsManager;
|
|
7
|
+
item: Manifest[`spineItems`][number];
|
|
8
|
+
}) => (stream: Observable<HTMLIFrameElement>) => Observable<HTMLIFrameElement>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
3
|
+
import { Manifest } from '@prose-reader/shared';
|
|
4
|
+
import { HookManager } from '../../..';
|
|
5
|
+
|
|
6
|
+
export declare const configureFrame: ({ settings, item, hookManager, }: {
|
|
7
|
+
settings: ReaderSettingsManager;
|
|
8
|
+
item: Manifest[`spineItems`][number];
|
|
9
|
+
hookManager: HookManager;
|
|
10
|
+
}) => (stream: Observable<HTMLIFrameElement>) => Observable<HTMLIFrameElement>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createFrameElement: (() => HTMLIFrameElement) | (() => HTMLIFrameElement);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HookManager, Manifest } from '../../..';
|
|
2
|
+
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
3
|
+
import { Context } from '../../../context/Context';
|
|
4
|
+
|
|
5
|
+
export declare const loadFrame: ({ settings, item, hookManager, element, onFrameElement, context, }: {
|
|
6
|
+
settings: ReaderSettingsManager;
|
|
7
|
+
item: Manifest[`spineItems`][number];
|
|
8
|
+
hookManager: HookManager;
|
|
9
|
+
element: HTMLElement;
|
|
10
|
+
onFrameElement: (element: HTMLIFrameElement) => void;
|
|
11
|
+
context: Context;
|
|
12
|
+
}) => import('rxjs').Observable<HTMLIFrameElement>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Context } from '../../../context/Context';
|
|
2
|
+
import { Manifest } from '../../..';
|
|
3
|
+
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
4
|
+
import { HookManager } from '../../../hooks/HookManager';
|
|
5
|
+
|
|
6
|
+
export declare const createLoader: ({ item, parent, context, settings, hookManager, }: {
|
|
7
|
+
item: Manifest[`spineItems`][number];
|
|
8
|
+
parent: HTMLElement;
|
|
9
|
+
context: Context;
|
|
10
|
+
settings: ReaderSettingsManager;
|
|
11
|
+
hookManager: HookManager;
|
|
12
|
+
}) => {
|
|
13
|
+
load: () => void;
|
|
14
|
+
unload: () => void;
|
|
15
|
+
destroy: () => void;
|
|
16
|
+
readonly state: "idle" | "loading" | "loaded" | "unloading" | "ready";
|
|
17
|
+
readonly element: HTMLIFrameElement | undefined;
|
|
18
|
+
isReady$: import('rxjs').Observable<boolean>;
|
|
19
|
+
ready$: import('rxjs').Observable<FontFaceSet | undefined>;
|
|
20
|
+
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
21
|
+
unloaded$: import('rxjs').Observable<null>;
|
|
22
|
+
element$: import('rxjs').Observable<HTMLIFrameElement | undefined>;
|
|
23
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HookManager, Manifest } from '../../..';
|
|
2
|
+
import { Context } from '../../../context/Context';
|
|
3
|
+
|
|
4
|
+
export declare const unloadFrame: ({ item, hookManager, frameElement, context, }: {
|
|
5
|
+
item: Manifest[`spineItems`][number];
|
|
6
|
+
hookManager: HookManager;
|
|
7
|
+
frameElement?: HTMLIFrameElement;
|
|
8
|
+
context: Context;
|
|
9
|
+
}) => import('rxjs').Observable<null>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const getItemOffsetFromPageIndex: (pageWidth: number, pageIndex: number, itemWidth: number) => number;
|
|
2
|
+
export declare const calculateNumberOfPagesForItem: (itemWidth: number, pageWidth: number) => number;
|
|
3
|
+
export declare const getClosestValidOffsetFromApproximateOffsetInPages: (offset: number, pageWidth: number, itemWidth: number) => number;
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
2
|
import { SpineItem } from './createSpineItem';
|
|
3
|
-
import {
|
|
3
|
+
import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
|
|
4
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
5
|
|
|
5
|
-
export
|
|
6
|
+
export type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
|
|
7
|
+
export declare const createSpineItemLocator: ({ context, settings, }: {
|
|
6
8
|
context: Context;
|
|
9
|
+
settings: ReaderSettingsManager;
|
|
7
10
|
}) => {
|
|
8
11
|
getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => {
|
|
9
12
|
x: number;
|
|
10
13
|
y: number;
|
|
11
14
|
} | undefined;
|
|
12
|
-
getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) => SafeSpineItemPosition;
|
|
16
|
+
getSpineItemPageIndexFromPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, }: {
|
|
17
|
+
itemWidth: number;
|
|
18
|
+
itemHeight: number;
|
|
19
|
+
position: UnsafeSpineItemPosition;
|
|
20
|
+
isUsingVerticalWriting: boolean;
|
|
21
|
+
}) => number;
|
|
15
22
|
getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
|
|
16
23
|
getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: UnsafeSpineItemPosition, spineItem: SpineItem) => {
|
|
17
24
|
x: number;
|
|
@@ -21,4 +28,9 @@ export declare const createLocationResolver: ({ context }: {
|
|
|
21
28
|
node: Node;
|
|
22
29
|
offset: number;
|
|
23
30
|
} | undefined;
|
|
31
|
+
getSpineItemNumberOfPages: ({ itemHeight, itemWidth, isUsingVerticalWriting, }: {
|
|
32
|
+
itemWidth: number;
|
|
33
|
+
itemHeight: number;
|
|
34
|
+
isUsingVerticalWriting: boolean;
|
|
35
|
+
}) => number;
|
|
24
36
|
};
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { SpineItem } from './createSpineItem';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
|
-
import {
|
|
3
|
+
import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
|
|
4
4
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export type SpineItemNavigationResolver = ReturnType<typeof createNavigationResolver>;
|
|
7
|
+
export declare const createNavigationResolver: ({ context, settings, }: {
|
|
7
8
|
context: Context;
|
|
8
9
|
settings: ReaderSettingsManager;
|
|
9
10
|
}) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
getNavigationForPage: (pageIndex: number, spineItem: SpineItem) => SpineItemNavigationPosition;
|
|
14
|
-
getNavigationForPosition: (spineItem: SpineItem, position: UnsafeSpineItemPosition) => SpineItemNavigationPosition;
|
|
15
|
-
getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemNavigationPosition;
|
|
11
|
+
getNavigationForLastPage: (spineItem: SpineItem) => SafeSpineItemPosition;
|
|
12
|
+
getNavigationForPosition: (spineItem: SpineItem, position: UnsafeSpineItemPosition) => SafeSpineItemPosition;
|
|
13
|
+
getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SafeSpineItemPosition;
|
|
16
14
|
};
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
import { Context } from '../context/Context';
|
|
3
|
-
import { Manifest } from '
|
|
2
|
+
import { Manifest } from '..';
|
|
4
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
4
|
import { HookManager } from '../hooks/HookManager';
|
|
6
5
|
|
|
7
|
-
export declare const createPrePaginatedSpineItem: ({ item, context, containerElement,
|
|
6
|
+
export declare const createPrePaginatedSpineItem: ({ item, context, containerElement, settings, hookManager, index, }: {
|
|
8
7
|
item: Manifest[`spineItems`][number];
|
|
9
8
|
containerElement: HTMLElement;
|
|
10
9
|
context: Context;
|
|
11
|
-
viewportState$: Observable<`free` | `busy`>;
|
|
12
10
|
settings: ReaderSettingsManager;
|
|
13
11
|
hookManager: HookManager;
|
|
12
|
+
index: number;
|
|
14
13
|
}) => {
|
|
15
14
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
16
15
|
blankPagePosition: `before` | `after` | `none`;
|
|
@@ -23,13 +22,13 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
23
22
|
item: {
|
|
24
23
|
id: string;
|
|
25
24
|
href: string;
|
|
26
|
-
renditionLayout
|
|
27
|
-
progressionWeight
|
|
28
|
-
pageSpreadLeft
|
|
29
|
-
pageSpreadRight
|
|
25
|
+
renditionLayout?: `reflowable` | `pre-paginated`;
|
|
26
|
+
progressionWeight?: number;
|
|
27
|
+
pageSpreadLeft?: true | undefined;
|
|
28
|
+
pageSpreadRight?: true | undefined;
|
|
30
29
|
mediaType?: string;
|
|
31
30
|
};
|
|
32
|
-
|
|
31
|
+
overlayElement: HTMLDivElement;
|
|
33
32
|
adjustPositionOfElement: ({ right, left, top, }: {
|
|
34
33
|
right?: number;
|
|
35
34
|
left?: number;
|
|
@@ -38,6 +37,13 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
38
37
|
getElementDimensions: () => {
|
|
39
38
|
width: number;
|
|
40
39
|
height: number;
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
bottom: number;
|
|
43
|
+
left: number;
|
|
44
|
+
right: number;
|
|
45
|
+
top: number;
|
|
46
|
+
toJSON(): any;
|
|
41
47
|
};
|
|
42
48
|
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
43
49
|
getResource: () => Promise<Response>;
|
|
@@ -48,43 +54,10 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
48
54
|
clientX: number;
|
|
49
55
|
clientY: number;
|
|
50
56
|
};
|
|
51
|
-
setLayoutDirty: () => void;
|
|
52
57
|
injectStyle: (cssText: string) => void;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
getIsLoaded: () => boolean;
|
|
57
|
-
getIsReady: () => boolean;
|
|
58
|
-
getViewportDimensions: () => {
|
|
59
|
-
width: number;
|
|
60
|
-
height: number;
|
|
61
|
-
} | undefined;
|
|
62
|
-
getFrameElement: () => HTMLIFrameElement | undefined;
|
|
63
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
64
|
-
load: () => void;
|
|
65
|
-
unload: () => void;
|
|
66
|
-
staticLayout: (size: {
|
|
67
|
-
width: number;
|
|
68
|
-
height: number;
|
|
69
|
-
}) => void;
|
|
70
|
-
getManipulableFrame: () => ReturnType<typeof import('./frameItem/createFrameManipulator').createFrameManipulator> | undefined;
|
|
71
|
-
getReadingDirection: () => `ltr` | `rtl` | undefined;
|
|
72
|
-
isUsingVerticalWriting: () => boolean;
|
|
73
|
-
getWritingMode: () => `vertical-rl` | `horizontal-tb` | undefined;
|
|
74
|
-
destroy: () => void;
|
|
75
|
-
$: {
|
|
76
|
-
unload$: Observable<void>;
|
|
77
|
-
unloaded$: Observable<void>;
|
|
78
|
-
loaded$: Observable<HTMLIFrameElement>;
|
|
79
|
-
ready$: Observable<FontFaceSet | undefined>;
|
|
80
|
-
isReady$: Observable<boolean>;
|
|
81
|
-
contentLayoutChange$: Observable<{
|
|
82
|
-
isFirstLayout: boolean;
|
|
83
|
-
} | {
|
|
84
|
-
isFirstLayout: boolean;
|
|
85
|
-
}>;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
58
|
+
load: () => void;
|
|
59
|
+
unload: () => void;
|
|
60
|
+
frame: import('./frame/FrameItem').FrameItem;
|
|
88
61
|
element: HTMLElement;
|
|
89
62
|
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
90
63
|
getViewPortInformation: () => {
|
|
@@ -98,17 +71,8 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
98
71
|
isImageType: () => boolean;
|
|
99
72
|
isReady: () => boolean;
|
|
100
73
|
destroy: () => void;
|
|
74
|
+
readingDirection: "ltr" | "rtl" | undefined;
|
|
101
75
|
isUsingVerticalWriting: () => boolean | undefined;
|
|
102
|
-
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
103
|
-
manipulateSpineItem: (cb: (options: {
|
|
104
|
-
container: HTMLElement;
|
|
105
|
-
item: Manifest[`spineItems`][number];
|
|
106
|
-
overlayElement: HTMLDivElement;
|
|
107
|
-
} & (ReturnType<typeof import('./frameItem/createFrameManipulator').createFrameManipulator> | {
|
|
108
|
-
frame: undefined;
|
|
109
|
-
removeStyle: (id: string) => void;
|
|
110
|
-
addStyle: (id: string, style: string) => void;
|
|
111
|
-
})) => boolean) => boolean;
|
|
112
76
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
113
77
|
minimumWidth: number;
|
|
114
78
|
}) => void[];
|
|
@@ -117,7 +81,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
117
81
|
destroy: () => void;
|
|
118
82
|
isSelecting: () => boolean;
|
|
119
83
|
getSelection: () => Selection | undefined;
|
|
120
|
-
$: Observable<{
|
|
84
|
+
$: import('rxjs').Observable<{
|
|
121
85
|
event: `selectionchange`;
|
|
122
86
|
data: Selection | null;
|
|
123
87
|
} | {
|
|
@@ -135,7 +99,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
135
99
|
y: number | undefined;
|
|
136
100
|
} | undefined;
|
|
137
101
|
destroy: () => void;
|
|
138
|
-
$: Observable<{
|
|
102
|
+
$: import('rxjs').Observable<{
|
|
139
103
|
event: `fingermove`;
|
|
140
104
|
data: {
|
|
141
105
|
x: number;
|
|
@@ -156,11 +120,11 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
156
120
|
columnWidth: number;
|
|
157
121
|
};
|
|
158
122
|
$: {
|
|
159
|
-
contentLayout$: Observable<{
|
|
123
|
+
contentLayout$: import('rxjs').Observable<{
|
|
160
124
|
isFirstLayout: boolean;
|
|
161
125
|
isReady: boolean;
|
|
162
126
|
}>;
|
|
163
|
-
loaded$: Observable<HTMLIFrameElement>;
|
|
164
|
-
isReady$: Observable<boolean>;
|
|
127
|
+
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
128
|
+
isReady$: import('rxjs').Observable<boolean>;
|
|
165
129
|
};
|
|
166
130
|
};
|