@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
@@ -1,550 +0,0 @@
1
- import { Context } from "./context";
2
- import { SpineItem } from "./spineItem/createSpineItem";
3
- export declare const createSpineItemManager: ({ context }: {
4
- context: Context;
5
- }) => {
6
- destroyItems: () => void;
7
- add: (spineItem: SpineItem) => void;
8
- get: (indexOrId: number | string) => {
9
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
10
- blankPagePosition: "after" | "before" | "none";
11
- minimumWidth: number;
12
- spreadPosition: "none" | "right" | "left";
13
- }) => {
14
- width: number;
15
- height: number;
16
- };
17
- item: {
18
- id: string;
19
- href: string;
20
- renditionLayout: "reflowable" | "pre-paginated";
21
- progressionWeight: number;
22
- pageSpreadLeft: true | undefined;
23
- pageSpreadRight: true | undefined;
24
- mediaType?: string | undefined;
25
- };
26
- load: () => void;
27
- adjustPositionOfElement: ({ right, left, top }: {
28
- right?: number | undefined;
29
- left?: number | undefined;
30
- top?: number | undefined;
31
- }) => void;
32
- getElementDimensions: () => {
33
- width: number;
34
- height: number;
35
- };
36
- getHtmlFromResource: (response: Response) => Promise<string>;
37
- getResource: () => Promise<Response>;
38
- translateFramePositionIntoPage: (position: {
39
- clientX: number;
40
- clientY: number;
41
- }) => {
42
- clientX: number;
43
- clientY: number;
44
- };
45
- setLayoutDirty: () => void;
46
- injectStyle: (cssText: string) => void;
47
- loadContent: () => void;
48
- unloadContent: () => void;
49
- spineItemFrame: {
50
- getIsLoaded: () => boolean;
51
- getIsReady: () => boolean;
52
- getViewportDimensions: () => {
53
- width: number;
54
- height: number;
55
- } | undefined;
56
- getFrameElement: () => HTMLIFrameElement | undefined;
57
- getHtmlFromResource: (response: Response) => Promise<string>;
58
- load: () => void;
59
- unload: () => void;
60
- staticLayout: (size: {
61
- width: number;
62
- height: number;
63
- }) => void;
64
- getManipulableFrame: () => {
65
- frame: HTMLIFrameElement;
66
- removeStyle: (id: string) => void;
67
- addStyle: (id: string, style: string, prepend?: boolean) => void;
68
- } | undefined;
69
- getReadingDirection: () => "ltr" | "rtl" | undefined;
70
- isUsingVerticalWriting: () => boolean;
71
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
72
- destroy: () => void;
73
- $: {
74
- unload$: import("rxjs").Observable<void>;
75
- unloaded$: import("rxjs").Observable<void>;
76
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
77
- ready$: import("rxjs").Observable<FontFaceSet | undefined>;
78
- isReady$: import("rxjs").Observable<boolean>;
79
- contentLayoutChange$: import("rxjs").Observable<{
80
- isFirstLayout: boolean;
81
- } | {
82
- isFirstLayout: boolean;
83
- }>;
84
- };
85
- };
86
- element: HTMLElement;
87
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
88
- getViewPortInformation: () => {
89
- computedScale: number;
90
- computedWidthScale: number;
91
- viewportDimensions: {
92
- width: number;
93
- height: number;
94
- };
95
- } | undefined;
96
- isImageType: () => boolean;
97
- isReady: () => boolean;
98
- destroy: () => void;
99
- isUsingVerticalWriting: () => boolean | undefined;
100
- getReadingDirection: () => "ltr" | "rtl" | undefined;
101
- manipulateSpineItem: (cb: (options: {
102
- container: HTMLElement;
103
- item: {
104
- id: string;
105
- href: string;
106
- renditionLayout: "reflowable" | "pre-paginated";
107
- progressionWeight: number;
108
- pageSpreadLeft: true | undefined;
109
- pageSpreadRight: true | undefined;
110
- mediaType?: string | undefined;
111
- };
112
- overlayElement: HTMLDivElement;
113
- } & ({
114
- frame: HTMLIFrameElement;
115
- removeStyle: (id: string) => void;
116
- addStyle: (id: string, style: string, prepend?: boolean) => void;
117
- } | {
118
- frame: undefined;
119
- removeStyle: (id: string) => void;
120
- addStyle: (id: string, style: string) => void;
121
- })) => boolean) => boolean;
122
- executeOnLayoutBeforeMeasurementHook: (options: {
123
- minimumWidth: number;
124
- }) => void;
125
- selectionTracker: {
126
- track: (frameToTrack: HTMLIFrameElement) => void;
127
- destroy: () => void;
128
- isSelecting: () => boolean;
129
- getSelection: () => Selection | undefined;
130
- $: import("rxjs").Observable<{
131
- event: "selectionchange";
132
- data: Selection | null;
133
- } | {
134
- event: "selectstart";
135
- data: Selection | null;
136
- } | {
137
- event: "selectend";
138
- data: Selection | null;
139
- }>;
140
- };
141
- fingerTracker: {
142
- track: (frame: HTMLIFrameElement) => void;
143
- getFingerPositionInIframe(): {
144
- x: number | undefined;
145
- y: number | undefined;
146
- } | undefined;
147
- destroy: () => void;
148
- $: import("rxjs").Observable<{
149
- event: "fingermove";
150
- data: {
151
- x: number;
152
- y: number;
153
- };
154
- } | {
155
- event: "fingerout";
156
- data: undefined;
157
- }>;
158
- };
159
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
160
- columnHeight: number;
161
- columnWidth: number;
162
- width: number;
163
- };
164
- getDimensionsForPaginatedContent: () => {
165
- columnHeight: number;
166
- columnWidth: number;
167
- };
168
- $: {
169
- contentLayout$: import("rxjs").Observable<{
170
- isFirstLayout: boolean;
171
- isReady: boolean;
172
- }>;
173
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
174
- isReady$: import("rxjs").Observable<boolean>;
175
- };
176
- } | undefined;
177
- getAll: () => {
178
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
179
- blankPagePosition: "after" | "before" | "none";
180
- minimumWidth: number;
181
- spreadPosition: "none" | "right" | "left";
182
- }) => {
183
- width: number;
184
- height: number;
185
- };
186
- item: {
187
- id: string;
188
- href: string;
189
- renditionLayout: "reflowable" | "pre-paginated";
190
- progressionWeight: number;
191
- pageSpreadLeft: true | undefined;
192
- pageSpreadRight: true | undefined;
193
- mediaType?: string | undefined;
194
- };
195
- load: () => void;
196
- adjustPositionOfElement: ({ right, left, top }: {
197
- right?: number | undefined;
198
- left?: number | undefined;
199
- top?: number | undefined;
200
- }) => void;
201
- getElementDimensions: () => {
202
- width: number;
203
- height: number;
204
- };
205
- getHtmlFromResource: (response: Response) => Promise<string>;
206
- getResource: () => Promise<Response>;
207
- translateFramePositionIntoPage: (position: {
208
- clientX: number;
209
- clientY: number;
210
- }) => {
211
- clientX: number;
212
- clientY: number;
213
- };
214
- setLayoutDirty: () => void;
215
- injectStyle: (cssText: string) => void;
216
- loadContent: () => void;
217
- unloadContent: () => void;
218
- spineItemFrame: {
219
- getIsLoaded: () => boolean;
220
- getIsReady: () => boolean;
221
- getViewportDimensions: () => {
222
- width: number;
223
- height: number;
224
- } | undefined;
225
- getFrameElement: () => HTMLIFrameElement | undefined;
226
- getHtmlFromResource: (response: Response) => Promise<string>;
227
- load: () => void;
228
- unload: () => void;
229
- staticLayout: (size: {
230
- width: number;
231
- height: number;
232
- }) => void;
233
- getManipulableFrame: () => {
234
- frame: HTMLIFrameElement;
235
- removeStyle: (id: string) => void;
236
- addStyle: (id: string, style: string, prepend?: boolean) => void;
237
- } | undefined;
238
- getReadingDirection: () => "ltr" | "rtl" | undefined;
239
- isUsingVerticalWriting: () => boolean;
240
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
241
- destroy: () => void;
242
- $: {
243
- unload$: import("rxjs").Observable<void>;
244
- unloaded$: import("rxjs").Observable<void>;
245
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
246
- ready$: import("rxjs").Observable<FontFaceSet | undefined>;
247
- isReady$: import("rxjs").Observable<boolean>;
248
- contentLayoutChange$: import("rxjs").Observable<{
249
- isFirstLayout: boolean;
250
- } | {
251
- isFirstLayout: boolean;
252
- }>;
253
- };
254
- };
255
- element: HTMLElement;
256
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
257
- getViewPortInformation: () => {
258
- computedScale: number;
259
- computedWidthScale: number;
260
- viewportDimensions: {
261
- width: number;
262
- height: number;
263
- };
264
- } | undefined;
265
- isImageType: () => boolean;
266
- isReady: () => boolean;
267
- destroy: () => void;
268
- isUsingVerticalWriting: () => boolean | undefined;
269
- getReadingDirection: () => "ltr" | "rtl" | undefined;
270
- manipulateSpineItem: (cb: (options: {
271
- container: HTMLElement;
272
- item: {
273
- id: string;
274
- href: string;
275
- renditionLayout: "reflowable" | "pre-paginated";
276
- progressionWeight: number;
277
- pageSpreadLeft: true | undefined;
278
- pageSpreadRight: true | undefined;
279
- mediaType?: string | undefined;
280
- };
281
- overlayElement: HTMLDivElement;
282
- } & ({
283
- frame: HTMLIFrameElement;
284
- removeStyle: (id: string) => void;
285
- addStyle: (id: string, style: string, prepend?: boolean) => void;
286
- } | {
287
- frame: undefined;
288
- removeStyle: (id: string) => void;
289
- addStyle: (id: string, style: string) => void;
290
- })) => boolean) => boolean;
291
- executeOnLayoutBeforeMeasurementHook: (options: {
292
- minimumWidth: number;
293
- }) => void;
294
- selectionTracker: {
295
- track: (frameToTrack: HTMLIFrameElement) => void;
296
- destroy: () => void;
297
- isSelecting: () => boolean;
298
- getSelection: () => Selection | undefined;
299
- $: import("rxjs").Observable<{
300
- event: "selectionchange";
301
- data: Selection | null;
302
- } | {
303
- event: "selectstart";
304
- data: Selection | null;
305
- } | {
306
- event: "selectend";
307
- data: Selection | null;
308
- }>;
309
- };
310
- fingerTracker: {
311
- track: (frame: HTMLIFrameElement) => void;
312
- getFingerPositionInIframe(): {
313
- x: number | undefined;
314
- y: number | undefined;
315
- } | undefined;
316
- destroy: () => void;
317
- $: import("rxjs").Observable<{
318
- event: "fingermove";
319
- data: {
320
- x: number;
321
- y: number;
322
- };
323
- } | {
324
- event: "fingerout";
325
- data: undefined;
326
- }>;
327
- };
328
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
329
- columnHeight: number;
330
- columnWidth: number;
331
- width: number;
332
- };
333
- getDimensionsForPaginatedContent: () => {
334
- columnHeight: number;
335
- columnWidth: number;
336
- };
337
- $: {
338
- contentLayout$: import("rxjs").Observable<{
339
- isFirstLayout: boolean;
340
- isReady: boolean;
341
- }>;
342
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
343
- isReady$: import("rxjs").Observable<boolean>;
344
- };
345
- }[];
346
- getLength: () => number;
347
- layout: () => void;
348
- focus: (indexOrSpineItem: number | SpineItem) => void;
349
- loadContents: ((rangeOfIndex: [number, number]) => void) | ((rangeOfIndex: [number, number]) => void);
350
- comparePositionOf: (toCompare: SpineItem, withItem: SpineItem) => "after" | "before";
351
- getAbsolutePositionOf: (spineItemOrIndex: SpineItem | number) => {
352
- left: number;
353
- right: number;
354
- top: number;
355
- bottom: number;
356
- width: number;
357
- height: number;
358
- };
359
- getFocusedSpineItem: () => {
360
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
361
- blankPagePosition: "after" | "before" | "none";
362
- minimumWidth: number;
363
- spreadPosition: "none" | "right" | "left";
364
- }) => {
365
- width: number;
366
- height: number;
367
- };
368
- item: {
369
- id: string;
370
- href: string;
371
- renditionLayout: "reflowable" | "pre-paginated";
372
- progressionWeight: number;
373
- pageSpreadLeft: true | undefined;
374
- pageSpreadRight: true | undefined;
375
- mediaType?: string | undefined;
376
- };
377
- load: () => void;
378
- adjustPositionOfElement: ({ right, left, top }: {
379
- right?: number | undefined;
380
- left?: number | undefined;
381
- top?: number | undefined;
382
- }) => void;
383
- getElementDimensions: () => {
384
- width: number;
385
- height: number;
386
- };
387
- getHtmlFromResource: (response: Response) => Promise<string>;
388
- getResource: () => Promise<Response>;
389
- translateFramePositionIntoPage: (position: {
390
- clientX: number;
391
- clientY: number;
392
- }) => {
393
- clientX: number;
394
- clientY: number;
395
- };
396
- setLayoutDirty: () => void;
397
- injectStyle: (cssText: string) => void;
398
- loadContent: () => void;
399
- unloadContent: () => void;
400
- spineItemFrame: {
401
- getIsLoaded: () => boolean;
402
- getIsReady: () => boolean;
403
- getViewportDimensions: () => {
404
- width: number;
405
- height: number;
406
- } | undefined;
407
- getFrameElement: () => HTMLIFrameElement | undefined;
408
- getHtmlFromResource: (response: Response) => Promise<string>;
409
- load: () => void;
410
- unload: () => void;
411
- staticLayout: (size: {
412
- width: number;
413
- height: number;
414
- }) => void;
415
- getManipulableFrame: () => {
416
- frame: HTMLIFrameElement;
417
- removeStyle: (id: string) => void;
418
- addStyle: (id: string, style: string, prepend?: boolean) => void;
419
- } | undefined;
420
- getReadingDirection: () => "ltr" | "rtl" | undefined;
421
- isUsingVerticalWriting: () => boolean;
422
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
423
- destroy: () => void;
424
- $: {
425
- unload$: import("rxjs").Observable<void>;
426
- unloaded$: import("rxjs").Observable<void>;
427
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
428
- ready$: import("rxjs").Observable<FontFaceSet | undefined>;
429
- isReady$: import("rxjs").Observable<boolean>;
430
- contentLayoutChange$: import("rxjs").Observable<{
431
- isFirstLayout: boolean;
432
- } | {
433
- isFirstLayout: boolean;
434
- }>;
435
- };
436
- };
437
- element: HTMLElement;
438
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
439
- getViewPortInformation: () => {
440
- computedScale: number;
441
- computedWidthScale: number;
442
- viewportDimensions: {
443
- width: number;
444
- height: number;
445
- };
446
- } | undefined;
447
- isImageType: () => boolean;
448
- isReady: () => boolean;
449
- destroy: () => void;
450
- isUsingVerticalWriting: () => boolean | undefined;
451
- getReadingDirection: () => "ltr" | "rtl" | undefined;
452
- manipulateSpineItem: (cb: (options: {
453
- container: HTMLElement;
454
- item: {
455
- id: string;
456
- href: string;
457
- renditionLayout: "reflowable" | "pre-paginated";
458
- progressionWeight: number;
459
- pageSpreadLeft: true | undefined;
460
- pageSpreadRight: true | undefined;
461
- mediaType?: string | undefined;
462
- };
463
- overlayElement: HTMLDivElement;
464
- } & ({
465
- frame: HTMLIFrameElement;
466
- removeStyle: (id: string) => void;
467
- addStyle: (id: string, style: string, prepend?: boolean) => void;
468
- } | {
469
- frame: undefined;
470
- removeStyle: (id: string) => void;
471
- addStyle: (id: string, style: string) => void;
472
- })) => boolean) => boolean;
473
- executeOnLayoutBeforeMeasurementHook: (options: {
474
- minimumWidth: number;
475
- }) => void;
476
- selectionTracker: {
477
- track: (frameToTrack: HTMLIFrameElement) => void;
478
- destroy: () => void;
479
- isSelecting: () => boolean;
480
- getSelection: () => Selection | undefined;
481
- $: import("rxjs").Observable<{
482
- event: "selectionchange";
483
- data: Selection | null;
484
- } | {
485
- event: "selectstart";
486
- data: Selection | null;
487
- } | {
488
- event: "selectend";
489
- data: Selection | null;
490
- }>;
491
- };
492
- fingerTracker: {
493
- track: (frame: HTMLIFrameElement) => void;
494
- getFingerPositionInIframe(): {
495
- x: number | undefined;
496
- y: number | undefined;
497
- } | undefined;
498
- destroy: () => void;
499
- $: import("rxjs").Observable<{
500
- event: "fingermove";
501
- data: {
502
- x: number;
503
- y: number;
504
- };
505
- } | {
506
- event: "fingerout";
507
- data: undefined;
508
- }>;
509
- };
510
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
511
- columnHeight: number;
512
- columnWidth: number;
513
- width: number;
514
- };
515
- getDimensionsForPaginatedContent: () => {
516
- columnHeight: number;
517
- columnWidth: number;
518
- };
519
- $: {
520
- contentLayout$: import("rxjs").Observable<{
521
- isFirstLayout: boolean;
522
- isReady: boolean;
523
- }>;
524
- loaded$: import("rxjs").Observable<HTMLIFrameElement>;
525
- isReady$: import("rxjs").Observable<boolean>;
526
- };
527
- } | undefined;
528
- getFocusedSpineItemIndex: () => number | undefined;
529
- getSpineItemIndex: (spineItem: SpineItem | undefined) => number | undefined;
530
- destroy: () => void;
531
- $: {
532
- focus$: import("rxjs").Observable<{
533
- data: SpineItem;
534
- }>;
535
- layout$: import("rxjs").Observable<boolean>;
536
- itemIsReady$: import("rxjs").Observable<{
537
- item: {
538
- id: string;
539
- href: string;
540
- renditionLayout: "reflowable" | "pre-paginated";
541
- progressionWeight: number;
542
- pageSpreadLeft: true | undefined;
543
- pageSpreadRight: true | undefined;
544
- mediaType?: string | undefined;
545
- };
546
- isReady: boolean;
547
- }>;
548
- };
549
- };
550
- export type SpineItemManager = ReturnType<typeof createSpineItemManager>;
@@ -1,73 +0,0 @@
1
- import { Manifest } from "@prose-reader/shared";
2
- import { Observable } from "rxjs";
3
- type ItemOnLoadHook = {
4
- name: `item.onLoad`;
5
- fn: (manipulableFrame: {
6
- frame: HTMLIFrameElement;
7
- removeStyle: (id: string) => void;
8
- item: Manifest[`spineItems`][number];
9
- addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
10
- }) => (() => void) | Observable<unknown> | void;
11
- };
12
- export type Hook = ItemOnLoadHook | {
13
- name: `item.onBeforeContainerCreated`;
14
- fn: (payload: HTMLElement) => HTMLElement;
15
- } | {
16
- name: `item.onLayoutBeforeMeasurement`;
17
- fn: (payload: {
18
- frame: {
19
- getManipulableFrame: () => undefined | {
20
- removeStyle: (id: string) => void;
21
- addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
22
- };
23
- getViewportDimensions: () => {
24
- width: number;
25
- height: number;
26
- } | undefined;
27
- isUsingVerticalWriting: () => boolean;
28
- getIsReady: () => boolean;
29
- };
30
- container: HTMLElement;
31
- item: Manifest[`spineItems`][number];
32
- minimumWidth: number;
33
- isImageType: () => boolean | undefined;
34
- }) => void;
35
- } | {
36
- name: `item.onAfterLayout`;
37
- fn: (payload: {
38
- item: Manifest[`spineItems`][number];
39
- blankPagePosition: `before` | `after` | `none`;
40
- minimumWidth: number;
41
- }) => void;
42
- } | {
43
- name: `item.onGetResource`;
44
- fn: (fetchResource: (item: Manifest[`spineItems`][number]) => Promise<Response>) => (item: Manifest[`spineItems`][number]) => Promise<Response>;
45
- } | {
46
- name: `spine.onBeforeContainerCreated`;
47
- fn: (payload: HTMLElement) => HTMLElement;
48
- } | {
49
- name: `viewportNavigator.onBeforeContainerCreated`;
50
- fn: (payload: HTMLElement) => HTMLElement;
51
- } | {
52
- name: `onViewportOffsetAdjust`;
53
- fn: () => void;
54
- };
55
- export interface RegisterHook {
56
- (name: `item.onBeforeContainerCreated`, fn: Extract<Hook, {
57
- name: `item.onBeforeContainerCreated`;
58
- }>[`fn`]): void;
59
- (name: `item.onGetResource`, fn: Extract<Hook, {
60
- name: `item.onGetResource`;
61
- }>[`fn`]): void;
62
- (name: `item.onLayoutBeforeMeasurement`, fn: Extract<Hook, {
63
- name: `item.onLayoutBeforeMeasurement`;
64
- }>[`fn`]): void;
65
- (name: `item.onAfterLayout`, fn: Extract<Hook, {
66
- name: `item.onAfterLayout`;
67
- }>[`fn`]): void;
68
- (name: `onViewportOffsetAdjust`, fn: Extract<Hook, {
69
- name: `onViewportOffsetAdjust`;
70
- }>[`fn`]): void;
71
- (name: `item.onLoad`, fn: ItemOnLoadHook["fn"]): void;
72
- }
73
- export {};
@@ -1,39 +0,0 @@
1
- import { Observable } from "rxjs";
2
- import { SpineItem } from "../spineItem/createSpineItem";
3
- import { createSelection } from "../selection";
4
- import { createCfiLocator } from "../spine/cfiLocator";
5
- import { createLocationResolver } from "../spine/locationResolver";
6
- import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver";
7
- import { ViewportNavigationEntry } from "../spine/navigationResolver";
8
- type RequireLayout = boolean;
9
- type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0];
10
- type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0];
11
- type CfiLocator = ReturnType<typeof createCfiLocator>;
12
- type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
13
- type Locator = ReturnType<typeof createLocationResolver>;
14
- type Event = {
15
- type: `onSelectionChange`;
16
- data: ReturnType<typeof createSelection> | null;
17
- };
18
- export type Spine = {
19
- element: HTMLElement;
20
- locator: Locator;
21
- spineItemLocator: SpineItemLocator;
22
- cfiLocator: CfiLocator;
23
- normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E) => E;
24
- manipulateSpineItems: (cb: (payload: ManipulableSpineItemCallbackPayload & {
25
- index: number;
26
- }) => RequireLayout) => void;
27
- manipulateSpineItem: (id: string, cb: Parameters<SpineItem[`manipulateSpineItem`]>[0]) => void;
28
- destroy: () => void;
29
- isSelecting: () => boolean | undefined;
30
- getSelection: () => Selection | undefined;
31
- adjustPagination: (position: ViewportNavigationEntry) => Observable<`free` | `busy`>;
32
- $: {
33
- $: Observable<Event>;
34
- layout$: Observable<boolean>;
35
- spineItems$: Observable<SpineItem[]>;
36
- itemsBeforeDestroy$: Observable<void>;
37
- };
38
- };
39
- export {};
@@ -1,11 +0,0 @@
1
- import type { Manifest } from "@prose-reader/shared";
2
- export type ViewportPosition = {
3
- x: number;
4
- y: number;
5
- };
6
- declare global {
7
- interface Window {
8
- __PROSE_READER_DEBUG?: boolean;
9
- }
10
- }
11
- export { Manifest };
@@ -1,19 +0,0 @@
1
- export declare const isHtmlElement: (element?: Element | Node | null | EventTarget) => element is HTMLElement;
2
- type ViewPort = {
3
- left: number;
4
- right: number;
5
- top: number;
6
- bottom: number;
7
- };
8
- export declare const getFirstVisibleNodeForViewport: ((documentOrElement: Document | Element, viewport: ViewPort) => {
9
- node: Node;
10
- offset: number;
11
- } | undefined) | ((documentOrElement: Document | Element, viewport: ViewPort) => {
12
- node: Node;
13
- offset: number;
14
- } | undefined);
15
- export declare const getRangeFromNode: (node: Node, offset: number) => Range | undefined;
16
- export declare const isPointerEvent: (event: Event) => event is PointerEvent;
17
- export declare const isMouseEvent: (event: Event) => event is MouseEvent;
18
- export declare const isTouchEvent: (event: Event) => event is TouchEvent;
19
- export {};