@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.
@@ -19,8 +19,15 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
19
19
  getSpinePositionFromSpineItemPosition: (spineItemPosition: SpineItemPosition, spineItem: SpineItem) => SpinePosition;
20
20
  getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
21
21
  getSpinePositionFromSpineItemAnchor: (anchor: string, spineItem: SpineItem) => SpinePosition;
22
- getSpineItemPositionFromSpinePosition: ((position: SpinePosition, spineItem: SpineItem) => SpineItemPosition) | ((position: SpinePosition, spineItem: SpineItem) => SpineItemPosition);
23
- getSpineItemFromPosition: ((position: SpinePosition) => ({
22
+ getSpineItemPositionFromSpinePosition: ((position: SpinePosition, spineItem: SpineItem) => SpineItemPosition) | ((position: SpinePosition, spineItem: {
23
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
24
+ blankPagePosition: "before" | "after" | "none";
25
+ minimumWidth: number;
26
+ spreadPosition: "none" | "right" | "left";
27
+ }) => {
28
+ width: number;
29
+ height: number;
30
+ };
24
31
  item: {
25
32
  id: string;
26
33
  href: string;
@@ -31,15 +38,177 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
31
38
  pageSpreadRight: true | undefined;
32
39
  mediaType?: string | undefined;
33
40
  };
34
- } & {
35
- layout: (layoutInformation: {
36
- blankPagePosition: "after" | "before" | "none";
41
+ load: () => void;
42
+ adjustPositionOfElement: ({ right, left, top }: {
43
+ right?: number | undefined;
44
+ left?: number | undefined;
45
+ top?: number | undefined;
46
+ }) => void;
47
+ getElementDimensions: () => {
48
+ width: number;
49
+ height: number;
50
+ };
51
+ getHtmlFromResource: (response: Response) => Promise<string>;
52
+ getResource: () => Promise<Response>;
53
+ translateFramePositionIntoPage: (position: {
54
+ clientX: number;
55
+ clientY: number;
56
+ }) => {
57
+ clientX: number;
58
+ clientY: number;
59
+ };
60
+ setLayoutDirty: () => void;
61
+ injectStyle: (cssText: string) => void;
62
+ loadContent: () => void;
63
+ unloadContent: () => void;
64
+ spineItemFrame: {
65
+ getIsLoaded: () => boolean;
66
+ getIsReady: () => boolean;
67
+ getViewportDimensions: () => {
68
+ width: number;
69
+ height: number;
70
+ } | undefined;
71
+ getFrameElement: () => HTMLIFrameElement | undefined;
72
+ getHtmlFromResource: (response: Response) => Promise<string>;
73
+ load: () => void;
74
+ unload: () => void;
75
+ staticLayout: (size: {
76
+ width: number;
77
+ height: number;
78
+ }) => void;
79
+ getManipulableFrame: () => {
80
+ frame: HTMLIFrameElement;
81
+ removeStyle: (id: string) => void;
82
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
83
+ } | undefined;
84
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
85
+ isUsingVerticalWriting: () => boolean;
86
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
87
+ destroy: () => void;
88
+ $: {
89
+ unload$: import("rxjs").Observable<void>;
90
+ unloaded$: import("rxjs").Observable<void>;
91
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
92
+ ready$: import("rxjs").Observable<FontFaceSet | undefined>;
93
+ isReady$: import("rxjs").Observable<boolean>;
94
+ contentLayoutChange$: import("rxjs").Observable<{
95
+ isFirstLayout: boolean;
96
+ } | {
97
+ isFirstLayout: boolean;
98
+ }>;
99
+ };
100
+ };
101
+ element: HTMLElement;
102
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
103
+ getViewPortInformation: () => {
104
+ computedScale: number;
105
+ computedWidthScale: number;
106
+ viewportDimensions: {
107
+ width: number;
108
+ height: number;
109
+ };
110
+ } | undefined;
111
+ isImageType: () => boolean;
112
+ isReady: () => boolean;
113
+ destroy: () => void;
114
+ isUsingVerticalWriting: () => boolean | undefined;
115
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
116
+ manipulateSpineItem: (cb: (options: {
117
+ container: HTMLElement;
118
+ item: {
119
+ id: string;
120
+ href: string;
121
+ path: string;
122
+ renditionLayout: "reflowable" | "pre-paginated";
123
+ progressionWeight: number;
124
+ pageSpreadLeft: true | undefined;
125
+ pageSpreadRight: true | undefined;
126
+ mediaType?: string | undefined;
127
+ };
128
+ overlayElement: HTMLDivElement;
129
+ } & ({
130
+ frame: HTMLIFrameElement;
131
+ removeStyle: (id: string) => void;
132
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
133
+ } | {
134
+ frame: undefined;
135
+ removeStyle: (id: string) => void;
136
+ addStyle: (id: string, style: string) => void;
137
+ })) => boolean) => boolean;
138
+ executeOnLayoutBeforeMeasurementHook: (options: {
139
+ minimumWidth: number;
140
+ }) => void;
141
+ selectionTracker: {
142
+ track: (frameToTrack: HTMLIFrameElement) => void;
143
+ destroy: () => void;
144
+ isSelecting: () => boolean;
145
+ getSelection: () => Selection | undefined;
146
+ $: import("rxjs").Observable<{
147
+ event: "selectionchange";
148
+ data: Selection | null;
149
+ } | {
150
+ event: "selectstart";
151
+ data: Selection | null;
152
+ } | {
153
+ event: "selectend";
154
+ data: Selection | null;
155
+ }>;
156
+ };
157
+ fingerTracker: {
158
+ track: (frame: HTMLIFrameElement) => void;
159
+ getFingerPositionInIframe(): {
160
+ x: number | undefined;
161
+ y: number | undefined;
162
+ } | undefined;
163
+ destroy: () => void;
164
+ $: import("rxjs").Observable<{
165
+ event: "fingermove";
166
+ data: {
167
+ x: number;
168
+ y: number;
169
+ };
170
+ } | {
171
+ event: "fingerout";
172
+ data: undefined;
173
+ }>;
174
+ };
175
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
176
+ columnHeight: number;
177
+ columnWidth: number;
178
+ width: number;
179
+ };
180
+ getDimensionsForPaginatedContent: () => {
181
+ columnHeight: number;
182
+ columnWidth: number;
183
+ };
184
+ $: {
185
+ contentLayout$: import("rxjs").Observable<{
186
+ isFirstLayout: boolean;
187
+ isReady: boolean;
188
+ }>;
189
+ loaded$: import("rxjs").Observable<HTMLIFrameElement>;
190
+ isReady$: import("rxjs").Observable<boolean>;
191
+ };
192
+ }) => SpineItemPosition);
193
+ getSpineItemFromPosition: ((position: SpinePosition) => {
194
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
195
+ blankPagePosition: "before" | "after" | "none";
37
196
  minimumWidth: number;
38
- spreadPosition: "right" | "left" | "none";
197
+ spreadPosition: "none" | "right" | "left";
39
198
  }) => {
40
199
  width: number;
41
200
  height: number;
42
201
  };
202
+ item: {
203
+ id: string;
204
+ href: string;
205
+ path: string;
206
+ renditionLayout: "reflowable" | "pre-paginated";
207
+ progressionWeight: number;
208
+ pageSpreadLeft: true | undefined;
209
+ pageSpreadRight: true | undefined;
210
+ mediaType?: string | undefined;
211
+ };
43
212
  load: () => void;
44
213
  adjustPositionOfElement: ({ right, left, top }: {
45
214
  right?: number | undefined;
@@ -101,7 +270,6 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
101
270
  };
102
271
  };
103
272
  element: HTMLElement;
104
- isReflowable: boolean;
105
273
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
106
274
  getViewPortInformation: () => {
107
275
  computedScale: number;
@@ -110,13 +278,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
110
278
  width: number;
111
279
  height: number;
112
280
  };
113
- } | {
114
- width?: number | undefined;
115
- height?: number | undefined;
116
- computedScale: number;
117
- computedWidthScale: number;
118
- viewportDimensions?: undefined;
119
- };
281
+ } | undefined;
120
282
  isImageType: () => boolean;
121
283
  isReady: () => boolean;
122
284
  destroy: () => void;
@@ -144,7 +306,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
144
306
  removeStyle: (id: string) => void;
145
307
  addStyle: (id: string, style: string) => void;
146
308
  })) => boolean) => boolean;
147
- executeOnLayoutBeforeMeasurmentHook: (options: {
309
+ executeOnLayoutBeforeMeasurementHook: (options: {
148
310
  minimumWidth: number;
149
311
  }) => void;
150
312
  selectionTracker: {
@@ -181,6 +343,15 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
181
343
  data: undefined;
182
344
  }>;
183
345
  };
346
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
347
+ columnHeight: number;
348
+ columnWidth: number;
349
+ width: number;
350
+ };
351
+ getDimensionsForPaginatedContent: () => {
352
+ columnHeight: number;
353
+ columnWidth: number;
354
+ };
184
355
  $: {
185
356
  contentLayout$: import("rxjs").Observable<{
186
357
  isFirstLayout: boolean;
@@ -189,7 +360,15 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
189
360
  loaded$: import("rxjs").Observable<HTMLIFrameElement>;
190
361
  isReady$: import("rxjs").Observable<boolean>;
191
362
  };
192
- }) | undefined) | ((position: SpinePosition) => ({
363
+ } | undefined) | ((position: SpinePosition) => {
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
+ };
193
372
  item: {
194
373
  id: string;
195
374
  href: string;
@@ -200,15 +379,177 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
200
379
  pageSpreadRight: true | undefined;
201
380
  mediaType?: string | undefined;
202
381
  };
203
- } & {
204
- layout: (layoutInformation: {
205
- blankPagePosition: "after" | "before" | "none";
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
+ } | undefined);
534
+ getSpineItemFromIframe: (iframe: Element) => {
535
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
536
+ blankPagePosition: "before" | "after" | "none";
206
537
  minimumWidth: number;
207
- spreadPosition: "right" | "left" | "none";
538
+ spreadPosition: "none" | "right" | "left";
208
539
  }) => {
209
540
  width: number;
210
541
  height: number;
211
542
  };
543
+ item: {
544
+ id: string;
545
+ href: string;
546
+ path: string;
547
+ renditionLayout: "reflowable" | "pre-paginated";
548
+ progressionWeight: number;
549
+ pageSpreadLeft: true | undefined;
550
+ pageSpreadRight: true | undefined;
551
+ mediaType?: string | undefined;
552
+ };
212
553
  load: () => void;
213
554
  adjustPositionOfElement: ({ right, left, top }: {
214
555
  right?: number | undefined;
@@ -270,7 +611,6 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
270
611
  };
271
612
  };
272
613
  element: HTMLElement;
273
- isReflowable: boolean;
274
614
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
275
615
  getViewPortInformation: () => {
276
616
  computedScale: number;
@@ -279,13 +619,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
279
619
  width: number;
280
620
  height: number;
281
621
  };
282
- } | {
283
- width?: number | undefined;
284
- height?: number | undefined;
285
- computedScale: number;
286
- computedWidthScale: number;
287
- viewportDimensions?: undefined;
288
- };
622
+ } | undefined;
289
623
  isImageType: () => boolean;
290
624
  isReady: () => boolean;
291
625
  destroy: () => void;
@@ -313,7 +647,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
313
647
  removeStyle: (id: string) => void;
314
648
  addStyle: (id: string, style: string) => void;
315
649
  })) => boolean) => boolean;
316
- executeOnLayoutBeforeMeasurmentHook: (options: {
650
+ executeOnLayoutBeforeMeasurementHook: (options: {
317
651
  minimumWidth: number;
318
652
  }) => void;
319
653
  selectionTracker: {
@@ -350,6 +684,15 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
350
684
  data: undefined;
351
685
  }>;
352
686
  };
687
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
688
+ columnHeight: number;
689
+ columnWidth: number;
690
+ width: number;
691
+ };
692
+ getDimensionsForPaginatedContent: () => {
693
+ columnHeight: number;
694
+ columnWidth: number;
695
+ };
353
696
  $: {
354
697
  contentLayout$: import("rxjs").Observable<{
355
698
  isFirstLayout: boolean;
@@ -358,8 +701,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
358
701
  loaded$: import("rxjs").Observable<HTMLIFrameElement>;
359
702
  isReady$: import("rxjs").Observable<boolean>;
360
703
  };
361
- }) | undefined);
362
- getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined;
704
+ } | undefined;
363
705
  getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
364
706
  getSpineItemsFromReadingOrderPosition: (position: SpinePosition) => {
365
707
  left: number;
@@ -11,10 +11,22 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, ifr
11
11
  hooks$: BehaviorSubject<Hook[]>;
12
12
  viewportState$: Observable<`free` | `busy`>;
13
13
  }) => {
14
+ item: {
15
+ id: string;
16
+ href: string;
17
+ path: string;
18
+ renditionLayout: "reflowable" | "pre-paginated";
19
+ progressionWeight: number;
20
+ pageSpreadLeft: true | undefined;
21
+ pageSpreadRight: true | undefined;
22
+ mediaType?: string | undefined;
23
+ };
14
24
  load: () => void;
15
- layout: ({ height, width }: {
25
+ layout: ({ height, width, blankPagePosition, minimumWidth }: {
16
26
  height: number;
17
27
  width: number;
28
+ blankPagePosition: `before` | `after` | `none`;
29
+ minimumWidth: number;
18
30
  }) => void;
19
31
  adjustPositionOfElement: ({ right, left, top }: {
20
32
  right?: number | undefined;
@@ -76,7 +88,6 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, ifr
76
88
  };
77
89
  };
78
90
  element: HTMLElement;
79
- isReflowable: boolean;
80
91
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
81
92
  getViewPortInformation: () => {
82
93
  computedScale: number;
@@ -85,13 +96,7 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, ifr
85
96
  width: number;
86
97
  height: number;
87
98
  };
88
- } | {
89
- width?: number | undefined;
90
- height?: number | undefined;
91
- computedScale: number;
92
- computedWidthScale: number;
93
- viewportDimensions?: undefined;
94
- };
99
+ } | undefined;
95
100
  isImageType: () => boolean;
96
101
  isReady: () => boolean;
97
102
  destroy: () => void;
@@ -110,7 +115,7 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, ifr
110
115
  removeStyle: (id: string) => void;
111
116
  addStyle: (id: string, style: string) => void;
112
117
  })) => boolean) => boolean;
113
- executeOnLayoutBeforeMeasurmentHook: (options: {
118
+ executeOnLayoutBeforeMeasurementHook: (options: {
114
119
  minimumWidth: number;
115
120
  }) => void;
116
121
  selectionTracker: {
@@ -147,6 +152,15 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, ifr
147
152
  data: undefined;
148
153
  }>;
149
154
  };
155
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
156
+ columnHeight: number;
157
+ columnWidth: number;
158
+ width: number;
159
+ };
160
+ getDimensionsForPaginatedContent: () => {
161
+ columnHeight: number;
162
+ columnWidth: number;
163
+ };
150
164
  $: {
151
165
  contentLayout$: Observable<{
152
166
  isFirstLayout: boolean;