@prose-reader/core 1.41.0 → 1.42.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.
Files changed (76) hide show
  1. package/dist/index.d.ts +4366 -8
  2. package/dist/{prose.js → index.js} +632 -443
  3. package/dist/index.js.map +1 -0
  4. package/dist/{prose.umd.cjs → index.umd.cjs} +630 -441
  5. package/dist/index.umd.cjs.map +1 -0
  6. package/package.json +7 -7
  7. package/dist/cfi.d.ts +0 -74
  8. package/dist/constants.d.ts +0 -6
  9. package/dist/context.d.ts +0 -44
  10. package/dist/createReaderWithEnhancer.d.ts +0 -5381
  11. package/dist/enhancers/accessibility.d.ts +0 -4890
  12. package/dist/enhancers/chrome.d.ts +0 -4890
  13. package/dist/enhancers/fonts.d.ts +0 -4904
  14. package/dist/enhancers/hotkeys.d.ts +0 -4890
  15. package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +0 -3
  16. package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +0 -2
  17. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +0 -4897
  18. package/dist/enhancers/layoutEnhancer/types.d.ts +0 -8
  19. package/dist/enhancers/links.d.ts +0 -4900
  20. package/dist/enhancers/loadingEnhancer.d.ts +0 -4919
  21. package/dist/enhancers/media.d.ts +0 -4890
  22. package/dist/enhancers/navigation.d.ts +0 -4893
  23. package/dist/enhancers/pagination.d.ts +0 -5279
  24. package/dist/enhancers/progression.d.ts +0 -4903
  25. package/dist/enhancers/resources/index.d.ts +0 -4890
  26. package/dist/enhancers/resources/indexedDB.d.ts +0 -6
  27. package/dist/enhancers/resources/resourcesManager.d.ts +0 -6
  28. package/dist/enhancers/theme.d.ts +0 -4916
  29. package/dist/enhancers/types/enhancer.d.ts +0 -4894
  30. package/dist/enhancers/utils.d.ts +0 -4894
  31. package/dist/enhancers/webkit.d.ts +0 -4890
  32. package/dist/enhancers/zoom/elementZoomer.d.ts +0 -18
  33. package/dist/enhancers/zoom/index.d.ts +0 -4891
  34. package/dist/enhancers/zoom/types.d.ts +0 -22
  35. package/dist/enhancers/zoom/viewportZoomer.d.ts +0 -18
  36. package/dist/frames.d.ts +0 -5
  37. package/dist/pagination.d.ts +0 -65
  38. package/dist/prose.js.map +0 -1
  39. package/dist/prose.umd.cjs.map +0 -1
  40. package/dist/reader.d.ts +0 -4907
  41. package/dist/report.d.ts +0 -26
  42. package/dist/selection.d.ts +0 -6
  43. package/dist/settings.d.ts +0 -39
  44. package/dist/spine/cfiLocator.d.ts +0 -371
  45. package/dist/spine/createSpine.d.ts +0 -29
  46. package/dist/spine/eventsHelper.d.ts +0 -11
  47. package/dist/spine/locationResolver.d.ts +0 -697
  48. package/dist/spine/navigationResolver.d.ts +0 -45
  49. package/dist/spine/types.d.ts +0 -10
  50. package/dist/spineItem/commonSpineItem.d.ts +0 -171
  51. package/dist/spineItem/createSpineItem.d.ts +0 -181
  52. package/dist/spineItem/frameItem/createFrame$.d.ts +0 -1
  53. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +0 -5
  54. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +0 -2
  55. package/dist/spineItem/frameItem/frameItem.d.ts +0 -46
  56. package/dist/spineItem/frameItem/loader.d.ts +0 -27
  57. package/dist/spineItem/locationResolver.d.ts +0 -23
  58. package/dist/spineItem/navigationResolver.d.ts +0 -13
  59. package/dist/spineItem/prePaginatedSpineItem.d.ts +0 -180
  60. package/dist/spineItem/reflowableSpineItem.d.ts +0 -179
  61. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +0 -1
  62. package/dist/spineItem/trackers.d.ts +0 -34
  63. package/dist/spineItem/types.d.ts +0 -19
  64. package/dist/spineItemManager.d.ts +0 -550
  65. package/dist/types/Hook.d.ts +0 -73
  66. package/dist/types/Spine.d.ts +0 -39
  67. package/dist/types/index.d.ts +0 -11
  68. package/dist/utils/dom.d.ts +0 -19
  69. package/dist/utils/layout.d.ts +0 -7
  70. package/dist/utils/objects.d.ts +0 -6
  71. package/dist/utils/rxjs.d.ts +0 -4
  72. package/dist/viewportNavigator/manualViewportNavigator.d.ts +0 -1440
  73. package/dist/viewportNavigator/panViewportNavigator.d.ts +0 -215
  74. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +0 -35
  75. package/dist/viewportNavigator/types.d.ts +0 -33
  76. package/dist/viewportNavigator/viewportNavigator.d.ts +0 -71
package/dist/report.d.ts DELETED
@@ -1,26 +0,0 @@
1
- export declare const Report: {
2
- namespace: (namespace: string) => {
3
- log: (...data: any[]) => void;
4
- warn: (...data: any[]) => void;
5
- error: (...data: any[]) => void;
6
- time: (name: string, targetDuration?: number) => () => void;
7
- logMetric: (performanceEntry: PerformanceEntry | {
8
- name: string;
9
- duration: number;
10
- }, targetDuration?: number) => void;
11
- measurePerformance: <F extends (...args: any[]) => any>(name: string, targetDuration: number | undefined, functionToMeasure: F, { disable }?: {
12
- disable?: boolean | undefined;
13
- }) => F | ((...args: Parameters<F>) => ReturnType<F>);
14
- };
15
- log: (...data: any[]) => void;
16
- warn: (...data: any[]) => void;
17
- error: (...data: any[]) => void;
18
- time: (name: string, targetDuration?: number) => () => void;
19
- logMetric: (performanceEntry: PerformanceEntry | {
20
- name: string;
21
- duration: number;
22
- }, targetDuration?: number) => void;
23
- measurePerformance: <F extends (...args: any[]) => any>(name: string, targetDuration: number | undefined, functionToMeasure: F, { disable }?: {
24
- disable?: boolean | undefined;
25
- }) => F | ((...args: Parameters<F>) => ReturnType<F>);
26
- };
@@ -1,6 +0,0 @@
1
- import { Manifest } from "./types";
2
- export declare const createSelection: (selection: Selection, item: Manifest[`spineItems`][number]) => {
3
- toString: () => string;
4
- getAnchorCfi: () => string | undefined;
5
- getFocusCfi: () => string | undefined;
6
- };
@@ -1,39 +0,0 @@
1
- import { Manifest } from "./types";
2
- export type PublicSettings = {
3
- forceSinglePageMode: boolean;
4
- pageTurnAnimation: `none` | `fade` | `slide`;
5
- pageTurnAnimationDuration: undefined | number;
6
- pageTurnDirection: `vertical` | `horizontal`;
7
- pageTurnMode: `controlled` | `scrollable`;
8
- navigationSnapThreshold: number;
9
- numberOfAdjacentSpineItemToPreLoad: number;
10
- };
11
- type InnerSettings = PublicSettings & {
12
- computedPageTurnMode: PublicSettings[`pageTurnMode`];
13
- computedPageTurnDirection: PublicSettings[`pageTurnDirection`];
14
- computedPageTurnAnimation: PublicSettings[`pageTurnAnimation`];
15
- computedPageTurnAnimationDuration: number;
16
- computedSnapAnimationDuration: number;
17
- };
18
- export declare const createSettings: (initialSettings: Partial<PublicSettings>) => {
19
- getSettings: () => InnerSettings;
20
- setSettings: (newSettings: Partial<PublicSettings>, options: {
21
- hasVerticalWritingSubject: boolean;
22
- manifest: Manifest | undefined;
23
- }) => void;
24
- recompute: (options: {
25
- hasVerticalWritingSubject: boolean;
26
- manifest: Manifest | undefined;
27
- }) => void;
28
- destroy: () => void;
29
- $: {
30
- settings$: import("rxjs").Observable<PublicSettings & {
31
- computedPageTurnMode: PublicSettings[`pageTurnMode`];
32
- computedPageTurnDirection: PublicSettings[`pageTurnDirection`];
33
- computedPageTurnAnimation: PublicSettings[`pageTurnAnimation`];
34
- computedPageTurnAnimationDuration: number;
35
- computedSnapAnimationDuration: number;
36
- }>;
37
- };
38
- };
39
- export {};
@@ -1,371 +0,0 @@
1
- import { Context } from "../context";
2
- import { SpineItem } from "../spineItem/createSpineItem";
3
- import { createLocationResolver } from "../spineItem/locationResolver";
4
- import { SpineItemManager } from "../spineItemManager";
5
- import { Manifest } from "../types";
6
- export declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
7
- spineItemManager: SpineItemManager;
8
- context: Context;
9
- spineItemLocator: ReturnType<typeof createLocationResolver>;
10
- }) => {
11
- getSpineItemFromCfi: (cfi: string) => {
12
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
13
- blankPagePosition: "after" | "before" | "none";
14
- minimumWidth: number;
15
- spreadPosition: "none" | "right" | "left";
16
- }) => {
17
- width: number;
18
- height: number;
19
- };
20
- item: {
21
- id: string;
22
- href: string;
23
- renditionLayout: "reflowable" | "pre-paginated";
24
- progressionWeight: number;
25
- pageSpreadLeft: true | undefined;
26
- pageSpreadRight: true | undefined;
27
- mediaType?: string | undefined;
28
- };
29
- load: () => void;
30
- adjustPositionOfElement: ({ right, left, top }: {
31
- right?: number | undefined;
32
- left?: number | undefined;
33
- top?: number | undefined;
34
- }) => void;
35
- getElementDimensions: () => {
36
- width: number;
37
- height: number;
38
- };
39
- getHtmlFromResource: (response: Response) => Promise<string>;
40
- getResource: () => Promise<Response>;
41
- translateFramePositionIntoPage: (position: {
42
- clientX: number;
43
- clientY: number;
44
- }) => {
45
- clientX: number;
46
- clientY: number;
47
- };
48
- setLayoutDirty: () => void;
49
- injectStyle: (cssText: string) => void;
50
- loadContent: () => void;
51
- unloadContent: () => void;
52
- spineItemFrame: {
53
- getIsLoaded: () => boolean;
54
- getIsReady: () => boolean;
55
- getViewportDimensions: () => {
56
- width: number;
57
- height: number;
58
- } | undefined;
59
- getFrameElement: () => HTMLIFrameElement | undefined;
60
- getHtmlFromResource: (response: Response) => Promise<string>;
61
- load: () => void;
62
- unload: () => void;
63
- staticLayout: (size: {
64
- width: number;
65
- height: number;
66
- }) => void;
67
- getManipulableFrame: () => {
68
- frame: HTMLIFrameElement;
69
- removeStyle: (id: string) => void;
70
- addStyle: (id: string, style: string, prepend?: boolean) => void;
71
- } | undefined;
72
- getReadingDirection: () => "ltr" | "rtl" | undefined;
73
- isUsingVerticalWriting: () => boolean;
74
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
75
- destroy: () => void;
76
- $: {
77
- unload$: import("rxjs").Observable<void>;
78
- unloaded$: import("rxjs").Observable<void>;
79
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
80
- ready$: import("rxjs").Observable<FontFaceSet | undefined>;
81
- isReady$: import("rxjs").Observable<boolean>;
82
- contentLayoutChange$: import("rxjs").Observable<{
83
- isFirstLayout: boolean;
84
- } | {
85
- isFirstLayout: boolean;
86
- }>;
87
- };
88
- };
89
- element: HTMLElement;
90
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
91
- getViewPortInformation: () => {
92
- computedScale: number;
93
- computedWidthScale: number;
94
- viewportDimensions: {
95
- width: number;
96
- height: number;
97
- };
98
- } | undefined;
99
- isImageType: () => boolean;
100
- isReady: () => boolean;
101
- destroy: () => void;
102
- isUsingVerticalWriting: () => boolean | undefined;
103
- getReadingDirection: () => "ltr" | "rtl" | undefined;
104
- manipulateSpineItem: (cb: (options: {
105
- container: HTMLElement;
106
- item: {
107
- id: string;
108
- href: string;
109
- renditionLayout: "reflowable" | "pre-paginated";
110
- progressionWeight: number;
111
- pageSpreadLeft: true | undefined;
112
- pageSpreadRight: true | undefined;
113
- mediaType?: string | undefined;
114
- };
115
- overlayElement: HTMLDivElement;
116
- } & ({
117
- frame: HTMLIFrameElement;
118
- removeStyle: (id: string) => void;
119
- addStyle: (id: string, style: string, prepend?: boolean) => void;
120
- } | {
121
- frame: undefined;
122
- removeStyle: (id: string) => void;
123
- addStyle: (id: string, style: string) => void;
124
- })) => boolean) => boolean;
125
- executeOnLayoutBeforeMeasurementHook: (options: {
126
- minimumWidth: number;
127
- }) => void;
128
- selectionTracker: {
129
- track: (frameToTrack: HTMLIFrameElement) => void;
130
- destroy: () => void;
131
- isSelecting: () => boolean;
132
- getSelection: () => Selection | undefined;
133
- $: import("rxjs").Observable<{
134
- event: "selectionchange";
135
- data: Selection | null;
136
- } | {
137
- event: "selectstart";
138
- data: Selection | null;
139
- } | {
140
- event: "selectend";
141
- data: Selection | null;
142
- }>;
143
- };
144
- fingerTracker: {
145
- track: (frame: HTMLIFrameElement) => void;
146
- getFingerPositionInIframe(): {
147
- x: number | undefined;
148
- y: number | undefined;
149
- } | undefined;
150
- destroy: () => void;
151
- $: import("rxjs").Observable<{
152
- event: "fingermove";
153
- data: {
154
- x: number;
155
- y: number;
156
- };
157
- } | {
158
- event: "fingerout";
159
- data: undefined;
160
- }>;
161
- };
162
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
163
- columnHeight: number;
164
- columnWidth: number;
165
- width: number;
166
- };
167
- getDimensionsForPaginatedContent: () => {
168
- columnHeight: number;
169
- columnWidth: number;
170
- };
171
- $: {
172
- contentLayout$: import("rxjs").Observable<{
173
- isFirstLayout: boolean;
174
- isReady: boolean;
175
- }>;
176
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
177
- isReady$: import("rxjs").Observable<boolean>;
178
- };
179
- } | undefined;
180
- getCfiMetaInformation: (cfi: string) => {
181
- spineItemIndex: number | undefined;
182
- } | undefined;
183
- getCfi: ((pageIndex: number, spineItem: SpineItem) => string) | ((pageIndex: number, spineItem: {
184
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
185
- blankPagePosition: "after" | "before" | "none";
186
- minimumWidth: number;
187
- spreadPosition: "none" | "right" | "left";
188
- }) => {
189
- width: number;
190
- height: number;
191
- };
192
- item: {
193
- id: string;
194
- href: string;
195
- renditionLayout: "reflowable" | "pre-paginated";
196
- progressionWeight: number;
197
- pageSpreadLeft: true | undefined;
198
- pageSpreadRight: true | undefined;
199
- mediaType?: string | undefined;
200
- };
201
- load: () => void;
202
- adjustPositionOfElement: ({ right, left, top }: {
203
- right?: number | undefined;
204
- left?: number | undefined;
205
- top?: number | undefined;
206
- }) => void;
207
- getElementDimensions: () => {
208
- width: number;
209
- height: number;
210
- };
211
- getHtmlFromResource: (response: Response) => Promise<string>;
212
- getResource: () => Promise<Response>;
213
- translateFramePositionIntoPage: (position: {
214
- clientX: number;
215
- clientY: number;
216
- }) => {
217
- clientX: number;
218
- clientY: number;
219
- };
220
- setLayoutDirty: () => void;
221
- injectStyle: (cssText: string) => void;
222
- loadContent: () => void;
223
- unloadContent: () => void;
224
- spineItemFrame: {
225
- getIsLoaded: () => boolean;
226
- getIsReady: () => boolean;
227
- getViewportDimensions: () => {
228
- width: number;
229
- height: number;
230
- } | undefined;
231
- getFrameElement: () => HTMLIFrameElement | undefined;
232
- getHtmlFromResource: (response: Response) => Promise<string>;
233
- load: () => void;
234
- unload: () => void;
235
- staticLayout: (size: {
236
- width: number;
237
- height: number;
238
- }) => void;
239
- getManipulableFrame: () => {
240
- frame: HTMLIFrameElement;
241
- removeStyle: (id: string) => void;
242
- addStyle: (id: string, style: string, prepend?: boolean) => void;
243
- } | undefined;
244
- getReadingDirection: () => "ltr" | "rtl" | undefined;
245
- isUsingVerticalWriting: () => boolean;
246
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
247
- destroy: () => void;
248
- $: {
249
- unload$: import("rxjs").Observable<void>;
250
- unloaded$: import("rxjs").Observable<void>;
251
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
252
- ready$: import("rxjs").Observable<FontFaceSet | undefined>;
253
- isReady$: import("rxjs").Observable<boolean>;
254
- contentLayoutChange$: import("rxjs").Observable<{
255
- isFirstLayout: boolean;
256
- } | {
257
- isFirstLayout: boolean;
258
- }>;
259
- };
260
- };
261
- element: HTMLElement;
262
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
263
- getViewPortInformation: () => {
264
- computedScale: number;
265
- computedWidthScale: number;
266
- viewportDimensions: {
267
- width: number;
268
- height: number;
269
- };
270
- } | undefined;
271
- isImageType: () => boolean;
272
- isReady: () => boolean;
273
- destroy: () => void;
274
- isUsingVerticalWriting: () => boolean | undefined;
275
- getReadingDirection: () => "ltr" | "rtl" | undefined;
276
- manipulateSpineItem: (cb: (options: {
277
- container: HTMLElement;
278
- item: {
279
- id: string;
280
- href: string;
281
- renditionLayout: "reflowable" | "pre-paginated";
282
- progressionWeight: number;
283
- pageSpreadLeft: true | undefined;
284
- pageSpreadRight: true | undefined;
285
- mediaType?: string | undefined;
286
- };
287
- overlayElement: HTMLDivElement;
288
- } & ({
289
- frame: HTMLIFrameElement;
290
- removeStyle: (id: string) => void;
291
- addStyle: (id: string, style: string, prepend?: boolean) => void;
292
- } | {
293
- frame: undefined;
294
- removeStyle: (id: string) => void;
295
- addStyle: (id: string, style: string) => void;
296
- })) => boolean) => boolean;
297
- executeOnLayoutBeforeMeasurementHook: (options: {
298
- minimumWidth: number;
299
- }) => void;
300
- selectionTracker: {
301
- track: (frameToTrack: HTMLIFrameElement) => void;
302
- destroy: () => void;
303
- isSelecting: () => boolean;
304
- getSelection: () => Selection | undefined;
305
- $: import("rxjs").Observable<{
306
- event: "selectionchange";
307
- data: Selection | null;
308
- } | {
309
- event: "selectstart";
310
- data: Selection | null;
311
- } | {
312
- event: "selectend";
313
- data: Selection | null;
314
- }>;
315
- };
316
- fingerTracker: {
317
- track: (frame: HTMLIFrameElement) => void;
318
- getFingerPositionInIframe(): {
319
- x: number | undefined;
320
- y: number | undefined;
321
- } | undefined;
322
- destroy: () => void;
323
- $: import("rxjs").Observable<{
324
- event: "fingermove";
325
- data: {
326
- x: number;
327
- y: number;
328
- };
329
- } | {
330
- event: "fingerout";
331
- data: undefined;
332
- }>;
333
- };
334
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
335
- columnHeight: number;
336
- columnWidth: number;
337
- width: number;
338
- };
339
- getDimensionsForPaginatedContent: () => {
340
- columnHeight: number;
341
- columnWidth: number;
342
- };
343
- $: {
344
- contentLayout$: import("rxjs").Observable<{
345
- isFirstLayout: boolean;
346
- isReady: boolean;
347
- }>;
348
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
349
- isReady$: import("rxjs").Observable<boolean>;
350
- };
351
- }) => string);
352
- getRootCfi: (spineItem: SpineItem) => string;
353
- resolveCfi: (cfiString: string) => {
354
- node: Node | undefined;
355
- offset: number | undefined;
356
- spineItemIndex: number;
357
- } | {
358
- spineItemIndex: number;
359
- node?: undefined;
360
- offset?: undefined;
361
- } | undefined;
362
- generateFromRange: ({ startNode, start, end, endNode }: {
363
- startNode: Node;
364
- start: number;
365
- endNode: Node;
366
- end: number;
367
- }, item: Manifest[`spineItems`][number]) => {
368
- start: string;
369
- end: string;
370
- };
371
- };
@@ -1,29 +0,0 @@
1
- import { BehaviorSubject, Observable } from "rxjs";
2
- import { Context } from "../context";
3
- import { Pagination } from "../pagination";
4
- import { SpineItemManager } from "../spineItemManager";
5
- import { createLocationResolver as createSpineLocationResolver } from "./locationResolver";
6
- import { createLocationResolver as createSpineItemLocationResolver } from "../spineItem/locationResolver";
7
- import { createCfiLocator } from "./cfiLocator";
8
- import type { Hook } from "../types/Hook";
9
- import type { Spine } from "../types/Spine";
10
- import { AdjustedNavigation, Navigation } from "../viewportNavigator/types";
11
- export declare const createSpine: ({ ownerDocument, context, pagination, iframeEventBridgeElement, spineItemManager, hooks$, spineItemLocator, spineLocator, cfiLocator, navigation$, navigationAdjusted$, currentNavigationPosition$, viewportState$, }: {
12
- ownerDocument: Document;
13
- iframeEventBridgeElement: HTMLElement;
14
- context: Context;
15
- pagination: Pagination;
16
- spineItemManager: SpineItemManager;
17
- hooks$: BehaviorSubject<Hook[]>;
18
- spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>;
19
- spineLocator: ReturnType<typeof createSpineLocationResolver>;
20
- cfiLocator: ReturnType<typeof createCfiLocator>;
21
- navigation$: Observable<Navigation>;
22
- navigationAdjusted$: Observable<AdjustedNavigation>;
23
- currentNavigationPosition$: Observable<{
24
- x: number;
25
- y: number;
26
- }>;
27
- viewportState$: Observable<`free` | `busy`>;
28
- }) => Spine;
29
- export { Spine };
@@ -1,11 +0,0 @@
1
- import { Context } from "../context";
2
- import { SpineItemManager } from "../spineItemManager";
3
- import { createLocationResolver } from "./locationResolver";
4
- export declare const createEventsHelper: ({ iframeEventBridgeElement, locator, }: {
5
- iframeEventBridgeElement: HTMLElement;
6
- spineItemManager: SpineItemManager;
7
- context: Context;
8
- locator: ReturnType<typeof createLocationResolver>;
9
- }) => {
10
- normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E) => E;
11
- };