@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.
@@ -2,11 +2,6 @@ import { BehaviorSubject, Observable } from "rxjs";
2
2
  import { Context } from "../context";
3
3
  import { Manifest } from "../types";
4
4
  import { Hook } from "../types/Hook";
5
- import { createPrePaginatedSpineItem } from "./prePaginatedSpineItem";
6
- import { createReflowableSpineItem } from "./reflowableSpineItem";
7
- export declare type SpineItem = {
8
- item: Manifest[`spineItems`][number];
9
- } & (ReturnType<typeof createPrePaginatedSpineItem> | ReturnType<typeof createReflowableSpineItem>);
10
5
  export declare const createSpineItem: ({ item, context, containerElement, iframeEventBridgeElement, hooks$, viewportState$ }: {
11
6
  item: Manifest[`spineItems`][number];
12
7
  containerElement: HTMLElement;
@@ -15,163 +10,14 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
15
10
  hooks$: BehaviorSubject<Hook[]>;
16
11
  viewportState$: Observable<`free` | `busy`>;
17
12
  }) => {
18
- layout: (layoutInformation: {
19
- blankPagePosition: "after" | "before" | "none";
13
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
14
+ blankPagePosition: "before" | "after" | "none";
20
15
  minimumWidth: number;
21
- spreadPosition: "right" | "left" | "none";
16
+ spreadPosition: "none" | "right" | "left";
22
17
  }) => {
23
18
  width: number;
24
19
  height: number;
25
20
  };
26
- load: () => void;
27
- adjustPositionOfElement: ({ right, left, top }: {
28
- right?: number | undefined;
29
- left?: number | undefined;
30
- top?: number | undefined;
31
- }) => void;
32
- getElementDimensions: () => {
33
- width: number;
34
- height: number;
35
- };
36
- getHtmlFromResource: (response: Response) => Promise<string>;
37
- getResource: () => Promise<Response>;
38
- translateFramePositionIntoPage: (position: {
39
- clientX: number;
40
- clientY: number;
41
- }) => {
42
- clientX: number;
43
- clientY: number;
44
- };
45
- setLayoutDirty: () => void;
46
- injectStyle: (cssText: string) => void;
47
- loadContent: () => void;
48
- unloadContent: () => void;
49
- spineItemFrame: {
50
- getIsLoaded: () => boolean;
51
- getIsReady: () => boolean;
52
- getViewportDimensions: () => {
53
- width: number;
54
- height: number;
55
- } | undefined;
56
- getFrameElement: () => HTMLIFrameElement | undefined;
57
- getHtmlFromResource: (response: Response) => Promise<string>;
58
- load: () => void;
59
- unload: () => void;
60
- staticLayout: (size: {
61
- width: number;
62
- height: number;
63
- }) => void;
64
- getManipulableFrame: () => {
65
- frame: HTMLIFrameElement;
66
- removeStyle: (id: string) => void;
67
- addStyle: (id: string, style: string, prepend?: boolean) => void;
68
- } | undefined;
69
- getReadingDirection: () => "ltr" | "rtl" | undefined;
70
- isUsingVerticalWriting: () => boolean;
71
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
72
- destroy: () => void;
73
- $: {
74
- unload$: Observable<void>;
75
- unloaded$: Observable<void>;
76
- loaded$: Observable<HTMLIFrameElement>;
77
- ready$: Observable<FontFaceSet | undefined>;
78
- isReady$: Observable<boolean>;
79
- contentLayoutChange$: Observable<{
80
- isFirstLayout: boolean;
81
- } | {
82
- isFirstLayout: boolean;
83
- }>;
84
- };
85
- };
86
- element: HTMLElement;
87
- isReflowable: boolean;
88
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
89
- getViewPortInformation: () => {
90
- computedScale: number;
91
- computedWidthScale: number;
92
- viewportDimensions: {
93
- width: number;
94
- height: number;
95
- };
96
- } | {
97
- width?: number | undefined;
98
- height?: number | undefined;
99
- computedScale: number;
100
- computedWidthScale: number;
101
- viewportDimensions?: undefined;
102
- };
103
- isImageType: () => boolean;
104
- isReady: () => boolean;
105
- destroy: () => void;
106
- isUsingVerticalWriting: () => boolean | undefined;
107
- getReadingDirection: () => "ltr" | "rtl" | undefined;
108
- manipulateSpineItem: (cb: (options: {
109
- container: HTMLElement;
110
- item: {
111
- id: string;
112
- href: string;
113
- path: string;
114
- renditionLayout: "reflowable" | "pre-paginated";
115
- progressionWeight: number;
116
- pageSpreadLeft: true | undefined;
117
- pageSpreadRight: true | undefined;
118
- mediaType?: string | undefined;
119
- };
120
- overlayElement: HTMLDivElement;
121
- } & ({
122
- frame: HTMLIFrameElement;
123
- removeStyle: (id: string) => void;
124
- addStyle: (id: string, style: string, prepend?: boolean) => void;
125
- } | {
126
- frame: undefined;
127
- removeStyle: (id: string) => void;
128
- addStyle: (id: string, style: string) => void;
129
- })) => boolean) => boolean;
130
- executeOnLayoutBeforeMeasurmentHook: (options: {
131
- minimumWidth: number;
132
- }) => void;
133
- selectionTracker: {
134
- track: (frameToTrack: HTMLIFrameElement) => void;
135
- destroy: () => void;
136
- isSelecting: () => boolean;
137
- getSelection: () => Selection | undefined;
138
- $: Observable<{
139
- event: "selectionchange";
140
- data: Selection | null;
141
- } | {
142
- event: "selectstart";
143
- data: Selection | null;
144
- } | {
145
- event: "selectend";
146
- data: Selection | null;
147
- }>;
148
- };
149
- fingerTracker: {
150
- track: (frame: HTMLIFrameElement) => void;
151
- getFingerPositionInIframe(): {
152
- x: number | undefined;
153
- y: number | undefined;
154
- } | undefined;
155
- destroy: () => void;
156
- $: Observable<{
157
- event: "fingermove";
158
- data: {
159
- x: number;
160
- y: number;
161
- };
162
- } | {
163
- event: "fingerout";
164
- data: undefined;
165
- }>;
166
- };
167
- $: {
168
- contentLayout$: Observable<{
169
- isFirstLayout: boolean;
170
- isReady: boolean;
171
- }>;
172
- loaded$: Observable<HTMLIFrameElement>;
173
- isReady$: Observable<boolean>;
174
- };
175
21
  item: {
176
22
  id: string;
177
23
  href: string;
@@ -182,15 +28,6 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
182
28
  pageSpreadRight: true | undefined;
183
29
  mediaType?: string | undefined;
184
30
  };
185
- } | {
186
- isReflowable: boolean;
187
- layout: ({ blankPagePosition, minimumWidth }: {
188
- blankPagePosition: "after" | "before" | "none";
189
- minimumWidth: number;
190
- }) => {
191
- width: number;
192
- height: number;
193
- };
194
31
  load: () => void;
195
32
  adjustPositionOfElement: ({ right, left, top }: {
196
33
  right?: number | undefined;
@@ -260,13 +97,7 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
260
97
  width: number;
261
98
  height: number;
262
99
  };
263
- } | {
264
- width?: number | undefined;
265
- height?: number | undefined;
266
- computedScale: number;
267
- computedWidthScale: number;
268
- viewportDimensions?: undefined;
269
- };
100
+ } | undefined;
270
101
  isImageType: () => boolean;
271
102
  isReady: () => boolean;
272
103
  destroy: () => void;
@@ -294,7 +125,7 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
294
125
  removeStyle: (id: string) => void;
295
126
  addStyle: (id: string, style: string) => void;
296
127
  })) => boolean) => boolean;
297
- executeOnLayoutBeforeMeasurmentHook: (options: {
128
+ executeOnLayoutBeforeMeasurementHook: (options: {
298
129
  minimumWidth: number;
299
130
  }) => void;
300
131
  selectionTracker: {
@@ -331,6 +162,15 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
331
162
  data: undefined;
332
163
  }>;
333
164
  };
165
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
166
+ columnHeight: number;
167
+ columnWidth: number;
168
+ width: number;
169
+ };
170
+ getDimensionsForPaginatedContent: () => {
171
+ columnHeight: number;
172
+ columnWidth: number;
173
+ };
334
174
  $: {
335
175
  contentLayout$: Observable<{
336
176
  isFirstLayout: boolean;
@@ -339,14 +179,5 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
339
179
  loaded$: Observable<HTMLIFrameElement>;
340
180
  isReady$: Observable<boolean>;
341
181
  };
342
- item: {
343
- id: string;
344
- href: string;
345
- path: string;
346
- renditionLayout: "reflowable" | "pre-paginated";
347
- progressionWeight: number;
348
- pageSpreadLeft: true | undefined;
349
- pageSpreadRight: true | undefined;
350
- mediaType?: string | undefined;
351
- };
352
182
  };
183
+ export declare type SpineItem = ReturnType<typeof createSpineItem>;
@@ -10,7 +10,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
10
10
  hooks$: BehaviorSubject<Hook[]>;
11
11
  viewportState$: Observable<`free` | `busy`>;
12
12
  }) => {
13
- layout: (layoutInformation: {
13
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition }: {
14
14
  blankPagePosition: `before` | `after` | `none`;
15
15
  minimumWidth: number;
16
16
  spreadPosition: `none` | `left` | `right`;
@@ -18,6 +18,16 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
18
18
  width: number;
19
19
  height: number;
20
20
  };
21
+ item: {
22
+ id: string;
23
+ href: string;
24
+ path: string;
25
+ renditionLayout: "reflowable" | "pre-paginated";
26
+ progressionWeight: number;
27
+ pageSpreadLeft: true | undefined;
28
+ pageSpreadRight: true | undefined;
29
+ mediaType?: string | undefined;
30
+ };
21
31
  load: () => void;
22
32
  adjustPositionOfElement: ({ right, left, top }: {
23
33
  right?: number | undefined;
@@ -79,7 +89,6 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
79
89
  };
80
90
  };
81
91
  element: HTMLElement;
82
- isReflowable: boolean;
83
92
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
84
93
  getViewPortInformation: () => {
85
94
  computedScale: number;
@@ -88,13 +97,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
88
97
  width: number;
89
98
  height: number;
90
99
  };
91
- } | {
92
- width?: number | undefined;
93
- height?: number | undefined;
94
- computedScale: number;
95
- computedWidthScale: number;
96
- viewportDimensions?: undefined;
97
- };
100
+ } | undefined;
98
101
  isImageType: () => boolean;
99
102
  isReady: () => boolean;
100
103
  destroy: () => void;
@@ -122,7 +125,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
122
125
  removeStyle: (id: string) => void;
123
126
  addStyle: (id: string, style: string) => void;
124
127
  })) => boolean) => boolean;
125
- executeOnLayoutBeforeMeasurmentHook: (options: {
128
+ executeOnLayoutBeforeMeasurementHook: (options: {
126
129
  minimumWidth: number;
127
130
  }) => void;
128
131
  selectionTracker: {
@@ -159,6 +162,15 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
159
162
  data: undefined;
160
163
  }>;
161
164
  };
165
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
166
+ columnHeight: number;
167
+ columnWidth: number;
168
+ width: number;
169
+ };
170
+ getDimensionsForPaginatedContent: () => {
171
+ columnHeight: number;
172
+ columnWidth: number;
173
+ };
162
174
  $: {
163
175
  contentLayout$: Observable<{
164
176
  isFirstLayout: boolean;
@@ -10,7 +10,6 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
10
10
  hooks$: BehaviorSubject<Hook[]>;
11
11
  viewportState$: Observable<`free` | `busy`>;
12
12
  }) => {
13
- isReflowable: boolean;
14
13
  layout: ({ blankPagePosition, minimumWidth }: {
15
14
  blankPagePosition: `before` | `after` | `none`;
16
15
  minimumWidth: number;
@@ -18,6 +17,16 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
18
17
  width: number;
19
18
  height: number;
20
19
  };
20
+ item: {
21
+ id: string;
22
+ href: string;
23
+ path: string;
24
+ renditionLayout: "reflowable" | "pre-paginated";
25
+ progressionWeight: number;
26
+ pageSpreadLeft: true | undefined;
27
+ pageSpreadRight: true | undefined;
28
+ mediaType?: string | undefined;
29
+ };
21
30
  load: () => void;
22
31
  adjustPositionOfElement: ({ right, left, top }: {
23
32
  right?: number | undefined;
@@ -87,13 +96,7 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
87
96
  width: number;
88
97
  height: number;
89
98
  };
90
- } | {
91
- width?: number | undefined;
92
- height?: number | undefined;
93
- computedScale: number;
94
- computedWidthScale: number;
95
- viewportDimensions?: undefined;
96
- };
99
+ } | undefined;
97
100
  isImageType: () => boolean;
98
101
  isReady: () => boolean;
99
102
  destroy: () => void;
@@ -121,7 +124,7 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
121
124
  removeStyle: (id: string) => void;
122
125
  addStyle: (id: string, style: string) => void;
123
126
  })) => boolean) => boolean;
124
- executeOnLayoutBeforeMeasurmentHook: (options: {
127
+ executeOnLayoutBeforeMeasurementHook: (options: {
125
128
  minimumWidth: number;
126
129
  }) => void;
127
130
  selectionTracker: {
@@ -158,6 +161,15 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
158
161
  data: undefined;
159
162
  }>;
160
163
  };
164
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
165
+ columnHeight: number;
166
+ columnWidth: number;
167
+ width: number;
168
+ };
169
+ getDimensionsForPaginatedContent: () => {
170
+ columnHeight: number;
171
+ columnWidth: number;
172
+ };
161
173
  $: {
162
174
  contentLayout$: Observable<{
163
175
  isFirstLayout: boolean;
@@ -0,0 +1 @@
1
+ export declare const getStyleForViewportDocument: () => string;