@prose-reader/core 0.0.48 → 0.0.49

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.
@@ -6,8 +6,348 @@ export declare const createSpineItemManager: ({ context }: {
6
6
  }) => {
7
7
  destroyItems: () => void;
8
8
  add: (spineItem: SpineItem) => void;
9
- get: (indexOrId: number | string) => SpineItem | undefined;
10
- getAll: () => SpineItem[];
9
+ get: (indexOrId: number | string) => {
10
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
11
+ blankPagePosition: "before" | "after" | "none";
12
+ minimumWidth: number;
13
+ spreadPosition: "none" | "right" | "left";
14
+ }) => {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ item: {
19
+ id: string;
20
+ href: string;
21
+ path: string;
22
+ renditionLayout: "reflowable" | "pre-paginated";
23
+ progressionWeight: number;
24
+ pageSpreadLeft: true | undefined;
25
+ pageSpreadRight: true | undefined;
26
+ mediaType?: string | undefined;
27
+ };
28
+ load: () => void;
29
+ adjustPositionOfElement: ({ right, left, top }: {
30
+ right?: number | undefined;
31
+ left?: number | undefined;
32
+ top?: number | undefined;
33
+ }) => void;
34
+ getElementDimensions: () => {
35
+ width: number;
36
+ height: number;
37
+ };
38
+ getHtmlFromResource: (response: Response) => Promise<string>;
39
+ getResource: () => Promise<Response>;
40
+ translateFramePositionIntoPage: (position: {
41
+ clientX: number;
42
+ clientY: number;
43
+ }) => {
44
+ clientX: number;
45
+ clientY: number;
46
+ };
47
+ setLayoutDirty: () => void;
48
+ injectStyle: (cssText: string) => void;
49
+ loadContent: () => void;
50
+ unloadContent: () => void;
51
+ spineItemFrame: {
52
+ getIsLoaded: () => boolean;
53
+ getIsReady: () => boolean;
54
+ getViewportDimensions: () => {
55
+ width: number;
56
+ height: number;
57
+ } | undefined;
58
+ getFrameElement: () => HTMLIFrameElement | undefined;
59
+ getHtmlFromResource: (response: Response) => Promise<string>;
60
+ load: () => void;
61
+ unload: () => void;
62
+ staticLayout: (size: {
63
+ width: number;
64
+ height: number;
65
+ }) => void;
66
+ getManipulableFrame: () => {
67
+ frame: HTMLIFrameElement;
68
+ removeStyle: (id: string) => void;
69
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
70
+ } | undefined;
71
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
72
+ isUsingVerticalWriting: () => boolean;
73
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
74
+ destroy: () => void;
75
+ $: {
76
+ unload$: import("rxjs").Observable<void>;
77
+ unloaded$: import("rxjs").Observable<void>;
78
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
79
+ ready$: import("rxjs").Observable<FontFaceSet | undefined>;
80
+ isReady$: import("rxjs").Observable<boolean>;
81
+ contentLayoutChange$: import("rxjs").Observable<{
82
+ isFirstLayout: boolean;
83
+ } | {
84
+ isFirstLayout: boolean;
85
+ }>;
86
+ };
87
+ };
88
+ element: HTMLElement;
89
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
90
+ getViewPortInformation: () => {
91
+ computedScale: number;
92
+ computedWidthScale: number;
93
+ viewportDimensions: {
94
+ width: number;
95
+ height: number;
96
+ };
97
+ } | undefined;
98
+ isImageType: () => boolean;
99
+ isReady: () => boolean;
100
+ destroy: () => void;
101
+ isUsingVerticalWriting: () => boolean | undefined;
102
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
103
+ manipulateSpineItem: (cb: (options: {
104
+ container: HTMLElement;
105
+ item: {
106
+ id: string;
107
+ href: string;
108
+ path: string;
109
+ renditionLayout: "reflowable" | "pre-paginated";
110
+ progressionWeight: number;
111
+ pageSpreadLeft: true | undefined;
112
+ pageSpreadRight: true | undefined;
113
+ mediaType?: string | undefined;
114
+ };
115
+ overlayElement: HTMLDivElement;
116
+ } & ({
117
+ frame: HTMLIFrameElement;
118
+ removeStyle: (id: string) => void;
119
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
120
+ } | {
121
+ frame: undefined;
122
+ removeStyle: (id: string) => void;
123
+ addStyle: (id: string, style: string) => void;
124
+ })) => boolean) => boolean;
125
+ executeOnLayoutBeforeMeasurementHook: (options: {
126
+ minimumWidth: number;
127
+ }) => void;
128
+ selectionTracker: {
129
+ track: (frameToTrack: HTMLIFrameElement) => void;
130
+ destroy: () => void;
131
+ isSelecting: () => boolean;
132
+ getSelection: () => Selection | undefined;
133
+ $: import("rxjs").Observable<{
134
+ event: "selectionchange";
135
+ data: Selection | null;
136
+ } | {
137
+ event: "selectstart";
138
+ data: Selection | null;
139
+ } | {
140
+ event: "selectend";
141
+ data: Selection | null;
142
+ }>;
143
+ };
144
+ fingerTracker: {
145
+ track: (frame: HTMLIFrameElement) => void;
146
+ getFingerPositionInIframe(): {
147
+ x: number | undefined;
148
+ y: number | undefined;
149
+ } | undefined;
150
+ destroy: () => void;
151
+ $: import("rxjs").Observable<{
152
+ event: "fingermove";
153
+ data: {
154
+ x: number;
155
+ y: number;
156
+ };
157
+ } | {
158
+ event: "fingerout";
159
+ data: undefined;
160
+ }>;
161
+ };
162
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
163
+ columnHeight: number;
164
+ columnWidth: number;
165
+ width: number;
166
+ };
167
+ getDimensionsForPaginatedContent: () => {
168
+ columnHeight: number;
169
+ columnWidth: number;
170
+ };
171
+ $: {
172
+ contentLayout$: import("rxjs").Observable<{
173
+ isFirstLayout: boolean;
174
+ isReady: boolean;
175
+ }>;
176
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
177
+ isReady$: import("rxjs").Observable<boolean>;
178
+ };
179
+ } | undefined;
180
+ getAll: () => {
181
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
182
+ blankPagePosition: "before" | "after" | "none";
183
+ minimumWidth: number;
184
+ spreadPosition: "none" | "right" | "left";
185
+ }) => {
186
+ width: number;
187
+ height: number;
188
+ };
189
+ item: {
190
+ id: string;
191
+ href: string;
192
+ path: string;
193
+ renditionLayout: "reflowable" | "pre-paginated";
194
+ progressionWeight: number;
195
+ pageSpreadLeft: true | undefined;
196
+ pageSpreadRight: true | undefined;
197
+ mediaType?: string | undefined;
198
+ };
199
+ load: () => void;
200
+ adjustPositionOfElement: ({ right, left, top }: {
201
+ right?: number | undefined;
202
+ left?: number | undefined;
203
+ top?: number | undefined;
204
+ }) => void;
205
+ getElementDimensions: () => {
206
+ width: number;
207
+ height: number;
208
+ };
209
+ getHtmlFromResource: (response: Response) => Promise<string>;
210
+ getResource: () => Promise<Response>;
211
+ translateFramePositionIntoPage: (position: {
212
+ clientX: number;
213
+ clientY: number;
214
+ }) => {
215
+ clientX: number;
216
+ clientY: number;
217
+ };
218
+ setLayoutDirty: () => void;
219
+ injectStyle: (cssText: string) => void;
220
+ loadContent: () => void;
221
+ unloadContent: () => void;
222
+ spineItemFrame: {
223
+ getIsLoaded: () => boolean;
224
+ getIsReady: () => boolean;
225
+ getViewportDimensions: () => {
226
+ width: number;
227
+ height: number;
228
+ } | undefined;
229
+ getFrameElement: () => HTMLIFrameElement | undefined;
230
+ getHtmlFromResource: (response: Response) => Promise<string>;
231
+ load: () => void;
232
+ unload: () => void;
233
+ staticLayout: (size: {
234
+ width: number;
235
+ height: number;
236
+ }) => void;
237
+ getManipulableFrame: () => {
238
+ frame: HTMLIFrameElement;
239
+ removeStyle: (id: string) => void;
240
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
241
+ } | undefined;
242
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
243
+ isUsingVerticalWriting: () => boolean;
244
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
245
+ destroy: () => void;
246
+ $: {
247
+ unload$: import("rxjs").Observable<void>;
248
+ unloaded$: import("rxjs").Observable<void>;
249
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
250
+ ready$: import("rxjs").Observable<FontFaceSet | undefined>;
251
+ isReady$: import("rxjs").Observable<boolean>;
252
+ contentLayoutChange$: import("rxjs").Observable<{
253
+ isFirstLayout: boolean;
254
+ } | {
255
+ isFirstLayout: boolean;
256
+ }>;
257
+ };
258
+ };
259
+ element: HTMLElement;
260
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
261
+ getViewPortInformation: () => {
262
+ computedScale: number;
263
+ computedWidthScale: number;
264
+ viewportDimensions: {
265
+ width: number;
266
+ height: number;
267
+ };
268
+ } | undefined;
269
+ isImageType: () => boolean;
270
+ isReady: () => boolean;
271
+ destroy: () => void;
272
+ isUsingVerticalWriting: () => boolean | undefined;
273
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
274
+ manipulateSpineItem: (cb: (options: {
275
+ container: HTMLElement;
276
+ item: {
277
+ id: string;
278
+ href: string;
279
+ path: string;
280
+ renditionLayout: "reflowable" | "pre-paginated";
281
+ progressionWeight: number;
282
+ pageSpreadLeft: true | undefined;
283
+ pageSpreadRight: true | undefined;
284
+ mediaType?: string | undefined;
285
+ };
286
+ overlayElement: HTMLDivElement;
287
+ } & ({
288
+ frame: HTMLIFrameElement;
289
+ removeStyle: (id: string) => void;
290
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
291
+ } | {
292
+ frame: undefined;
293
+ removeStyle: (id: string) => void;
294
+ addStyle: (id: string, style: string) => void;
295
+ })) => boolean) => boolean;
296
+ executeOnLayoutBeforeMeasurementHook: (options: {
297
+ minimumWidth: number;
298
+ }) => void;
299
+ selectionTracker: {
300
+ track: (frameToTrack: HTMLIFrameElement) => void;
301
+ destroy: () => void;
302
+ isSelecting: () => boolean;
303
+ getSelection: () => Selection | undefined;
304
+ $: import("rxjs").Observable<{
305
+ event: "selectionchange";
306
+ data: Selection | null;
307
+ } | {
308
+ event: "selectstart";
309
+ data: Selection | null;
310
+ } | {
311
+ event: "selectend";
312
+ data: Selection | null;
313
+ }>;
314
+ };
315
+ fingerTracker: {
316
+ track: (frame: HTMLIFrameElement) => void;
317
+ getFingerPositionInIframe(): {
318
+ x: number | undefined;
319
+ y: number | undefined;
320
+ } | undefined;
321
+ destroy: () => void;
322
+ $: import("rxjs").Observable<{
323
+ event: "fingermove";
324
+ data: {
325
+ x: number;
326
+ y: number;
327
+ };
328
+ } | {
329
+ event: "fingerout";
330
+ data: undefined;
331
+ }>;
332
+ };
333
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
334
+ columnHeight: number;
335
+ columnWidth: number;
336
+ width: number;
337
+ };
338
+ getDimensionsForPaginatedContent: () => {
339
+ columnHeight: number;
340
+ columnWidth: number;
341
+ };
342
+ $: {
343
+ contentLayout$: import("rxjs").Observable<{
344
+ isFirstLayout: boolean;
345
+ isReady: boolean;
346
+ }>;
347
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
348
+ isReady$: import("rxjs").Observable<boolean>;
349
+ };
350
+ }[];
11
351
  getLength: () => number;
12
352
  layout: () => void;
13
353
  focus: (indexOrSpineItem: number | SpineItem) => void;
@@ -20,7 +360,177 @@ export declare const createSpineItemManager: ({ context }: {
20
360
  topEnd: number;
21
361
  width: number;
22
362
  height: number;
23
- }) | ((spineItemOrIndex: number | SpineItem) => {
363
+ }) | ((spineItemOrIndex: number | {
364
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
365
+ blankPagePosition: "before" | "after" | "none";
366
+ minimumWidth: number;
367
+ spreadPosition: "none" | "right" | "left";
368
+ }) => {
369
+ width: number;
370
+ height: number;
371
+ };
372
+ item: {
373
+ id: string;
374
+ href: string;
375
+ path: string;
376
+ renditionLayout: "reflowable" | "pre-paginated";
377
+ progressionWeight: number;
378
+ pageSpreadLeft: true | undefined;
379
+ pageSpreadRight: true | undefined;
380
+ mediaType?: string | undefined;
381
+ };
382
+ load: () => void;
383
+ adjustPositionOfElement: ({ right, left, top }: {
384
+ right?: number | undefined;
385
+ left?: number | undefined;
386
+ top?: number | undefined;
387
+ }) => void;
388
+ getElementDimensions: () => {
389
+ width: number;
390
+ height: number;
391
+ };
392
+ getHtmlFromResource: (response: Response) => Promise<string>;
393
+ getResource: () => Promise<Response>;
394
+ translateFramePositionIntoPage: (position: {
395
+ clientX: number;
396
+ clientY: number;
397
+ }) => {
398
+ clientX: number;
399
+ clientY: number;
400
+ };
401
+ setLayoutDirty: () => void;
402
+ injectStyle: (cssText: string) => void;
403
+ loadContent: () => void;
404
+ unloadContent: () => void;
405
+ spineItemFrame: {
406
+ getIsLoaded: () => boolean;
407
+ getIsReady: () => boolean;
408
+ getViewportDimensions: () => {
409
+ width: number;
410
+ height: number;
411
+ } | undefined;
412
+ getFrameElement: () => HTMLIFrameElement | undefined;
413
+ getHtmlFromResource: (response: Response) => Promise<string>;
414
+ load: () => void;
415
+ unload: () => void;
416
+ staticLayout: (size: {
417
+ width: number;
418
+ height: number;
419
+ }) => void;
420
+ getManipulableFrame: () => {
421
+ frame: HTMLIFrameElement;
422
+ removeStyle: (id: string) => void;
423
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
424
+ } | undefined;
425
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
426
+ isUsingVerticalWriting: () => boolean;
427
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
428
+ destroy: () => void;
429
+ $: {
430
+ unload$: import("rxjs").Observable<void>;
431
+ unloaded$: import("rxjs").Observable<void>;
432
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
433
+ ready$: import("rxjs").Observable<FontFaceSet | undefined>;
434
+ isReady$: import("rxjs").Observable<boolean>;
435
+ contentLayoutChange$: import("rxjs").Observable<{
436
+ isFirstLayout: boolean;
437
+ } | {
438
+ isFirstLayout: boolean;
439
+ }>;
440
+ };
441
+ };
442
+ element: HTMLElement;
443
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
444
+ getViewPortInformation: () => {
445
+ computedScale: number;
446
+ computedWidthScale: number;
447
+ viewportDimensions: {
448
+ width: number;
449
+ height: number;
450
+ };
451
+ } | undefined;
452
+ isImageType: () => boolean;
453
+ isReady: () => boolean;
454
+ destroy: () => void;
455
+ isUsingVerticalWriting: () => boolean | undefined;
456
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
457
+ manipulateSpineItem: (cb: (options: {
458
+ container: HTMLElement;
459
+ item: {
460
+ id: string;
461
+ href: string;
462
+ path: string;
463
+ renditionLayout: "reflowable" | "pre-paginated";
464
+ progressionWeight: number;
465
+ pageSpreadLeft: true | undefined;
466
+ pageSpreadRight: true | undefined;
467
+ mediaType?: string | undefined;
468
+ };
469
+ overlayElement: HTMLDivElement;
470
+ } & ({
471
+ frame: HTMLIFrameElement;
472
+ removeStyle: (id: string) => void;
473
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
474
+ } | {
475
+ frame: undefined;
476
+ removeStyle: (id: string) => void;
477
+ addStyle: (id: string, style: string) => void;
478
+ })) => boolean) => boolean;
479
+ executeOnLayoutBeforeMeasurementHook: (options: {
480
+ minimumWidth: number;
481
+ }) => void;
482
+ selectionTracker: {
483
+ track: (frameToTrack: HTMLIFrameElement) => void;
484
+ destroy: () => void;
485
+ isSelecting: () => boolean;
486
+ getSelection: () => Selection | undefined;
487
+ $: import("rxjs").Observable<{
488
+ event: "selectionchange";
489
+ data: Selection | null;
490
+ } | {
491
+ event: "selectstart";
492
+ data: Selection | null;
493
+ } | {
494
+ event: "selectend";
495
+ data: Selection | null;
496
+ }>;
497
+ };
498
+ fingerTracker: {
499
+ track: (frame: HTMLIFrameElement) => void;
500
+ getFingerPositionInIframe(): {
501
+ x: number | undefined;
502
+ y: number | undefined;
503
+ } | undefined;
504
+ destroy: () => void;
505
+ $: import("rxjs").Observable<{
506
+ event: "fingermove";
507
+ data: {
508
+ x: number;
509
+ y: number;
510
+ };
511
+ } | {
512
+ event: "fingerout";
513
+ data: undefined;
514
+ }>;
515
+ };
516
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
517
+ columnHeight: number;
518
+ columnWidth: number;
519
+ width: number;
520
+ };
521
+ getDimensionsForPaginatedContent: () => {
522
+ columnHeight: number;
523
+ columnWidth: number;
524
+ };
525
+ $: {
526
+ contentLayout$: import("rxjs").Observable<{
527
+ isFirstLayout: boolean;
528
+ isReady: boolean;
529
+ }>;
530
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
531
+ isReady$: import("rxjs").Observable<boolean>;
532
+ };
533
+ }) => {
24
534
  leftStart: number;
25
535
  leftEnd: number;
26
536
  topStart: number;
@@ -28,8 +538,185 @@ export declare const createSpineItemManager: ({ context }: {
28
538
  width: number;
29
539
  height: number;
30
540
  });
31
- getSpineItemAtPosition: ((position: ViewportPosition) => SpineItem | undefined) | ((position: ViewportPosition) => SpineItem | undefined);
32
- getFocusedSpineItem: () => ({
541
+ getSpineItemAtPosition: ((position: ViewportPosition) => {
542
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
543
+ blankPagePosition: "before" | "after" | "none";
544
+ minimumWidth: number;
545
+ spreadPosition: "none" | "right" | "left";
546
+ }) => {
547
+ width: number;
548
+ height: number;
549
+ };
550
+ item: {
551
+ id: string;
552
+ href: string;
553
+ path: string;
554
+ renditionLayout: "reflowable" | "pre-paginated";
555
+ progressionWeight: number;
556
+ pageSpreadLeft: true | undefined;
557
+ pageSpreadRight: true | undefined;
558
+ mediaType?: string | undefined;
559
+ };
560
+ load: () => void;
561
+ adjustPositionOfElement: ({ right, left, top }: {
562
+ right?: number | undefined;
563
+ left?: number | undefined;
564
+ top?: number | undefined;
565
+ }) => void;
566
+ getElementDimensions: () => {
567
+ width: number;
568
+ height: number;
569
+ };
570
+ getHtmlFromResource: (response: Response) => Promise<string>;
571
+ getResource: () => Promise<Response>;
572
+ translateFramePositionIntoPage: (position: {
573
+ clientX: number;
574
+ clientY: number;
575
+ }) => {
576
+ clientX: number;
577
+ clientY: number;
578
+ };
579
+ setLayoutDirty: () => void;
580
+ injectStyle: (cssText: string) => void;
581
+ loadContent: () => void;
582
+ unloadContent: () => void;
583
+ spineItemFrame: {
584
+ getIsLoaded: () => boolean;
585
+ getIsReady: () => boolean;
586
+ getViewportDimensions: () => {
587
+ width: number;
588
+ height: number;
589
+ } | undefined;
590
+ getFrameElement: () => HTMLIFrameElement | undefined;
591
+ getHtmlFromResource: (response: Response) => Promise<string>;
592
+ load: () => void;
593
+ unload: () => void;
594
+ staticLayout: (size: {
595
+ width: number;
596
+ height: number;
597
+ }) => void;
598
+ getManipulableFrame: () => {
599
+ frame: HTMLIFrameElement;
600
+ removeStyle: (id: string) => void;
601
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
602
+ } | undefined;
603
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
604
+ isUsingVerticalWriting: () => boolean;
605
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
606
+ destroy: () => void;
607
+ $: {
608
+ unload$: import("rxjs").Observable<void>;
609
+ unloaded$: import("rxjs").Observable<void>;
610
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
611
+ ready$: import("rxjs").Observable<FontFaceSet | undefined>;
612
+ isReady$: import("rxjs").Observable<boolean>;
613
+ contentLayoutChange$: import("rxjs").Observable<{
614
+ isFirstLayout: boolean;
615
+ } | {
616
+ isFirstLayout: boolean;
617
+ }>;
618
+ };
619
+ };
620
+ element: HTMLElement;
621
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
622
+ getViewPortInformation: () => {
623
+ computedScale: number;
624
+ computedWidthScale: number;
625
+ viewportDimensions: {
626
+ width: number;
627
+ height: number;
628
+ };
629
+ } | undefined;
630
+ isImageType: () => boolean;
631
+ isReady: () => boolean;
632
+ destroy: () => void;
633
+ isUsingVerticalWriting: () => boolean | undefined;
634
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
635
+ manipulateSpineItem: (cb: (options: {
636
+ container: HTMLElement;
637
+ item: {
638
+ id: string;
639
+ href: string;
640
+ path: string;
641
+ renditionLayout: "reflowable" | "pre-paginated";
642
+ progressionWeight: number;
643
+ pageSpreadLeft: true | undefined;
644
+ pageSpreadRight: true | undefined;
645
+ mediaType?: string | undefined;
646
+ };
647
+ overlayElement: HTMLDivElement;
648
+ } & ({
649
+ frame: HTMLIFrameElement;
650
+ removeStyle: (id: string) => void;
651
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
652
+ } | {
653
+ frame: undefined;
654
+ removeStyle: (id: string) => void;
655
+ addStyle: (id: string, style: string) => void;
656
+ })) => boolean) => boolean;
657
+ executeOnLayoutBeforeMeasurementHook: (options: {
658
+ minimumWidth: number;
659
+ }) => void;
660
+ selectionTracker: {
661
+ track: (frameToTrack: HTMLIFrameElement) => void;
662
+ destroy: () => void;
663
+ isSelecting: () => boolean;
664
+ getSelection: () => Selection | undefined;
665
+ $: import("rxjs").Observable<{
666
+ event: "selectionchange";
667
+ data: Selection | null;
668
+ } | {
669
+ event: "selectstart";
670
+ data: Selection | null;
671
+ } | {
672
+ event: "selectend";
673
+ data: Selection | null;
674
+ }>;
675
+ };
676
+ fingerTracker: {
677
+ track: (frame: HTMLIFrameElement) => void;
678
+ getFingerPositionInIframe(): {
679
+ x: number | undefined;
680
+ y: number | undefined;
681
+ } | undefined;
682
+ destroy: () => void;
683
+ $: import("rxjs").Observable<{
684
+ event: "fingermove";
685
+ data: {
686
+ x: number;
687
+ y: number;
688
+ };
689
+ } | {
690
+ event: "fingerout";
691
+ data: undefined;
692
+ }>;
693
+ };
694
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
695
+ columnHeight: number;
696
+ columnWidth: number;
697
+ width: number;
698
+ };
699
+ getDimensionsForPaginatedContent: () => {
700
+ columnHeight: number;
701
+ columnWidth: number;
702
+ };
703
+ $: {
704
+ contentLayout$: import("rxjs").Observable<{
705
+ isFirstLayout: boolean;
706
+ isReady: boolean;
707
+ }>;
708
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
709
+ isReady$: import("rxjs").Observable<boolean>;
710
+ };
711
+ } | undefined) | ((position: ViewportPosition) => {
712
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
713
+ blankPagePosition: "before" | "after" | "none";
714
+ minimumWidth: number;
715
+ spreadPosition: "none" | "right" | "left";
716
+ }) => {
717
+ width: number;
718
+ height: number;
719
+ };
33
720
  item: {
34
721
  id: string;
35
722
  href: string;
@@ -40,15 +727,177 @@ export declare const createSpineItemManager: ({ context }: {
40
727
  pageSpreadRight: true | undefined;
41
728
  mediaType?: string | undefined;
42
729
  };
43
- } & {
44
- layout: (layoutInformation: {
45
- blankPagePosition: "after" | "before" | "none";
730
+ load: () => void;
731
+ adjustPositionOfElement: ({ right, left, top }: {
732
+ right?: number | undefined;
733
+ left?: number | undefined;
734
+ top?: number | undefined;
735
+ }) => void;
736
+ getElementDimensions: () => {
737
+ width: number;
738
+ height: number;
739
+ };
740
+ getHtmlFromResource: (response: Response) => Promise<string>;
741
+ getResource: () => Promise<Response>;
742
+ translateFramePositionIntoPage: (position: {
743
+ clientX: number;
744
+ clientY: number;
745
+ }) => {
746
+ clientX: number;
747
+ clientY: number;
748
+ };
749
+ setLayoutDirty: () => void;
750
+ injectStyle: (cssText: string) => void;
751
+ loadContent: () => void;
752
+ unloadContent: () => void;
753
+ spineItemFrame: {
754
+ getIsLoaded: () => boolean;
755
+ getIsReady: () => boolean;
756
+ getViewportDimensions: () => {
757
+ width: number;
758
+ height: number;
759
+ } | undefined;
760
+ getFrameElement: () => HTMLIFrameElement | undefined;
761
+ getHtmlFromResource: (response: Response) => Promise<string>;
762
+ load: () => void;
763
+ unload: () => void;
764
+ staticLayout: (size: {
765
+ width: number;
766
+ height: number;
767
+ }) => void;
768
+ getManipulableFrame: () => {
769
+ frame: HTMLIFrameElement;
770
+ removeStyle: (id: string) => void;
771
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
772
+ } | undefined;
773
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
774
+ isUsingVerticalWriting: () => boolean;
775
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
776
+ destroy: () => void;
777
+ $: {
778
+ unload$: import("rxjs").Observable<void>;
779
+ unloaded$: import("rxjs").Observable<void>;
780
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
781
+ ready$: import("rxjs").Observable<FontFaceSet | undefined>;
782
+ isReady$: import("rxjs").Observable<boolean>;
783
+ contentLayoutChange$: import("rxjs").Observable<{
784
+ isFirstLayout: boolean;
785
+ } | {
786
+ isFirstLayout: boolean;
787
+ }>;
788
+ };
789
+ };
790
+ element: HTMLElement;
791
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
792
+ getViewPortInformation: () => {
793
+ computedScale: number;
794
+ computedWidthScale: number;
795
+ viewportDimensions: {
796
+ width: number;
797
+ height: number;
798
+ };
799
+ } | undefined;
800
+ isImageType: () => boolean;
801
+ isReady: () => boolean;
802
+ destroy: () => void;
803
+ isUsingVerticalWriting: () => boolean | undefined;
804
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
805
+ manipulateSpineItem: (cb: (options: {
806
+ container: HTMLElement;
807
+ item: {
808
+ id: string;
809
+ href: string;
810
+ path: string;
811
+ renditionLayout: "reflowable" | "pre-paginated";
812
+ progressionWeight: number;
813
+ pageSpreadLeft: true | undefined;
814
+ pageSpreadRight: true | undefined;
815
+ mediaType?: string | undefined;
816
+ };
817
+ overlayElement: HTMLDivElement;
818
+ } & ({
819
+ frame: HTMLIFrameElement;
820
+ removeStyle: (id: string) => void;
821
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
822
+ } | {
823
+ frame: undefined;
824
+ removeStyle: (id: string) => void;
825
+ addStyle: (id: string, style: string) => void;
826
+ })) => boolean) => boolean;
827
+ executeOnLayoutBeforeMeasurementHook: (options: {
828
+ minimumWidth: number;
829
+ }) => void;
830
+ selectionTracker: {
831
+ track: (frameToTrack: HTMLIFrameElement) => void;
832
+ destroy: () => void;
833
+ isSelecting: () => boolean;
834
+ getSelection: () => Selection | undefined;
835
+ $: import("rxjs").Observable<{
836
+ event: "selectionchange";
837
+ data: Selection | null;
838
+ } | {
839
+ event: "selectstart";
840
+ data: Selection | null;
841
+ } | {
842
+ event: "selectend";
843
+ data: Selection | null;
844
+ }>;
845
+ };
846
+ fingerTracker: {
847
+ track: (frame: HTMLIFrameElement) => void;
848
+ getFingerPositionInIframe(): {
849
+ x: number | undefined;
850
+ y: number | undefined;
851
+ } | undefined;
852
+ destroy: () => void;
853
+ $: import("rxjs").Observable<{
854
+ event: "fingermove";
855
+ data: {
856
+ x: number;
857
+ y: number;
858
+ };
859
+ } | {
860
+ event: "fingerout";
861
+ data: undefined;
862
+ }>;
863
+ };
864
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
865
+ columnHeight: number;
866
+ columnWidth: number;
867
+ width: number;
868
+ };
869
+ getDimensionsForPaginatedContent: () => {
870
+ columnHeight: number;
871
+ columnWidth: number;
872
+ };
873
+ $: {
874
+ contentLayout$: import("rxjs").Observable<{
875
+ isFirstLayout: boolean;
876
+ isReady: boolean;
877
+ }>;
878
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
879
+ isReady$: import("rxjs").Observable<boolean>;
880
+ };
881
+ } | undefined);
882
+ getFocusedSpineItem: () => {
883
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
884
+ blankPagePosition: "before" | "after" | "none";
46
885
  minimumWidth: number;
47
- spreadPosition: "right" | "left" | "none";
886
+ spreadPosition: "none" | "right" | "left";
48
887
  }) => {
49
888
  width: number;
50
889
  height: number;
51
890
  };
891
+ item: {
892
+ id: string;
893
+ href: string;
894
+ path: string;
895
+ renditionLayout: "reflowable" | "pre-paginated";
896
+ progressionWeight: number;
897
+ pageSpreadLeft: true | undefined;
898
+ pageSpreadRight: true | undefined;
899
+ mediaType?: string | undefined;
900
+ };
52
901
  load: () => void;
53
902
  adjustPositionOfElement: ({ right, left, top }: {
54
903
  right?: number | undefined;
@@ -110,7 +959,6 @@ export declare const createSpineItemManager: ({ context }: {
110
959
  };
111
960
  };
112
961
  element: HTMLElement;
113
- isReflowable: boolean;
114
962
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
115
963
  getViewPortInformation: () => {
116
964
  computedScale: number;
@@ -119,13 +967,7 @@ export declare const createSpineItemManager: ({ context }: {
119
967
  width: number;
120
968
  height: number;
121
969
  };
122
- } | {
123
- width?: number | undefined;
124
- height?: number | undefined;
125
- computedScale: number;
126
- computedWidthScale: number;
127
- viewportDimensions?: undefined;
128
- };
970
+ } | undefined;
129
971
  isImageType: () => boolean;
130
972
  isReady: () => boolean;
131
973
  destroy: () => void;
@@ -153,7 +995,7 @@ export declare const createSpineItemManager: ({ context }: {
153
995
  removeStyle: (id: string) => void;
154
996
  addStyle: (id: string, style: string) => void;
155
997
  })) => boolean) => boolean;
156
- executeOnLayoutBeforeMeasurmentHook: (options: {
998
+ executeOnLayoutBeforeMeasurementHook: (options: {
157
999
  minimumWidth: number;
158
1000
  }) => void;
159
1001
  selectionTracker: {
@@ -190,6 +1032,15 @@ export declare const createSpineItemManager: ({ context }: {
190
1032
  data: undefined;
191
1033
  }>;
192
1034
  };
1035
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
1036
+ columnHeight: number;
1037
+ columnWidth: number;
1038
+ width: number;
1039
+ };
1040
+ getDimensionsForPaginatedContent: () => {
1041
+ columnHeight: number;
1042
+ columnWidth: number;
1043
+ };
193
1044
  $: {
194
1045
  contentLayout$: import("rxjs").Observable<{
195
1046
  isFirstLayout: boolean;
@@ -198,7 +1049,7 @@ export declare const createSpineItemManager: ({ context }: {
198
1049
  loaded$: import("rxjs").Observable<HTMLIFrameElement>;
199
1050
  isReady$: import("rxjs").Observable<boolean>;
200
1051
  };
201
- }) | undefined;
1052
+ } | undefined;
202
1053
  getFocusedSpineItemIndex: () => number | undefined;
203
1054
  getSpineItemIndex: (spineItem: SpineItem | undefined) => number | undefined;
204
1055
  destroy: () => void;