@prose-reader/core 1.56.0 → 1.58.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 (100) hide show
  1. package/dist/cfi.d.ts +74 -0
  2. package/dist/constants.d.ts +6 -0
  3. package/dist/context/Context.d.ts +63 -0
  4. package/dist/context/isUsingSpreadMode.d.ts +10 -0
  5. package/dist/createReaderWithEnhancer.d.ts +271 -0
  6. package/dist/enhancers/accessibility.d.ts +3 -0
  7. package/dist/enhancers/chrome.d.ts +3 -0
  8. package/dist/enhancers/events/createIframeEventBridgeElement.d.ts +1 -0
  9. package/dist/enhancers/events/events.d.ts +8 -0
  10. package/dist/enhancers/events/normalizeEventForViewport.d.ts +7 -0
  11. package/dist/enhancers/firefox.d.ts +3 -0
  12. package/dist/enhancers/fonts.d.ts +19 -0
  13. package/dist/enhancers/hotkeys.d.ts +3 -0
  14. package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +4 -0
  15. package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +3 -0
  16. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +10 -0
  17. package/dist/enhancers/layoutEnhancer/types.d.ts +8 -0
  18. package/dist/enhancers/links.d.ts +14 -0
  19. package/dist/enhancers/loadingEnhancer.d.ts +24 -0
  20. package/dist/enhancers/media.d.ts +3 -0
  21. package/dist/enhancers/navigation/navigation.d.ts +9 -0
  22. package/dist/enhancers/navigation/navigator.d.ts +8 -0
  23. package/dist/enhancers/navigation/state.d.ts +12 -0
  24. package/dist/enhancers/pagination/chapters.d.ts +24 -0
  25. package/dist/enhancers/pagination/constants.d.ts +1 -0
  26. package/dist/enhancers/pagination/enhancer.d.ts +14 -0
  27. package/dist/enhancers/pagination/pagination.d.ts +10 -0
  28. package/dist/enhancers/pagination/spine.d.ts +13 -0
  29. package/dist/enhancers/pagination/types.d.ts +19 -0
  30. package/dist/enhancers/pagination.test.d.ts +1 -0
  31. package/dist/enhancers/progression.d.ts +16 -0
  32. package/dist/enhancers/publicApi.d.ts +5 -0
  33. package/dist/enhancers/resources/index.d.ts +3 -0
  34. package/dist/enhancers/resources/indexedDB.d.ts +6 -0
  35. package/dist/enhancers/resources/resourcesManager.d.ts +7 -0
  36. package/dist/enhancers/theme.d.ts +32 -0
  37. package/dist/enhancers/types/enhancer.d.ts +9 -0
  38. package/dist/enhancers/utils.d.ts +7 -0
  39. package/dist/enhancers/webkit.d.ts +3 -0
  40. package/dist/enhancers/zoom/elementZoomer.d.ts +19 -0
  41. package/dist/enhancers/zoom/index.d.ts +4 -0
  42. package/dist/enhancers/zoom/types.d.ts +23 -0
  43. package/dist/enhancers/zoom/viewportZoomer.d.ts +19 -0
  44. package/dist/frames.d.ts +5 -0
  45. package/dist/hooks/HookManager.d.ts +10 -0
  46. package/dist/hooks/types.d.ts +64 -0
  47. package/dist/index.d.ts +9 -4324
  48. package/dist/index.js +1032 -1107
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.umd.cjs +1032 -1107
  51. package/dist/index.umd.cjs.map +1 -1
  52. package/dist/manifest/areAllItemsPrePaginated.d.ts +3 -0
  53. package/dist/manifest/isFullyPrePaginated.d.ts +3 -0
  54. package/dist/pagination/pagination.d.ts +88 -0
  55. package/dist/pagination/types.d.ts +10 -0
  56. package/dist/reader.d.ts +8 -0
  57. package/dist/report.d.ts +26 -0
  58. package/dist/selection.d.ts +7 -0
  59. package/dist/settings/SettingsManager.d.ts +14 -0
  60. package/dist/settings/defaultSettings.d.ts +3 -0
  61. package/dist/settings/getComputedSettings.d.ts +4 -0
  62. package/dist/settings/types.d.ts +19 -0
  63. package/dist/spine/cfiLocator.d.ts +340 -0
  64. package/dist/spine/createSpine.d.ts +31 -0
  65. package/dist/spine/locationResolver.d.ts +636 -0
  66. package/dist/spine/navigationResolver.d.ts +48 -0
  67. package/dist/spine/types.d.ts +10 -0
  68. package/dist/spineItem/commonSpineItem.d.ts +165 -0
  69. package/dist/spineItem/createSpineItem.d.ts +167 -0
  70. package/dist/spineItem/frameItem/createFrame$.d.ts +1 -0
  71. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +5 -0
  72. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +3 -0
  73. package/dist/spineItem/frameItem/frameItem.d.ts +49 -0
  74. package/dist/spineItem/frameItem/loader.d.ts +30 -0
  75. package/dist/spineItem/locationResolver.d.ts +24 -0
  76. package/dist/spineItem/navigationResolver.d.ts +16 -0
  77. package/dist/spineItem/prePaginatedSpineItem.d.ts +166 -0
  78. package/dist/spineItem/reflowableSpineItem.d.ts +165 -0
  79. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +1 -0
  80. package/dist/spineItem/trackers.d.ts +34 -0
  81. package/dist/spineItem/types.d.ts +19 -0
  82. package/dist/spineItemManager.d.ts +505 -0
  83. package/dist/types/Spine.d.ts +40 -0
  84. package/dist/types/index.d.ts +12 -0
  85. package/dist/types/reader.d.ts +44 -0
  86. package/dist/utils/compose.d.ts +8 -0
  87. package/dist/utils/dom.d.ts +19 -0
  88. package/dist/utils/isDefined.d.ts +1 -0
  89. package/dist/utils/layout.d.ts +7 -0
  90. package/dist/utils/layout.test.d.ts +1 -0
  91. package/dist/utils/manifest.d.ts +3 -0
  92. package/dist/utils/objects.d.ts +6 -0
  93. package/dist/utils/objects.test.d.ts +1 -0
  94. package/dist/utils/rxjs.d.ts +5 -0
  95. package/dist/viewportNavigator/manualViewportNavigator.d.ts +96 -0
  96. package/dist/viewportNavigator/panViewportNavigator.d.ts +55 -0
  97. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +38 -0
  98. package/dist/viewportNavigator/types.d.ts +34 -0
  99. package/dist/viewportNavigator/viewportNavigator.d.ts +82 -0
  100. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -1,4325 +1,10 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Manifest } from '@prose-reader/shared';
3
- import { Observable } from 'rxjs';
4
-
5
- declare type Api = {
6
- zoom: {
7
- enter: (imgElement?: HTMLImageElement) => void;
8
- exit: () => void;
9
- move: (position: {
10
- x: number;
11
- y: number;
12
- } | undefined, details: {
13
- isFirst: boolean;
14
- isLast: boolean;
15
- }) => void;
16
- isZooming: () => boolean;
17
- isUsingScrollableZoom: () => boolean;
18
- getScaleValue: () => number;
19
- scale: (scale: number) => void;
20
- setCurrentScaleAsBase: () => void;
21
- $: {
22
- isZooming$: Observable<boolean>;
23
- };
24
- };
25
- };
26
-
27
- declare type CfiLocator = ReturnType<typeof createCfiLocator>;
28
-
29
- declare type ChapterInfo = {
30
- title: string;
31
- subChapter?: {
32
- title: string;
33
- subChapter?: {
34
- title: string;
35
- subChapter?: {
36
- title: string;
37
- path: string;
38
- };
39
- path: string;
40
- };
41
- path: string;
42
- };
43
- path: string;
44
- };
45
-
46
- declare type Context = ReturnType<typeof createContext>;
47
-
48
- declare type Context_2 = {
49
- load: (newManifest: Manifest, newLoadOptions: LoadOptions) => void;
50
- getManifest: () => Manifest | undefined;
51
- areAllItemsPrePaginated: () => boolean;
52
- getCalculatedInnerMargin: () => number;
53
- getVisibleAreaRect: () => {
54
- width: number;
55
- height: number;
56
- x: number;
57
- y: number;
58
- };
59
- isUsingSpreadMode: () => boolean | undefined;
60
- setHasVerticalWriting: (value: boolean) => void;
61
- getReadingDirection: () => Manifest[`readingDirection`] | undefined;
62
- getPageSize: () => {
63
- height: number;
64
- width: number;
65
- };
66
- setVisibleAreaRect: (options: {
67
- x: number;
68
- y: number;
69
- width: number;
70
- height: number;
71
- }) => void;
72
- isRTL: () => boolean;
73
- destroy: () => void;
74
- getState: () => State;
75
- containerElement$: Observable<HTMLElement>;
76
- isUsingSpreadMode$: Observable<boolean | undefined>;
77
- hasVerticalWriting$: Observable<boolean>;
78
- $: {
79
- destroy$: Observable<void>;
80
- state$: Observable<State>;
81
- manifest$: Observable<Manifest>;
82
- };
83
- };
84
-
85
- declare type ContextSettings = Partial<InputSettings>;
86
-
87
- declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
88
- spineItemManager: SpineItemManager;
89
- context: Context_2;
90
- spineItemLocator: ReturnType<typeof createLocationResolver_2>;
91
- }) => {
92
- getSpineItemFromCfi: (cfi: string) => {
93
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
94
- blankPagePosition: "after" | "before" | "none";
95
- minimumWidth: number;
96
- spreadPosition: "none" | "left" | "right";
97
- }) => {
98
- width: number;
99
- height: number;
100
- };
101
- item: {
102
- id: string;
103
- href: string;
104
- renditionLayout: "reflowable" | "pre-paginated";
105
- progressionWeight: number;
106
- pageSpreadLeft: true | undefined;
107
- pageSpreadRight: true | undefined;
108
- mediaType?: string | undefined;
109
- };
110
- load: () => void;
111
- adjustPositionOfElement: ({ right, left, top }: {
112
- right?: number | undefined;
113
- left?: number | undefined;
114
- top?: number | undefined;
115
- }) => void;
116
- getElementDimensions: () => {
117
- width: number;
118
- height: number;
119
- };
120
- getHtmlFromResource: (response: Response) => Promise<string>;
121
- getResource: () => Promise<Response>;
122
- translateFramePositionIntoPage: (position: {
123
- clientX: number;
124
- clientY: number;
125
- }) => {
126
- clientX: number;
127
- clientY: number;
128
- };
129
- setLayoutDirty: () => void;
130
- injectStyle: (cssText: string) => void;
131
- loadContent: () => void;
132
- unloadContent: () => void;
133
- spineItemFrame: {
134
- getIsLoaded: () => boolean;
135
- getIsReady: () => boolean;
136
- getViewportDimensions: () => {
137
- width: number;
138
- height: number;
139
- } | undefined;
140
- getFrameElement: () => HTMLIFrameElement | undefined;
141
- getHtmlFromResource: (response: Response) => Promise<string>;
142
- load: () => void;
143
- unload: () => void;
144
- staticLayout: (size: {
145
- width: number;
146
- height: number;
147
- }) => void;
148
- getManipulableFrame: () => {
149
- frame: HTMLIFrameElement;
150
- removeStyle: (id: string) => void;
151
- addStyle: (id: string, style: string, prepend?: boolean) => void;
152
- } | undefined;
153
- getReadingDirection: () => "ltr" | "rtl" | undefined;
154
- isUsingVerticalWriting: () => boolean;
155
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
156
- destroy: () => void;
157
- $: {
158
- unload$: Observable<void>;
159
- unloaded$: Observable<void>;
160
- loaded$: Observable<HTMLIFrameElement>;
161
- ready$: Observable<FontFaceSet | undefined>;
162
- isReady$: Observable<boolean>;
163
- contentLayoutChange$: Observable< {
164
- isFirstLayout: boolean;
165
- } | {
166
- isFirstLayout: boolean;
167
- }>;
168
- };
169
- };
170
- element: HTMLElement;
171
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
172
- getViewPortInformation: () => {
173
- computedScale: number;
174
- computedWidthScale: number;
175
- viewportDimensions: {
176
- width: number;
177
- height: number;
178
- };
179
- } | undefined;
180
- isImageType: () => boolean;
181
- isReady: () => boolean;
182
- destroy: () => void;
183
- isUsingVerticalWriting: () => boolean | undefined;
184
- getReadingDirection: () => "ltr" | "rtl" | undefined;
185
- manipulateSpineItem: (cb: (options: {
186
- container: HTMLElement;
187
- item: {
188
- id: string;
189
- href: string;
190
- renditionLayout: "reflowable" | "pre-paginated";
191
- progressionWeight: number;
192
- pageSpreadLeft: true | undefined;
193
- pageSpreadRight: true | undefined;
194
- mediaType?: string | undefined;
195
- };
196
- overlayElement: HTMLDivElement;
197
- } & ({
198
- frame: HTMLIFrameElement;
199
- removeStyle: (id: string) => void;
200
- addStyle: (id: string, style: string, prepend?: boolean) => void;
201
- } | {
202
- frame: undefined;
203
- removeStyle: (id: string) => void;
204
- addStyle: (id: string, style: string) => void;
205
- })) => boolean) => boolean;
206
- executeOnLayoutBeforeMeasurementHook: (options: {
207
- minimumWidth: number;
208
- }) => void;
209
- selectionTracker: {
210
- track: (frameToTrack: HTMLIFrameElement) => void;
211
- destroy: () => void;
212
- isSelecting: () => boolean;
213
- getSelection: () => Selection | undefined;
214
- $: Observable< {
215
- event: "selectionchange";
216
- data: Selection | null;
217
- } | {
218
- event: "selectstart";
219
- data: Selection | null;
220
- } | {
221
- event: "selectend";
222
- data: Selection | null;
223
- }>;
224
- };
225
- fingerTracker: {
226
- track: (frame: HTMLIFrameElement) => void;
227
- getFingerPositionInIframe(): {
228
- x: number | undefined;
229
- y: number | undefined;
230
- } | undefined;
231
- destroy: () => void;
232
- $: Observable< {
233
- event: "fingermove";
234
- data: {
235
- x: number;
236
- y: number;
237
- };
238
- } | {
239
- event: "fingerout";
240
- data: undefined;
241
- }>;
242
- };
243
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
244
- columnHeight: number;
245
- columnWidth: number;
246
- width: number;
247
- };
248
- getDimensionsForPaginatedContent: () => {
249
- columnHeight: number;
250
- columnWidth: number;
251
- };
252
- $: {
253
- contentLayout$: Observable< {
254
- isFirstLayout: boolean;
255
- isReady: boolean;
256
- }>;
257
- loaded$: Observable<HTMLIFrameElement>;
258
- isReady$: Observable<boolean>;
259
- };
260
- } | undefined;
261
- getCfiMetaInformation: (cfi: string) => {
262
- spineItemIndex: number | undefined;
263
- } | undefined;
264
- getCfi: ((pageIndex: number, spineItem: SpineItem) => string) | ((pageIndex: number, spineItem: {
265
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
266
- blankPagePosition: "after" | "before" | "none";
267
- minimumWidth: number;
268
- spreadPosition: "none" | "left" | "right";
269
- }) => {
270
- width: number;
271
- height: number;
272
- };
273
- item: {
274
- id: string;
275
- href: string;
276
- renditionLayout: "reflowable" | "pre-paginated";
277
- progressionWeight: number;
278
- pageSpreadLeft: true | undefined;
279
- pageSpreadRight: true | undefined;
280
- mediaType?: string | undefined;
281
- };
282
- load: () => void;
283
- adjustPositionOfElement: ({ right, left, top }: {
284
- right?: number | undefined;
285
- left?: number | undefined;
286
- top?: number | undefined;
287
- }) => void;
288
- getElementDimensions: () => {
289
- width: number;
290
- height: number;
291
- };
292
- getHtmlFromResource: (response: Response) => Promise<string>;
293
- getResource: () => Promise<Response>;
294
- translateFramePositionIntoPage: (position: {
295
- clientX: number;
296
- clientY: number;
297
- }) => {
298
- clientX: number;
299
- clientY: number;
300
- };
301
- setLayoutDirty: () => void;
302
- injectStyle: (cssText: string) => void;
303
- loadContent: () => void;
304
- unloadContent: () => void;
305
- spineItemFrame: {
306
- getIsLoaded: () => boolean;
307
- getIsReady: () => boolean;
308
- getViewportDimensions: () => {
309
- width: number;
310
- height: number;
311
- } | undefined;
312
- getFrameElement: () => HTMLIFrameElement | undefined;
313
- getHtmlFromResource: (response: Response) => Promise<string>;
314
- load: () => void;
315
- unload: () => void;
316
- staticLayout: (size: {
317
- width: number;
318
- height: number;
319
- }) => void;
320
- getManipulableFrame: () => {
321
- frame: HTMLIFrameElement;
322
- removeStyle: (id: string) => void;
323
- addStyle: (id: string, style: string, prepend?: boolean) => void;
324
- } | undefined;
325
- getReadingDirection: () => "ltr" | "rtl" | undefined;
326
- isUsingVerticalWriting: () => boolean;
327
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
328
- destroy: () => void;
329
- $: {
330
- unload$: Observable<void>;
331
- unloaded$: Observable<void>;
332
- loaded$: Observable<HTMLIFrameElement>;
333
- ready$: Observable<FontFaceSet | undefined>;
334
- isReady$: Observable<boolean>;
335
- contentLayoutChange$: Observable< {
336
- isFirstLayout: boolean;
337
- } | {
338
- isFirstLayout: boolean;
339
- }>;
340
- };
341
- };
342
- element: HTMLElement;
343
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
344
- getViewPortInformation: () => {
345
- computedScale: number;
346
- computedWidthScale: number;
347
- viewportDimensions: {
348
- width: number;
349
- height: number;
350
- };
351
- } | undefined;
352
- isImageType: () => boolean;
353
- isReady: () => boolean;
354
- destroy: () => void;
355
- isUsingVerticalWriting: () => boolean | undefined;
356
- getReadingDirection: () => "ltr" | "rtl" | undefined;
357
- manipulateSpineItem: (cb: (options: {
358
- container: HTMLElement;
359
- item: {
360
- id: string;
361
- href: string;
362
- renditionLayout: "reflowable" | "pre-paginated";
363
- progressionWeight: number;
364
- pageSpreadLeft: true | undefined;
365
- pageSpreadRight: true | undefined;
366
- mediaType?: string | undefined;
367
- };
368
- overlayElement: HTMLDivElement;
369
- } & ({
370
- frame: HTMLIFrameElement;
371
- removeStyle: (id: string) => void;
372
- addStyle: (id: string, style: string, prepend?: boolean) => void;
373
- } | {
374
- frame: undefined;
375
- removeStyle: (id: string) => void;
376
- addStyle: (id: string, style: string) => void;
377
- })) => boolean) => boolean;
378
- executeOnLayoutBeforeMeasurementHook: (options: {
379
- minimumWidth: number;
380
- }) => void;
381
- selectionTracker: {
382
- track: (frameToTrack: HTMLIFrameElement) => void;
383
- destroy: () => void;
384
- isSelecting: () => boolean;
385
- getSelection: () => Selection | undefined;
386
- $: Observable< {
387
- event: "selectionchange";
388
- data: Selection | null;
389
- } | {
390
- event: "selectstart";
391
- data: Selection | null;
392
- } | {
393
- event: "selectend";
394
- data: Selection | null;
395
- }>;
396
- };
397
- fingerTracker: {
398
- track: (frame: HTMLIFrameElement) => void;
399
- getFingerPositionInIframe(): {
400
- x: number | undefined;
401
- y: number | undefined;
402
- } | undefined;
403
- destroy: () => void;
404
- $: Observable< {
405
- event: "fingermove";
406
- data: {
407
- x: number;
408
- y: number;
409
- };
410
- } | {
411
- event: "fingerout";
412
- data: undefined;
413
- }>;
414
- };
415
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
416
- columnHeight: number;
417
- columnWidth: number;
418
- width: number;
419
- };
420
- getDimensionsForPaginatedContent: () => {
421
- columnHeight: number;
422
- columnWidth: number;
423
- };
424
- $: {
425
- contentLayout$: Observable< {
426
- isFirstLayout: boolean;
427
- isReady: boolean;
428
- }>;
429
- loaded$: Observable<HTMLIFrameElement>;
430
- isReady$: Observable<boolean>;
431
- };
432
- }) => string);
433
- getRootCfi: (spineItem: SpineItem) => string;
434
- resolveCfi: (cfiString: string) => {
435
- node: Node | undefined;
436
- offset: number | undefined;
437
- spineItemIndex: number;
438
- } | {
439
- spineItemIndex: number;
440
- node?: undefined;
441
- offset?: undefined;
442
- } | undefined;
443
- generateFromRange: ({ startNode, start, end, endNode }: {
444
- startNode: Node;
445
- start: number;
446
- endNode: Node;
447
- end: number;
448
- }, item: Manifest[`spineItems`][number]) => {
449
- start: string;
450
- end: string;
451
- };
452
- };
453
-
454
- declare const createContext: (settings: ReturnType<typeof createSettings>) => Context_2;
455
-
456
- declare const createEventsHelper: ({ iframeEventBridgeElement$, locator, }: {
457
- iframeEventBridgeElement$: BehaviorSubject<HTMLElement | undefined>;
458
- spineItemManager: SpineItemManager;
459
- context: Context_2;
460
- locator: ReturnType<typeof createLocationResolver>;
461
- }) => {
462
- normalizeEventForViewport: <E extends MouseEvent | PointerEvent | TouchEvent>(event: E) => E;
463
- };
464
-
465
- declare const createLocationResolver: ({ spineItemManager, context, spineItemLocator, settings }: {
466
- spineItemManager: SpineItemManager;
467
- context: Context_2;
468
- spineItemLocator: ReturnType<typeof createLocationResolver_2>;
469
- settings: Settings;
470
- }) => {
471
- getSpinePositionFromSpineItemPosition: (spineItemPosition: SpineItemNavigationPosition | SpineItemPosition, spineItem: SpineItem) => SpinePosition;
472
- getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
473
- getSpinePositionFromSpineItemAnchor: (anchor: string, spineItem: SpineItem) => SpinePosition;
474
- getSpineItemPositionFromSpinePosition: ((position: UnsafeSpinePosition, spineItem: SpineItem) => UnsafeSpineItemPosition) | ((position: UnsafeSpinePosition, spineItem: {
475
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
476
- blankPagePosition: "after" | "before" | "none";
477
- minimumWidth: number;
478
- spreadPosition: "none" | "left" | "right";
479
- }) => {
480
- width: number;
481
- height: number;
482
- };
483
- item: {
484
- id: string;
485
- href: string;
486
- renditionLayout: "reflowable" | "pre-paginated";
487
- progressionWeight: number;
488
- pageSpreadLeft: true | undefined;
489
- pageSpreadRight: true | undefined;
490
- mediaType?: string | undefined;
491
- };
492
- load: () => void;
493
- adjustPositionOfElement: ({ right, left, top }: {
494
- right?: number | undefined;
495
- left?: number | undefined;
496
- top?: number | undefined;
497
- }) => void;
498
- getElementDimensions: () => {
499
- width: number;
500
- height: number;
501
- };
502
- getHtmlFromResource: (response: Response) => Promise<string>;
503
- getResource: () => Promise<Response>;
504
- translateFramePositionIntoPage: (position: {
505
- clientX: number;
506
- clientY: number;
507
- }) => {
508
- clientX: number;
509
- clientY: number;
510
- };
511
- setLayoutDirty: () => void;
512
- injectStyle: (cssText: string) => void;
513
- loadContent: () => void;
514
- unloadContent: () => void;
515
- spineItemFrame: {
516
- getIsLoaded: () => boolean;
517
- getIsReady: () => boolean;
518
- getViewportDimensions: () => {
519
- width: number;
520
- height: number;
521
- } | undefined;
522
- getFrameElement: () => HTMLIFrameElement | undefined;
523
- getHtmlFromResource: (response: Response) => Promise<string>;
524
- load: () => void;
525
- unload: () => void;
526
- staticLayout: (size: {
527
- width: number;
528
- height: number;
529
- }) => void;
530
- getManipulableFrame: () => {
531
- frame: HTMLIFrameElement;
532
- removeStyle: (id: string) => void;
533
- addStyle: (id: string, style: string, prepend?: boolean) => void;
534
- } | undefined;
535
- getReadingDirection: () => "ltr" | "rtl" | undefined;
536
- isUsingVerticalWriting: () => boolean;
537
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
538
- destroy: () => void;
539
- $: {
540
- unload$: Observable<void>;
541
- unloaded$: Observable<void>;
542
- loaded$: Observable<HTMLIFrameElement>;
543
- ready$: Observable<FontFaceSet | undefined>;
544
- isReady$: Observable<boolean>;
545
- contentLayoutChange$: Observable< {
546
- isFirstLayout: boolean;
547
- } | {
548
- isFirstLayout: boolean;
549
- }>;
550
- };
551
- };
552
- element: HTMLElement;
553
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
554
- getViewPortInformation: () => {
555
- computedScale: number;
556
- computedWidthScale: number;
557
- viewportDimensions: {
558
- width: number;
559
- height: number;
560
- };
561
- } | undefined;
562
- isImageType: () => boolean;
563
- isReady: () => boolean;
564
- destroy: () => void;
565
- isUsingVerticalWriting: () => boolean | undefined;
566
- getReadingDirection: () => "ltr" | "rtl" | undefined;
567
- manipulateSpineItem: (cb: (options: {
568
- container: HTMLElement;
569
- item: {
570
- id: string;
571
- href: string;
572
- renditionLayout: "reflowable" | "pre-paginated";
573
- progressionWeight: number;
574
- pageSpreadLeft: true | undefined;
575
- pageSpreadRight: true | undefined;
576
- mediaType?: string | undefined;
577
- };
578
- overlayElement: HTMLDivElement;
579
- } & ({
580
- frame: HTMLIFrameElement;
581
- removeStyle: (id: string) => void;
582
- addStyle: (id: string, style: string, prepend?: boolean) => void;
583
- } | {
584
- frame: undefined;
585
- removeStyle: (id: string) => void;
586
- addStyle: (id: string, style: string) => void;
587
- })) => boolean) => boolean;
588
- executeOnLayoutBeforeMeasurementHook: (options: {
589
- minimumWidth: number;
590
- }) => void;
591
- selectionTracker: {
592
- track: (frameToTrack: HTMLIFrameElement) => void;
593
- destroy: () => void;
594
- isSelecting: () => boolean;
595
- getSelection: () => Selection | undefined;
596
- $: Observable< {
597
- event: "selectionchange";
598
- data: Selection | null;
599
- } | {
600
- event: "selectstart";
601
- data: Selection | null;
602
- } | {
603
- event: "selectend";
604
- data: Selection | null;
605
- }>;
606
- };
607
- fingerTracker: {
608
- track: (frame: HTMLIFrameElement) => void;
609
- getFingerPositionInIframe(): {
610
- x: number | undefined;
611
- y: number | undefined;
612
- } | undefined;
613
- destroy: () => void;
614
- $: Observable< {
615
- event: "fingermove";
616
- data: {
617
- x: number;
618
- y: number;
619
- };
620
- } | {
621
- event: "fingerout";
622
- data: undefined;
623
- }>;
624
- };
625
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
626
- columnHeight: number;
627
- columnWidth: number;
628
- width: number;
629
- };
630
- getDimensionsForPaginatedContent: () => {
631
- columnHeight: number;
632
- columnWidth: number;
633
- };
634
- $: {
635
- contentLayout$: Observable< {
636
- isFirstLayout: boolean;
637
- isReady: boolean;
638
- }>;
639
- loaded$: Observable<HTMLIFrameElement>;
640
- isReady$: Observable<boolean>;
641
- };
642
- }) => UnsafeSpineItemPosition);
643
- getSpineItemFromPosition: ((position: UnsafeSpinePosition) => {
644
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
645
- blankPagePosition: "after" | "before" | "none";
646
- minimumWidth: number;
647
- spreadPosition: "none" | "left" | "right";
648
- }) => {
649
- width: number;
650
- height: number;
651
- };
652
- item: {
653
- id: string;
654
- href: string;
655
- renditionLayout: "reflowable" | "pre-paginated";
656
- progressionWeight: number;
657
- pageSpreadLeft: true | undefined;
658
- pageSpreadRight: true | undefined;
659
- mediaType?: string | undefined;
660
- };
661
- load: () => void;
662
- adjustPositionOfElement: ({ right, left, top }: {
663
- right?: number | undefined;
664
- left?: number | undefined;
665
- top?: number | undefined;
666
- }) => void;
667
- getElementDimensions: () => {
668
- width: number;
669
- height: number;
670
- };
671
- getHtmlFromResource: (response: Response) => Promise<string>;
672
- getResource: () => Promise<Response>;
673
- translateFramePositionIntoPage: (position: {
674
- clientX: number;
675
- clientY: number;
676
- }) => {
677
- clientX: number;
678
- clientY: number;
679
- };
680
- setLayoutDirty: () => void;
681
- injectStyle: (cssText: string) => void;
682
- loadContent: () => void;
683
- unloadContent: () => void;
684
- spineItemFrame: {
685
- getIsLoaded: () => boolean;
686
- getIsReady: () => boolean;
687
- getViewportDimensions: () => {
688
- width: number;
689
- height: number;
690
- } | undefined;
691
- getFrameElement: () => HTMLIFrameElement | undefined;
692
- getHtmlFromResource: (response: Response) => Promise<string>;
693
- load: () => void;
694
- unload: () => void;
695
- staticLayout: (size: {
696
- width: number;
697
- height: number;
698
- }) => void;
699
- getManipulableFrame: () => {
700
- frame: HTMLIFrameElement;
701
- removeStyle: (id: string) => void;
702
- addStyle: (id: string, style: string, prepend?: boolean) => void;
703
- } | undefined;
704
- getReadingDirection: () => "ltr" | "rtl" | undefined;
705
- isUsingVerticalWriting: () => boolean;
706
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
707
- destroy: () => void;
708
- $: {
709
- unload$: Observable<void>;
710
- unloaded$: Observable<void>;
711
- loaded$: Observable<HTMLIFrameElement>;
712
- ready$: Observable<FontFaceSet | undefined>;
713
- isReady$: Observable<boolean>;
714
- contentLayoutChange$: Observable< {
715
- isFirstLayout: boolean;
716
- } | {
717
- isFirstLayout: boolean;
718
- }>;
719
- };
720
- };
721
- element: HTMLElement;
722
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
723
- getViewPortInformation: () => {
724
- computedScale: number;
725
- computedWidthScale: number;
726
- viewportDimensions: {
727
- width: number;
728
- height: number;
729
- };
730
- } | undefined;
731
- isImageType: () => boolean;
732
- isReady: () => boolean;
733
- destroy: () => void;
734
- isUsingVerticalWriting: () => boolean | undefined;
735
- getReadingDirection: () => "ltr" | "rtl" | undefined;
736
- manipulateSpineItem: (cb: (options: {
737
- container: HTMLElement;
738
- item: {
739
- id: string;
740
- href: string;
741
- renditionLayout: "reflowable" | "pre-paginated";
742
- progressionWeight: number;
743
- pageSpreadLeft: true | undefined;
744
- pageSpreadRight: true | undefined;
745
- mediaType?: string | undefined;
746
- };
747
- overlayElement: HTMLDivElement;
748
- } & ({
749
- frame: HTMLIFrameElement;
750
- removeStyle: (id: string) => void;
751
- addStyle: (id: string, style: string, prepend?: boolean) => void;
752
- } | {
753
- frame: undefined;
754
- removeStyle: (id: string) => void;
755
- addStyle: (id: string, style: string) => void;
756
- })) => boolean) => boolean;
757
- executeOnLayoutBeforeMeasurementHook: (options: {
758
- minimumWidth: number;
759
- }) => void;
760
- selectionTracker: {
761
- track: (frameToTrack: HTMLIFrameElement) => void;
762
- destroy: () => void;
763
- isSelecting: () => boolean;
764
- getSelection: () => Selection | undefined;
765
- $: Observable< {
766
- event: "selectionchange";
767
- data: Selection | null;
768
- } | {
769
- event: "selectstart";
770
- data: Selection | null;
771
- } | {
772
- event: "selectend";
773
- data: Selection | null;
774
- }>;
775
- };
776
- fingerTracker: {
777
- track: (frame: HTMLIFrameElement) => void;
778
- getFingerPositionInIframe(): {
779
- x: number | undefined;
780
- y: number | undefined;
781
- } | undefined;
782
- destroy: () => void;
783
- $: Observable< {
784
- event: "fingermove";
785
- data: {
786
- x: number;
787
- y: number;
788
- };
789
- } | {
790
- event: "fingerout";
791
- data: undefined;
792
- }>;
793
- };
794
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
795
- columnHeight: number;
796
- columnWidth: number;
797
- width: number;
798
- };
799
- getDimensionsForPaginatedContent: () => {
800
- columnHeight: number;
801
- columnWidth: number;
802
- };
803
- $: {
804
- contentLayout$: Observable< {
805
- isFirstLayout: boolean;
806
- isReady: boolean;
807
- }>;
808
- loaded$: Observable<HTMLIFrameElement>;
809
- isReady$: Observable<boolean>;
810
- };
811
- } | undefined) | ((position: UnsafeSpinePosition) => {
812
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
813
- blankPagePosition: "after" | "before" | "none";
814
- minimumWidth: number;
815
- spreadPosition: "none" | "left" | "right";
816
- }) => {
817
- width: number;
818
- height: number;
819
- };
820
- item: {
821
- id: string;
822
- href: string;
823
- renditionLayout: "reflowable" | "pre-paginated";
824
- progressionWeight: number;
825
- pageSpreadLeft: true | undefined;
826
- pageSpreadRight: true | undefined;
827
- mediaType?: string | undefined;
828
- };
829
- load: () => void;
830
- adjustPositionOfElement: ({ right, left, top }: {
831
- right?: number | undefined;
832
- left?: number | undefined;
833
- top?: number | undefined;
834
- }) => void;
835
- getElementDimensions: () => {
836
- width: number;
837
- height: number;
838
- };
839
- getHtmlFromResource: (response: Response) => Promise<string>;
840
- getResource: () => Promise<Response>;
841
- translateFramePositionIntoPage: (position: {
842
- clientX: number;
843
- clientY: number;
844
- }) => {
845
- clientX: number;
846
- clientY: number;
847
- };
848
- setLayoutDirty: () => void;
849
- injectStyle: (cssText: string) => void;
850
- loadContent: () => void;
851
- unloadContent: () => void;
852
- spineItemFrame: {
853
- getIsLoaded: () => boolean;
854
- getIsReady: () => boolean;
855
- getViewportDimensions: () => {
856
- width: number;
857
- height: number;
858
- } | undefined;
859
- getFrameElement: () => HTMLIFrameElement | undefined;
860
- getHtmlFromResource: (response: Response) => Promise<string>;
861
- load: () => void;
862
- unload: () => void;
863
- staticLayout: (size: {
864
- width: number;
865
- height: number;
866
- }) => void;
867
- getManipulableFrame: () => {
868
- frame: HTMLIFrameElement;
869
- removeStyle: (id: string) => void;
870
- addStyle: (id: string, style: string, prepend?: boolean) => void;
871
- } | undefined;
872
- getReadingDirection: () => "ltr" | "rtl" | undefined;
873
- isUsingVerticalWriting: () => boolean;
874
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
875
- destroy: () => void;
876
- $: {
877
- unload$: Observable<void>;
878
- unloaded$: Observable<void>;
879
- loaded$: Observable<HTMLIFrameElement>;
880
- ready$: Observable<FontFaceSet | undefined>;
881
- isReady$: Observable<boolean>;
882
- contentLayoutChange$: Observable< {
883
- isFirstLayout: boolean;
884
- } | {
885
- isFirstLayout: boolean;
886
- }>;
887
- };
888
- };
889
- element: HTMLElement;
890
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
891
- getViewPortInformation: () => {
892
- computedScale: number;
893
- computedWidthScale: number;
894
- viewportDimensions: {
895
- width: number;
896
- height: number;
897
- };
898
- } | undefined;
899
- isImageType: () => boolean;
900
- isReady: () => boolean;
901
- destroy: () => void;
902
- isUsingVerticalWriting: () => boolean | undefined;
903
- getReadingDirection: () => "ltr" | "rtl" | undefined;
904
- manipulateSpineItem: (cb: (options: {
905
- container: HTMLElement;
906
- item: {
907
- id: string;
908
- href: string;
909
- renditionLayout: "reflowable" | "pre-paginated";
910
- progressionWeight: number;
911
- pageSpreadLeft: true | undefined;
912
- pageSpreadRight: true | undefined;
913
- mediaType?: string | undefined;
914
- };
915
- overlayElement: HTMLDivElement;
916
- } & ({
917
- frame: HTMLIFrameElement;
918
- removeStyle: (id: string) => void;
919
- addStyle: (id: string, style: string, prepend?: boolean) => void;
920
- } | {
921
- frame: undefined;
922
- removeStyle: (id: string) => void;
923
- addStyle: (id: string, style: string) => void;
924
- })) => boolean) => boolean;
925
- executeOnLayoutBeforeMeasurementHook: (options: {
926
- minimumWidth: number;
927
- }) => void;
928
- selectionTracker: {
929
- track: (frameToTrack: HTMLIFrameElement) => void;
930
- destroy: () => void;
931
- isSelecting: () => boolean;
932
- getSelection: () => Selection | undefined;
933
- $: Observable< {
934
- event: "selectionchange";
935
- data: Selection | null;
936
- } | {
937
- event: "selectstart";
938
- data: Selection | null;
939
- } | {
940
- event: "selectend";
941
- data: Selection | null;
942
- }>;
943
- };
944
- fingerTracker: {
945
- track: (frame: HTMLIFrameElement) => void;
946
- getFingerPositionInIframe(): {
947
- x: number | undefined;
948
- y: number | undefined;
949
- } | undefined;
950
- destroy: () => void;
951
- $: Observable< {
952
- event: "fingermove";
953
- data: {
954
- x: number;
955
- y: number;
956
- };
957
- } | {
958
- event: "fingerout";
959
- data: undefined;
960
- }>;
961
- };
962
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
963
- columnHeight: number;
964
- columnWidth: number;
965
- width: number;
966
- };
967
- getDimensionsForPaginatedContent: () => {
968
- columnHeight: number;
969
- columnWidth: number;
970
- };
971
- $: {
972
- contentLayout$: Observable< {
973
- isFirstLayout: boolean;
974
- isReady: boolean;
975
- }>;
976
- loaded$: Observable<HTMLIFrameElement>;
977
- isReady$: Observable<boolean>;
978
- };
979
- } | undefined);
980
- getSpineItemFromIframe: (iframe: Element) => {
981
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
982
- blankPagePosition: "after" | "before" | "none";
983
- minimumWidth: number;
984
- spreadPosition: "none" | "left" | "right";
985
- }) => {
986
- width: number;
987
- height: number;
988
- };
989
- item: {
990
- id: string;
991
- href: string;
992
- renditionLayout: "reflowable" | "pre-paginated";
993
- progressionWeight: number;
994
- pageSpreadLeft: true | undefined;
995
- pageSpreadRight: true | undefined;
996
- mediaType?: string | undefined;
997
- };
998
- load: () => void;
999
- adjustPositionOfElement: ({ right, left, top }: {
1000
- right?: number | undefined;
1001
- left?: number | undefined;
1002
- top?: number | undefined;
1003
- }) => void;
1004
- getElementDimensions: () => {
1005
- width: number;
1006
- height: number;
1007
- };
1008
- getHtmlFromResource: (response: Response) => Promise<string>;
1009
- getResource: () => Promise<Response>;
1010
- translateFramePositionIntoPage: (position: {
1011
- clientX: number;
1012
- clientY: number;
1013
- }) => {
1014
- clientX: number;
1015
- clientY: number;
1016
- };
1017
- setLayoutDirty: () => void;
1018
- injectStyle: (cssText: string) => void;
1019
- loadContent: () => void;
1020
- unloadContent: () => void;
1021
- spineItemFrame: {
1022
- getIsLoaded: () => boolean;
1023
- getIsReady: () => boolean;
1024
- getViewportDimensions: () => {
1025
- width: number;
1026
- height: number;
1027
- } | undefined;
1028
- getFrameElement: () => HTMLIFrameElement | undefined;
1029
- getHtmlFromResource: (response: Response) => Promise<string>;
1030
- load: () => void;
1031
- unload: () => void;
1032
- staticLayout: (size: {
1033
- width: number;
1034
- height: number;
1035
- }) => void;
1036
- getManipulableFrame: () => {
1037
- frame: HTMLIFrameElement;
1038
- removeStyle: (id: string) => void;
1039
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1040
- } | undefined;
1041
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1042
- isUsingVerticalWriting: () => boolean;
1043
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
1044
- destroy: () => void;
1045
- $: {
1046
- unload$: Observable<void>;
1047
- unloaded$: Observable<void>;
1048
- loaded$: Observable<HTMLIFrameElement>;
1049
- ready$: Observable<FontFaceSet | undefined>;
1050
- isReady$: Observable<boolean>;
1051
- contentLayoutChange$: Observable< {
1052
- isFirstLayout: boolean;
1053
- } | {
1054
- isFirstLayout: boolean;
1055
- }>;
1056
- };
1057
- };
1058
- element: HTMLElement;
1059
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
1060
- getViewPortInformation: () => {
1061
- computedScale: number;
1062
- computedWidthScale: number;
1063
- viewportDimensions: {
1064
- width: number;
1065
- height: number;
1066
- };
1067
- } | undefined;
1068
- isImageType: () => boolean;
1069
- isReady: () => boolean;
1070
- destroy: () => void;
1071
- isUsingVerticalWriting: () => boolean | undefined;
1072
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1073
- manipulateSpineItem: (cb: (options: {
1074
- container: HTMLElement;
1075
- item: {
1076
- id: string;
1077
- href: string;
1078
- renditionLayout: "reflowable" | "pre-paginated";
1079
- progressionWeight: number;
1080
- pageSpreadLeft: true | undefined;
1081
- pageSpreadRight: true | undefined;
1082
- mediaType?: string | undefined;
1083
- };
1084
- overlayElement: HTMLDivElement;
1085
- } & ({
1086
- frame: HTMLIFrameElement;
1087
- removeStyle: (id: string) => void;
1088
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1089
- } | {
1090
- frame: undefined;
1091
- removeStyle: (id: string) => void;
1092
- addStyle: (id: string, style: string) => void;
1093
- })) => boolean) => boolean;
1094
- executeOnLayoutBeforeMeasurementHook: (options: {
1095
- minimumWidth: number;
1096
- }) => void;
1097
- selectionTracker: {
1098
- track: (frameToTrack: HTMLIFrameElement) => void;
1099
- destroy: () => void;
1100
- isSelecting: () => boolean;
1101
- getSelection: () => Selection | undefined;
1102
- $: Observable< {
1103
- event: "selectionchange";
1104
- data: Selection | null;
1105
- } | {
1106
- event: "selectstart";
1107
- data: Selection | null;
1108
- } | {
1109
- event: "selectend";
1110
- data: Selection | null;
1111
- }>;
1112
- };
1113
- fingerTracker: {
1114
- track: (frame: HTMLIFrameElement) => void;
1115
- getFingerPositionInIframe(): {
1116
- x: number | undefined;
1117
- y: number | undefined;
1118
- } | undefined;
1119
- destroy: () => void;
1120
- $: Observable< {
1121
- event: "fingermove";
1122
- data: {
1123
- x: number;
1124
- y: number;
1125
- };
1126
- } | {
1127
- event: "fingerout";
1128
- data: undefined;
1129
- }>;
1130
- };
1131
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
1132
- columnHeight: number;
1133
- columnWidth: number;
1134
- width: number;
1135
- };
1136
- getDimensionsForPaginatedContent: () => {
1137
- columnHeight: number;
1138
- columnWidth: number;
1139
- };
1140
- $: {
1141
- contentLayout$: Observable< {
1142
- isFirstLayout: boolean;
1143
- isReady: boolean;
1144
- }>;
1145
- loaded$: Observable<HTMLIFrameElement>;
1146
- isReady$: Observable<boolean>;
1147
- };
1148
- } | undefined;
1149
- getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
1150
- getSpineItemsFromReadingOrderPosition: (position: SpinePosition) => {
1151
- begin: number;
1152
- beginPosition: SpinePosition;
1153
- end: number;
1154
- endPosition: SpinePosition;
1155
- } | undefined;
1156
- };
1157
-
1158
- declare const createLocationResolver_2: ({ context }: {
1159
- context: Context_2;
1160
- }) => {
1161
- getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => {
1162
- x: number;
1163
- y: number;
1164
- } | undefined;
1165
- getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) => SpineItemPosition;
1166
- getSpineItemOffsetFromAnchor: (anchor: string, spineItem: SpineItem) => number;
1167
- getSpineItemPageIndexFromPosition: (position: UnsafeSpineItemPosition, spineItem: SpineItem) => number;
1168
- getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
1169
- getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: UnsafeSpineItemPosition, spineItem: SpineItem) => {
1170
- x: number;
1171
- y: number;
1172
- };
1173
- getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
1174
- node: Node;
1175
- offset: number;
1176
- } | undefined;
1177
- };
1178
-
1179
- declare const createPagination: ({ context }: {
1180
- context: Context_2;
1181
- spineItemManager: SpineItemManager;
1182
- }) => {
1183
- destroy: () => void;
1184
- updateBeginAndEnd: ((begin: {
1185
- spineItem: SpineItem;
1186
- pageIndex: number;
1187
- cfi: string | undefined;
1188
- options: {
1189
- isAtEndOfChapter?: boolean;
1190
- };
1191
- } & {
1192
- spineItemIndex: number;
1193
- }, end: {
1194
- spineItem: SpineItem;
1195
- pageIndex: number;
1196
- cfi: string | undefined;
1197
- options: {
1198
- isAtEndOfChapter?: boolean;
1199
- };
1200
- } & {
1201
- spineItemIndex: number;
1202
- }) => void) | ((begin: {
1203
- spineItem: SpineItem;
1204
- pageIndex: number;
1205
- cfi: string | undefined;
1206
- options: {
1207
- isAtEndOfChapter?: boolean;
1208
- };
1209
- } & {
1210
- spineItemIndex: number;
1211
- }, end: {
1212
- spineItem: SpineItem;
1213
- pageIndex: number;
1214
- cfi: string | undefined;
1215
- options: {
1216
- isAtEndOfChapter?: boolean;
1217
- };
1218
- } & {
1219
- spineItemIndex: number;
1220
- }) => void);
1221
- getPaginationInfo: () => PaginationInfo;
1222
- paginationInfo$: Observable<PaginationInfo>;
1223
- };
1224
-
1225
- export declare const createReader: (options: {
1226
- hooks?: Hook[] | undefined;
1227
- } & Pick<Partial<InputSettings>, "pageTurnMode" | "pageTurnDirection" | "pageTurnAnimation" | "forceSinglePageMode" | "navigationSnapThreshold" | "numberOfAdjacentSpineItemToPreLoad"> & {
1228
- theme?: Theme | undefined;
1229
- } & SettingsInput & {
1230
- layoutAutoResize?: false | "container" | undefined;
1231
- } & {
1232
- fontScale?: number | undefined;
1233
- lineHeight?: number | "publisher" | undefined;
1234
- fontWeight?: 300 | 200 | 100 | 400 | 500 | 600 | 700 | 800 | 900 | "publisher" | undefined;
1235
- fontJustification?: "center" | "left" | "right" | "justify" | "publisher" | undefined;
1236
- } & {
1237
- loadingElementCreate?: ((options: {
1238
- container: HTMLElement;
1239
- item: {
1240
- id: string;
1241
- href: string;
1242
- renditionLayout: "reflowable" | "pre-paginated";
1243
- progressionWeight: number;
1244
- pageSpreadLeft: true | undefined;
1245
- pageSpreadRight: true | undefined;
1246
- mediaType?: string | undefined;
1247
- };
1248
- }) => HTMLElement) | undefined;
1249
- }) => Omit<Omit<Omit<Omit<ReaderInternal & {
1250
- progression: {
1251
- getPercentageEstimate: (context: Context_2, currentSpineIndex: number, numberOfPages: number, pageIndex: number, currentPosition: {
1252
- x: number;
1253
- y: number;
1254
- }, currentItem: {
1255
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1256
- blankPagePosition: "after" | "before" | "none";
1257
- minimumWidth: number;
1258
- spreadPosition: "none" | "left" | "right";
1259
- }) => {
1260
- width: number;
1261
- height: number;
1262
- };
1263
- item: {
1264
- id: string;
1265
- href: string;
1266
- renditionLayout: "reflowable" | "pre-paginated";
1267
- progressionWeight: number;
1268
- pageSpreadLeft: true | undefined;
1269
- pageSpreadRight: true | undefined;
1270
- mediaType?: string | undefined;
1271
- };
1272
- load: () => void;
1273
- adjustPositionOfElement: ({ right, left, top }: {
1274
- right?: number | undefined;
1275
- left?: number | undefined;
1276
- top?: number | undefined;
1277
- }) => void;
1278
- getElementDimensions: () => {
1279
- width: number;
1280
- height: number;
1281
- };
1282
- getHtmlFromResource: (response: Response) => Promise<string>;
1283
- getResource: () => Promise<Response>;
1284
- translateFramePositionIntoPage: (position: {
1285
- clientX: number;
1286
- clientY: number;
1287
- }) => {
1288
- clientX: number;
1289
- clientY: number;
1290
- };
1291
- setLayoutDirty: () => void;
1292
- injectStyle: (cssText: string) => void;
1293
- loadContent: () => void;
1294
- unloadContent: () => void;
1295
- spineItemFrame: {
1296
- getIsLoaded: () => boolean;
1297
- getIsReady: () => boolean;
1298
- getViewportDimensions: () => {
1299
- width: number;
1300
- height: number;
1301
- } | undefined;
1302
- getFrameElement: () => HTMLIFrameElement | undefined;
1303
- getHtmlFromResource: (response: Response) => Promise<string>;
1304
- load: () => void;
1305
- unload: () => void;
1306
- staticLayout: (size: {
1307
- width: number;
1308
- height: number;
1309
- }) => void;
1310
- getManipulableFrame: () => {
1311
- frame: HTMLIFrameElement;
1312
- removeStyle: (id: string) => void;
1313
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1314
- } | undefined;
1315
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1316
- isUsingVerticalWriting: () => boolean;
1317
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
1318
- destroy: () => void;
1319
- $: {
1320
- unload$: Observable<void>;
1321
- unloaded$: Observable<void>;
1322
- loaded$: Observable<HTMLIFrameElement>;
1323
- ready$: Observable<FontFaceSet | undefined>;
1324
- isReady$: Observable<boolean>;
1325
- contentLayoutChange$: Observable< {
1326
- isFirstLayout: boolean;
1327
- } | {
1328
- isFirstLayout: boolean;
1329
- }>;
1330
- };
1331
- };
1332
- element: HTMLElement;
1333
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
1334
- getViewPortInformation: () => {
1335
- computedScale: number;
1336
- computedWidthScale: number;
1337
- viewportDimensions: {
1338
- width: number;
1339
- height: number;
1340
- };
1341
- } | undefined;
1342
- isImageType: () => boolean;
1343
- isReady: () => boolean;
1344
- destroy: () => void;
1345
- isUsingVerticalWriting: () => boolean | undefined;
1346
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1347
- manipulateSpineItem: (cb: (options: {
1348
- container: HTMLElement;
1349
- item: {
1350
- id: string;
1351
- href: string;
1352
- renditionLayout: "reflowable" | "pre-paginated";
1353
- progressionWeight: number;
1354
- pageSpreadLeft: true | undefined;
1355
- pageSpreadRight: true | undefined;
1356
- mediaType?: string | undefined;
1357
- };
1358
- overlayElement: HTMLDivElement;
1359
- } & ({
1360
- frame: HTMLIFrameElement;
1361
- removeStyle: (id: string) => void;
1362
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1363
- } | {
1364
- frame: undefined;
1365
- removeStyle: (id: string) => void;
1366
- addStyle: (id: string, style: string) => void;
1367
- })) => boolean) => boolean;
1368
- executeOnLayoutBeforeMeasurementHook: (options: {
1369
- minimumWidth: number;
1370
- }) => void;
1371
- selectionTracker: {
1372
- track: (frameToTrack: HTMLIFrameElement) => void;
1373
- destroy: () => void;
1374
- isSelecting: () => boolean;
1375
- getSelection: () => Selection | undefined;
1376
- $: Observable< {
1377
- event: "selectionchange";
1378
- data: Selection | null;
1379
- } | {
1380
- event: "selectstart";
1381
- data: Selection | null;
1382
- } | {
1383
- event: "selectend";
1384
- data: Selection | null;
1385
- }>;
1386
- };
1387
- fingerTracker: {
1388
- track: (frame: HTMLIFrameElement) => void;
1389
- getFingerPositionInIframe(): {
1390
- x: number | undefined;
1391
- y: number | undefined;
1392
- } | undefined;
1393
- destroy: () => void;
1394
- $: Observable< {
1395
- event: "fingermove";
1396
- data: {
1397
- x: number;
1398
- y: number;
1399
- };
1400
- } | {
1401
- event: "fingerout";
1402
- data: undefined;
1403
- }>;
1404
- };
1405
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
1406
- columnHeight: number;
1407
- columnWidth: number;
1408
- width: number;
1409
- };
1410
- getDimensionsForPaginatedContent: () => {
1411
- columnHeight: number;
1412
- columnWidth: number;
1413
- };
1414
- $: {
1415
- contentLayout$: Observable< {
1416
- isFirstLayout: boolean;
1417
- isReady: boolean;
1418
- }>;
1419
- loaded$: Observable<HTMLIFrameElement>;
1420
- isReady$: Observable<boolean>;
1421
- };
1422
- }) => number;
1423
- getScrollPercentageWithinItem: (context: Context_2, currentPosition: {
1424
- x: number;
1425
- y: number;
1426
- }, currentItem: {
1427
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1428
- blankPagePosition: "after" | "before" | "none";
1429
- minimumWidth: number;
1430
- spreadPosition: "none" | "left" | "right";
1431
- }) => {
1432
- width: number;
1433
- height: number;
1434
- };
1435
- item: {
1436
- id: string;
1437
- href: string;
1438
- renditionLayout: "reflowable" | "pre-paginated";
1439
- progressionWeight: number;
1440
- pageSpreadLeft: true | undefined;
1441
- pageSpreadRight: true | undefined;
1442
- mediaType?: string | undefined;
1443
- };
1444
- load: () => void;
1445
- adjustPositionOfElement: ({ right, left, top }: {
1446
- right?: number | undefined;
1447
- left?: number | undefined;
1448
- top?: number | undefined;
1449
- }) => void;
1450
- getElementDimensions: () => {
1451
- width: number;
1452
- height: number;
1453
- };
1454
- getHtmlFromResource: (response: Response) => Promise<string>;
1455
- getResource: () => Promise<Response>;
1456
- translateFramePositionIntoPage: (position: {
1457
- clientX: number;
1458
- clientY: number;
1459
- }) => {
1460
- clientX: number;
1461
- clientY: number;
1462
- };
1463
- setLayoutDirty: () => void;
1464
- injectStyle: (cssText: string) => void;
1465
- loadContent: () => void;
1466
- unloadContent: () => void;
1467
- spineItemFrame: {
1468
- getIsLoaded: () => boolean;
1469
- getIsReady: () => boolean;
1470
- getViewportDimensions: () => {
1471
- width: number;
1472
- height: number;
1473
- } | undefined;
1474
- getFrameElement: () => HTMLIFrameElement | undefined;
1475
- getHtmlFromResource: (response: Response) => Promise<string>;
1476
- load: () => void;
1477
- unload: () => void;
1478
- staticLayout: (size: {
1479
- width: number;
1480
- height: number;
1481
- }) => void;
1482
- getManipulableFrame: () => {
1483
- frame: HTMLIFrameElement;
1484
- removeStyle: (id: string) => void;
1485
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1486
- } | undefined;
1487
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1488
- isUsingVerticalWriting: () => boolean;
1489
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
1490
- destroy: () => void;
1491
- $: {
1492
- unload$: Observable<void>;
1493
- unloaded$: Observable<void>;
1494
- loaded$: Observable<HTMLIFrameElement>;
1495
- ready$: Observable<FontFaceSet | undefined>;
1496
- isReady$: Observable<boolean>;
1497
- contentLayoutChange$: Observable< {
1498
- isFirstLayout: boolean;
1499
- } | {
1500
- isFirstLayout: boolean;
1501
- }>;
1502
- };
1503
- };
1504
- element: HTMLElement;
1505
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
1506
- getViewPortInformation: () => {
1507
- computedScale: number;
1508
- computedWidthScale: number;
1509
- viewportDimensions: {
1510
- width: number;
1511
- height: number;
1512
- };
1513
- } | undefined;
1514
- isImageType: () => boolean;
1515
- isReady: () => boolean;
1516
- destroy: () => void;
1517
- isUsingVerticalWriting: () => boolean | undefined;
1518
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1519
- manipulateSpineItem: (cb: (options: {
1520
- container: HTMLElement;
1521
- item: {
1522
- id: string;
1523
- href: string;
1524
- renditionLayout: "reflowable" | "pre-paginated";
1525
- progressionWeight: number;
1526
- pageSpreadLeft: true | undefined;
1527
- pageSpreadRight: true | undefined;
1528
- mediaType?: string | undefined;
1529
- };
1530
- overlayElement: HTMLDivElement;
1531
- } & ({
1532
- frame: HTMLIFrameElement;
1533
- removeStyle: (id: string) => void;
1534
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1535
- } | {
1536
- frame: undefined;
1537
- removeStyle: (id: string) => void;
1538
- addStyle: (id: string, style: string) => void;
1539
- })) => boolean) => boolean;
1540
- executeOnLayoutBeforeMeasurementHook: (options: {
1541
- minimumWidth: number;
1542
- }) => void;
1543
- selectionTracker: {
1544
- track: (frameToTrack: HTMLIFrameElement) => void;
1545
- destroy: () => void;
1546
- isSelecting: () => boolean;
1547
- getSelection: () => Selection | undefined;
1548
- $: Observable< {
1549
- event: "selectionchange";
1550
- data: Selection | null;
1551
- } | {
1552
- event: "selectstart";
1553
- data: Selection | null;
1554
- } | {
1555
- event: "selectend";
1556
- data: Selection | null;
1557
- }>;
1558
- };
1559
- fingerTracker: {
1560
- track: (frame: HTMLIFrameElement) => void;
1561
- getFingerPositionInIframe(): {
1562
- x: number | undefined;
1563
- y: number | undefined;
1564
- } | undefined;
1565
- destroy: () => void;
1566
- $: Observable< {
1567
- event: "fingermove";
1568
- data: {
1569
- x: number;
1570
- y: number;
1571
- };
1572
- } | {
1573
- event: "fingerout";
1574
- data: undefined;
1575
- }>;
1576
- };
1577
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
1578
- columnHeight: number;
1579
- columnWidth: number;
1580
- width: number;
1581
- };
1582
- getDimensionsForPaginatedContent: () => {
1583
- columnHeight: number;
1584
- columnWidth: number;
1585
- };
1586
- $: {
1587
- contentLayout$: Observable< {
1588
- isFirstLayout: boolean;
1589
- isReady: boolean;
1590
- }>;
1591
- loaded$: Observable<HTMLIFrameElement>;
1592
- isReady$: Observable<boolean>;
1593
- };
1594
- }) => number;
1595
- };
1596
- }, "pagination"> & {
1597
- pagination: Omit<{
1598
- destroy: () => void;
1599
- updateBeginAndEnd: ((begin: {
1600
- spineItem: {
1601
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1602
- blankPagePosition: "after" | "before" | "none";
1603
- minimumWidth: number;
1604
- spreadPosition: "none" | "left" | "right";
1605
- }) => {
1606
- width: number;
1607
- height: number;
1608
- };
1609
- item: {
1610
- id: string;
1611
- href: string;
1612
- renditionLayout: "reflowable" | "pre-paginated";
1613
- progressionWeight: number;
1614
- pageSpreadLeft: true | undefined;
1615
- pageSpreadRight: true | undefined;
1616
- mediaType?: string | undefined;
1617
- };
1618
- load: () => void;
1619
- adjustPositionOfElement: ({ right, left, top }: {
1620
- right?: number | undefined;
1621
- left?: number | undefined;
1622
- top?: number | undefined;
1623
- }) => void;
1624
- getElementDimensions: () => {
1625
- width: number;
1626
- height: number;
1627
- };
1628
- getHtmlFromResource: (response: Response) => Promise<string>;
1629
- getResource: () => Promise<Response>;
1630
- translateFramePositionIntoPage: (position: {
1631
- clientX: number;
1632
- clientY: number;
1633
- }) => {
1634
- clientX: number;
1635
- clientY: number;
1636
- };
1637
- setLayoutDirty: () => void;
1638
- injectStyle: (cssText: string) => void;
1639
- loadContent: () => void;
1640
- unloadContent: () => void;
1641
- spineItemFrame: {
1642
- getIsLoaded: () => boolean;
1643
- getIsReady: () => boolean;
1644
- getViewportDimensions: () => {
1645
- width: number;
1646
- height: number;
1647
- } | undefined;
1648
- getFrameElement: () => HTMLIFrameElement | undefined;
1649
- getHtmlFromResource: (response: Response) => Promise<string>;
1650
- load: () => void;
1651
- unload: () => void;
1652
- staticLayout: (size: {
1653
- width: number;
1654
- height: number;
1655
- }) => void;
1656
- getManipulableFrame: () => {
1657
- frame: HTMLIFrameElement;
1658
- removeStyle: (id: string) => void;
1659
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1660
- } | undefined;
1661
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1662
- isUsingVerticalWriting: () => boolean;
1663
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
1664
- destroy: () => void;
1665
- $: {
1666
- unload$: Observable<void>;
1667
- unloaded$: Observable<void>;
1668
- loaded$: Observable<HTMLIFrameElement>;
1669
- ready$: Observable<FontFaceSet | undefined>;
1670
- isReady$: Observable<boolean>;
1671
- contentLayoutChange$: Observable< {
1672
- isFirstLayout: boolean;
1673
- } | {
1674
- isFirstLayout: boolean;
1675
- }>;
1676
- };
1677
- };
1678
- element: HTMLElement;
1679
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
1680
- getViewPortInformation: () => {
1681
- computedScale: number;
1682
- computedWidthScale: number;
1683
- viewportDimensions: {
1684
- width: number;
1685
- height: number;
1686
- };
1687
- } | undefined;
1688
- isImageType: () => boolean;
1689
- isReady: () => boolean;
1690
- destroy: () => void;
1691
- isUsingVerticalWriting: () => boolean | undefined;
1692
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1693
- manipulateSpineItem: (cb: (options: {
1694
- container: HTMLElement;
1695
- item: {
1696
- id: string;
1697
- href: string;
1698
- renditionLayout: "reflowable" | "pre-paginated";
1699
- progressionWeight: number;
1700
- pageSpreadLeft: true | undefined;
1701
- pageSpreadRight: true | undefined;
1702
- mediaType?: string | undefined;
1703
- };
1704
- overlayElement: HTMLDivElement;
1705
- } & ({
1706
- frame: HTMLIFrameElement;
1707
- removeStyle: (id: string) => void;
1708
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1709
- } | {
1710
- frame: undefined;
1711
- removeStyle: (id: string) => void;
1712
- addStyle: (id: string, style: string) => void;
1713
- })) => boolean) => boolean;
1714
- executeOnLayoutBeforeMeasurementHook: (options: {
1715
- minimumWidth: number;
1716
- }) => void;
1717
- selectionTracker: {
1718
- track: (frameToTrack: HTMLIFrameElement) => void;
1719
- destroy: () => void;
1720
- isSelecting: () => boolean;
1721
- getSelection: () => Selection | undefined;
1722
- $: Observable< {
1723
- event: "selectionchange";
1724
- data: Selection | null;
1725
- } | {
1726
- event: "selectstart";
1727
- data: Selection | null;
1728
- } | {
1729
- event: "selectend";
1730
- data: Selection | null;
1731
- }>;
1732
- };
1733
- fingerTracker: {
1734
- track: (frame: HTMLIFrameElement) => void;
1735
- getFingerPositionInIframe(): {
1736
- x: number | undefined;
1737
- y: number | undefined;
1738
- } | undefined;
1739
- destroy: () => void;
1740
- $: Observable< {
1741
- event: "fingermove";
1742
- data: {
1743
- x: number;
1744
- y: number;
1745
- };
1746
- } | {
1747
- event: "fingerout";
1748
- data: undefined;
1749
- }>;
1750
- };
1751
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
1752
- columnHeight: number;
1753
- columnWidth: number;
1754
- width: number;
1755
- };
1756
- getDimensionsForPaginatedContent: () => {
1757
- columnHeight: number;
1758
- columnWidth: number;
1759
- };
1760
- $: {
1761
- contentLayout$: Observable< {
1762
- isFirstLayout: boolean;
1763
- isReady: boolean;
1764
- }>;
1765
- loaded$: Observable<HTMLIFrameElement>;
1766
- isReady$: Observable<boolean>;
1767
- };
1768
- };
1769
- pageIndex: number;
1770
- cfi: string | undefined;
1771
- options: {
1772
- isAtEndOfChapter?: boolean | undefined;
1773
- };
1774
- } & {
1775
- spineItemIndex: number;
1776
- }, end: {
1777
- spineItem: {
1778
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1779
- blankPagePosition: "after" | "before" | "none";
1780
- minimumWidth: number;
1781
- spreadPosition: "none" | "left" | "right";
1782
- }) => {
1783
- width: number;
1784
- height: number;
1785
- };
1786
- item: {
1787
- id: string;
1788
- href: string;
1789
- renditionLayout: "reflowable" | "pre-paginated";
1790
- progressionWeight: number;
1791
- pageSpreadLeft: true | undefined;
1792
- pageSpreadRight: true | undefined;
1793
- mediaType?: string | undefined;
1794
- };
1795
- load: () => void;
1796
- adjustPositionOfElement: ({ right, left, top }: {
1797
- right?: number | undefined;
1798
- left?: number | undefined;
1799
- top?: number | undefined;
1800
- }) => void;
1801
- getElementDimensions: () => {
1802
- width: number;
1803
- height: number;
1804
- };
1805
- getHtmlFromResource: (response: Response) => Promise<string>;
1806
- getResource: () => Promise<Response>;
1807
- translateFramePositionIntoPage: (position: {
1808
- clientX: number;
1809
- clientY: number;
1810
- }) => {
1811
- clientX: number;
1812
- clientY: number;
1813
- };
1814
- setLayoutDirty: () => void;
1815
- injectStyle: (cssText: string) => void;
1816
- loadContent: () => void;
1817
- unloadContent: () => void;
1818
- spineItemFrame: {
1819
- getIsLoaded: () => boolean;
1820
- getIsReady: () => boolean;
1821
- getViewportDimensions: () => {
1822
- width: number;
1823
- height: number;
1824
- } | undefined;
1825
- getFrameElement: () => HTMLIFrameElement | undefined;
1826
- getHtmlFromResource: (response: Response) => Promise<string>;
1827
- load: () => void;
1828
- unload: () => void;
1829
- staticLayout: (size: {
1830
- width: number;
1831
- height: number;
1832
- }) => void;
1833
- getManipulableFrame: () => {
1834
- frame: HTMLIFrameElement;
1835
- removeStyle: (id: string) => void;
1836
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1837
- } | undefined;
1838
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1839
- isUsingVerticalWriting: () => boolean;
1840
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
1841
- destroy: () => void;
1842
- $: {
1843
- unload$: Observable<void>;
1844
- unloaded$: Observable<void>;
1845
- loaded$: Observable<HTMLIFrameElement>;
1846
- ready$: Observable<FontFaceSet | undefined>;
1847
- isReady$: Observable<boolean>;
1848
- contentLayoutChange$: Observable< {
1849
- isFirstLayout: boolean;
1850
- } | {
1851
- isFirstLayout: boolean;
1852
- }>;
1853
- };
1854
- };
1855
- element: HTMLElement;
1856
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
1857
- getViewPortInformation: () => {
1858
- computedScale: number;
1859
- computedWidthScale: number;
1860
- viewportDimensions: {
1861
- width: number;
1862
- height: number;
1863
- };
1864
- } | undefined;
1865
- isImageType: () => boolean;
1866
- isReady: () => boolean;
1867
- destroy: () => void;
1868
- isUsingVerticalWriting: () => boolean | undefined;
1869
- getReadingDirection: () => "ltr" | "rtl" | undefined;
1870
- manipulateSpineItem: (cb: (options: {
1871
- container: HTMLElement;
1872
- item: {
1873
- id: string;
1874
- href: string;
1875
- renditionLayout: "reflowable" | "pre-paginated";
1876
- progressionWeight: number;
1877
- pageSpreadLeft: true | undefined;
1878
- pageSpreadRight: true | undefined;
1879
- mediaType?: string | undefined;
1880
- };
1881
- overlayElement: HTMLDivElement;
1882
- } & ({
1883
- frame: HTMLIFrameElement;
1884
- removeStyle: (id: string) => void;
1885
- addStyle: (id: string, style: string, prepend?: boolean) => void;
1886
- } | {
1887
- frame: undefined;
1888
- removeStyle: (id: string) => void;
1889
- addStyle: (id: string, style: string) => void;
1890
- })) => boolean) => boolean;
1891
- executeOnLayoutBeforeMeasurementHook: (options: {
1892
- minimumWidth: number;
1893
- }) => void;
1894
- selectionTracker: {
1895
- track: (frameToTrack: HTMLIFrameElement) => void;
1896
- destroy: () => void;
1897
- isSelecting: () => boolean;
1898
- getSelection: () => Selection | undefined;
1899
- $: Observable< {
1900
- event: "selectionchange";
1901
- data: Selection | null;
1902
- } | {
1903
- event: "selectstart";
1904
- data: Selection | null;
1905
- } | {
1906
- event: "selectend";
1907
- data: Selection | null;
1908
- }>;
1909
- };
1910
- fingerTracker: {
1911
- track: (frame: HTMLIFrameElement) => void;
1912
- getFingerPositionInIframe(): {
1913
- x: number | undefined;
1914
- y: number | undefined;
1915
- } | undefined;
1916
- destroy: () => void;
1917
- $: Observable< {
1918
- event: "fingermove";
1919
- data: {
1920
- x: number;
1921
- y: number;
1922
- };
1923
- } | {
1924
- event: "fingerout";
1925
- data: undefined;
1926
- }>;
1927
- };
1928
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
1929
- columnHeight: number;
1930
- columnWidth: number;
1931
- width: number;
1932
- };
1933
- getDimensionsForPaginatedContent: () => {
1934
- columnHeight: number;
1935
- columnWidth: number;
1936
- };
1937
- $: {
1938
- contentLayout$: Observable< {
1939
- isFirstLayout: boolean;
1940
- isReady: boolean;
1941
- }>;
1942
- loaded$: Observable<HTMLIFrameElement>;
1943
- isReady$: Observable<boolean>;
1944
- };
1945
- };
1946
- pageIndex: number;
1947
- cfi: string | undefined;
1948
- options: {
1949
- isAtEndOfChapter?: boolean | undefined;
1950
- };
1951
- } & {
1952
- spineItemIndex: number;
1953
- }) => void) | ((begin: {
1954
- spineItem: {
1955
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1956
- blankPagePosition: "after" | "before" | "none";
1957
- minimumWidth: number;
1958
- spreadPosition: "none" | "left" | "right";
1959
- }) => {
1960
- width: number;
1961
- height: number;
1962
- };
1963
- item: {
1964
- id: string;
1965
- href: string;
1966
- renditionLayout: "reflowable" | "pre-paginated";
1967
- progressionWeight: number;
1968
- pageSpreadLeft: true | undefined;
1969
- pageSpreadRight: true | undefined;
1970
- mediaType?: string | undefined;
1971
- };
1972
- load: () => void;
1973
- adjustPositionOfElement: ({ right, left, top }: {
1974
- right?: number | undefined;
1975
- left?: number | undefined;
1976
- top?: number | undefined;
1977
- }) => void;
1978
- getElementDimensions: () => {
1979
- width: number;
1980
- height: number;
1981
- };
1982
- getHtmlFromResource: (response: Response) => Promise<string>;
1983
- getResource: () => Promise<Response>;
1984
- translateFramePositionIntoPage: (position: {
1985
- clientX: number;
1986
- clientY: number;
1987
- }) => {
1988
- clientX: number;
1989
- clientY: number;
1990
- };
1991
- setLayoutDirty: () => void;
1992
- injectStyle: (cssText: string) => void;
1993
- loadContent: () => void;
1994
- unloadContent: () => void;
1995
- spineItemFrame: {
1996
- getIsLoaded: () => boolean;
1997
- getIsReady: () => boolean;
1998
- getViewportDimensions: () => {
1999
- width: number;
2000
- height: number;
2001
- } | undefined;
2002
- getFrameElement: () => HTMLIFrameElement | undefined;
2003
- getHtmlFromResource: (response: Response) => Promise<string>;
2004
- load: () => void;
2005
- unload: () => void;
2006
- staticLayout: (size: {
2007
- width: number;
2008
- height: number;
2009
- }) => void;
2010
- getManipulableFrame: () => {
2011
- frame: HTMLIFrameElement;
2012
- removeStyle: (id: string) => void;
2013
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2014
- } | undefined;
2015
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2016
- isUsingVerticalWriting: () => boolean;
2017
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
2018
- destroy: () => void;
2019
- $: {
2020
- unload$: Observable<void>;
2021
- unloaded$: Observable<void>;
2022
- loaded$: Observable<HTMLIFrameElement>;
2023
- ready$: Observable<FontFaceSet | undefined>;
2024
- isReady$: Observable<boolean>;
2025
- contentLayoutChange$: Observable< {
2026
- isFirstLayout: boolean;
2027
- } | {
2028
- isFirstLayout: boolean;
2029
- }>;
2030
- };
2031
- };
2032
- element: HTMLElement;
2033
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
2034
- getViewPortInformation: () => {
2035
- computedScale: number;
2036
- computedWidthScale: number;
2037
- viewportDimensions: {
2038
- width: number;
2039
- height: number;
2040
- };
2041
- } | undefined;
2042
- isImageType: () => boolean;
2043
- isReady: () => boolean;
2044
- destroy: () => void;
2045
- isUsingVerticalWriting: () => boolean | undefined;
2046
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2047
- manipulateSpineItem: (cb: (options: {
2048
- container: HTMLElement;
2049
- item: {
2050
- id: string;
2051
- href: string;
2052
- renditionLayout: "reflowable" | "pre-paginated";
2053
- progressionWeight: number;
2054
- pageSpreadLeft: true | undefined;
2055
- pageSpreadRight: true | undefined;
2056
- mediaType?: string | undefined;
2057
- };
2058
- overlayElement: HTMLDivElement;
2059
- } & ({
2060
- frame: HTMLIFrameElement;
2061
- removeStyle: (id: string) => void;
2062
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2063
- } | {
2064
- frame: undefined;
2065
- removeStyle: (id: string) => void;
2066
- addStyle: (id: string, style: string) => void;
2067
- })) => boolean) => boolean;
2068
- executeOnLayoutBeforeMeasurementHook: (options: {
2069
- minimumWidth: number;
2070
- }) => void;
2071
- selectionTracker: {
2072
- track: (frameToTrack: HTMLIFrameElement) => void;
2073
- destroy: () => void;
2074
- isSelecting: () => boolean;
2075
- getSelection: () => Selection | undefined;
2076
- $: Observable< {
2077
- event: "selectionchange";
2078
- data: Selection | null;
2079
- } | {
2080
- event: "selectstart";
2081
- data: Selection | null;
2082
- } | {
2083
- event: "selectend";
2084
- data: Selection | null;
2085
- }>;
2086
- };
2087
- fingerTracker: {
2088
- track: (frame: HTMLIFrameElement) => void;
2089
- getFingerPositionInIframe(): {
2090
- x: number | undefined;
2091
- y: number | undefined;
2092
- } | undefined;
2093
- destroy: () => void;
2094
- $: Observable< {
2095
- event: "fingermove";
2096
- data: {
2097
- x: number;
2098
- y: number;
2099
- };
2100
- } | {
2101
- event: "fingerout";
2102
- data: undefined;
2103
- }>;
2104
- };
2105
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
2106
- columnHeight: number;
2107
- columnWidth: number;
2108
- width: number;
2109
- };
2110
- getDimensionsForPaginatedContent: () => {
2111
- columnHeight: number;
2112
- columnWidth: number;
2113
- };
2114
- $: {
2115
- contentLayout$: Observable< {
2116
- isFirstLayout: boolean;
2117
- isReady: boolean;
2118
- }>;
2119
- loaded$: Observable<HTMLIFrameElement>;
2120
- isReady$: Observable<boolean>;
2121
- };
2122
- };
2123
- pageIndex: number;
2124
- cfi: string | undefined;
2125
- options: {
2126
- isAtEndOfChapter?: boolean | undefined;
2127
- };
2128
- } & {
2129
- spineItemIndex: number;
2130
- }, end: {
2131
- spineItem: {
2132
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2133
- blankPagePosition: "after" | "before" | "none";
2134
- minimumWidth: number;
2135
- spreadPosition: "none" | "left" | "right";
2136
- }) => {
2137
- width: number;
2138
- height: number;
2139
- };
2140
- item: {
2141
- id: string;
2142
- href: string;
2143
- renditionLayout: "reflowable" | "pre-paginated";
2144
- progressionWeight: number;
2145
- pageSpreadLeft: true | undefined;
2146
- pageSpreadRight: true | undefined;
2147
- mediaType?: string | undefined;
2148
- };
2149
- load: () => void;
2150
- adjustPositionOfElement: ({ right, left, top }: {
2151
- right?: number | undefined;
2152
- left?: number | undefined;
2153
- top?: number | undefined;
2154
- }) => void;
2155
- getElementDimensions: () => {
2156
- width: number;
2157
- height: number;
2158
- };
2159
- getHtmlFromResource: (response: Response) => Promise<string>;
2160
- getResource: () => Promise<Response>;
2161
- translateFramePositionIntoPage: (position: {
2162
- clientX: number;
2163
- clientY: number;
2164
- }) => {
2165
- clientX: number;
2166
- clientY: number;
2167
- };
2168
- setLayoutDirty: () => void;
2169
- injectStyle: (cssText: string) => void;
2170
- loadContent: () => void;
2171
- unloadContent: () => void;
2172
- spineItemFrame: {
2173
- getIsLoaded: () => boolean;
2174
- getIsReady: () => boolean;
2175
- getViewportDimensions: () => {
2176
- width: number;
2177
- height: number;
2178
- } | undefined;
2179
- getFrameElement: () => HTMLIFrameElement | undefined;
2180
- getHtmlFromResource: (response: Response) => Promise<string>;
2181
- load: () => void;
2182
- unload: () => void;
2183
- staticLayout: (size: {
2184
- width: number;
2185
- height: number;
2186
- }) => void;
2187
- getManipulableFrame: () => {
2188
- frame: HTMLIFrameElement;
2189
- removeStyle: (id: string) => void;
2190
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2191
- } | undefined;
2192
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2193
- isUsingVerticalWriting: () => boolean;
2194
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
2195
- destroy: () => void;
2196
- $: {
2197
- unload$: Observable<void>;
2198
- unloaded$: Observable<void>;
2199
- loaded$: Observable<HTMLIFrameElement>;
2200
- ready$: Observable<FontFaceSet | undefined>;
2201
- isReady$: Observable<boolean>;
2202
- contentLayoutChange$: Observable< {
2203
- isFirstLayout: boolean;
2204
- } | {
2205
- isFirstLayout: boolean;
2206
- }>;
2207
- };
2208
- };
2209
- element: HTMLElement;
2210
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
2211
- getViewPortInformation: () => {
2212
- computedScale: number;
2213
- computedWidthScale: number;
2214
- viewportDimensions: {
2215
- width: number;
2216
- height: number;
2217
- };
2218
- } | undefined;
2219
- isImageType: () => boolean;
2220
- isReady: () => boolean;
2221
- destroy: () => void;
2222
- isUsingVerticalWriting: () => boolean | undefined;
2223
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2224
- manipulateSpineItem: (cb: (options: {
2225
- container: HTMLElement;
2226
- item: {
2227
- id: string;
2228
- href: string;
2229
- renditionLayout: "reflowable" | "pre-paginated";
2230
- progressionWeight: number;
2231
- pageSpreadLeft: true | undefined;
2232
- pageSpreadRight: true | undefined;
2233
- mediaType?: string | undefined;
2234
- };
2235
- overlayElement: HTMLDivElement;
2236
- } & ({
2237
- frame: HTMLIFrameElement;
2238
- removeStyle: (id: string) => void;
2239
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2240
- } | {
2241
- frame: undefined;
2242
- removeStyle: (id: string) => void;
2243
- addStyle: (id: string, style: string) => void;
2244
- })) => boolean) => boolean;
2245
- executeOnLayoutBeforeMeasurementHook: (options: {
2246
- minimumWidth: number;
2247
- }) => void;
2248
- selectionTracker: {
2249
- track: (frameToTrack: HTMLIFrameElement) => void;
2250
- destroy: () => void;
2251
- isSelecting: () => boolean;
2252
- getSelection: () => Selection | undefined;
2253
- $: Observable< {
2254
- event: "selectionchange";
2255
- data: Selection | null;
2256
- } | {
2257
- event: "selectstart";
2258
- data: Selection | null;
2259
- } | {
2260
- event: "selectend";
2261
- data: Selection | null;
2262
- }>;
2263
- };
2264
- fingerTracker: {
2265
- track: (frame: HTMLIFrameElement) => void;
2266
- getFingerPositionInIframe(): {
2267
- x: number | undefined;
2268
- y: number | undefined;
2269
- } | undefined;
2270
- destroy: () => void;
2271
- $: Observable< {
2272
- event: "fingermove";
2273
- data: {
2274
- x: number;
2275
- y: number;
2276
- };
2277
- } | {
2278
- event: "fingerout";
2279
- data: undefined;
2280
- }>;
2281
- };
2282
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
2283
- columnHeight: number;
2284
- columnWidth: number;
2285
- width: number;
2286
- };
2287
- getDimensionsForPaginatedContent: () => {
2288
- columnHeight: number;
2289
- columnWidth: number;
2290
- };
2291
- $: {
2292
- contentLayout$: Observable< {
2293
- isFirstLayout: boolean;
2294
- isReady: boolean;
2295
- }>;
2296
- loaded$: Observable<HTMLIFrameElement>;
2297
- isReady$: Observable<boolean>;
2298
- };
2299
- };
2300
- pageIndex: number;
2301
- cfi: string | undefined;
2302
- options: {
2303
- isAtEndOfChapter?: boolean | undefined;
2304
- };
2305
- } & {
2306
- spineItemIndex: number;
2307
- }) => void);
2308
- getPaginationInfo: () => PaginationInfo;
2309
- paginationInfo$: Observable<PaginationInfo>;
2310
- }, "paginationInfo$" | "getPaginationInfo"> & {
2311
- paginationInfo$: Observable<PaginationInfo & ExtraPaginationInfo>;
2312
- getPaginationInfo: () => PaginationInfo & ExtraPaginationInfo;
2313
- };
2314
- } & {
2315
- theme: {
2316
- set: (theme: Theme) => void;
2317
- get: () => Theme;
2318
- $: {
2319
- theme$: Observable<Theme>;
2320
- };
2321
- };
2322
- } & {
2323
- navigation: {
2324
- goToNextSpineItem: () => void;
2325
- goToPreviousSpineItem: () => void;
2326
- goToLeftSpineItem: () => void;
2327
- goToRightSpineItem: () => void;
2328
- } & {
2329
- state$: Observable< {
2330
- canGoTopSpineItem: boolean;
2331
- canGoBottomSpineItem: boolean;
2332
- canGoLeftSpineItem: boolean;
2333
- canGoRightSpineItem: boolean;
2334
- }>;
2335
- };
2336
- } & Api, "settings"> & {
2337
- settings: Omit<{
2338
- settings$: Observable<InputSettings & {
2339
- computedPageTurnMode: "controlled" | "scrollable";
2340
- computedPageTurnDirection: "vertical" | "horizontal";
2341
- computedPageTurnAnimation: "none" | "fade" | "slide";
2342
- computedPageTurnAnimationDuration: number;
2343
- computedSnapAnimationDuration: number;
2344
- }>;
2345
- setSettings: (data: Partial<InputSettings>) => void;
2346
- getSettings: () => OutputSettings;
2347
- }, "settings$" | "setSettings"> & {
2348
- settings$: Observable<InputSettings & {
2349
- computedPageTurnMode: "controlled" | "scrollable";
2350
- computedPageTurnDirection: "vertical" | "horizontal";
2351
- computedPageTurnAnimation: "none" | "fade" | "slide";
2352
- computedPageTurnAnimationDuration: number;
2353
- computedSnapAnimationDuration: number;
2354
- } & Required<SettingsInput>>;
2355
- setSettings: (settings: Partial<InputSettings> & SettingsInput) => void;
2356
- };
2357
- } & {
2358
- utils: {
2359
- isOrIsWithinValidLink: (target: EventTarget | null) => boolean;
2360
- };
2361
- } & {
2362
- $: {
2363
- links$: Observable< {
2364
- event: "linkClicked";
2365
- data: HTMLAnchorElement;
2366
- isNavigable: boolean;
2367
- }>;
2368
- };
2369
- }, "settings"> & {
2370
- settings: Omit<Omit<{
2371
- settings$: Observable<InputSettings & {
2372
- computedPageTurnMode: "controlled" | "scrollable";
2373
- computedPageTurnDirection: "vertical" | "horizontal";
2374
- computedPageTurnAnimation: "none" | "fade" | "slide";
2375
- computedPageTurnAnimationDuration: number;
2376
- computedSnapAnimationDuration: number;
2377
- }>;
2378
- setSettings: (data: Partial<InputSettings>) => void;
2379
- getSettings: () => OutputSettings;
2380
- }, "settings$" | "setSettings"> & {
2381
- settings$: Observable<InputSettings & {
2382
- computedPageTurnMode: "controlled" | "scrollable";
2383
- computedPageTurnDirection: "vertical" | "horizontal";
2384
- computedPageTurnAnimation: "none" | "fade" | "slide";
2385
- computedPageTurnAnimationDuration: number;
2386
- computedSnapAnimationDuration: number;
2387
- } & Required<SettingsInput>>;
2388
- setSettings: (settings: Partial<InputSettings> & SettingsInput) => void;
2389
- }, "settings$" | "setSettings"> & {
2390
- settings$: Observable<InputSettings & {
2391
- computedPageTurnMode: "controlled" | "scrollable";
2392
- computedPageTurnDirection: "vertical" | "horizontal";
2393
- computedPageTurnAnimation: "none" | "fade" | "slide";
2394
- computedPageTurnAnimationDuration: number;
2395
- computedSnapAnimationDuration: number;
2396
- } & Required<SettingsInput> & Required<{
2397
- fontScale?: number | undefined;
2398
- lineHeight?: number | "publisher" | undefined;
2399
- fontWeight?: 300 | 200 | 100 | 400 | 500 | 600 | 700 | 800 | 900 | "publisher" | undefined;
2400
- fontJustification?: "center" | "left" | "right" | "justify" | "publisher" | undefined;
2401
- }>>;
2402
- setSettings: (settings: Partial<InputSettings> & SettingsInput & {
2403
- fontScale?: number | undefined;
2404
- lineHeight?: number | "publisher" | undefined;
2405
- fontWeight?: 300 | 200 | 100 | 400 | 500 | 600 | 700 | 800 | 900 | "publisher" | undefined;
2406
- fontJustification?: "center" | "left" | "right" | "justify" | "publisher" | undefined;
2407
- }) => void;
2408
- };
2409
- } & {
2410
- loading: {
2411
- $: {
2412
- items$: Observable< {
2413
- [key: string]: HTMLElement;
2414
- }>;
2415
- };
2416
- };
2417
- }, "pagination"> & {
2418
- pagination: Pick<Omit<{
2419
- destroy: () => void;
2420
- updateBeginAndEnd: ((begin: {
2421
- spineItem: {
2422
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2423
- blankPagePosition: "after" | "before" | "none";
2424
- minimumWidth: number;
2425
- spreadPosition: "none" | "left" | "right";
2426
- }) => {
2427
- width: number;
2428
- height: number;
2429
- };
2430
- item: {
2431
- id: string;
2432
- href: string;
2433
- renditionLayout: "reflowable" | "pre-paginated";
2434
- progressionWeight: number;
2435
- pageSpreadLeft: true | undefined;
2436
- pageSpreadRight: true | undefined;
2437
- mediaType?: string | undefined;
2438
- };
2439
- load: () => void;
2440
- adjustPositionOfElement: ({ right, left, top }: {
2441
- right?: number | undefined;
2442
- left?: number | undefined;
2443
- top?: number | undefined;
2444
- }) => void;
2445
- getElementDimensions: () => {
2446
- width: number;
2447
- height: number;
2448
- };
2449
- getHtmlFromResource: (response: Response) => Promise<string>;
2450
- getResource: () => Promise<Response>;
2451
- translateFramePositionIntoPage: (position: {
2452
- clientX: number;
2453
- clientY: number;
2454
- }) => {
2455
- clientX: number;
2456
- clientY: number;
2457
- };
2458
- setLayoutDirty: () => void;
2459
- injectStyle: (cssText: string) => void;
2460
- loadContent: () => void;
2461
- unloadContent: () => void;
2462
- spineItemFrame: {
2463
- getIsLoaded: () => boolean;
2464
- getIsReady: () => boolean;
2465
- getViewportDimensions: () => {
2466
- width: number;
2467
- height: number;
2468
- } | undefined;
2469
- getFrameElement: () => HTMLIFrameElement | undefined;
2470
- getHtmlFromResource: (response: Response) => Promise<string>;
2471
- load: () => void;
2472
- unload: () => void;
2473
- staticLayout: (size: {
2474
- width: number;
2475
- height: number;
2476
- }) => void;
2477
- getManipulableFrame: () => {
2478
- frame: HTMLIFrameElement;
2479
- removeStyle: (id: string) => void;
2480
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2481
- } | undefined;
2482
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2483
- isUsingVerticalWriting: () => boolean;
2484
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
2485
- destroy: () => void;
2486
- $: {
2487
- unload$: Observable<void>;
2488
- unloaded$: Observable<void>;
2489
- loaded$: Observable<HTMLIFrameElement>;
2490
- ready$: Observable<FontFaceSet | undefined>;
2491
- isReady$: Observable<boolean>;
2492
- contentLayoutChange$: Observable< {
2493
- isFirstLayout: boolean;
2494
- } | {
2495
- isFirstLayout: boolean;
2496
- }>;
2497
- };
2498
- };
2499
- element: HTMLElement;
2500
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
2501
- getViewPortInformation: () => {
2502
- computedScale: number;
2503
- computedWidthScale: number;
2504
- viewportDimensions: {
2505
- width: number;
2506
- height: number;
2507
- };
2508
- } | undefined;
2509
- isImageType: () => boolean;
2510
- isReady: () => boolean;
2511
- destroy: () => void;
2512
- isUsingVerticalWriting: () => boolean | undefined;
2513
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2514
- manipulateSpineItem: (cb: (options: {
2515
- container: HTMLElement;
2516
- item: {
2517
- id: string;
2518
- href: string;
2519
- renditionLayout: "reflowable" | "pre-paginated";
2520
- progressionWeight: number;
2521
- pageSpreadLeft: true | undefined;
2522
- pageSpreadRight: true | undefined;
2523
- mediaType?: string | undefined;
2524
- };
2525
- overlayElement: HTMLDivElement;
2526
- } & ({
2527
- frame: HTMLIFrameElement;
2528
- removeStyle: (id: string) => void;
2529
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2530
- } | {
2531
- frame: undefined;
2532
- removeStyle: (id: string) => void;
2533
- addStyle: (id: string, style: string) => void;
2534
- })) => boolean) => boolean;
2535
- executeOnLayoutBeforeMeasurementHook: (options: {
2536
- minimumWidth: number;
2537
- }) => void;
2538
- selectionTracker: {
2539
- track: (frameToTrack: HTMLIFrameElement) => void;
2540
- destroy: () => void;
2541
- isSelecting: () => boolean;
2542
- getSelection: () => Selection | undefined;
2543
- $: Observable< {
2544
- event: "selectionchange";
2545
- data: Selection | null;
2546
- } | {
2547
- event: "selectstart";
2548
- data: Selection | null;
2549
- } | {
2550
- event: "selectend";
2551
- data: Selection | null;
2552
- }>;
2553
- };
2554
- fingerTracker: {
2555
- track: (frame: HTMLIFrameElement) => void;
2556
- getFingerPositionInIframe(): {
2557
- x: number | undefined;
2558
- y: number | undefined;
2559
- } | undefined;
2560
- destroy: () => void;
2561
- $: Observable< {
2562
- event: "fingermove";
2563
- data: {
2564
- x: number;
2565
- y: number;
2566
- };
2567
- } | {
2568
- event: "fingerout";
2569
- data: undefined;
2570
- }>;
2571
- };
2572
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
2573
- columnHeight: number;
2574
- columnWidth: number;
2575
- width: number;
2576
- };
2577
- getDimensionsForPaginatedContent: () => {
2578
- columnHeight: number;
2579
- columnWidth: number;
2580
- };
2581
- $: {
2582
- contentLayout$: Observable< {
2583
- isFirstLayout: boolean;
2584
- isReady: boolean;
2585
- }>;
2586
- loaded$: Observable<HTMLIFrameElement>;
2587
- isReady$: Observable<boolean>;
2588
- };
2589
- };
2590
- pageIndex: number;
2591
- cfi: string | undefined;
2592
- options: {
2593
- isAtEndOfChapter?: boolean | undefined;
2594
- };
2595
- } & {
2596
- spineItemIndex: number;
2597
- }, end: {
2598
- spineItem: {
2599
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2600
- blankPagePosition: "after" | "before" | "none";
2601
- minimumWidth: number;
2602
- spreadPosition: "none" | "left" | "right";
2603
- }) => {
2604
- width: number;
2605
- height: number;
2606
- };
2607
- item: {
2608
- id: string;
2609
- href: string;
2610
- renditionLayout: "reflowable" | "pre-paginated";
2611
- progressionWeight: number;
2612
- pageSpreadLeft: true | undefined;
2613
- pageSpreadRight: true | undefined;
2614
- mediaType?: string | undefined;
2615
- };
2616
- load: () => void;
2617
- adjustPositionOfElement: ({ right, left, top }: {
2618
- right?: number | undefined;
2619
- left?: number | undefined;
2620
- top?: number | undefined;
2621
- }) => void;
2622
- getElementDimensions: () => {
2623
- width: number;
2624
- height: number;
2625
- };
2626
- getHtmlFromResource: (response: Response) => Promise<string>;
2627
- getResource: () => Promise<Response>;
2628
- translateFramePositionIntoPage: (position: {
2629
- clientX: number;
2630
- clientY: number;
2631
- }) => {
2632
- clientX: number;
2633
- clientY: number;
2634
- };
2635
- setLayoutDirty: () => void;
2636
- injectStyle: (cssText: string) => void;
2637
- loadContent: () => void;
2638
- unloadContent: () => void;
2639
- spineItemFrame: {
2640
- getIsLoaded: () => boolean;
2641
- getIsReady: () => boolean;
2642
- getViewportDimensions: () => {
2643
- width: number;
2644
- height: number;
2645
- } | undefined;
2646
- getFrameElement: () => HTMLIFrameElement | undefined;
2647
- getHtmlFromResource: (response: Response) => Promise<string>;
2648
- load: () => void;
2649
- unload: () => void;
2650
- staticLayout: (size: {
2651
- width: number;
2652
- height: number;
2653
- }) => void;
2654
- getManipulableFrame: () => {
2655
- frame: HTMLIFrameElement;
2656
- removeStyle: (id: string) => void;
2657
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2658
- } | undefined;
2659
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2660
- isUsingVerticalWriting: () => boolean;
2661
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
2662
- destroy: () => void;
2663
- $: {
2664
- unload$: Observable<void>;
2665
- unloaded$: Observable<void>;
2666
- loaded$: Observable<HTMLIFrameElement>;
2667
- ready$: Observable<FontFaceSet | undefined>;
2668
- isReady$: Observable<boolean>;
2669
- contentLayoutChange$: Observable< {
2670
- isFirstLayout: boolean;
2671
- } | {
2672
- isFirstLayout: boolean;
2673
- }>;
2674
- };
2675
- };
2676
- element: HTMLElement;
2677
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
2678
- getViewPortInformation: () => {
2679
- computedScale: number;
2680
- computedWidthScale: number;
2681
- viewportDimensions: {
2682
- width: number;
2683
- height: number;
2684
- };
2685
- } | undefined;
2686
- isImageType: () => boolean;
2687
- isReady: () => boolean;
2688
- destroy: () => void;
2689
- isUsingVerticalWriting: () => boolean | undefined;
2690
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2691
- manipulateSpineItem: (cb: (options: {
2692
- container: HTMLElement;
2693
- item: {
2694
- id: string;
2695
- href: string;
2696
- renditionLayout: "reflowable" | "pre-paginated";
2697
- progressionWeight: number;
2698
- pageSpreadLeft: true | undefined;
2699
- pageSpreadRight: true | undefined;
2700
- mediaType?: string | undefined;
2701
- };
2702
- overlayElement: HTMLDivElement;
2703
- } & ({
2704
- frame: HTMLIFrameElement;
2705
- removeStyle: (id: string) => void;
2706
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2707
- } | {
2708
- frame: undefined;
2709
- removeStyle: (id: string) => void;
2710
- addStyle: (id: string, style: string) => void;
2711
- })) => boolean) => boolean;
2712
- executeOnLayoutBeforeMeasurementHook: (options: {
2713
- minimumWidth: number;
2714
- }) => void;
2715
- selectionTracker: {
2716
- track: (frameToTrack: HTMLIFrameElement) => void;
2717
- destroy: () => void;
2718
- isSelecting: () => boolean;
2719
- getSelection: () => Selection | undefined;
2720
- $: Observable< {
2721
- event: "selectionchange";
2722
- data: Selection | null;
2723
- } | {
2724
- event: "selectstart";
2725
- data: Selection | null;
2726
- } | {
2727
- event: "selectend";
2728
- data: Selection | null;
2729
- }>;
2730
- };
2731
- fingerTracker: {
2732
- track: (frame: HTMLIFrameElement) => void;
2733
- getFingerPositionInIframe(): {
2734
- x: number | undefined;
2735
- y: number | undefined;
2736
- } | undefined;
2737
- destroy: () => void;
2738
- $: Observable< {
2739
- event: "fingermove";
2740
- data: {
2741
- x: number;
2742
- y: number;
2743
- };
2744
- } | {
2745
- event: "fingerout";
2746
- data: undefined;
2747
- }>;
2748
- };
2749
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
2750
- columnHeight: number;
2751
- columnWidth: number;
2752
- width: number;
2753
- };
2754
- getDimensionsForPaginatedContent: () => {
2755
- columnHeight: number;
2756
- columnWidth: number;
2757
- };
2758
- $: {
2759
- contentLayout$: Observable< {
2760
- isFirstLayout: boolean;
2761
- isReady: boolean;
2762
- }>;
2763
- loaded$: Observable<HTMLIFrameElement>;
2764
- isReady$: Observable<boolean>;
2765
- };
2766
- };
2767
- pageIndex: number;
2768
- cfi: string | undefined;
2769
- options: {
2770
- isAtEndOfChapter?: boolean | undefined;
2771
- };
2772
- } & {
2773
- spineItemIndex: number;
2774
- }) => void) | ((begin: {
2775
- spineItem: {
2776
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2777
- blankPagePosition: "after" | "before" | "none";
2778
- minimumWidth: number;
2779
- spreadPosition: "none" | "left" | "right";
2780
- }) => {
2781
- width: number;
2782
- height: number;
2783
- };
2784
- item: {
2785
- id: string;
2786
- href: string;
2787
- renditionLayout: "reflowable" | "pre-paginated";
2788
- progressionWeight: number;
2789
- pageSpreadLeft: true | undefined;
2790
- pageSpreadRight: true | undefined;
2791
- mediaType?: string | undefined;
2792
- };
2793
- load: () => void;
2794
- adjustPositionOfElement: ({ right, left, top }: {
2795
- right?: number | undefined;
2796
- left?: number | undefined;
2797
- top?: number | undefined;
2798
- }) => void;
2799
- getElementDimensions: () => {
2800
- width: number;
2801
- height: number;
2802
- };
2803
- getHtmlFromResource: (response: Response) => Promise<string>;
2804
- getResource: () => Promise<Response>;
2805
- translateFramePositionIntoPage: (position: {
2806
- clientX: number;
2807
- clientY: number;
2808
- }) => {
2809
- clientX: number;
2810
- clientY: number;
2811
- };
2812
- setLayoutDirty: () => void;
2813
- injectStyle: (cssText: string) => void;
2814
- loadContent: () => void;
2815
- unloadContent: () => void;
2816
- spineItemFrame: {
2817
- getIsLoaded: () => boolean;
2818
- getIsReady: () => boolean;
2819
- getViewportDimensions: () => {
2820
- width: number;
2821
- height: number;
2822
- } | undefined;
2823
- getFrameElement: () => HTMLIFrameElement | undefined;
2824
- getHtmlFromResource: (response: Response) => Promise<string>;
2825
- load: () => void;
2826
- unload: () => void;
2827
- staticLayout: (size: {
2828
- width: number;
2829
- height: number;
2830
- }) => void;
2831
- getManipulableFrame: () => {
2832
- frame: HTMLIFrameElement;
2833
- removeStyle: (id: string) => void;
2834
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2835
- } | undefined;
2836
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2837
- isUsingVerticalWriting: () => boolean;
2838
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
2839
- destroy: () => void;
2840
- $: {
2841
- unload$: Observable<void>;
2842
- unloaded$: Observable<void>;
2843
- loaded$: Observable<HTMLIFrameElement>;
2844
- ready$: Observable<FontFaceSet | undefined>;
2845
- isReady$: Observable<boolean>;
2846
- contentLayoutChange$: Observable< {
2847
- isFirstLayout: boolean;
2848
- } | {
2849
- isFirstLayout: boolean;
2850
- }>;
2851
- };
2852
- };
2853
- element: HTMLElement;
2854
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
2855
- getViewPortInformation: () => {
2856
- computedScale: number;
2857
- computedWidthScale: number;
2858
- viewportDimensions: {
2859
- width: number;
2860
- height: number;
2861
- };
2862
- } | undefined;
2863
- isImageType: () => boolean;
2864
- isReady: () => boolean;
2865
- destroy: () => void;
2866
- isUsingVerticalWriting: () => boolean | undefined;
2867
- getReadingDirection: () => "ltr" | "rtl" | undefined;
2868
- manipulateSpineItem: (cb: (options: {
2869
- container: HTMLElement;
2870
- item: {
2871
- id: string;
2872
- href: string;
2873
- renditionLayout: "reflowable" | "pre-paginated";
2874
- progressionWeight: number;
2875
- pageSpreadLeft: true | undefined;
2876
- pageSpreadRight: true | undefined;
2877
- mediaType?: string | undefined;
2878
- };
2879
- overlayElement: HTMLDivElement;
2880
- } & ({
2881
- frame: HTMLIFrameElement;
2882
- removeStyle: (id: string) => void;
2883
- addStyle: (id: string, style: string, prepend?: boolean) => void;
2884
- } | {
2885
- frame: undefined;
2886
- removeStyle: (id: string) => void;
2887
- addStyle: (id: string, style: string) => void;
2888
- })) => boolean) => boolean;
2889
- executeOnLayoutBeforeMeasurementHook: (options: {
2890
- minimumWidth: number;
2891
- }) => void;
2892
- selectionTracker: {
2893
- track: (frameToTrack: HTMLIFrameElement) => void;
2894
- destroy: () => void;
2895
- isSelecting: () => boolean;
2896
- getSelection: () => Selection | undefined;
2897
- $: Observable< {
2898
- event: "selectionchange";
2899
- data: Selection | null;
2900
- } | {
2901
- event: "selectstart";
2902
- data: Selection | null;
2903
- } | {
2904
- event: "selectend";
2905
- data: Selection | null;
2906
- }>;
2907
- };
2908
- fingerTracker: {
2909
- track: (frame: HTMLIFrameElement) => void;
2910
- getFingerPositionInIframe(): {
2911
- x: number | undefined;
2912
- y: number | undefined;
2913
- } | undefined;
2914
- destroy: () => void;
2915
- $: Observable< {
2916
- event: "fingermove";
2917
- data: {
2918
- x: number;
2919
- y: number;
2920
- };
2921
- } | {
2922
- event: "fingerout";
2923
- data: undefined;
2924
- }>;
2925
- };
2926
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
2927
- columnHeight: number;
2928
- columnWidth: number;
2929
- width: number;
2930
- };
2931
- getDimensionsForPaginatedContent: () => {
2932
- columnHeight: number;
2933
- columnWidth: number;
2934
- };
2935
- $: {
2936
- contentLayout$: Observable< {
2937
- isFirstLayout: boolean;
2938
- isReady: boolean;
2939
- }>;
2940
- loaded$: Observable<HTMLIFrameElement>;
2941
- isReady$: Observable<boolean>;
2942
- };
2943
- };
2944
- pageIndex: number;
2945
- cfi: string | undefined;
2946
- options: {
2947
- isAtEndOfChapter?: boolean | undefined;
2948
- };
2949
- } & {
2950
- spineItemIndex: number;
2951
- }, end: {
2952
- spineItem: {
2953
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2954
- blankPagePosition: "after" | "before" | "none";
2955
- minimumWidth: number;
2956
- spreadPosition: "none" | "left" | "right";
2957
- }) => {
2958
- width: number;
2959
- height: number;
2960
- };
2961
- item: {
2962
- id: string;
2963
- href: string;
2964
- renditionLayout: "reflowable" | "pre-paginated";
2965
- progressionWeight: number;
2966
- pageSpreadLeft: true | undefined;
2967
- pageSpreadRight: true | undefined;
2968
- mediaType?: string | undefined;
2969
- };
2970
- load: () => void;
2971
- adjustPositionOfElement: ({ right, left, top }: {
2972
- right?: number | undefined;
2973
- left?: number | undefined;
2974
- top?: number | undefined;
2975
- }) => void;
2976
- getElementDimensions: () => {
2977
- width: number;
2978
- height: number;
2979
- };
2980
- getHtmlFromResource: (response: Response) => Promise<string>;
2981
- getResource: () => Promise<Response>;
2982
- translateFramePositionIntoPage: (position: {
2983
- clientX: number;
2984
- clientY: number;
2985
- }) => {
2986
- clientX: number;
2987
- clientY: number;
2988
- };
2989
- setLayoutDirty: () => void;
2990
- injectStyle: (cssText: string) => void;
2991
- loadContent: () => void;
2992
- unloadContent: () => void;
2993
- spineItemFrame: {
2994
- getIsLoaded: () => boolean;
2995
- getIsReady: () => boolean;
2996
- getViewportDimensions: () => {
2997
- width: number;
2998
- height: number;
2999
- } | undefined;
3000
- getFrameElement: () => HTMLIFrameElement | undefined;
3001
- getHtmlFromResource: (response: Response) => Promise<string>;
3002
- load: () => void;
3003
- unload: () => void;
3004
- staticLayout: (size: {
3005
- width: number;
3006
- height: number;
3007
- }) => void;
3008
- getManipulableFrame: () => {
3009
- frame: HTMLIFrameElement;
3010
- removeStyle: (id: string) => void;
3011
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3012
- } | undefined;
3013
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3014
- isUsingVerticalWriting: () => boolean;
3015
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
3016
- destroy: () => void;
3017
- $: {
3018
- unload$: Observable<void>;
3019
- unloaded$: Observable<void>;
3020
- loaded$: Observable<HTMLIFrameElement>;
3021
- ready$: Observable<FontFaceSet | undefined>;
3022
- isReady$: Observable<boolean>;
3023
- contentLayoutChange$: Observable< {
3024
- isFirstLayout: boolean;
3025
- } | {
3026
- isFirstLayout: boolean;
3027
- }>;
3028
- };
3029
- };
3030
- element: HTMLElement;
3031
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
3032
- getViewPortInformation: () => {
3033
- computedScale: number;
3034
- computedWidthScale: number;
3035
- viewportDimensions: {
3036
- width: number;
3037
- height: number;
3038
- };
3039
- } | undefined;
3040
- isImageType: () => boolean;
3041
- isReady: () => boolean;
3042
- destroy: () => void;
3043
- isUsingVerticalWriting: () => boolean | undefined;
3044
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3045
- manipulateSpineItem: (cb: (options: {
3046
- container: HTMLElement;
3047
- item: {
3048
- id: string;
3049
- href: string;
3050
- renditionLayout: "reflowable" | "pre-paginated";
3051
- progressionWeight: number;
3052
- pageSpreadLeft: true | undefined;
3053
- pageSpreadRight: true | undefined;
3054
- mediaType?: string | undefined;
3055
- };
3056
- overlayElement: HTMLDivElement;
3057
- } & ({
3058
- frame: HTMLIFrameElement;
3059
- removeStyle: (id: string) => void;
3060
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3061
- } | {
3062
- frame: undefined;
3063
- removeStyle: (id: string) => void;
3064
- addStyle: (id: string, style: string) => void;
3065
- })) => boolean) => boolean;
3066
- executeOnLayoutBeforeMeasurementHook: (options: {
3067
- minimumWidth: number;
3068
- }) => void;
3069
- selectionTracker: {
3070
- track: (frameToTrack: HTMLIFrameElement) => void;
3071
- destroy: () => void;
3072
- isSelecting: () => boolean;
3073
- getSelection: () => Selection | undefined;
3074
- $: Observable< {
3075
- event: "selectionchange";
3076
- data: Selection | null;
3077
- } | {
3078
- event: "selectstart";
3079
- data: Selection | null;
3080
- } | {
3081
- event: "selectend";
3082
- data: Selection | null;
3083
- }>;
3084
- };
3085
- fingerTracker: {
3086
- track: (frame: HTMLIFrameElement) => void;
3087
- getFingerPositionInIframe(): {
3088
- x: number | undefined;
3089
- y: number | undefined;
3090
- } | undefined;
3091
- destroy: () => void;
3092
- $: Observable< {
3093
- event: "fingermove";
3094
- data: {
3095
- x: number;
3096
- y: number;
3097
- };
3098
- } | {
3099
- event: "fingerout";
3100
- data: undefined;
3101
- }>;
3102
- };
3103
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
3104
- columnHeight: number;
3105
- columnWidth: number;
3106
- width: number;
3107
- };
3108
- getDimensionsForPaginatedContent: () => {
3109
- columnHeight: number;
3110
- columnWidth: number;
3111
- };
3112
- $: {
3113
- contentLayout$: Observable< {
3114
- isFirstLayout: boolean;
3115
- isReady: boolean;
3116
- }>;
3117
- loaded$: Observable<HTMLIFrameElement>;
3118
- isReady$: Observable<boolean>;
3119
- };
3120
- };
3121
- pageIndex: number;
3122
- cfi: string | undefined;
3123
- options: {
3124
- isAtEndOfChapter?: boolean | undefined;
3125
- };
3126
- } & {
3127
- spineItemIndex: number;
3128
- }) => void);
3129
- getPaginationInfo: () => PaginationInfo;
3130
- paginationInfo$: Observable<PaginationInfo>;
3131
- }, "paginationInfo$" | "getPaginationInfo"> & {
3132
- paginationInfo$: Observable<PaginationInfo & ExtraPaginationInfo>;
3133
- getPaginationInfo: () => PaginationInfo & ExtraPaginationInfo;
3134
- }, "paginationInfo$" | "getPaginationInfo">;
3135
- };
3136
-
3137
- declare const createSelection: (selection: Selection, item: Manifest[`spineItems`][number]) => {
3138
- toString: () => string;
3139
- getAnchorCfi: () => string | undefined;
3140
- getFocusCfi: () => string | undefined;
3141
- };
3142
-
3143
- declare const createSettings: (initialSettings: Partial<InputSettings>) => {
3144
- getSettings: () => OutputSettings;
3145
- setSettings: (newSettings: Partial<InputSettings>, options: {
3146
- hasVerticalWriting?: boolean;
3147
- manifest?: Manifest | undefined;
3148
- }) => void;
3149
- recompute: (options: {
3150
- hasVerticalWriting?: boolean;
3151
- manifest?: Manifest | undefined;
3152
- }) => void;
3153
- destroy: () => void;
3154
- $: {
3155
- settings$: Observable<InputSettings & {
3156
- computedPageTurnMode: "controlled" | "scrollable";
3157
- computedPageTurnDirection: "vertical" | "horizontal";
3158
- computedPageTurnAnimation: "none" | "fade" | "slide";
3159
- computedPageTurnAnimationDuration: number;
3160
- computedSnapAnimationDuration: number;
3161
- }>;
3162
- };
3163
- };
3164
-
3165
- declare const createSpineItem: ({ item, context, containerElement, iframeEventBridgeElement$, hooks$, viewportState$, settings }: {
3166
- item: Manifest[`spineItems`][number];
3167
- containerElement: HTMLElement;
3168
- iframeEventBridgeElement$: BehaviorSubject<HTMLElement | undefined>;
3169
- context: Context_2;
3170
- hooks$: BehaviorSubject<Hook[]>;
3171
- viewportState$: Observable<`free` | `busy`>;
3172
- settings: Settings;
3173
- }) => {
3174
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
3175
- blankPagePosition: "after" | "before" | "none";
3176
- minimumWidth: number;
3177
- spreadPosition: "none" | "left" | "right";
3178
- }) => {
3179
- width: number;
3180
- height: number;
3181
- };
3182
- item: {
3183
- id: string;
3184
- href: string;
3185
- renditionLayout: "reflowable" | "pre-paginated";
3186
- progressionWeight: number;
3187
- pageSpreadLeft: true | undefined;
3188
- pageSpreadRight: true | undefined;
3189
- mediaType?: string | undefined;
3190
- };
3191
- load: () => void;
3192
- adjustPositionOfElement: ({ right, left, top }: {
3193
- right?: number | undefined;
3194
- left?: number | undefined;
3195
- top?: number | undefined;
3196
- }) => void;
3197
- getElementDimensions: () => {
3198
- width: number;
3199
- height: number;
3200
- };
3201
- getHtmlFromResource: (response: Response) => Promise<string>;
3202
- getResource: () => Promise<Response>;
3203
- translateFramePositionIntoPage: (position: {
3204
- clientX: number;
3205
- clientY: number;
3206
- }) => {
3207
- clientX: number;
3208
- clientY: number;
3209
- };
3210
- setLayoutDirty: () => void;
3211
- injectStyle: (cssText: string) => void;
3212
- loadContent: () => void;
3213
- unloadContent: () => void;
3214
- spineItemFrame: {
3215
- getIsLoaded: () => boolean;
3216
- getIsReady: () => boolean;
3217
- getViewportDimensions: () => {
3218
- width: number;
3219
- height: number;
3220
- } | undefined;
3221
- getFrameElement: () => HTMLIFrameElement | undefined;
3222
- getHtmlFromResource: (response: Response) => Promise<string>;
3223
- load: () => void;
3224
- unload: () => void;
3225
- staticLayout: (size: {
3226
- width: number;
3227
- height: number;
3228
- }) => void;
3229
- getManipulableFrame: () => {
3230
- frame: HTMLIFrameElement;
3231
- removeStyle: (id: string) => void;
3232
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3233
- } | undefined;
3234
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3235
- isUsingVerticalWriting: () => boolean;
3236
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
3237
- destroy: () => void;
3238
- $: {
3239
- unload$: Observable<void>;
3240
- unloaded$: Observable<void>;
3241
- loaded$: Observable<HTMLIFrameElement>;
3242
- ready$: Observable<FontFaceSet | undefined>;
3243
- isReady$: Observable<boolean>;
3244
- contentLayoutChange$: Observable<{
3245
- isFirstLayout: boolean;
3246
- } | {
3247
- isFirstLayout: boolean;
3248
- }>;
3249
- };
3250
- };
3251
- element: HTMLElement;
3252
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
3253
- getViewPortInformation: () => {
3254
- computedScale: number;
3255
- computedWidthScale: number;
3256
- viewportDimensions: {
3257
- width: number;
3258
- height: number;
3259
- };
3260
- } | undefined;
3261
- isImageType: () => boolean;
3262
- isReady: () => boolean;
3263
- destroy: () => void;
3264
- isUsingVerticalWriting: () => boolean | undefined;
3265
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3266
- manipulateSpineItem: (cb: (options: {
3267
- container: HTMLElement;
3268
- item: {
3269
- id: string;
3270
- href: string;
3271
- renditionLayout: "reflowable" | "pre-paginated";
3272
- progressionWeight: number;
3273
- pageSpreadLeft: true | undefined;
3274
- pageSpreadRight: true | undefined;
3275
- mediaType?: string | undefined;
3276
- };
3277
- overlayElement: HTMLDivElement;
3278
- } & ({
3279
- frame: HTMLIFrameElement;
3280
- removeStyle: (id: string) => void;
3281
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3282
- } | {
3283
- frame: undefined;
3284
- removeStyle: (id: string) => void;
3285
- addStyle: (id: string, style: string) => void;
3286
- })) => boolean) => boolean;
3287
- executeOnLayoutBeforeMeasurementHook: (options: {
3288
- minimumWidth: number;
3289
- }) => void;
3290
- selectionTracker: {
3291
- track: (frameToTrack: HTMLIFrameElement) => void;
3292
- destroy: () => void;
3293
- isSelecting: () => boolean;
3294
- getSelection: () => Selection | undefined;
3295
- $: Observable<{
3296
- event: "selectionchange";
3297
- data: Selection | null;
3298
- } | {
3299
- event: "selectstart";
3300
- data: Selection | null;
3301
- } | {
3302
- event: "selectend";
3303
- data: Selection | null;
3304
- }>;
3305
- };
3306
- fingerTracker: {
3307
- track: (frame: HTMLIFrameElement) => void;
3308
- getFingerPositionInIframe(): {
3309
- x: number | undefined;
3310
- y: number | undefined;
3311
- } | undefined;
3312
- destroy: () => void;
3313
- $: Observable<{
3314
- event: "fingermove";
3315
- data: {
3316
- x: number;
3317
- y: number;
3318
- };
3319
- } | {
3320
- event: "fingerout";
3321
- data: undefined;
3322
- }>;
3323
- };
3324
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
3325
- columnHeight: number;
3326
- columnWidth: number;
3327
- width: number;
3328
- };
3329
- getDimensionsForPaginatedContent: () => {
3330
- columnHeight: number;
3331
- columnWidth: number;
3332
- };
3333
- $: {
3334
- contentLayout$: Observable<{
3335
- isFirstLayout: boolean;
3336
- isReady: boolean;
3337
- }>;
3338
- loaded$: Observable<HTMLIFrameElement>;
3339
- isReady$: Observable<boolean>;
3340
- };
3341
- };
3342
-
3343
- declare const createSpineItemManager: ({ context, settings }: {
3344
- context: Context_2;
3345
- settings: Settings;
3346
- }) => {
3347
- destroyItems: () => void;
3348
- add: (spineItem: SpineItem) => void;
3349
- get: (indexOrId: number | string) => {
3350
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
3351
- blankPagePosition: "after" | "before" | "none";
3352
- minimumWidth: number;
3353
- spreadPosition: "none" | "left" | "right";
3354
- }) => {
3355
- width: number;
3356
- height: number;
3357
- };
3358
- item: {
3359
- id: string;
3360
- href: string;
3361
- renditionLayout: "reflowable" | "pre-paginated";
3362
- progressionWeight: number;
3363
- pageSpreadLeft: true | undefined;
3364
- pageSpreadRight: true | undefined;
3365
- mediaType?: string | undefined;
3366
- };
3367
- load: () => void;
3368
- adjustPositionOfElement: ({ right, left, top }: {
3369
- right?: number | undefined;
3370
- left?: number | undefined;
3371
- top?: number | undefined;
3372
- }) => void;
3373
- getElementDimensions: () => {
3374
- width: number;
3375
- height: number;
3376
- };
3377
- getHtmlFromResource: (response: Response) => Promise<string>;
3378
- getResource: () => Promise<Response>;
3379
- translateFramePositionIntoPage: (position: {
3380
- clientX: number;
3381
- clientY: number;
3382
- }) => {
3383
- clientX: number;
3384
- clientY: number;
3385
- };
3386
- setLayoutDirty: () => void;
3387
- injectStyle: (cssText: string) => void;
3388
- loadContent: () => void;
3389
- unloadContent: () => void;
3390
- spineItemFrame: {
3391
- getIsLoaded: () => boolean;
3392
- getIsReady: () => boolean;
3393
- getViewportDimensions: () => {
3394
- width: number;
3395
- height: number;
3396
- } | undefined;
3397
- getFrameElement: () => HTMLIFrameElement | undefined;
3398
- getHtmlFromResource: (response: Response) => Promise<string>;
3399
- load: () => void;
3400
- unload: () => void;
3401
- staticLayout: (size: {
3402
- width: number;
3403
- height: number;
3404
- }) => void;
3405
- getManipulableFrame: () => {
3406
- frame: HTMLIFrameElement;
3407
- removeStyle: (id: string) => void;
3408
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3409
- } | undefined;
3410
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3411
- isUsingVerticalWriting: () => boolean;
3412
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
3413
- destroy: () => void;
3414
- $: {
3415
- unload$: Observable<void>;
3416
- unloaded$: Observable<void>;
3417
- loaded$: Observable<HTMLIFrameElement>;
3418
- ready$: Observable<FontFaceSet | undefined>;
3419
- isReady$: Observable<boolean>;
3420
- contentLayoutChange$: Observable< {
3421
- isFirstLayout: boolean;
3422
- } | {
3423
- isFirstLayout: boolean;
3424
- }>;
3425
- };
3426
- };
3427
- element: HTMLElement;
3428
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
3429
- getViewPortInformation: () => {
3430
- computedScale: number;
3431
- computedWidthScale: number;
3432
- viewportDimensions: {
3433
- width: number;
3434
- height: number;
3435
- };
3436
- } | undefined;
3437
- isImageType: () => boolean;
3438
- isReady: () => boolean;
3439
- destroy: () => void;
3440
- isUsingVerticalWriting: () => boolean | undefined;
3441
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3442
- manipulateSpineItem: (cb: (options: {
3443
- container: HTMLElement;
3444
- item: {
3445
- id: string;
3446
- href: string;
3447
- renditionLayout: "reflowable" | "pre-paginated";
3448
- progressionWeight: number;
3449
- pageSpreadLeft: true | undefined;
3450
- pageSpreadRight: true | undefined;
3451
- mediaType?: string | undefined;
3452
- };
3453
- overlayElement: HTMLDivElement;
3454
- } & ({
3455
- frame: HTMLIFrameElement;
3456
- removeStyle: (id: string) => void;
3457
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3458
- } | {
3459
- frame: undefined;
3460
- removeStyle: (id: string) => void;
3461
- addStyle: (id: string, style: string) => void;
3462
- })) => boolean) => boolean;
3463
- executeOnLayoutBeforeMeasurementHook: (options: {
3464
- minimumWidth: number;
3465
- }) => void;
3466
- selectionTracker: {
3467
- track: (frameToTrack: HTMLIFrameElement) => void;
3468
- destroy: () => void;
3469
- isSelecting: () => boolean;
3470
- getSelection: () => Selection | undefined;
3471
- $: Observable< {
3472
- event: "selectionchange";
3473
- data: Selection | null;
3474
- } | {
3475
- event: "selectstart";
3476
- data: Selection | null;
3477
- } | {
3478
- event: "selectend";
3479
- data: Selection | null;
3480
- }>;
3481
- };
3482
- fingerTracker: {
3483
- track: (frame: HTMLIFrameElement) => void;
3484
- getFingerPositionInIframe(): {
3485
- x: number | undefined;
3486
- y: number | undefined;
3487
- } | undefined;
3488
- destroy: () => void;
3489
- $: Observable< {
3490
- event: "fingermove";
3491
- data: {
3492
- x: number;
3493
- y: number;
3494
- };
3495
- } | {
3496
- event: "fingerout";
3497
- data: undefined;
3498
- }>;
3499
- };
3500
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
3501
- columnHeight: number;
3502
- columnWidth: number;
3503
- width: number;
3504
- };
3505
- getDimensionsForPaginatedContent: () => {
3506
- columnHeight: number;
3507
- columnWidth: number;
3508
- };
3509
- $: {
3510
- contentLayout$: Observable< {
3511
- isFirstLayout: boolean;
3512
- isReady: boolean;
3513
- }>;
3514
- loaded$: Observable<HTMLIFrameElement>;
3515
- isReady$: Observable<boolean>;
3516
- };
3517
- } | undefined;
3518
- getAll: () => {
3519
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
3520
- blankPagePosition: "after" | "before" | "none";
3521
- minimumWidth: number;
3522
- spreadPosition: "none" | "left" | "right";
3523
- }) => {
3524
- width: number;
3525
- height: number;
3526
- };
3527
- item: {
3528
- id: string;
3529
- href: string;
3530
- renditionLayout: "reflowable" | "pre-paginated";
3531
- progressionWeight: number;
3532
- pageSpreadLeft: true | undefined;
3533
- pageSpreadRight: true | undefined;
3534
- mediaType?: string | undefined;
3535
- };
3536
- load: () => void;
3537
- adjustPositionOfElement: ({ right, left, top }: {
3538
- right?: number | undefined;
3539
- left?: number | undefined;
3540
- top?: number | undefined;
3541
- }) => void;
3542
- getElementDimensions: () => {
3543
- width: number;
3544
- height: number;
3545
- };
3546
- getHtmlFromResource: (response: Response) => Promise<string>;
3547
- getResource: () => Promise<Response>;
3548
- translateFramePositionIntoPage: (position: {
3549
- clientX: number;
3550
- clientY: number;
3551
- }) => {
3552
- clientX: number;
3553
- clientY: number;
3554
- };
3555
- setLayoutDirty: () => void;
3556
- injectStyle: (cssText: string) => void;
3557
- loadContent: () => void;
3558
- unloadContent: () => void;
3559
- spineItemFrame: {
3560
- getIsLoaded: () => boolean;
3561
- getIsReady: () => boolean;
3562
- getViewportDimensions: () => {
3563
- width: number;
3564
- height: number;
3565
- } | undefined;
3566
- getFrameElement: () => HTMLIFrameElement | undefined;
3567
- getHtmlFromResource: (response: Response) => Promise<string>;
3568
- load: () => void;
3569
- unload: () => void;
3570
- staticLayout: (size: {
3571
- width: number;
3572
- height: number;
3573
- }) => void;
3574
- getManipulableFrame: () => {
3575
- frame: HTMLIFrameElement;
3576
- removeStyle: (id: string) => void;
3577
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3578
- } | undefined;
3579
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3580
- isUsingVerticalWriting: () => boolean;
3581
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
3582
- destroy: () => void;
3583
- $: {
3584
- unload$: Observable<void>;
3585
- unloaded$: Observable<void>;
3586
- loaded$: Observable<HTMLIFrameElement>;
3587
- ready$: Observable<FontFaceSet | undefined>;
3588
- isReady$: Observable<boolean>;
3589
- contentLayoutChange$: Observable< {
3590
- isFirstLayout: boolean;
3591
- } | {
3592
- isFirstLayout: boolean;
3593
- }>;
3594
- };
3595
- };
3596
- element: HTMLElement;
3597
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
3598
- getViewPortInformation: () => {
3599
- computedScale: number;
3600
- computedWidthScale: number;
3601
- viewportDimensions: {
3602
- width: number;
3603
- height: number;
3604
- };
3605
- } | undefined;
3606
- isImageType: () => boolean;
3607
- isReady: () => boolean;
3608
- destroy: () => void;
3609
- isUsingVerticalWriting: () => boolean | undefined;
3610
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3611
- manipulateSpineItem: (cb: (options: {
3612
- container: HTMLElement;
3613
- item: {
3614
- id: string;
3615
- href: string;
3616
- renditionLayout: "reflowable" | "pre-paginated";
3617
- progressionWeight: number;
3618
- pageSpreadLeft: true | undefined;
3619
- pageSpreadRight: true | undefined;
3620
- mediaType?: string | undefined;
3621
- };
3622
- overlayElement: HTMLDivElement;
3623
- } & ({
3624
- frame: HTMLIFrameElement;
3625
- removeStyle: (id: string) => void;
3626
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3627
- } | {
3628
- frame: undefined;
3629
- removeStyle: (id: string) => void;
3630
- addStyle: (id: string, style: string) => void;
3631
- })) => boolean) => boolean;
3632
- executeOnLayoutBeforeMeasurementHook: (options: {
3633
- minimumWidth: number;
3634
- }) => void;
3635
- selectionTracker: {
3636
- track: (frameToTrack: HTMLIFrameElement) => void;
3637
- destroy: () => void;
3638
- isSelecting: () => boolean;
3639
- getSelection: () => Selection | undefined;
3640
- $: Observable< {
3641
- event: "selectionchange";
3642
- data: Selection | null;
3643
- } | {
3644
- event: "selectstart";
3645
- data: Selection | null;
3646
- } | {
3647
- event: "selectend";
3648
- data: Selection | null;
3649
- }>;
3650
- };
3651
- fingerTracker: {
3652
- track: (frame: HTMLIFrameElement) => void;
3653
- getFingerPositionInIframe(): {
3654
- x: number | undefined;
3655
- y: number | undefined;
3656
- } | undefined;
3657
- destroy: () => void;
3658
- $: Observable< {
3659
- event: "fingermove";
3660
- data: {
3661
- x: number;
3662
- y: number;
3663
- };
3664
- } | {
3665
- event: "fingerout";
3666
- data: undefined;
3667
- }>;
3668
- };
3669
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
3670
- columnHeight: number;
3671
- columnWidth: number;
3672
- width: number;
3673
- };
3674
- getDimensionsForPaginatedContent: () => {
3675
- columnHeight: number;
3676
- columnWidth: number;
3677
- };
3678
- $: {
3679
- contentLayout$: Observable< {
3680
- isFirstLayout: boolean;
3681
- isReady: boolean;
3682
- }>;
3683
- loaded$: Observable<HTMLIFrameElement>;
3684
- isReady$: Observable<boolean>;
3685
- };
3686
- }[];
3687
- getLength: () => number;
3688
- layout: () => void;
3689
- focus: (indexOrSpineItem: number | SpineItem) => void;
3690
- loadContents: ((rangeOfIndex: [number, number]) => void) | ((rangeOfIndex: [number, number]) => void);
3691
- comparePositionOf: (toCompare: SpineItem, withItem: SpineItem) => "after" | "before";
3692
- getAbsolutePositionOf: (spineItemOrIndex: SpineItem | number) => {
3693
- left: number;
3694
- right: number;
3695
- top: number;
3696
- bottom: number;
3697
- width: number;
3698
- height: number;
3699
- };
3700
- getFocusedSpineItem: () => {
3701
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
3702
- blankPagePosition: "after" | "before" | "none";
3703
- minimumWidth: number;
3704
- spreadPosition: "none" | "left" | "right";
3705
- }) => {
3706
- width: number;
3707
- height: number;
3708
- };
3709
- item: {
3710
- id: string;
3711
- href: string;
3712
- renditionLayout: "reflowable" | "pre-paginated";
3713
- progressionWeight: number;
3714
- pageSpreadLeft: true | undefined;
3715
- pageSpreadRight: true | undefined;
3716
- mediaType?: string | undefined;
3717
- };
3718
- load: () => void;
3719
- adjustPositionOfElement: ({ right, left, top }: {
3720
- right?: number | undefined;
3721
- left?: number | undefined;
3722
- top?: number | undefined;
3723
- }) => void;
3724
- getElementDimensions: () => {
3725
- width: number;
3726
- height: number;
3727
- };
3728
- getHtmlFromResource: (response: Response) => Promise<string>;
3729
- getResource: () => Promise<Response>;
3730
- translateFramePositionIntoPage: (position: {
3731
- clientX: number;
3732
- clientY: number;
3733
- }) => {
3734
- clientX: number;
3735
- clientY: number;
3736
- };
3737
- setLayoutDirty: () => void;
3738
- injectStyle: (cssText: string) => void;
3739
- loadContent: () => void;
3740
- unloadContent: () => void;
3741
- spineItemFrame: {
3742
- getIsLoaded: () => boolean;
3743
- getIsReady: () => boolean;
3744
- getViewportDimensions: () => {
3745
- width: number;
3746
- height: number;
3747
- } | undefined;
3748
- getFrameElement: () => HTMLIFrameElement | undefined;
3749
- getHtmlFromResource: (response: Response) => Promise<string>;
3750
- load: () => void;
3751
- unload: () => void;
3752
- staticLayout: (size: {
3753
- width: number;
3754
- height: number;
3755
- }) => void;
3756
- getManipulableFrame: () => {
3757
- frame: HTMLIFrameElement;
3758
- removeStyle: (id: string) => void;
3759
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3760
- } | undefined;
3761
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3762
- isUsingVerticalWriting: () => boolean;
3763
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
3764
- destroy: () => void;
3765
- $: {
3766
- unload$: Observable<void>;
3767
- unloaded$: Observable<void>;
3768
- loaded$: Observable<HTMLIFrameElement>;
3769
- ready$: Observable<FontFaceSet | undefined>;
3770
- isReady$: Observable<boolean>;
3771
- contentLayoutChange$: Observable< {
3772
- isFirstLayout: boolean;
3773
- } | {
3774
- isFirstLayout: boolean;
3775
- }>;
3776
- };
3777
- };
3778
- element: HTMLElement;
3779
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
3780
- getViewPortInformation: () => {
3781
- computedScale: number;
3782
- computedWidthScale: number;
3783
- viewportDimensions: {
3784
- width: number;
3785
- height: number;
3786
- };
3787
- } | undefined;
3788
- isImageType: () => boolean;
3789
- isReady: () => boolean;
3790
- destroy: () => void;
3791
- isUsingVerticalWriting: () => boolean | undefined;
3792
- getReadingDirection: () => "ltr" | "rtl" | undefined;
3793
- manipulateSpineItem: (cb: (options: {
3794
- container: HTMLElement;
3795
- item: {
3796
- id: string;
3797
- href: string;
3798
- renditionLayout: "reflowable" | "pre-paginated";
3799
- progressionWeight: number;
3800
- pageSpreadLeft: true | undefined;
3801
- pageSpreadRight: true | undefined;
3802
- mediaType?: string | undefined;
3803
- };
3804
- overlayElement: HTMLDivElement;
3805
- } & ({
3806
- frame: HTMLIFrameElement;
3807
- removeStyle: (id: string) => void;
3808
- addStyle: (id: string, style: string, prepend?: boolean) => void;
3809
- } | {
3810
- frame: undefined;
3811
- removeStyle: (id: string) => void;
3812
- addStyle: (id: string, style: string) => void;
3813
- })) => boolean) => boolean;
3814
- executeOnLayoutBeforeMeasurementHook: (options: {
3815
- minimumWidth: number;
3816
- }) => void;
3817
- selectionTracker: {
3818
- track: (frameToTrack: HTMLIFrameElement) => void;
3819
- destroy: () => void;
3820
- isSelecting: () => boolean;
3821
- getSelection: () => Selection | undefined;
3822
- $: Observable< {
3823
- event: "selectionchange";
3824
- data: Selection | null;
3825
- } | {
3826
- event: "selectstart";
3827
- data: Selection | null;
3828
- } | {
3829
- event: "selectend";
3830
- data: Selection | null;
3831
- }>;
3832
- };
3833
- fingerTracker: {
3834
- track: (frame: HTMLIFrameElement) => void;
3835
- getFingerPositionInIframe(): {
3836
- x: number | undefined;
3837
- y: number | undefined;
3838
- } | undefined;
3839
- destroy: () => void;
3840
- $: Observable< {
3841
- event: "fingermove";
3842
- data: {
3843
- x: number;
3844
- y: number;
3845
- };
3846
- } | {
3847
- event: "fingerout";
3848
- data: undefined;
3849
- }>;
3850
- };
3851
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
3852
- columnHeight: number;
3853
- columnWidth: number;
3854
- width: number;
3855
- };
3856
- getDimensionsForPaginatedContent: () => {
3857
- columnHeight: number;
3858
- columnWidth: number;
3859
- };
3860
- $: {
3861
- contentLayout$: Observable< {
3862
- isFirstLayout: boolean;
3863
- isReady: boolean;
3864
- }>;
3865
- loaded$: Observable<HTMLIFrameElement>;
3866
- isReady$: Observable<boolean>;
3867
- };
3868
- } | undefined;
3869
- getFocusedSpineItemIndex: () => number | undefined;
3870
- getSpineItemIndex: (spineItem: SpineItem | undefined) => number | undefined;
3871
- destroy: () => void;
3872
- $: {
3873
- focus$: Observable< {
3874
- data: SpineItem;
3875
- }>;
3876
- layout$: Observable<boolean>;
3877
- itemIsReady$: Observable< {
3878
- item: {
3879
- id: string;
3880
- href: string;
3881
- renditionLayout: "reflowable" | "pre-paginated";
3882
- progressionWeight: number;
3883
- pageSpreadLeft: true | undefined;
3884
- pageSpreadRight: true | undefined;
3885
- mediaType?: string | undefined;
3886
- };
3887
- isReady: boolean;
3888
- }>;
3889
- };
3890
- };
3891
-
3892
- declare const createViewportNavigator: ({ spineItemManager, context, pagination, parentElement$, cfiLocator, spineLocator, hooks$, spine, settings, }: {
3893
- spineItemManager: SpineItemManager;
3894
- pagination: Pagination;
3895
- context: Context_2;
3896
- parentElement$: BehaviorSubject<HTMLElement | undefined>;
3897
- cfiLocator: ReturnType<typeof createCfiLocator>;
3898
- spineLocator: ReturnType<typeof createLocationResolver>;
3899
- hooks$: BehaviorSubject<Hook[]>;
3900
- spine: Spine;
3901
- settings: Settings;
3902
- }) => {
3903
- destroy: () => void;
3904
- layout: () => void;
3905
- getCurrentNavigationPosition: () => ViewportNavigationEntry;
3906
- getCurrentViewportPosition: (() => {
3907
- x: number;
3908
- y: number;
3909
- }) | (() => {
3910
- x: number;
3911
- y: number;
3912
- });
3913
- turnLeft: ({ allowSpineItemChange }?: {
3914
- allowSpineItemChange?: boolean | undefined;
3915
- }) => void;
3916
- turnRight: ({ allowSpineItemChange }?: {
3917
- allowSpineItemChange?: boolean | undefined;
3918
- }) => void;
3919
- goToPage: (pageIndex: number) => void;
3920
- goToSpineItem: (indexOrId: string | number, options?: {
3921
- animate: boolean;
3922
- }) => void;
3923
- goToUrl: (url: string | URL) => void;
3924
- goToCfi: (cfi: string, options?: {
3925
- animate: boolean;
3926
- }) => void;
3927
- goToPageOfCurrentChapter: (pageIndex: number) => void;
3928
- moveTo: ((delta: {
3929
- x: number;
3930
- y: number;
3931
- } | undefined, { final, start }?: {
3932
- start?: boolean | undefined;
3933
- final?: boolean | undefined;
3934
- }) => void) | ((delta: {
3935
- x: number;
3936
- y: number;
3937
- } | undefined, args_1?: {
3938
- start?: boolean | undefined;
3939
- final?: boolean | undefined;
3940
- } | undefined) => void);
3941
- getLastUserExpectedNavigation: () => LastUserExpectedNavigation;
3942
- element$: BehaviorSubject<HTMLElement>;
3943
- getElement: () => HTMLElement;
3944
- $: {
3945
- state$: Observable<"free" | "busy">;
3946
- navigation$: Observable<Navigation>;
3947
- navigationAdjustedAfterLayout$: Observable<{
3948
- previousNavigationPosition: ViewportNavigationEntry;
3949
- adjustedSpinePosition: ViewportNavigationEntry;
3950
- areDifferent: boolean;
3951
- }>;
3952
- currentNavigationPosition$: Observable<ViewportNavigationEntry>;
3953
- };
3954
- };
3955
-
3956
- declare const defaultThemes: ({
3957
- name: "bright";
3958
- backgroundColor: string;
3959
- foregroundColor?: undefined;
3960
- } | {
3961
- name: "sepia";
3962
- backgroundColor: string;
3963
- foregroundColor: string;
3964
- } | {
3965
- name: "night";
3966
- backgroundColor: string;
3967
- foregroundColor: string;
3968
- })[];
3969
-
3970
- declare type Event_2 = {
3971
- type: `onSelectionChange`;
3972
- data: ReturnType<typeof createSelection> | null;
3973
- };
3974
-
3975
- declare type ExtraPaginationInfo = {
3976
- beginChapterInfo: ChapterInfo | undefined;
3977
- beginSpineItemReadingDirection: `rtl` | `ltr` | undefined;
3978
- beginAbsolutePageIndex: number | undefined;
3979
- endChapterInfo: ChapterInfo | undefined;
3980
- endSpineItemReadingDirection: `rtl` | `ltr` | undefined;
3981
- endAbsolutePageIndex: number | undefined;
3982
- percentageEstimateOfBook: number | undefined;
3983
- numberOfTotalPages: number | undefined;
3984
- isUsingSpread: boolean;
3985
- };
3986
-
3987
- export declare const groupBy: <T, K extends string | number | symbol>(list: T[], getKey: (item: T) => K) => Record<K, T[]>;
3988
-
3989
- declare type Hook = ItemOnLoadHook | {
3990
- name: `item.onBeforeContainerCreated`;
3991
- fn: (payload: HTMLElement) => HTMLElement;
3992
- } | {
3993
- name: `item.onLayoutBeforeMeasurement`;
3994
- fn: (payload: {
3995
- frame: {
3996
- getManipulableFrame: () => undefined | {
3997
- removeStyle: (id: string) => void;
3998
- addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
3999
- };
4000
- getViewportDimensions: () => {
4001
- width: number;
4002
- height: number;
4003
- } | undefined;
4004
- isUsingVerticalWriting: () => boolean;
4005
- getIsReady: () => boolean;
4006
- };
4007
- container: HTMLElement;
4008
- item: Manifest[`spineItems`][number];
4009
- minimumWidth: number;
4010
- isImageType: () => boolean | undefined;
4011
- }) => void;
4012
- } | {
4013
- name: `item.onAfterLayout`;
4014
- fn: (payload: {
4015
- item: Manifest[`spineItems`][number];
4016
- blankPagePosition: `before` | `after` | `none`;
4017
- minimumWidth: number;
4018
- }) => void;
4019
- } | {
4020
- name: `item.onGetResource`;
4021
- fn: (fetchResource: (item: Manifest[`spineItems`][number]) => Promise<Response>) => (item: Manifest[`spineItems`][number]) => Promise<Response>;
4022
- } | {
4023
- name: `viewportNavigator.onBeforeContainerCreated`;
4024
- fn: (payload: HTMLElement) => HTMLElement;
4025
- } | {
4026
- name: `onViewportOffsetAdjust`;
4027
- fn: () => void;
4028
- };
4029
-
4030
- declare type InputSettings = {
4031
- forceSinglePageMode: boolean;
4032
- pageTurnAnimation: `none` | `fade` | `slide`;
4033
- pageTurnAnimationDuration: undefined | number;
4034
- pageTurnDirection: `vertical` | `horizontal`;
4035
- pageTurnMode: `controlled` | `scrollable`;
4036
- navigationSnapThreshold: number;
4037
- numberOfAdjacentSpineItemToPreLoad: number;
4038
- };
4039
-
4040
- export declare const isShallowEqual: <T = any, R = any>(objectA: T, objectB: R, options?: {
4041
- customEqual?: (<T_1>(a: T_1, b: T_1) => boolean) | undefined;
4042
- } | undefined) => boolean;
4043
-
4044
- declare type ItemOnLoadHook = {
4045
- name: `item.onLoad`;
4046
- fn: (manipulableFrame: {
4047
- frame: HTMLIFrameElement;
4048
- removeStyle: (id: string) => void;
4049
- item: Manifest[`spineItems`][number];
4050
- addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
4051
- }) => (() => void) | Observable<unknown> | void;
4052
- };
4053
-
4054
- declare type LastUserExpectedNavigation = undefined | {
4055
- type: `navigate-from-previous-item`;
4056
- } | {
4057
- type: `navigate-from-next-item`;
4058
- } | {
4059
- type: `navigate-from-cfi`;
4060
- data: string;
4061
- } | {
4062
- type: `navigate-from-anchor`;
4063
- data: string;
4064
- };
4065
-
4066
- declare type LoadOptions = {
4067
- cfi?: string | null;
4068
- fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
4069
- containerElement: HTMLElement;
4070
- };
4071
-
4072
- declare type Locator = ReturnType<typeof createLocationResolver>;
4073
-
4074
- export { Manifest }
4075
-
4076
- declare type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0];
4077
-
4078
- declare type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0];
4079
-
4080
- declare type Navigation = {
4081
- position: {
4082
- x: number;
4083
- y: number;
4084
- spineItem?: SpineItem | undefined;
4085
- };
4086
- triggeredBy: `scroll` | `manual` | `adjust`;
4087
- animation: false | `turn` | `snap`;
4088
- lastUserExpectedNavigation: LastUserExpectedNavigation;
4089
- };
4090
-
4091
- declare type OutputSettings = InputSettings & {
4092
- computedPageTurnMode: InputSettings[`pageTurnMode`];
4093
- computedPageTurnDirection: InputSettings[`pageTurnDirection`];
4094
- computedPageTurnAnimation: InputSettings[`pageTurnAnimation`];
4095
- computedPageTurnAnimationDuration: number;
4096
- computedSnapAnimationDuration: number;
4097
- };
4098
-
4099
- declare type Pagination = ReturnType<typeof createPagination>;
4100
-
4101
- declare type PaginationInfo = {
4102
- beginPageIndexInSpineItem: number | undefined;
4103
- beginNumberOfPagesInSpineItem: number;
4104
- beginCfi: string | undefined;
4105
- beginSpineItemIndex: number | undefined;
4106
- endPageIndexInSpineItem: number | undefined;
4107
- endNumberOfPagesInSpineItem: number;
4108
- endCfi: string | undefined;
4109
- endSpineItemIndex: number | undefined;
4110
- };
4111
-
4112
- export declare type Reader = ReturnType<typeof createReader>;
4113
-
4114
- declare type ReaderInternal = {
4115
- context: Context;
4116
- registerHook: RegisterHook;
4117
- spine: Spine;
4118
- viewportNavigator: ViewportNavigator;
4119
- manipulateSpineItems: Spine["manipulateSpineItems"];
4120
- manipulateSpineItem: Spine["manipulateSpineItem"];
4121
- moveTo: ViewportNavigator["moveTo"];
4122
- turnLeft: ViewportNavigator["turnLeft"];
4123
- turnRight: ViewportNavigator["turnRight"];
4124
- goToPageOfCurrentChapter: ViewportNavigator["goToPageOfCurrentChapter"];
4125
- goToPage: ViewportNavigator["goToPage"];
4126
- goToUrl: ViewportNavigator["goToUrl"];
4127
- goToCfi: ViewportNavigator["goToCfi"];
4128
- goToSpineItem: ViewportNavigator["goToSpineItem"];
4129
- getFocusedSpineItemIndex: SpineItemManager["getFocusedSpineItemIndex"];
4130
- getSpineItem: SpineItemManager["get"];
4131
- getSpineItems: SpineItemManager["getAll"];
4132
- getAbsolutePositionOf: SpineItemManager["getAbsolutePositionOf"];
4133
- getSelection: Spine["getSelection"];
4134
- isSelecting: Spine["isSelecting"];
4135
- normalizeEventForViewport: Spine["normalizeEventForViewport"];
4136
- getCfiMetaInformation: Spine["cfiLocator"]["getCfiMetaInformation"];
4137
- resolveCfi: Spine["cfiLocator"]["resolveCfi"];
4138
- generateCfi: Spine["cfiLocator"]["generateFromRange"];
4139
- locator: Spine["locator"];
4140
- getCurrentNavigationPosition: ViewportNavigator["getCurrentNavigationPosition"];
4141
- getCurrentViewportPosition: ViewportNavigator["getCurrentViewportPosition"];
4142
- layout: () => void;
4143
- load: (manifest: Manifest, loadOptions: LoadOptions) => void;
4144
- destroy: () => void;
4145
- pagination: Pagination;
4146
- spineItems$: Spine["$"]["spineItems$"];
4147
- context$: Context["$"]["state$"];
4148
- settings: {
4149
- settings$: ReturnType<typeof createSettings>["$"]["settings$"];
4150
- setSettings: (data: Partial<InputSettings>) => void;
4151
- getSettings: Settings["getSettings"];
4152
- };
4153
- $: {
4154
- state$: Observable<{
4155
- supportedPageTurnAnimation: NonNullable<ContextSettings[`pageTurnAnimation`]>[];
4156
- supportedPageTurnMode: NonNullable<ContextSettings[`pageTurnMode`]>[];
4157
- supportedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
4158
- supportedComputedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
4159
- }>;
4160
- loadStatus$: Observable<"idle" | "loading" | "ready">;
4161
- selection$: Observable<{
4162
- toString: () => string;
4163
- getAnchorCfi: () => string | undefined;
4164
- getFocusCfi: () => string | undefined;
4165
- } | null>;
4166
- viewportState$: Observable<"free" | "busy">;
4167
- layout$: Spine["$"]["layout$"];
4168
- itemsBeforeDestroy$: Spine["$"]["itemsBeforeDestroy$"];
4169
- itemIsReady$: SpineItemManager["$"]["itemIsReady$"];
4170
- destroy$: Observable<void>;
4171
- };
4172
- __debug: {
4173
- pagination: Pagination;
4174
- context: Context;
4175
- spineItemManager: SpineItemManager;
4176
- };
4177
- };
4178
-
4179
- export declare type ReaderSelection = ReturnType<typeof createSelection>;
4180
-
4181
- export declare interface RegisterHook {
4182
- (name: `item.onBeforeContainerCreated`, fn: Extract<Hook, {
4183
- name: `item.onBeforeContainerCreated`;
4184
- }>[`fn`]): void;
4185
- (name: `item.onGetResource`, fn: Extract<Hook, {
4186
- name: `item.onGetResource`;
4187
- }>[`fn`]): void;
4188
- (name: `item.onLayoutBeforeMeasurement`, fn: Extract<Hook, {
4189
- name: `item.onLayoutBeforeMeasurement`;
4190
- }>[`fn`]): void;
4191
- (name: `item.onAfterLayout`, fn: Extract<Hook, {
4192
- name: `item.onAfterLayout`;
4193
- }>[`fn`]): void;
4194
- (name: `onViewportOffsetAdjust`, fn: Extract<Hook, {
4195
- name: `onViewportOffsetAdjust`;
4196
- }>[`fn`]): void;
4197
- (name: `item.onLoad`, fn: ItemOnLoadHook["fn"]): void;
4198
- }
4199
-
4200
- declare const Report_2: {
4201
- namespace: (namespace: string) => {
4202
- log: (...data: any[]) => void;
4203
- warn: (...data: any[]) => void;
4204
- error: (...data: any[]) => void;
4205
- time: (name: string, targetDuration?: number) => () => void;
4206
- logMetric: (performanceEntry: PerformanceEntry | {
4207
- name: string;
4208
- duration: number;
4209
- }, targetDuration?: number) => void;
4210
- measurePerformance: <F extends (...args: any[]) => any>(name: string, targetDuration: number | undefined, functionToMeasure: F, { disable }?: {
4211
- disable?: boolean;
4212
- }) => F | ((...args: Parameters<F>) => ReturnType<F>);
4213
- };
4214
- log: (...data: any[]) => void;
4215
- warn: (...data: any[]) => void;
4216
- error: (...data: any[]) => void;
4217
- time: (name: string, targetDuration?: number) => () => void;
4218
- logMetric: (performanceEntry: PerformanceEntry | {
4219
- name: string;
4220
- duration: number;
4221
- }, targetDuration?: number) => void;
4222
- measurePerformance: <F extends (...args: any[]) => any>(name: string, targetDuration: number | undefined, functionToMeasure: F, { disable }?: {
4223
- disable?: boolean;
4224
- }) => F | ((...args: Parameters<F>) => ReturnType<F>);
4225
- };
4226
- export { Report_2 as Report }
4227
-
4228
- declare type RequireLayout = boolean;
4229
-
4230
- declare type Settings = ReturnType<typeof createSettings>;
4231
-
4232
- declare type SettingsInput = {
4233
- pageHorizontalMargin?: number;
4234
- pageVerticalMargin?: number;
4235
- };
4236
-
4237
- declare type Spine = {
4238
- element$: Observable<HTMLElement>;
4239
- getElement: () => HTMLElement | undefined;
4240
- locator: Locator;
4241
- spineItemLocator: SpineItemLocator;
4242
- cfiLocator: CfiLocator;
4243
- normalizeEventForViewport: ReturnType<typeof createEventsHelper>["normalizeEventForViewport"];
4244
- manipulateSpineItems: (cb: (payload: ManipulableSpineItemCallbackPayload & {
4245
- index: number;
4246
- }) => RequireLayout) => void;
4247
- manipulateSpineItem: (id: string, cb: Parameters<SpineItem[`manipulateSpineItem`]>[0]) => void;
4248
- destroy: () => void;
4249
- isSelecting: () => boolean | undefined;
4250
- getSelection: () => Selection | undefined;
4251
- adjustPagination: (position: ViewportNavigationEntry) => Observable<`free` | `busy`>;
4252
- $: {
4253
- $: Observable<Event_2>;
4254
- layout$: Observable<boolean>;
4255
- spineItems$: Observable<SpineItem[]>;
4256
- itemsBeforeDestroy$: Observable<void>;
4257
- };
4258
- };
4259
-
4260
- declare type SpineItem = ReturnType<typeof createSpineItem>;
4261
-
4262
- declare type SpineItemLocator = ReturnType<typeof createLocationResolver_2>;
4263
-
4264
- declare type SpineItemManager = ReturnType<typeof createSpineItemManager>;
4265
-
4266
- declare class SpineItemNavigationPosition {
4267
- __symbol: string;
4268
- x: number;
4269
- y: number;
4270
- constructor(position: {
4271
- x: number;
4272
- y: number;
4273
- });
4274
- }
4275
-
4276
- declare type SpineItemPosition = {
4277
- x: number;
4278
- y: number;
4279
- __symbol?: `SpineItemPosition`;
4280
- };
4281
-
4282
- declare type SpinePosition = {
4283
- x: number;
4284
- y: number;
4285
- __symbol?: `SpinePosition`;
4286
- };
4287
-
4288
- declare type State = Partial<Pick<LoadOptions, "containerElement" | "fetchResource">> & {
4289
- manifest?: Manifest;
4290
- hasVerticalWriting?: boolean;
4291
- isUsingSpreadMode?: boolean;
4292
- isFullyPrePaginated?: boolean;
4293
- };
4294
-
4295
- declare type Theme = (typeof defaultThemes)[number][`name`] | `publisher`;
4296
-
4297
- declare type UnsafeSpineItemPosition = {
4298
- x: number;
4299
- y: number;
4300
- __symbol?: `UnsafeSpineItemPosition` | `SpineItemPosition`;
4301
- };
4302
-
4303
- declare type UnsafeSpinePosition = {
4304
- x: number;
4305
- y: number;
4306
- __symbol?: `UnsafeSpinePosition` | `SpinePosition`;
4307
- };
4308
-
4309
- declare type ViewportNavigationEntry = {
4310
- x: number;
4311
- y: number;
4312
- spineItem?: SpineItem;
4313
- };
4314
-
4315
- declare type ViewportNavigator = ReturnType<typeof createViewportNavigator>;
4316
-
4317
- export { }
4318
-
4319
-
4320
- declare global {
4321
- interface Window {
4322
- __PROSE_READER_DEBUG?: boolean;
4323
- }
4324
- }
1
+ import { createSelection } from './selection';
2
+ import { createReaderWithEnhancers as createReader } from './createReaderWithEnhancer';
4325
3
 
4
+ export type { Manifest } from './types';
5
+ export { HookManager } from './hooks/HookManager';
6
+ export type Reader = ReturnType<typeof createReader>;
7
+ export { createReader };
8
+ export type ReaderSelection = ReturnType<typeof createSelection>;
9
+ export { Report } from './report';
10
+ export { groupBy, isShallowEqual } from './utils/objects';