@prose-reader/core 1.117.0 → 1.119.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/generateCfiForSpineItemPage.d.ts +1 -1
- package/dist/cfi/generate/getItemAnchor.d.ts +1 -1
- package/dist/cfi/generate/getRootCfi.d.ts +1 -1
- package/dist/cfi/lookup/resolveCfi.d.ts +2 -236
- package/dist/context/Context.d.ts +1 -1
- package/dist/createReaderWithEnhancer.d.ts +11 -245
- package/dist/enhancers/events/normalizeEventForViewport.d.ts +2 -1
- package/dist/enhancers/events/translateFramePositionIntoPage.d.ts +12 -0
- package/dist/enhancers/html/enhancer.d.ts +2 -0
- package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +26 -0
- package/dist/{spineItem/frame/loader → enhancers/html/renderer}/attachFrameSrc.d.ts +4 -2
- package/dist/{spineItem/frame → enhancers/html/renderer}/createHtmlPageFromResource.d.ts +1 -1
- package/dist/enhancers/html/renderer/prePaginated/renderPrePaginated.d.ts +31 -0
- package/dist/enhancers/html/renderer/reflowable/renderReflowable.d.ts +22 -0
- package/dist/enhancers/loading/constants.d.ts +2 -0
- package/dist/enhancers/loading/createLoadingElement.d.ts +7 -0
- package/dist/enhancers/{loadingEnhancer.d.ts → loading/loadingEnhancer.d.ts} +3 -3
- package/dist/enhancers/media/ImageRenderer.d.ts +15 -0
- package/dist/enhancers/media/media.d.ts +2 -0
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +1 -1
- package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +1 -1
- package/dist/enhancers/navigation/resolvers/getSpineItemPositionForLeftPage.d.ts +1 -1
- package/dist/enhancers/navigation/resolvers/getSpineItemPositionForRightPage.d.ts +1 -1
- package/dist/enhancers/progression.d.ts +1 -1
- package/dist/hooks/types.d.ts +19 -9
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2314 -2181
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +3010 -2877
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/Navigator.d.ts +6 -6
- package/dist/navigation/resolvers/NavigationResolver.d.ts +1 -1
- package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +1 -1
- package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +1 -1
- package/dist/reader.d.ts +3 -237
- package/dist/settings/SettingsManager.d.ts +2 -1
- package/dist/settings/types.d.ts +9 -1
- package/dist/spine/SpineItemsManager.d.ts +6 -591
- package/dist/spine/SpineItemsObserver.d.ts +2 -1
- package/dist/spine/SpineLayout.d.ts +1 -1
- package/dist/spine/locator/SpineLocator.d.ts +5 -473
- package/dist/spine/locator/getAbsolutePageIndexFromPageIndex.d.ts +1 -1
- package/dist/spine/locator/getSpineInfoFromAbsolutePageIndex.d.ts +2 -118
- package/dist/spine/locator/getSpineItemFromPosition.d.ts +1 -118
- package/dist/spineItem/DocumentRenderer.d.ts +48 -0
- package/dist/spineItem/ResourceHandler.d.ts +15 -0
- package/dist/spineItem/SpineItem.d.ts +64 -0
- package/dist/spineItem/locationResolver.d.ts +1 -1
- package/dist/spineItem/navigationResolver.d.ts +1 -1
- package/dist/utils/frames.d.ts +15 -0
- package/package.json +3 -3
- package/dist/enhancers/media.d.ts +0 -2
- package/dist/spineItem/commonSpineItem.d.ts +0 -128
- package/dist/spineItem/createSpineItem.d.ts +0 -130
- package/dist/spineItem/frame/FrameItem.d.ts +0 -43
- package/dist/spineItem/frame/loader/configureFrame.d.ts +0 -9
- package/dist/spineItem/frame/loader/loadFrame.d.ts +0 -11
- package/dist/spineItem/frame/loader/loader.d.ts +0 -22
- package/dist/spineItem/frame/loader/unloadFrame.d.ts +0 -8
- package/dist/spineItem/frame/loader/waitForFrameLoad.d.ts +0 -2
- package/dist/spineItem/frame/loader/waitForFrameReady.d.ts +0 -2
- package/dist/spineItem/prePaginatedSpineItem.d.ts +0 -129
- package/dist/spineItem/reflowable/ReflowableSpineItems.d.ts +0 -128
- package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +0 -1
- /package/dist/{spineItem/frame/loader → enhancers/html/renderer}/createFrameElement.d.ts +0 -0
- /package/dist/{spineItem → enhancers/html/renderer}/reflowable/styles.d.ts +0 -0
|
@@ -7,121 +7,4 @@ export declare const getSpineItemFromPosition: ({ position, spineItemsManager, s
|
|
|
7
7
|
spineItemsManager: SpineItemsManager;
|
|
8
8
|
spineLayout: SpineLayout;
|
|
9
9
|
settings: ReaderSettingsManager;
|
|
10
|
-
}) =>
|
|
11
|
-
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
12
|
-
blankPagePosition: `before` | `after` | `none`;
|
|
13
|
-
minimumWidth: number;
|
|
14
|
-
spreadPosition: `none` | `left` | `right`;
|
|
15
|
-
}) => {
|
|
16
|
-
width: number;
|
|
17
|
-
height: number;
|
|
18
|
-
};
|
|
19
|
-
item: {
|
|
20
|
-
id: string;
|
|
21
|
-
href: string;
|
|
22
|
-
renditionLayout?: `reflowable` | `pre-paginated`;
|
|
23
|
-
progressionWeight?: number;
|
|
24
|
-
pageSpreadLeft?: true | undefined;
|
|
25
|
-
pageSpreadRight?: true | undefined;
|
|
26
|
-
mediaType?: string;
|
|
27
|
-
};
|
|
28
|
-
overlayElement: HTMLDivElement;
|
|
29
|
-
adjustPositionOfElement: ({ right, left, top, }: {
|
|
30
|
-
right?: number;
|
|
31
|
-
left?: number;
|
|
32
|
-
top?: number;
|
|
33
|
-
}) => void;
|
|
34
|
-
getElementDimensions: () => {
|
|
35
|
-
width: number;
|
|
36
|
-
height: number;
|
|
37
|
-
x: number;
|
|
38
|
-
y: number;
|
|
39
|
-
bottom: number;
|
|
40
|
-
left: number;
|
|
41
|
-
right: number;
|
|
42
|
-
top: number;
|
|
43
|
-
toJSON(): any;
|
|
44
|
-
};
|
|
45
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
46
|
-
getResource: () => Promise<Response>;
|
|
47
|
-
translateFramePositionIntoPage: (position: {
|
|
48
|
-
clientX: number;
|
|
49
|
-
clientY: number;
|
|
50
|
-
}) => {
|
|
51
|
-
clientX: number;
|
|
52
|
-
clientY: number;
|
|
53
|
-
};
|
|
54
|
-
injectStyle: (cssText: string) => void;
|
|
55
|
-
load: () => void;
|
|
56
|
-
unload: () => void;
|
|
57
|
-
frame: import('../../spineItem/frame/FrameItem').FrameItem;
|
|
58
|
-
element: HTMLElement;
|
|
59
|
-
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
60
|
-
getViewPortInformation: () => {
|
|
61
|
-
computedScale: number;
|
|
62
|
-
computedWidthScale: number;
|
|
63
|
-
viewportDimensions: {
|
|
64
|
-
width: number;
|
|
65
|
-
height: number;
|
|
66
|
-
};
|
|
67
|
-
} | undefined;
|
|
68
|
-
isImageType: () => boolean;
|
|
69
|
-
isReady: () => boolean;
|
|
70
|
-
destroy: () => void;
|
|
71
|
-
readingDirection: "ltr" | "rtl" | undefined;
|
|
72
|
-
isUsingVerticalWriting: () => boolean | undefined;
|
|
73
|
-
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
74
|
-
minimumWidth: number;
|
|
75
|
-
}) => void[];
|
|
76
|
-
selectionTracker: {
|
|
77
|
-
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
78
|
-
destroy: () => void;
|
|
79
|
-
isSelecting: () => boolean;
|
|
80
|
-
getSelection: () => Selection | undefined;
|
|
81
|
-
$: import('rxjs').Observable<{
|
|
82
|
-
event: `selectionchange`;
|
|
83
|
-
data: Selection | null;
|
|
84
|
-
} | {
|
|
85
|
-
event: `selectstart`;
|
|
86
|
-
data: Selection | null;
|
|
87
|
-
} | {
|
|
88
|
-
event: `selectend`;
|
|
89
|
-
data: Selection | null;
|
|
90
|
-
}>;
|
|
91
|
-
};
|
|
92
|
-
fingerTracker: {
|
|
93
|
-
track: (frame: HTMLIFrameElement) => void;
|
|
94
|
-
getFingerPositionInIframe(): {
|
|
95
|
-
x: number | undefined;
|
|
96
|
-
y: number | undefined;
|
|
97
|
-
} | undefined;
|
|
98
|
-
destroy: () => void;
|
|
99
|
-
$: import('rxjs').Observable<{
|
|
100
|
-
event: `fingermove`;
|
|
101
|
-
data: {
|
|
102
|
-
x: number;
|
|
103
|
-
y: number;
|
|
104
|
-
};
|
|
105
|
-
} | {
|
|
106
|
-
event: `fingerout`;
|
|
107
|
-
data: undefined;
|
|
108
|
-
}>;
|
|
109
|
-
};
|
|
110
|
-
getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
|
|
111
|
-
columnHeight: number;
|
|
112
|
-
columnWidth: number;
|
|
113
|
-
width: number;
|
|
114
|
-
};
|
|
115
|
-
getDimensionsForPaginatedContent: () => {
|
|
116
|
-
columnHeight: number;
|
|
117
|
-
columnWidth: number;
|
|
118
|
-
};
|
|
119
|
-
$: {
|
|
120
|
-
contentLayout$: import('rxjs').Observable<{
|
|
121
|
-
isFirstLayout: boolean;
|
|
122
|
-
isReady: boolean;
|
|
123
|
-
}>;
|
|
124
|
-
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
125
|
-
isReady$: import('rxjs').Observable<boolean>;
|
|
126
|
-
};
|
|
127
|
-
} | undefined;
|
|
10
|
+
}) => import('../../spineItem/SpineItem').SpineItem | undefined;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Manifest } from '@prose-reader/shared';
|
|
2
|
+
import { Context } from '../context/Context';
|
|
3
|
+
import { HookManager } from '../hooks/HookManager';
|
|
4
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
6
|
+
import { ResourceHandler } from './ResourceHandler';
|
|
7
|
+
type Layer = {
|
|
8
|
+
element: HTMLElement;
|
|
9
|
+
};
|
|
10
|
+
export declare abstract class DocumentRenderer {
|
|
11
|
+
protected context: Context;
|
|
12
|
+
protected settings: ReaderSettingsManager;
|
|
13
|
+
protected hookManager: HookManager;
|
|
14
|
+
protected item: Manifest[`spineItems`][number];
|
|
15
|
+
protected containerElement: HTMLElement;
|
|
16
|
+
protected resourcesHandler: ResourceHandler;
|
|
17
|
+
protected stateSubject: BehaviorSubject<"idle" | "loading" | "loaded" | "unloading" | "ready">;
|
|
18
|
+
private triggerSubject;
|
|
19
|
+
layers: Layer[];
|
|
20
|
+
protected unload$: Observable<undefined>;
|
|
21
|
+
protected load$: Observable<undefined>;
|
|
22
|
+
constructor(context: Context, settings: ReaderSettingsManager, hookManager: HookManager, item: Manifest[`spineItems`][number], containerElement: HTMLElement, resourcesHandler: ResourceHandler);
|
|
23
|
+
protected destroy$: Observable<"destroy">;
|
|
24
|
+
get state$(): BehaviorSubject<"idle" | "loading" | "loaded" | "unloading" | "ready">;
|
|
25
|
+
load(): void;
|
|
26
|
+
unload(): void;
|
|
27
|
+
destroy(): void;
|
|
28
|
+
abstract onUnload(): Observable<unknown>;
|
|
29
|
+
abstract onCreateDocument(): Observable<unknown>;
|
|
30
|
+
abstract onLoadDocument(): Observable<unknown>;
|
|
31
|
+
abstract layout(params: {
|
|
32
|
+
minPageSpread: number;
|
|
33
|
+
blankPagePosition: `before` | `after` | `none`;
|
|
34
|
+
spreadPosition: `none` | `left` | `right`;
|
|
35
|
+
}): {
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
} | undefined;
|
|
39
|
+
get writingMode(): `vertical-rl` | `horizontal-tb` | undefined;
|
|
40
|
+
get readingDirection(): `rtl` | `ltr` | undefined;
|
|
41
|
+
}
|
|
42
|
+
export declare class DefaultRenderer extends DocumentRenderer {
|
|
43
|
+
onUnload(): Observable<unknown>;
|
|
44
|
+
onCreateDocument(): Observable<unknown>;
|
|
45
|
+
onLoadDocument(): Observable<unknown>;
|
|
46
|
+
layout(): undefined;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Manifest } from '@prose-reader/shared';
|
|
2
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
3
|
+
export declare class ResourceHandler {
|
|
4
|
+
protected item: Manifest["items"][number];
|
|
5
|
+
protected settings: ReaderSettingsManager;
|
|
6
|
+
constructor(item: Manifest["items"][number], settings: ReaderSettingsManager);
|
|
7
|
+
getResource(): Promise<URL | Response | {
|
|
8
|
+
custom: true;
|
|
9
|
+
data: unknown;
|
|
10
|
+
}>;
|
|
11
|
+
fetchResource(): Promise<Response | {
|
|
12
|
+
custom: true;
|
|
13
|
+
data: unknown;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Context } from '../context/Context';
|
|
2
|
+
import { Manifest } from '..';
|
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
|
4
|
+
import { createFingerTracker, createSelectionTracker } from './trackers';
|
|
5
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
6
|
+
import { HookManager } from '../hooks/HookManager';
|
|
7
|
+
import { DocumentRenderer } from './DocumentRenderer';
|
|
8
|
+
import { ResourceHandler } from './ResourceHandler';
|
|
9
|
+
export declare class SpineItem {
|
|
10
|
+
item: Manifest[`spineItems`][number];
|
|
11
|
+
parentElement: HTMLElement;
|
|
12
|
+
context: Context;
|
|
13
|
+
settings: ReaderSettingsManager;
|
|
14
|
+
hookManager: HookManager;
|
|
15
|
+
index: number;
|
|
16
|
+
destroySubject$: Subject<void>;
|
|
17
|
+
containerElement: HTMLElement;
|
|
18
|
+
fingerTracker: ReturnType<typeof createFingerTracker>;
|
|
19
|
+
selectionTracker: ReturnType<typeof createSelectionTracker>;
|
|
20
|
+
contentLayout$: Observable<{
|
|
21
|
+
isFirstLayout: boolean;
|
|
22
|
+
isReady: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
renderer: DocumentRenderer;
|
|
25
|
+
resourcesHandler: ResourceHandler;
|
|
26
|
+
constructor(item: Manifest[`spineItems`][number], parentElement: HTMLElement, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, index: number);
|
|
27
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
28
|
+
right?: number;
|
|
29
|
+
left?: number;
|
|
30
|
+
top?: number;
|
|
31
|
+
}) => void;
|
|
32
|
+
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
33
|
+
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
34
|
+
blankPagePosition: `before` | `after` | `none`;
|
|
35
|
+
minimumWidth: number;
|
|
36
|
+
spreadPosition: `left` | `right` | `none`;
|
|
37
|
+
}) => {
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
};
|
|
41
|
+
load: () => void;
|
|
42
|
+
unload: () => void;
|
|
43
|
+
getElementDimensions: () => {
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
x: number;
|
|
47
|
+
y: number;
|
|
48
|
+
bottom: number;
|
|
49
|
+
left: number;
|
|
50
|
+
right: number;
|
|
51
|
+
top: number;
|
|
52
|
+
toJSON(): any;
|
|
53
|
+
};
|
|
54
|
+
destroy: () => void;
|
|
55
|
+
get element(): HTMLElement;
|
|
56
|
+
get readingDirection(): "rtl" | "ltr" | undefined;
|
|
57
|
+
isUsingVerticalWriting: () => boolean;
|
|
58
|
+
get isReady(): boolean;
|
|
59
|
+
get ready$(): Observable<"ready">;
|
|
60
|
+
get loaded$(): Observable<"loaded">;
|
|
61
|
+
get unloaded$(): Observable<"idle">;
|
|
62
|
+
get isReady$(): Observable<boolean>;
|
|
63
|
+
upsertCSS(id: string, style: string, prepend?: boolean): void;
|
|
64
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
|
-
import { SpineItem } from './createSpineItem';
|
|
3
2
|
import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
|
|
4
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
|
+
import { SpineItem } from './SpineItem';
|
|
5
5
|
export type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
|
|
6
6
|
export declare const createSpineItemLocator: ({ context, settings, }: {
|
|
7
7
|
context: Context;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SpineItem } from './createSpineItem';
|
|
2
1
|
import { Context } from '../context/Context';
|
|
3
2
|
import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
|
|
4
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
|
+
import { SpineItem } from './SpineItem';
|
|
5
5
|
export type SpineItemNavigationResolver = ReturnType<typeof createNavigationResolver>;
|
|
6
6
|
export declare const createNavigationResolver: ({ context, settings, }: {
|
|
7
7
|
context: Context;
|
package/dist/utils/frames.d.ts
CHANGED
|
@@ -1 +1,16 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
1
2
|
export declare const getAttributeValueFromString: (string: string, key: string) => number;
|
|
3
|
+
export declare const injectCSS: (frameElement: HTMLIFrameElement, id: string, style: string, prepend?: boolean) => void;
|
|
4
|
+
export declare const removeCSS: (frameElement: HTMLIFrameElement, id: string) => void;
|
|
5
|
+
export declare const upsertCSS: (frameElement: HTMLIFrameElement | undefined, id: string, style: string, prepend?: boolean) => void;
|
|
6
|
+
export declare const getFrameViewportInfo: (frame: HTMLIFrameElement | undefined) => {
|
|
7
|
+
hasViewport: boolean;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
} | {
|
|
11
|
+
hasViewport: boolean;
|
|
12
|
+
width?: undefined;
|
|
13
|
+
height?: undefined;
|
|
14
|
+
};
|
|
15
|
+
export declare const waitForFrameLoad: (stream: Observable<HTMLIFrameElement>) => Observable<HTMLIFrameElement>;
|
|
16
|
+
export declare const waitForFrameReady: (stream: Observable<HTMLIFrameElement>) => Observable<HTMLIFrameElement>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.119.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.umd.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tsc": "tsc"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@prose-reader/shared": "^1.
|
|
28
|
+
"@prose-reader/shared": "^1.119.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"rxjs": "*"
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"jsdom": "^24.0.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "8fba086fc519af1bef577817629bd55a914cd923"
|
|
37
37
|
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { Context } from '../context/Context';
|
|
2
|
-
import { FrameItem } from './frame/FrameItem';
|
|
3
|
-
import { Manifest } from '..';
|
|
4
|
-
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
|
-
import { HookManager } from '../hooks/HookManager';
|
|
6
|
-
export declare const createCommonSpineItem: ({ item, context, parentElement, settings, hookManager, index, }: {
|
|
7
|
-
item: Manifest[`spineItems`][number];
|
|
8
|
-
parentElement: HTMLElement;
|
|
9
|
-
context: Context;
|
|
10
|
-
settings: ReaderSettingsManager;
|
|
11
|
-
hookManager: HookManager;
|
|
12
|
-
index: number;
|
|
13
|
-
}) => {
|
|
14
|
-
item: {
|
|
15
|
-
id: string;
|
|
16
|
-
href: string;
|
|
17
|
-
renditionLayout?: `reflowable` | `pre-paginated`;
|
|
18
|
-
progressionWeight?: number;
|
|
19
|
-
pageSpreadLeft?: true | undefined;
|
|
20
|
-
pageSpreadRight?: true | undefined;
|
|
21
|
-
mediaType?: string;
|
|
22
|
-
};
|
|
23
|
-
layout: ({ height, width, blankPagePosition, minimumWidth, }: {
|
|
24
|
-
height: number;
|
|
25
|
-
width: number;
|
|
26
|
-
blankPagePosition: `before` | `after` | `none`;
|
|
27
|
-
minimumWidth: number;
|
|
28
|
-
}) => void;
|
|
29
|
-
overlayElement: HTMLDivElement;
|
|
30
|
-
adjustPositionOfElement: ({ right, left, top, }: {
|
|
31
|
-
right?: number;
|
|
32
|
-
left?: number;
|
|
33
|
-
top?: number;
|
|
34
|
-
}) => void;
|
|
35
|
-
getElementDimensions: () => {
|
|
36
|
-
width: number;
|
|
37
|
-
height: number;
|
|
38
|
-
x: number;
|
|
39
|
-
y: number;
|
|
40
|
-
bottom: number;
|
|
41
|
-
left: number;
|
|
42
|
-
right: number;
|
|
43
|
-
top: number;
|
|
44
|
-
toJSON(): any;
|
|
45
|
-
};
|
|
46
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
47
|
-
getResource: () => Promise<Response>;
|
|
48
|
-
translateFramePositionIntoPage: (position: {
|
|
49
|
-
clientX: number;
|
|
50
|
-
clientY: number;
|
|
51
|
-
}) => {
|
|
52
|
-
clientX: number;
|
|
53
|
-
clientY: number;
|
|
54
|
-
};
|
|
55
|
-
injectStyle: (cssText: string) => void;
|
|
56
|
-
load: () => void;
|
|
57
|
-
unload: () => void;
|
|
58
|
-
frame: FrameItem;
|
|
59
|
-
element: HTMLElement;
|
|
60
|
-
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
61
|
-
getViewPortInformation: () => {
|
|
62
|
-
computedScale: number;
|
|
63
|
-
computedWidthScale: number;
|
|
64
|
-
viewportDimensions: {
|
|
65
|
-
width: number;
|
|
66
|
-
height: number;
|
|
67
|
-
};
|
|
68
|
-
} | undefined;
|
|
69
|
-
isImageType: () => boolean;
|
|
70
|
-
isReady: () => boolean;
|
|
71
|
-
destroy: () => void;
|
|
72
|
-
readonly readingDirection: "ltr" | "rtl" | undefined;
|
|
73
|
-
isUsingVerticalWriting: () => boolean | undefined;
|
|
74
|
-
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
75
|
-
minimumWidth: number;
|
|
76
|
-
}) => void[];
|
|
77
|
-
selectionTracker: {
|
|
78
|
-
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
79
|
-
destroy: () => void;
|
|
80
|
-
isSelecting: () => boolean;
|
|
81
|
-
getSelection: () => Selection | undefined;
|
|
82
|
-
$: import('rxjs').Observable<{
|
|
83
|
-
event: `selectionchange`;
|
|
84
|
-
data: Selection | null;
|
|
85
|
-
} | {
|
|
86
|
-
event: `selectstart`;
|
|
87
|
-
data: Selection | null;
|
|
88
|
-
} | {
|
|
89
|
-
event: `selectend`;
|
|
90
|
-
data: Selection | null;
|
|
91
|
-
}>;
|
|
92
|
-
};
|
|
93
|
-
fingerTracker: {
|
|
94
|
-
track: (frame: HTMLIFrameElement) => void;
|
|
95
|
-
getFingerPositionInIframe(): {
|
|
96
|
-
x: number | undefined;
|
|
97
|
-
y: number | undefined;
|
|
98
|
-
} | undefined;
|
|
99
|
-
destroy: () => void;
|
|
100
|
-
$: import('rxjs').Observable<{
|
|
101
|
-
event: `fingermove`;
|
|
102
|
-
data: {
|
|
103
|
-
x: number;
|
|
104
|
-
y: number;
|
|
105
|
-
};
|
|
106
|
-
} | {
|
|
107
|
-
event: `fingerout`;
|
|
108
|
-
data: undefined;
|
|
109
|
-
}>;
|
|
110
|
-
};
|
|
111
|
-
getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
|
|
112
|
-
columnHeight: number;
|
|
113
|
-
columnWidth: number;
|
|
114
|
-
width: number;
|
|
115
|
-
};
|
|
116
|
-
getDimensionsForPaginatedContent: () => {
|
|
117
|
-
columnHeight: number;
|
|
118
|
-
columnWidth: number;
|
|
119
|
-
};
|
|
120
|
-
$: {
|
|
121
|
-
contentLayout$: import('rxjs').Observable<{
|
|
122
|
-
isFirstLayout: boolean;
|
|
123
|
-
isReady: boolean;
|
|
124
|
-
}>;
|
|
125
|
-
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
126
|
-
isReady$: import('rxjs').Observable<boolean>;
|
|
127
|
-
};
|
|
128
|
-
};
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { Context } from '../context/Context';
|
|
2
|
-
import { Manifest } from '..';
|
|
3
|
-
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
|
-
import { HookManager } from '../hooks/HookManager';
|
|
5
|
-
export declare const createSpineItem: ({ item, context, containerElement, settings, hookManager, index, }: {
|
|
6
|
-
item: Manifest[`spineItems`][number];
|
|
7
|
-
containerElement: HTMLElement;
|
|
8
|
-
context: Context;
|
|
9
|
-
settings: ReaderSettingsManager;
|
|
10
|
-
hookManager: HookManager;
|
|
11
|
-
index: number;
|
|
12
|
-
}) => {
|
|
13
|
-
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
14
|
-
blankPagePosition: `before` | `after` | `none`;
|
|
15
|
-
minimumWidth: number;
|
|
16
|
-
spreadPosition: `none` | `left` | `right`;
|
|
17
|
-
}) => {
|
|
18
|
-
width: number;
|
|
19
|
-
height: number;
|
|
20
|
-
};
|
|
21
|
-
item: {
|
|
22
|
-
id: string;
|
|
23
|
-
href: string;
|
|
24
|
-
renditionLayout?: `reflowable` | `pre-paginated`;
|
|
25
|
-
progressionWeight?: number;
|
|
26
|
-
pageSpreadLeft?: true | undefined;
|
|
27
|
-
pageSpreadRight?: true | undefined;
|
|
28
|
-
mediaType?: string;
|
|
29
|
-
};
|
|
30
|
-
overlayElement: HTMLDivElement;
|
|
31
|
-
adjustPositionOfElement: ({ right, left, top, }: {
|
|
32
|
-
right?: number;
|
|
33
|
-
left?: number;
|
|
34
|
-
top?: number;
|
|
35
|
-
}) => void;
|
|
36
|
-
getElementDimensions: () => {
|
|
37
|
-
width: number;
|
|
38
|
-
height: number;
|
|
39
|
-
x: number;
|
|
40
|
-
y: number;
|
|
41
|
-
bottom: number;
|
|
42
|
-
left: number;
|
|
43
|
-
right: number;
|
|
44
|
-
top: number;
|
|
45
|
-
toJSON(): any;
|
|
46
|
-
};
|
|
47
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
48
|
-
getResource: () => Promise<Response>;
|
|
49
|
-
translateFramePositionIntoPage: (position: {
|
|
50
|
-
clientX: number;
|
|
51
|
-
clientY: number;
|
|
52
|
-
}) => {
|
|
53
|
-
clientX: number;
|
|
54
|
-
clientY: number;
|
|
55
|
-
};
|
|
56
|
-
injectStyle: (cssText: string) => void;
|
|
57
|
-
load: () => void;
|
|
58
|
-
unload: () => void;
|
|
59
|
-
frame: import('./frame/FrameItem').FrameItem;
|
|
60
|
-
element: HTMLElement;
|
|
61
|
-
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
62
|
-
getViewPortInformation: () => {
|
|
63
|
-
computedScale: number;
|
|
64
|
-
computedWidthScale: number;
|
|
65
|
-
viewportDimensions: {
|
|
66
|
-
width: number;
|
|
67
|
-
height: number;
|
|
68
|
-
};
|
|
69
|
-
} | undefined;
|
|
70
|
-
isImageType: () => boolean;
|
|
71
|
-
isReady: () => boolean;
|
|
72
|
-
destroy: () => void;
|
|
73
|
-
readingDirection: "ltr" | "rtl" | undefined;
|
|
74
|
-
isUsingVerticalWriting: () => boolean | undefined;
|
|
75
|
-
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
76
|
-
minimumWidth: number;
|
|
77
|
-
}) => void[];
|
|
78
|
-
selectionTracker: {
|
|
79
|
-
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
80
|
-
destroy: () => void;
|
|
81
|
-
isSelecting: () => boolean;
|
|
82
|
-
getSelection: () => Selection | undefined;
|
|
83
|
-
$: import('rxjs').Observable<{
|
|
84
|
-
event: `selectionchange`;
|
|
85
|
-
data: Selection | null;
|
|
86
|
-
} | {
|
|
87
|
-
event: `selectstart`;
|
|
88
|
-
data: Selection | null;
|
|
89
|
-
} | {
|
|
90
|
-
event: `selectend`;
|
|
91
|
-
data: Selection | null;
|
|
92
|
-
}>;
|
|
93
|
-
};
|
|
94
|
-
fingerTracker: {
|
|
95
|
-
track: (frame: HTMLIFrameElement) => void;
|
|
96
|
-
getFingerPositionInIframe(): {
|
|
97
|
-
x: number | undefined;
|
|
98
|
-
y: number | undefined;
|
|
99
|
-
} | undefined;
|
|
100
|
-
destroy: () => void;
|
|
101
|
-
$: import('rxjs').Observable<{
|
|
102
|
-
event: `fingermove`;
|
|
103
|
-
data: {
|
|
104
|
-
x: number;
|
|
105
|
-
y: number;
|
|
106
|
-
};
|
|
107
|
-
} | {
|
|
108
|
-
event: `fingerout`;
|
|
109
|
-
data: undefined;
|
|
110
|
-
}>;
|
|
111
|
-
};
|
|
112
|
-
getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
|
|
113
|
-
columnHeight: number;
|
|
114
|
-
columnWidth: number;
|
|
115
|
-
width: number;
|
|
116
|
-
};
|
|
117
|
-
getDimensionsForPaginatedContent: () => {
|
|
118
|
-
columnHeight: number;
|
|
119
|
-
columnWidth: number;
|
|
120
|
-
};
|
|
121
|
-
$: {
|
|
122
|
-
contentLayout$: import('rxjs').Observable<{
|
|
123
|
-
isFirstLayout: boolean;
|
|
124
|
-
isReady: boolean;
|
|
125
|
-
}>;
|
|
126
|
-
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
127
|
-
isReady$: import('rxjs').Observable<boolean>;
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
export type SpineItem = ReturnType<typeof createSpineItem>;
|
|
@@ -1,43 +0,0 @@
|
|
|
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
|
-
export declare class FrameItem extends DestroyableClass {
|
|
9
|
-
protected parent: HTMLElement;
|
|
10
|
-
protected item: Manifest[`spineItems`][number];
|
|
11
|
-
protected context: Context;
|
|
12
|
-
protected settings: ReaderSettingsManager;
|
|
13
|
-
protected hookManager: HookManager;
|
|
14
|
-
protected loader: ReturnType<typeof createLoader>;
|
|
15
|
-
contentLayoutChange$: Observable<{
|
|
16
|
-
isFirstLayout: boolean;
|
|
17
|
-
}>;
|
|
18
|
-
constructor(parent: HTMLElement, item: Manifest[`spineItems`][number], context: Context, settings: ReaderSettingsManager, hookManager: HookManager);
|
|
19
|
-
getComputedStyleAfterLoad(): CSSStyleDeclaration | undefined;
|
|
20
|
-
getViewportDimensions: () => {
|
|
21
|
-
width: number;
|
|
22
|
-
height: number;
|
|
23
|
-
} | undefined;
|
|
24
|
-
getWritingMode: () => `vertical-rl` | `horizontal-tb` | undefined;
|
|
25
|
-
isUsingVerticalWriting: () => boolean;
|
|
26
|
-
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
27
|
-
get element(): HTMLIFrameElement | undefined;
|
|
28
|
-
get unloaded$(): Observable<"success">;
|
|
29
|
-
get loaded$(): Observable<HTMLIFrameElement>;
|
|
30
|
-
get ready$(): Observable<FontFaceSet | undefined>;
|
|
31
|
-
get isReady$(): Observable<boolean>;
|
|
32
|
-
get isLoaded(): boolean;
|
|
33
|
-
get isReady(): boolean;
|
|
34
|
-
load(): void;
|
|
35
|
-
unload(): void;
|
|
36
|
-
staticLayout: (size: {
|
|
37
|
-
width: number;
|
|
38
|
-
height: number;
|
|
39
|
-
}) => void;
|
|
40
|
-
addStyle(id: string, style: string, prepend?: boolean): void;
|
|
41
|
-
removeStyle(id: string): void;
|
|
42
|
-
destroy: () => void;
|
|
43
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
3
|
-
import { Manifest } from '@prose-reader/shared';
|
|
4
|
-
import { HookManager } from '../../..';
|
|
5
|
-
export declare const configureFrame: ({ settings, item, hookManager, }: {
|
|
6
|
-
settings: ReaderSettingsManager;
|
|
7
|
-
item: Manifest[`spineItems`][number];
|
|
8
|
-
hookManager: HookManager;
|
|
9
|
-
}) => (stream: Observable<HTMLIFrameElement>) => Observable<HTMLIFrameElement>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { HookManager, Manifest } from '../../..';
|
|
2
|
-
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
3
|
-
import { Context } from '../../../context/Context';
|
|
4
|
-
export declare const loadFrame: ({ settings, item, hookManager, element, onFrameElement, context, }: {
|
|
5
|
-
settings: ReaderSettingsManager;
|
|
6
|
-
item: Manifest[`spineItems`][number];
|
|
7
|
-
hookManager: HookManager;
|
|
8
|
-
element: HTMLElement;
|
|
9
|
-
onFrameElement: (element: HTMLIFrameElement) => void;
|
|
10
|
-
context: Context;
|
|
11
|
-
}) => import('rxjs').Observable<HTMLIFrameElement>;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Context } from '../../../context/Context';
|
|
2
|
-
import { Manifest } from '../../..';
|
|
3
|
-
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
4
|
-
import { HookManager } from '../../../hooks/HookManager';
|
|
5
|
-
export declare const createLoader: ({ item, parent, context, settings, hookManager, }: {
|
|
6
|
-
item: Manifest[`spineItems`][number];
|
|
7
|
-
parent: HTMLElement;
|
|
8
|
-
context: Context;
|
|
9
|
-
settings: ReaderSettingsManager;
|
|
10
|
-
hookManager: HookManager;
|
|
11
|
-
}) => {
|
|
12
|
-
load: () => void;
|
|
13
|
-
unload: () => void;
|
|
14
|
-
destroy: () => void;
|
|
15
|
-
readonly state: "idle" | "loading" | "loaded" | "unloading" | "ready";
|
|
16
|
-
readonly element: HTMLIFrameElement | undefined;
|
|
17
|
-
isReady$: import('rxjs').Observable<boolean>;
|
|
18
|
-
ready$: import('rxjs').Observable<FontFaceSet | undefined>;
|
|
19
|
-
loaded$: import('rxjs').Observable<HTMLIFrameElement>;
|
|
20
|
-
unloaded$: import('rxjs').Observable<"success">;
|
|
21
|
-
element$: import('rxjs').Observable<HTMLIFrameElement | undefined>;
|
|
22
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { HookManager, Manifest } from '../../..';
|
|
2
|
-
import { Context } from '../../../context/Context';
|
|
3
|
-
export declare const unloadFrame: ({ item, hookManager, frameElement, context, }: {
|
|
4
|
-
item: Manifest[`spineItems`][number];
|
|
5
|
-
hookManager: HookManager;
|
|
6
|
-
frameElement?: HTMLIFrameElement;
|
|
7
|
-
context: Context;
|
|
8
|
-
}) => import('rxjs').Observable<null>;
|