@prose-reader/core 1.8.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/createReaderWithEnhancer.d.ts +118 -6607
- package/dist/enhancers/accessibility.d.ts +1 -2
- package/dist/enhancers/chrome.d.ts +1 -2
- package/dist/enhancers/fonts.d.ts +7 -4
- package/dist/enhancers/hotkeys.d.ts +1 -2
- package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +2 -2
- package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +2 -2
- package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +8 -2
- package/dist/enhancers/layoutEnhancer/types.d.ts +2 -4
- package/dist/enhancers/links.d.ts +2 -3
- package/dist/enhancers/loadingEnhancer.d.ts +13 -5
- package/dist/enhancers/media.d.ts +1 -2
- package/dist/enhancers/navigation.d.ts +2 -3
- package/dist/enhancers/pagination.d.ts +350 -7
- package/dist/enhancers/progression.d.ts +3 -3
- package/dist/enhancers/resources/index.d.ts +1 -2
- package/dist/enhancers/theme.d.ts +5 -6
- package/dist/enhancers/types/enhancer.d.ts +5 -0
- package/dist/enhancers/utils.d.ts +2 -3
- package/dist/enhancers/webkit.d.ts +1 -2
- package/dist/enhancers/zoom/elementZoomer.d.ts +2 -2
- package/dist/enhancers/zoom/index.d.ts +3 -2
- package/dist/enhancers/zoom/types.d.ts +2 -6
- package/dist/enhancers/zoom/viewportZoomer.d.ts +2 -2
- package/dist/index.d.ts +3 -5
- package/dist/prose.js +905 -919
- package/dist/prose.js.map +1 -1
- package/dist/prose.umd.cjs +38 -38
- package/dist/prose.umd.cjs.map +1 -1
- package/dist/spine/cfiLocator.d.ts +3 -3
- package/dist/spine/createSpine.d.ts +1 -1
- package/dist/spine/eventsHelper.d.ts +1 -1
- package/dist/spine/locationResolver.d.ts +5 -5
- package/dist/spine/navigationResolver.d.ts +1 -1
- package/dist/spineItem/commonSpineItem.d.ts +2 -2
- package/dist/spineItem/createSpineItem.d.ts +2 -2
- package/dist/spineItem/frameItem/frameItem.d.ts +1 -1
- package/dist/spineItem/frameItem/loader.d.ts +1 -1
- package/dist/spineItem/prePaginatedSpineItem.d.ts +2 -2
- package/dist/spineItem/reflowableSpineItem.d.ts +2 -2
- package/dist/spineItemManager.d.ts +6 -6
- package/dist/types/Reader.d.ts +2 -2
- package/dist/utils/layout.d.ts +1 -1
- package/dist/viewportNavigator/manualViewportNavigator.d.ts +9 -9
- package/dist/viewportNavigator/panViewportNavigator.d.ts +2 -2
- package/dist/viewportNavigator/scrollViewportNavigator.d.ts +1 -1
- package/dist/viewportNavigator/viewportNavigator.d.ts +1 -1
- package/package.json +5 -7
- package/dist/enhancers/composeEnhancer.d.ts +0 -24
- package/dist/enhancers/types.d.ts +0 -27
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const accessibilityEnhancer: Enhancer<{}, {}>;
|
|
1
|
+
export declare const accessibilityEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const chromeEnhancer: Enhancer<{}, {}>;
|
|
1
|
+
export declare const chromeEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Observable, ObservedValueOf } from "rxjs";
|
|
2
2
|
declare const FONT_WEIGHT: readonly [100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
3
3
|
declare const FONT_JUSTIFICATION: readonly ["center", "left", "right", "justify"];
|
|
4
4
|
declare type Options = {
|
|
5
5
|
fontScale?: number;
|
|
6
6
|
lineHeight?: number | `publisher`;
|
|
7
|
-
fontWeight?: typeof FONT_WEIGHT[number] | `publisher`;
|
|
8
|
-
fontJustification?: typeof FONT_JUSTIFICATION[number] | `publisher`;
|
|
7
|
+
fontWeight?: (typeof FONT_WEIGHT)[number] | `publisher`;
|
|
8
|
+
fontJustification?: (typeof FONT_JUSTIFICATION)[number] | `publisher`;
|
|
9
9
|
};
|
|
10
10
|
declare type OutputOptions = Required<Options>;
|
|
11
|
-
export declare const fontsEnhancer:
|
|
11
|
+
export declare const fontsEnhancer: <InheritOptions extends import("../reader").CreateReaderOptions, InheritOutput extends import("../types").Reader, Settings$ extends Observable<any> = InheritOutput["settings$"]>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => Omit<InheritOutput, "setSettings" | "settings$"> & {
|
|
12
|
+
settings$: Observable<ObservedValueOf<Settings$> & Required<Options>>;
|
|
13
|
+
setSettings: (settings: Parameters<InheritOutput["setSettings"]>[0] & Options) => void;
|
|
14
|
+
};
|
|
12
15
|
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const hotkeysEnhancer: Enhancer<{}, {}>;
|
|
1
|
+
export declare const hotkeysEnhancer: <InheritOptions extends import("../reader").CreateReaderOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
|
-
import {
|
|
3
|
-
export declare const createMovingSafePan$: (reader:
|
|
2
|
+
import { Reader } from "../../reader";
|
|
3
|
+
export declare const createMovingSafePan$: (reader: Reader) => Observable<"free" | "busy" | undefined>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const fixReflowable: (reader:
|
|
1
|
+
import { Reader } from "../../reader";
|
|
2
|
+
export declare const fixReflowable: (reader: Reader) => void;
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Observable, ObservedValueOf } from "rxjs";
|
|
2
|
+
import { Options, SettingsInput, SettingsOutput } from "./types";
|
|
3
|
+
export declare const layoutEnhancer: <InheritOptions extends import("../../reader").CreateReaderOptions, InheritOutput extends import("../../types").Reader, Settings$ extends Observable<any> = InheritOutput["settings$"]>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & SettingsInput & {
|
|
4
|
+
layoutAutoResize?: false | "container" | undefined;
|
|
5
|
+
}) => Omit<InheritOutput, "setSettings" | "settings$"> & {
|
|
6
|
+
settings$: Observable<ObservedValueOf<Settings$> & Required<SettingsInput>>;
|
|
7
|
+
setSettings: (settings: Parameters<InheritOutput["setSettings"]>[0] & SettingsInput) => void;
|
|
8
|
+
};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { Enhancer } from "../types";
|
|
2
1
|
export declare type SettingsInput = {
|
|
3
2
|
pageHorizontalMargin?: number;
|
|
4
3
|
pageVerticalMargin?: number;
|
|
5
4
|
};
|
|
6
5
|
export declare type SettingsOutput = Required<SettingsInput>;
|
|
7
|
-
export declare type
|
|
6
|
+
export declare type Options = SettingsInput & {
|
|
8
7
|
layoutAutoResize?: `container` | false;
|
|
9
|
-
}
|
|
10
|
-
export declare type ReaderInstance = ReturnType<Parameters<LayoutEnhancer>[0]>;
|
|
8
|
+
};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
|
-
import { Enhancer } from "./types";
|
|
3
2
|
declare type SubjectData = {
|
|
4
3
|
event: `linkClicked`;
|
|
5
4
|
data: HTMLAnchorElement;
|
|
6
5
|
};
|
|
7
|
-
export declare const linksEnhancer:
|
|
6
|
+
export declare const linksEnhancer: <InheritOptions extends import("../reader").CreateReaderOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
|
|
8
7
|
$: {
|
|
9
8
|
links$: Observable<SubjectData>;
|
|
10
9
|
};
|
|
11
|
-
}
|
|
10
|
+
};
|
|
12
11
|
export {};
|
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
2
|
import { Manifest } from "../types";
|
|
3
|
-
import { themeEnhancer } from "./theme";
|
|
4
|
-
import { Enhancer } from "./types";
|
|
5
3
|
declare type Entries = {
|
|
6
4
|
[key: string]: HTMLElement;
|
|
7
5
|
};
|
|
8
6
|
declare type Item = Manifest[`spineItems`][number];
|
|
9
|
-
|
|
7
|
+
declare type Options = {
|
|
10
8
|
loadingElementCreate?: (options: {
|
|
11
9
|
container: HTMLElement;
|
|
12
10
|
item: Item;
|
|
13
11
|
}) => HTMLElement;
|
|
14
|
-
}
|
|
12
|
+
};
|
|
13
|
+
declare type Output = {
|
|
15
14
|
loading: {
|
|
16
15
|
$: {
|
|
17
16
|
items$: Observable<Entries>;
|
|
18
17
|
};
|
|
19
18
|
};
|
|
20
|
-
}
|
|
19
|
+
};
|
|
20
|
+
export declare const loadingEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader & {
|
|
21
|
+
theme: {
|
|
22
|
+
set: (theme: import("./theme").Theme) => void;
|
|
23
|
+
get: () => import("./theme").Theme;
|
|
24
|
+
$: {
|
|
25
|
+
theme$: Observable<import("./theme").Theme>;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => InheritOutput & Output;
|
|
21
29
|
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const mediaEnhancer: Enhancer<{}, {}>;
|
|
1
|
+
export declare const mediaEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const navigationEnhancer: Enhancer<{}, {
|
|
1
|
+
export declare const navigationEnhancer: <InheritOptions extends import("../reader").CreateReaderOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
|
|
3
2
|
goToLeftSpineItem: () => void;
|
|
4
3
|
goToRightSpineItem: () => void;
|
|
5
|
-
}
|
|
4
|
+
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
|
-
import { Enhancer } from "./types";
|
|
1
|
+
import { Observable, ObservedValueOf } from "rxjs";
|
|
3
2
|
import { Manifest } from "../types";
|
|
4
|
-
import { progressionEnhancer } from "./progression";
|
|
5
3
|
declare type ChapterInfo = {
|
|
6
4
|
title: string;
|
|
7
5
|
subChapter?: {
|
|
@@ -37,10 +35,355 @@ declare type PaginationInfo = {
|
|
|
37
35
|
numberOfTotalPages: number | undefined;
|
|
38
36
|
isUsingSpread: boolean;
|
|
39
37
|
};
|
|
40
|
-
export declare const paginationEnhancer:
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
export declare const paginationEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader & {
|
|
39
|
+
progression: {
|
|
40
|
+
getPercentageEstimate: (context: import("../context").Context, currentSpineIndex: number, numberOfPages: number, pageIndex: number, currentPosition: {
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
}, currentItem: {
|
|
44
|
+
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
45
|
+
blankPagePosition: "after" | "before" | "none";
|
|
46
|
+
minimumWidth: number;
|
|
47
|
+
spreadPosition: "none" | "right" | "left";
|
|
48
|
+
}) => {
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
};
|
|
52
|
+
item: {
|
|
53
|
+
id: string;
|
|
54
|
+
href: string;
|
|
55
|
+
renditionLayout: "reflowable" | "pre-paginated";
|
|
56
|
+
progressionWeight: number;
|
|
57
|
+
pageSpreadLeft: true | undefined;
|
|
58
|
+
pageSpreadRight: true | undefined;
|
|
59
|
+
mediaType?: string | undefined;
|
|
60
|
+
};
|
|
61
|
+
load: () => void;
|
|
62
|
+
adjustPositionOfElement: ({ right, left, top }: {
|
|
63
|
+
right?: number | undefined;
|
|
64
|
+
left?: number | undefined;
|
|
65
|
+
top?: number | undefined;
|
|
66
|
+
}) => void;
|
|
67
|
+
getElementDimensions: () => {
|
|
68
|
+
width: number;
|
|
69
|
+
height: number;
|
|
70
|
+
};
|
|
71
|
+
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
72
|
+
getResource: () => Promise<Response>;
|
|
73
|
+
translateFramePositionIntoPage: (position: {
|
|
74
|
+
clientX: number;
|
|
75
|
+
clientY: number;
|
|
76
|
+
}) => {
|
|
77
|
+
clientX: number;
|
|
78
|
+
clientY: number;
|
|
79
|
+
};
|
|
80
|
+
setLayoutDirty: () => void;
|
|
81
|
+
injectStyle: (cssText: string) => void;
|
|
82
|
+
loadContent: () => void;
|
|
83
|
+
unloadContent: () => void;
|
|
84
|
+
spineItemFrame: {
|
|
85
|
+
getIsLoaded: () => boolean;
|
|
86
|
+
getIsReady: () => boolean;
|
|
87
|
+
getViewportDimensions: () => {
|
|
88
|
+
width: number;
|
|
89
|
+
height: number;
|
|
90
|
+
} | undefined;
|
|
91
|
+
getFrameElement: () => HTMLIFrameElement | undefined;
|
|
92
|
+
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
93
|
+
load: () => void;
|
|
94
|
+
unload: () => void;
|
|
95
|
+
staticLayout: (size: {
|
|
96
|
+
width: number;
|
|
97
|
+
height: number;
|
|
98
|
+
}) => void;
|
|
99
|
+
getManipulableFrame: () => {
|
|
100
|
+
frame: HTMLIFrameElement;
|
|
101
|
+
removeStyle: (id: string) => void;
|
|
102
|
+
addStyle: (id: string, style: string, prepend?: boolean) => void;
|
|
103
|
+
} | undefined;
|
|
104
|
+
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
105
|
+
isUsingVerticalWriting: () => boolean;
|
|
106
|
+
getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
|
|
107
|
+
destroy: () => void;
|
|
108
|
+
$: {
|
|
109
|
+
unload$: Observable<void>;
|
|
110
|
+
unloaded$: Observable<void>;
|
|
111
|
+
loaded$: Observable<HTMLIFrameElement>;
|
|
112
|
+
ready$: Observable<FontFaceSet | undefined>;
|
|
113
|
+
isReady$: Observable<boolean>;
|
|
114
|
+
contentLayoutChange$: Observable<{
|
|
115
|
+
isFirstLayout: boolean;
|
|
116
|
+
} | {
|
|
117
|
+
isFirstLayout: boolean;
|
|
118
|
+
}>;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
element: HTMLElement;
|
|
122
|
+
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
123
|
+
getViewPortInformation: () => {
|
|
124
|
+
computedScale: number;
|
|
125
|
+
computedWidthScale: number;
|
|
126
|
+
viewportDimensions: {
|
|
127
|
+
width: number;
|
|
128
|
+
height: number;
|
|
129
|
+
};
|
|
130
|
+
} | undefined;
|
|
131
|
+
isImageType: () => boolean;
|
|
132
|
+
isReady: () => boolean;
|
|
133
|
+
destroy: () => void;
|
|
134
|
+
isUsingVerticalWriting: () => boolean | undefined;
|
|
135
|
+
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
136
|
+
manipulateSpineItem: (cb: (options: {
|
|
137
|
+
container: HTMLElement;
|
|
138
|
+
item: {
|
|
139
|
+
id: string;
|
|
140
|
+
href: string;
|
|
141
|
+
renditionLayout: "reflowable" | "pre-paginated";
|
|
142
|
+
progressionWeight: number;
|
|
143
|
+
pageSpreadLeft: true | undefined;
|
|
144
|
+
pageSpreadRight: true | undefined;
|
|
145
|
+
mediaType?: string | undefined;
|
|
146
|
+
};
|
|
147
|
+
overlayElement: HTMLDivElement;
|
|
148
|
+
} & ({
|
|
149
|
+
frame: HTMLIFrameElement;
|
|
150
|
+
removeStyle: (id: string) => void;
|
|
151
|
+
addStyle: (id: string, style: string, prepend?: boolean) => void;
|
|
152
|
+
} | {
|
|
153
|
+
frame: undefined;
|
|
154
|
+
removeStyle: (id: string) => void;
|
|
155
|
+
addStyle: (id: string, style: string) => void;
|
|
156
|
+
})) => boolean) => boolean;
|
|
157
|
+
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
158
|
+
minimumWidth: number;
|
|
159
|
+
}) => void;
|
|
160
|
+
selectionTracker: {
|
|
161
|
+
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
162
|
+
destroy: () => void;
|
|
163
|
+
isSelecting: () => boolean;
|
|
164
|
+
getSelection: () => Selection | undefined;
|
|
165
|
+
$: Observable<{
|
|
166
|
+
event: "selectionchange";
|
|
167
|
+
data: Selection | null;
|
|
168
|
+
} | {
|
|
169
|
+
event: "selectstart";
|
|
170
|
+
data: Selection | null;
|
|
171
|
+
} | {
|
|
172
|
+
event: "selectend";
|
|
173
|
+
data: Selection | null;
|
|
174
|
+
}>;
|
|
175
|
+
};
|
|
176
|
+
fingerTracker: {
|
|
177
|
+
track: (frame: HTMLIFrameElement) => void;
|
|
178
|
+
getFingerPositionInIframe(): {
|
|
179
|
+
x: number | undefined;
|
|
180
|
+
y: number | undefined;
|
|
181
|
+
} | undefined;
|
|
182
|
+
destroy: () => void;
|
|
183
|
+
$: Observable<{
|
|
184
|
+
event: "fingermove";
|
|
185
|
+
data: {
|
|
186
|
+
x: number;
|
|
187
|
+
y: number;
|
|
188
|
+
};
|
|
189
|
+
} | {
|
|
190
|
+
event: "fingerout";
|
|
191
|
+
data: undefined;
|
|
192
|
+
}>;
|
|
193
|
+
};
|
|
194
|
+
getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
|
|
195
|
+
columnHeight: number;
|
|
196
|
+
columnWidth: number;
|
|
197
|
+
width: number;
|
|
198
|
+
};
|
|
199
|
+
getDimensionsForPaginatedContent: () => {
|
|
200
|
+
columnHeight: number;
|
|
201
|
+
columnWidth: number;
|
|
202
|
+
};
|
|
203
|
+
$: {
|
|
204
|
+
contentLayout$: Observable<{
|
|
205
|
+
isFirstLayout: boolean;
|
|
206
|
+
isReady: boolean;
|
|
207
|
+
}>;
|
|
208
|
+
loaded$: Observable<HTMLIFrameElement>;
|
|
209
|
+
isReady$: Observable<boolean>;
|
|
210
|
+
};
|
|
211
|
+
}) => number;
|
|
212
|
+
getScrollPercentageWithinItem: (context: import("../context").Context, currentPosition: {
|
|
213
|
+
x: number;
|
|
214
|
+
y: number;
|
|
215
|
+
}, currentItem: {
|
|
216
|
+
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
217
|
+
blankPagePosition: "after" | "before" | "none";
|
|
218
|
+
minimumWidth: number;
|
|
219
|
+
spreadPosition: "none" | "right" | "left";
|
|
220
|
+
}) => {
|
|
221
|
+
width: number;
|
|
222
|
+
height: number;
|
|
223
|
+
};
|
|
224
|
+
item: {
|
|
225
|
+
id: string;
|
|
226
|
+
href: string;
|
|
227
|
+
renditionLayout: "reflowable" | "pre-paginated";
|
|
228
|
+
progressionWeight: number;
|
|
229
|
+
pageSpreadLeft: true | undefined;
|
|
230
|
+
pageSpreadRight: true | undefined;
|
|
231
|
+
mediaType?: string | undefined;
|
|
232
|
+
};
|
|
233
|
+
load: () => void;
|
|
234
|
+
adjustPositionOfElement: ({ right, left, top }: {
|
|
235
|
+
right?: number | undefined;
|
|
236
|
+
left?: number | undefined;
|
|
237
|
+
top?: number | undefined;
|
|
238
|
+
}) => void;
|
|
239
|
+
getElementDimensions: () => {
|
|
240
|
+
width: number;
|
|
241
|
+
height: number;
|
|
242
|
+
};
|
|
243
|
+
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
244
|
+
getResource: () => Promise<Response>;
|
|
245
|
+
translateFramePositionIntoPage: (position: {
|
|
246
|
+
clientX: number;
|
|
247
|
+
clientY: number;
|
|
248
|
+
}) => {
|
|
249
|
+
clientX: number;
|
|
250
|
+
clientY: number;
|
|
251
|
+
};
|
|
252
|
+
setLayoutDirty: () => void;
|
|
253
|
+
injectStyle: (cssText: string) => void;
|
|
254
|
+
loadContent: () => void;
|
|
255
|
+
unloadContent: () => void;
|
|
256
|
+
spineItemFrame: {
|
|
257
|
+
getIsLoaded: () => boolean;
|
|
258
|
+
getIsReady: () => boolean;
|
|
259
|
+
getViewportDimensions: () => {
|
|
260
|
+
width: number;
|
|
261
|
+
height: number;
|
|
262
|
+
} | undefined;
|
|
263
|
+
getFrameElement: () => HTMLIFrameElement | undefined;
|
|
264
|
+
getHtmlFromResource: (response: Response) => Promise<string>;
|
|
265
|
+
load: () => void;
|
|
266
|
+
unload: () => void;
|
|
267
|
+
staticLayout: (size: {
|
|
268
|
+
width: number;
|
|
269
|
+
height: number;
|
|
270
|
+
}) => void;
|
|
271
|
+
getManipulableFrame: () => {
|
|
272
|
+
frame: HTMLIFrameElement;
|
|
273
|
+
removeStyle: (id: string) => void;
|
|
274
|
+
addStyle: (id: string, style: string, prepend?: boolean) => void;
|
|
275
|
+
} | undefined;
|
|
276
|
+
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
277
|
+
isUsingVerticalWriting: () => boolean;
|
|
278
|
+
getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
|
|
279
|
+
destroy: () => void;
|
|
280
|
+
$: {
|
|
281
|
+
unload$: Observable<void>;
|
|
282
|
+
unloaded$: Observable<void>;
|
|
283
|
+
loaded$: Observable<HTMLIFrameElement>;
|
|
284
|
+
ready$: Observable<FontFaceSet | undefined>;
|
|
285
|
+
isReady$: Observable<boolean>;
|
|
286
|
+
contentLayoutChange$: Observable<{
|
|
287
|
+
isFirstLayout: boolean;
|
|
288
|
+
} | {
|
|
289
|
+
isFirstLayout: boolean;
|
|
290
|
+
}>;
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
element: HTMLElement;
|
|
294
|
+
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
295
|
+
getViewPortInformation: () => {
|
|
296
|
+
computedScale: number;
|
|
297
|
+
computedWidthScale: number;
|
|
298
|
+
viewportDimensions: {
|
|
299
|
+
width: number;
|
|
300
|
+
height: number;
|
|
301
|
+
};
|
|
302
|
+
} | undefined;
|
|
303
|
+
isImageType: () => boolean;
|
|
304
|
+
isReady: () => boolean;
|
|
305
|
+
destroy: () => void;
|
|
306
|
+
isUsingVerticalWriting: () => boolean | undefined;
|
|
307
|
+
getReadingDirection: () => "ltr" | "rtl" | undefined;
|
|
308
|
+
manipulateSpineItem: (cb: (options: {
|
|
309
|
+
container: HTMLElement;
|
|
310
|
+
item: {
|
|
311
|
+
id: string;
|
|
312
|
+
href: string;
|
|
313
|
+
renditionLayout: "reflowable" | "pre-paginated";
|
|
314
|
+
progressionWeight: number;
|
|
315
|
+
pageSpreadLeft: true | undefined;
|
|
316
|
+
pageSpreadRight: true | undefined;
|
|
317
|
+
mediaType?: string | undefined;
|
|
318
|
+
};
|
|
319
|
+
overlayElement: HTMLDivElement;
|
|
320
|
+
} & ({
|
|
321
|
+
frame: HTMLIFrameElement;
|
|
322
|
+
removeStyle: (id: string) => void;
|
|
323
|
+
addStyle: (id: string, style: string, prepend?: boolean) => void;
|
|
324
|
+
} | {
|
|
325
|
+
frame: undefined;
|
|
326
|
+
removeStyle: (id: string) => void;
|
|
327
|
+
addStyle: (id: string, style: string) => void;
|
|
328
|
+
})) => boolean) => boolean;
|
|
329
|
+
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
330
|
+
minimumWidth: number;
|
|
331
|
+
}) => void;
|
|
332
|
+
selectionTracker: {
|
|
333
|
+
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
334
|
+
destroy: () => void;
|
|
335
|
+
isSelecting: () => boolean;
|
|
336
|
+
getSelection: () => Selection | undefined;
|
|
337
|
+
$: Observable<{
|
|
338
|
+
event: "selectionchange";
|
|
339
|
+
data: Selection | null;
|
|
340
|
+
} | {
|
|
341
|
+
event: "selectstart";
|
|
342
|
+
data: Selection | null;
|
|
343
|
+
} | {
|
|
344
|
+
event: "selectend";
|
|
345
|
+
data: Selection | null;
|
|
346
|
+
}>;
|
|
347
|
+
};
|
|
348
|
+
fingerTracker: {
|
|
349
|
+
track: (frame: HTMLIFrameElement) => void;
|
|
350
|
+
getFingerPositionInIframe(): {
|
|
351
|
+
x: number | undefined;
|
|
352
|
+
y: number | undefined;
|
|
353
|
+
} | undefined;
|
|
354
|
+
destroy: () => void;
|
|
355
|
+
$: Observable<{
|
|
356
|
+
event: "fingermove";
|
|
357
|
+
data: {
|
|
358
|
+
x: number;
|
|
359
|
+
y: number;
|
|
360
|
+
};
|
|
361
|
+
} | {
|
|
362
|
+
event: "fingerout";
|
|
363
|
+
data: undefined;
|
|
364
|
+
}>;
|
|
365
|
+
};
|
|
366
|
+
getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
|
|
367
|
+
columnHeight: number;
|
|
368
|
+
columnWidth: number;
|
|
369
|
+
width: number;
|
|
370
|
+
};
|
|
371
|
+
getDimensionsForPaginatedContent: () => {
|
|
372
|
+
columnHeight: number;
|
|
373
|
+
columnWidth: number;
|
|
374
|
+
};
|
|
375
|
+
$: {
|
|
376
|
+
contentLayout$: Observable<{
|
|
377
|
+
isFirstLayout: boolean;
|
|
378
|
+
isReady: boolean;
|
|
379
|
+
}>;
|
|
380
|
+
loaded$: Observable<HTMLIFrameElement>;
|
|
381
|
+
isReady$: Observable<boolean>;
|
|
382
|
+
};
|
|
383
|
+
}) => number;
|
|
43
384
|
};
|
|
44
|
-
},
|
|
385
|
+
}, Pagination$ extends Observable<any> = InheritOutput["pagination$"]>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => Omit<InheritOutput, "pagination$"> & {
|
|
386
|
+
pagination$: Observable<ObservedValueOf<Pagination$> & PaginationInfo>;
|
|
387
|
+
};
|
|
45
388
|
export declare const buildChapterInfoFromSpineItem: (manifest: Manifest, item: Manifest[`spineItems`][number]) => ChapterInfo | undefined;
|
|
46
389
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context } from "../context";
|
|
2
|
-
import { Enhancer } from "./types";
|
|
3
2
|
import { SpineItem } from "../spineItem/createSpineItem";
|
|
4
|
-
|
|
3
|
+
import { Reader } from "../reader";
|
|
4
|
+
export declare const progressionEnhancer: <InheritOptions, InheritOutput extends Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
|
|
5
5
|
progression: {
|
|
6
6
|
getPercentageEstimate: (context: Context, currentSpineIndex: number, numberOfPages: number, pageIndex: number, currentPosition: {
|
|
7
7
|
x: number;
|
|
@@ -12,4 +12,4 @@ export declare const progressionEnhancer: Enhancer<{}, {
|
|
|
12
12
|
y: number;
|
|
13
13
|
}, currentItem: SpineItem) => number;
|
|
14
14
|
};
|
|
15
|
-
}
|
|
15
|
+
};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const resourcesEnhancer: Enhancer<{}, {}>;
|
|
1
|
+
export declare const resourcesEnhancer: <InheritOptions, InheritOutput extends import("../../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
|
-
import { Enhancer } from "./types";
|
|
3
2
|
declare const defaultThemes: ({
|
|
4
3
|
name: "bright";
|
|
5
4
|
backgroundColor: string;
|
|
@@ -13,10 +12,10 @@ declare const defaultThemes: ({
|
|
|
13
12
|
backgroundColor: string;
|
|
14
13
|
foregroundColor: string;
|
|
15
14
|
})[];
|
|
16
|
-
export declare type Theme = typeof defaultThemes[number][`name`] | `publisher`;
|
|
17
|
-
export declare const themeEnhancer:
|
|
18
|
-
theme?: Theme;
|
|
19
|
-
}
|
|
15
|
+
export declare type Theme = (typeof defaultThemes)[number][`name`] | `publisher`;
|
|
16
|
+
export declare const themeEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & {
|
|
17
|
+
theme?: Theme | undefined;
|
|
18
|
+
}) => InheritOutput & {
|
|
20
19
|
theme: {
|
|
21
20
|
set: (theme: Theme) => void;
|
|
22
21
|
get: () => Theme;
|
|
@@ -24,5 +23,5 @@ export declare const themeEnhancer: Enhancer<{
|
|
|
24
23
|
theme$: Observable<Theme>;
|
|
25
24
|
};
|
|
26
25
|
};
|
|
27
|
-
}
|
|
26
|
+
};
|
|
28
27
|
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare type EnhancerOutput<Enhancer extends (options: any) => any> = ReturnType<ReturnType<Enhancer>>;
|
|
2
|
+
export declare type EnhancerOptions<Enhancer extends (options: any) => any> = Parameters<ReturnType<Enhancer>>[0];
|
|
3
|
+
declare const rootEnhancer: <Options extends import("../../reader").CreateReaderOptions, Reader extends import("../../reader").Reader>(next: (options: Options) => Reader) => (options: Options) => Reader;
|
|
4
|
+
export declare type RootEnhancer = typeof rootEnhancer;
|
|
5
|
+
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const utilsEnhancer: Enhancer<{}, {
|
|
1
|
+
export declare const utilsEnhancer: <InheritOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
|
|
3
2
|
utils: {
|
|
4
3
|
isOrIsWithinValidLink: (target: Event[`target`]) => boolean;
|
|
5
4
|
};
|
|
6
|
-
}
|
|
5
|
+
};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const webkitEnhancer: Enhancer<{}, {}>;
|
|
1
|
+
export declare const webkitEnhancer: <InheritOptions extends import("../reader").CreateReaderOptions, InheritOutput extends import("../types").Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const createElementZoomer: (reader:
|
|
1
|
+
import { Reader } from "../../reader";
|
|
2
|
+
export declare const createElementZoomer: (reader: Reader) => {
|
|
3
3
|
enter: (imgElement: HTMLImageElement) => void;
|
|
4
4
|
exit: () => void;
|
|
5
5
|
move: (delta: {
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Reader } from "../../reader";
|
|
2
|
+
import type { Api } from "./types";
|
|
3
|
+
export declare const zoomEnhancer: <InheritOptions, InheritOutput extends Reader>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & Api;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
|
-
|
|
3
|
-
export declare type SettingsInput = {};
|
|
4
|
-
export declare type SettingsOutput = Required<SettingsInput>;
|
|
5
|
-
export declare type ZoomEnhancer = Enhancer<SettingsInput, {
|
|
2
|
+
export declare type Api = {
|
|
6
3
|
zoom: {
|
|
7
4
|
enter: (imgElement?: HTMLImageElement) => void;
|
|
8
5
|
exit: () => void;
|
|
@@ -22,5 +19,4 @@ export declare type ZoomEnhancer = Enhancer<SettingsInput, {
|
|
|
22
19
|
isZooming$: Observable<boolean>;
|
|
23
20
|
};
|
|
24
21
|
};
|
|
25
|
-
}
|
|
26
|
-
export declare type ReaderInstance = ReturnType<Parameters<ZoomEnhancer>[0]>;
|
|
22
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const createViewportZoomer: (reader:
|
|
1
|
+
import { Reader } from "../../reader";
|
|
2
|
+
export declare const createViewportZoomer: (reader: Reader) => {
|
|
3
3
|
enter: () => void;
|
|
4
4
|
exit: () => void;
|
|
5
5
|
move: (_: {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { createReaderWithEnhancer as createReader } from "./createReaderWithEnhancer";
|
|
2
|
-
import type { Reader, ExternalEnhancer as Enhancer, ReaderOptions } from "./createReaderWithEnhancer";
|
|
3
1
|
import { createSelection } from "./selection";
|
|
4
2
|
export { compose } from "./utils/compose";
|
|
5
|
-
export type { ComposeEnhancer2, ComposeEnhancer3, ComposeEnhancer } from "./enhancers/composeEnhancer";
|
|
6
3
|
export type { Manifest } from "./types";
|
|
7
|
-
|
|
4
|
+
import { createReaderWithEnhancers } from "./createReaderWithEnhancer";
|
|
5
|
+
export declare type Reader = ReturnType<typeof createReaderWithEnhancers>;
|
|
6
|
+
export { createReaderWithEnhancers as createReader };
|
|
8
7
|
export declare type ReaderSelection = ReturnType<typeof createSelection>;
|
|
9
8
|
export { Report } from "./report";
|
|
10
|
-
export { composeEnhancer } from "./enhancers/composeEnhancer";
|
|
11
9
|
export { groupBy, isShallowEqual } from "./utils/objects";
|