@prose-reader/core 1.28.0 → 1.30.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 (75) hide show
  1. package/dist/cfi.d.ts +71 -101
  2. package/dist/constants.d.ts +6 -6
  3. package/dist/context.d.ts +43 -38
  4. package/dist/createReaderWithEnhancer.d.ts +5286 -6297
  5. package/dist/enhancers/accessibility.d.ts +4785 -5685
  6. package/dist/enhancers/chrome.d.ts +4785 -5685
  7. package/dist/enhancers/fonts.d.ts +4798 -5699
  8. package/dist/enhancers/hotkeys.d.ts +4785 -5685
  9. package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +3 -3
  10. package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +2 -2
  11. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +4792 -5696
  12. package/dist/enhancers/layoutEnhancer/types.d.ts +6 -6
  13. package/dist/enhancers/links.d.ts +4794 -5694
  14. package/dist/enhancers/loadingEnhancer.d.ts +4810 -5707
  15. package/dist/enhancers/media.d.ts +4785 -5685
  16. package/dist/enhancers/navigation.d.ts +4788 -5688
  17. package/dist/enhancers/pagination.d.ts +5165 -6133
  18. package/dist/enhancers/progression.d.ts +4798 -5709
  19. package/dist/enhancers/resources/index.d.ts +4785 -5685
  20. package/dist/enhancers/resources/indexedDB.d.ts +5 -5
  21. package/dist/enhancers/resources/resourcesManager.d.ts +5 -8
  22. package/dist/enhancers/theme.d.ts +4811 -5717
  23. package/dist/enhancers/types/enhancer.d.ts +4789 -5689
  24. package/dist/enhancers/utils.d.ts +4789 -5689
  25. package/dist/enhancers/webkit.d.ts +4785 -5685
  26. package/dist/enhancers/zoom/elementZoomer.d.ts +17 -25
  27. package/dist/enhancers/zoom/index.d.ts +4786 -5686
  28. package/dist/enhancers/zoom/types.d.ts +21 -26
  29. package/dist/enhancers/zoom/viewportZoomer.d.ts +17 -22
  30. package/dist/frames.d.ts +5 -7
  31. package/dist/index.d.ts +8 -8
  32. package/dist/pagination.d.ts +64 -73
  33. package/dist/prose.js +4851 -5294
  34. package/dist/prose.js.map +1 -1
  35. package/dist/prose.umd.cjs +4975 -5457
  36. package/dist/prose.umd.cjs.map +1 -1
  37. package/dist/reader.d.ts +4791 -5692
  38. package/dist/report.d.ts +25 -49
  39. package/dist/selection.d.ts +6 -9
  40. package/dist/settings.d.ts +36 -38
  41. package/dist/spine/cfiLocator.d.ts +359 -438
  42. package/dist/spine/createSpine.d.ts +29 -43
  43. package/dist/spine/eventsHelper.d.ts +10 -13
  44. package/dist/spine/locationResolver.d.ts +682 -820
  45. package/dist/spine/navigationResolver.d.ts +42 -51
  46. package/dist/spine/types.d.ts +8 -8
  47. package/dist/spineItem/commonSpineItem.d.ts +169 -205
  48. package/dist/spineItem/createSpineItem.d.ts +178 -213
  49. package/dist/spineItem/frameItem/createFrame$.d.ts +1 -3
  50. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +4 -4
  51. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +2 -5
  52. package/dist/spineItem/frameItem/frameItem.d.ts +45 -54
  53. package/dist/spineItem/frameItem/loader.d.ts +26 -33
  54. package/dist/spineItem/locationResolver.d.ts +23 -35
  55. package/dist/spineItem/navigationResolver.d.ts +13 -11
  56. package/dist/spineItem/prePaginatedSpineItem.d.ts +177 -212
  57. package/dist/spineItem/reflowableSpineItem.d.ts +176 -204
  58. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +1 -1
  59. package/dist/spineItem/trackers.d.ts +31 -40
  60. package/dist/spineItem/types.d.ts +15 -12
  61. package/dist/spineItemManager.d.ts +532 -618
  62. package/dist/types/Hook.d.ts +69 -113
  63. package/dist/types/Spine.d.ts +37 -41
  64. package/dist/types/index.d.ts +8 -8
  65. package/dist/utils/dom.d.ts +18 -30
  66. package/dist/utils/layout.d.ts +7 -12
  67. package/dist/utils/manifest.d.ts +2 -2
  68. package/dist/utils/objects.d.ts +6 -12
  69. package/dist/utils/rxjs.d.ts +4 -9
  70. package/dist/viewportNavigator/manualViewportNavigator.d.ts +1367 -1624
  71. package/dist/viewportNavigator/panViewportNavigator.d.ts +214 -271
  72. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +34 -37
  73. package/dist/viewportNavigator/types.d.ts +31 -36
  74. package/dist/viewportNavigator/viewportNavigator.d.ts +70 -100
  75. package/package.json +3 -3
@@ -1,216 +1,181 @@
1
- import { BehaviorSubject, Observable } from "rxjs"
2
- import { Context } from "../context"
3
- import { Manifest } from "../types"
4
- import { Hook } from "../types/Hook"
5
- export declare const createSpineItem: ({
6
- item,
7
- context,
8
- containerElement,
9
- iframeEventBridgeElement,
10
- hooks$,
11
- viewportState$,
12
- }: {
13
- item: Manifest[`spineItems`][number]
14
- containerElement: HTMLElement
15
- iframeEventBridgeElement: HTMLElement
16
- context: Context
17
- hooks$: BehaviorSubject<Hook[]>
18
- viewportState$: Observable<`free` | `busy`>
1
+ import { BehaviorSubject, Observable } from "rxjs";
2
+ import { Context } from "../context";
3
+ import { Manifest } from "../types";
4
+ import { Hook } from "../types/Hook";
5
+ export declare const createSpineItem: ({ item, context, containerElement, iframeEventBridgeElement, hooks$, viewportState$, }: {
6
+ item: Manifest[`spineItems`][number];
7
+ containerElement: HTMLElement;
8
+ iframeEventBridgeElement: HTMLElement;
9
+ context: Context;
10
+ hooks$: BehaviorSubject<Hook[]>;
11
+ viewportState$: Observable<`free` | `busy`>;
19
12
  }) => {
20
- layout: ({
21
- blankPagePosition,
22
- minimumWidth,
23
- spreadPosition,
24
- }: {
25
- blankPagePosition: "after" | "before" | "none"
26
- minimumWidth: number
27
- spreadPosition: "none" | "right" | "left"
28
- }) => {
29
- width: number
30
- height: number
31
- }
32
- item: {
33
- id: string
34
- href: string
35
- renditionLayout: "reflowable" | "pre-paginated"
36
- progressionWeight: number
37
- pageSpreadLeft: true | undefined
38
- pageSpreadRight: true | undefined
39
- mediaType?: string | undefined
40
- }
41
- load: () => void
42
- adjustPositionOfElement: ({
43
- right,
44
- left,
45
- top,
46
- }: {
47
- right?: number | undefined
48
- left?: number | undefined
49
- top?: number | undefined
50
- }) => void
51
- getElementDimensions: () => {
52
- width: number
53
- height: number
54
- }
55
- getHtmlFromResource: (response: Response) => Promise<string>
56
- getResource: () => Promise<Response>
57
- translateFramePositionIntoPage: (position: { clientX: number; clientY: number }) => {
58
- clientX: number
59
- clientY: number
60
- }
61
- setLayoutDirty: () => void
62
- injectStyle: (cssText: string) => void
63
- loadContent: () => void
64
- unloadContent: () => void
65
- spineItemFrame: {
66
- getIsLoaded: () => boolean
67
- getIsReady: () => boolean
68
- getViewportDimensions: () =>
69
- | {
70
- width: number
71
- height: number
72
- }
73
- | undefined
74
- getFrameElement: () => HTMLIFrameElement | undefined
75
- getHtmlFromResource: (response: Response) => Promise<string>
76
- load: () => void
77
- unload: () => void
78
- staticLayout: (size: { width: number; height: number }) => void
79
- getManipulableFrame: () =>
80
- | {
81
- frame: HTMLIFrameElement
82
- removeStyle: (id: string) => void
83
- addStyle: (id: string, style: string, prepend?: boolean) => void
84
- }
85
- | undefined
86
- getReadingDirection: () => "ltr" | "rtl" | undefined
87
- isUsingVerticalWriting: () => boolean
88
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined
89
- destroy: () => void
90
- $: {
91
- unload$: Observable<void>
92
- unloaded$: Observable<void>
93
- loaded$: Observable<HTMLIFrameElement>
94
- ready$: Observable<FontFaceSet | undefined>
95
- isReady$: Observable<boolean>
96
- contentLayoutChange$: Observable<
97
- | {
98
- isFirstLayout: boolean
99
- }
100
- | {
101
- isFirstLayout: boolean
102
- }
103
- >
104
- }
105
- }
106
- element: HTMLElement
107
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined
108
- getViewPortInformation: () =>
109
- | {
110
- computedScale: number
111
- computedWidthScale: number
13
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
14
+ blankPagePosition: "after" | "before" | "none";
15
+ minimumWidth: number;
16
+ spreadPosition: "none" | "right" | "left";
17
+ }) => {
18
+ width: number;
19
+ height: number;
20
+ };
21
+ item: {
22
+ id: string;
23
+ href: string;
24
+ renditionLayout: "reflowable" | "pre-paginated";
25
+ progressionWeight: number;
26
+ pageSpreadLeft: true | undefined;
27
+ pageSpreadRight: true | undefined;
28
+ mediaType?: string | undefined;
29
+ };
30
+ load: () => void;
31
+ adjustPositionOfElement: ({ right, left, top }: {
32
+ right?: number | undefined;
33
+ left?: number | undefined;
34
+ top?: number | undefined;
35
+ }) => void;
36
+ getElementDimensions: () => {
37
+ width: number;
38
+ height: number;
39
+ };
40
+ getHtmlFromResource: (response: Response) => Promise<string>;
41
+ getResource: () => Promise<Response>;
42
+ translateFramePositionIntoPage: (position: {
43
+ clientX: number;
44
+ clientY: number;
45
+ }) => {
46
+ clientX: number;
47
+ clientY: number;
48
+ };
49
+ setLayoutDirty: () => void;
50
+ injectStyle: (cssText: string) => void;
51
+ loadContent: () => void;
52
+ unloadContent: () => void;
53
+ spineItemFrame: {
54
+ getIsLoaded: () => boolean;
55
+ getIsReady: () => boolean;
56
+ getViewportDimensions: () => {
57
+ width: number;
58
+ height: number;
59
+ } | undefined;
60
+ getFrameElement: () => HTMLIFrameElement | undefined;
61
+ getHtmlFromResource: (response: Response) => Promise<string>;
62
+ load: () => void;
63
+ unload: () => void;
64
+ staticLayout: (size: {
65
+ width: number;
66
+ height: number;
67
+ }) => void;
68
+ getManipulableFrame: () => {
69
+ frame: HTMLIFrameElement;
70
+ removeStyle: (id: string) => void;
71
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
72
+ } | undefined;
73
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
74
+ isUsingVerticalWriting: () => boolean;
75
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
76
+ destroy: () => void;
77
+ $: {
78
+ unload$: Observable<void>;
79
+ unloaded$: Observable<void>;
80
+ loaded$: Observable<HTMLIFrameElement>;
81
+ ready$: Observable<FontFaceSet | undefined>;
82
+ isReady$: Observable<boolean>;
83
+ contentLayoutChange$: Observable<{
84
+ isFirstLayout: boolean;
85
+ } | {
86
+ isFirstLayout: boolean;
87
+ }>;
88
+ };
89
+ };
90
+ element: HTMLElement;
91
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
92
+ getViewPortInformation: () => {
93
+ computedScale: number;
94
+ computedWidthScale: number;
112
95
  viewportDimensions: {
113
- width: number
114
- height: number
115
- }
116
- }
117
- | undefined
118
- isImageType: () => boolean
119
- isReady: () => boolean
120
- destroy: () => void
121
- isUsingVerticalWriting: () => boolean | undefined
122
- getReadingDirection: () => "ltr" | "rtl" | undefined
123
- manipulateSpineItem: (
124
- cb: (
125
- options: {
126
- container: HTMLElement
96
+ width: number;
97
+ height: number;
98
+ };
99
+ } | undefined;
100
+ isImageType: () => boolean;
101
+ isReady: () => boolean;
102
+ destroy: () => void;
103
+ isUsingVerticalWriting: () => boolean | undefined;
104
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
105
+ manipulateSpineItem: (cb: (options: {
106
+ container: HTMLElement;
127
107
  item: {
128
- id: string
129
- href: string
130
- renditionLayout: "reflowable" | "pre-paginated"
131
- progressionWeight: number
132
- pageSpreadLeft: true | undefined
133
- pageSpreadRight: true | undefined
134
- mediaType?: string | undefined
135
- }
136
- overlayElement: HTMLDivElement
137
- } & (
138
- | {
139
- frame: HTMLIFrameElement
140
- removeStyle: (id: string) => void
141
- addStyle: (id: string, style: string, prepend?: boolean) => void
142
- }
143
- | {
144
- frame: undefined
145
- removeStyle: (id: string) => void
146
- addStyle: (id: string, style: string) => void
147
- }
148
- )
149
- ) => boolean
150
- ) => boolean
151
- executeOnLayoutBeforeMeasurementHook: (options: { minimumWidth: number }) => void
152
- selectionTracker: {
153
- track: (frameToTrack: HTMLIFrameElement) => void
154
- destroy: () => void
155
- isSelecting: () => boolean
156
- getSelection: () => Selection | undefined
157
- $: Observable<
158
- | {
159
- event: "selectionchange"
160
- data: Selection | null
161
- }
162
- | {
163
- event: "selectstart"
164
- data: Selection | null
165
- }
166
- | {
167
- event: "selectend"
168
- data: Selection | null
169
- }
170
- >
171
- }
172
- fingerTracker: {
173
- track: (frame: HTMLIFrameElement) => void
174
- getFingerPositionInIframe():
175
- | {
176
- x: number | undefined
177
- y: number | undefined
178
- }
179
- | undefined
180
- destroy: () => void
181
- $: Observable<
182
- | {
183
- event: "fingermove"
184
- data: {
185
- x: number
186
- y: number
187
- }
188
- }
189
- | {
190
- event: "fingerout"
191
- data: undefined
192
- }
193
- >
194
- }
195
- getDimensionsForReflowableContent: (
196
- isUsingVerticalWriting: boolean,
197
- minimumWidth: number
198
- ) => {
199
- columnHeight: number
200
- columnWidth: number
201
- width: number
202
- }
203
- getDimensionsForPaginatedContent: () => {
204
- columnHeight: number
205
- columnWidth: number
206
- }
207
- $: {
208
- contentLayout$: Observable<{
209
- isFirstLayout: boolean
210
- isReady: boolean
211
- }>
212
- loaded$: Observable<HTMLIFrameElement>
213
- isReady$: Observable<boolean>
214
- }
215
- }
216
- export type SpineItem = ReturnType<typeof createSpineItem>
108
+ id: string;
109
+ href: string;
110
+ renditionLayout: "reflowable" | "pre-paginated";
111
+ progressionWeight: number;
112
+ pageSpreadLeft: true | undefined;
113
+ pageSpreadRight: true | undefined;
114
+ mediaType?: string | undefined;
115
+ };
116
+ overlayElement: HTMLDivElement;
117
+ } & ({
118
+ frame: HTMLIFrameElement;
119
+ removeStyle: (id: string) => void;
120
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
121
+ } | {
122
+ frame: undefined;
123
+ removeStyle: (id: string) => void;
124
+ addStyle: (id: string, style: string) => void;
125
+ })) => boolean) => boolean;
126
+ executeOnLayoutBeforeMeasurementHook: (options: {
127
+ minimumWidth: number;
128
+ }) => void;
129
+ selectionTracker: {
130
+ track: (frameToTrack: HTMLIFrameElement) => void;
131
+ destroy: () => void;
132
+ isSelecting: () => boolean;
133
+ getSelection: () => Selection | undefined;
134
+ $: Observable<{
135
+ event: "selectionchange";
136
+ data: Selection | null;
137
+ } | {
138
+ event: "selectstart";
139
+ data: Selection | null;
140
+ } | {
141
+ event: "selectend";
142
+ data: Selection | null;
143
+ }>;
144
+ };
145
+ fingerTracker: {
146
+ track: (frame: HTMLIFrameElement) => void;
147
+ getFingerPositionInIframe(): {
148
+ x: number | undefined;
149
+ y: number | undefined;
150
+ } | undefined;
151
+ destroy: () => void;
152
+ $: Observable<{
153
+ event: "fingermove";
154
+ data: {
155
+ x: number;
156
+ y: number;
157
+ };
158
+ } | {
159
+ event: "fingerout";
160
+ data: undefined;
161
+ }>;
162
+ };
163
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
164
+ columnHeight: number;
165
+ columnWidth: number;
166
+ width: number;
167
+ };
168
+ getDimensionsForPaginatedContent: () => {
169
+ columnHeight: number;
170
+ columnWidth: number;
171
+ };
172
+ $: {
173
+ contentLayout$: Observable<{
174
+ isFirstLayout: boolean;
175
+ isReady: boolean;
176
+ }>;
177
+ loaded$: Observable<HTMLIFrameElement>;
178
+ isReady$: Observable<boolean>;
179
+ };
180
+ };
181
+ export type SpineItem = ReturnType<typeof createSpineItem>;
@@ -1,3 +1 @@
1
- export declare const createFrame$:
2
- | (() => import("rxjs").Observable<HTMLIFrameElement>)
3
- | (() => import("rxjs").Observable<HTMLIFrameElement>)
1
+ export declare const createFrame$: (() => import("rxjs").Observable<HTMLIFrameElement>) | (() => import("rxjs").Observable<HTMLIFrameElement>);
@@ -1,5 +1,5 @@
1
1
  export declare const createFrameManipulator: (frameElement: HTMLIFrameElement) => {
2
- frame: HTMLIFrameElement
3
- removeStyle: (id: string) => void
4
- addStyle: (id: string, style: string, prepend?: boolean) => void
5
- }
2
+ frame: HTMLIFrameElement;
3
+ removeStyle: (id: string) => void;
4
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
5
+ };
@@ -1,5 +1,2 @@
1
- import { Manifest } from "../../types"
2
- export declare const createHtmlPageFromResource: (
3
- resourceResponse: Response | string,
4
- item: Manifest[`spineItems`][number]
5
- ) => Promise<string>
1
+ import { Manifest } from "../../types";
2
+ export declare const createHtmlPageFromResource: (resourceResponse: Response | string, item: Manifest[`spineItems`][number]) => Promise<string>;
@@ -1,55 +1,46 @@
1
- import { Observable } from "rxjs"
2
- import { Manifest } from "../../types"
3
- import { Context } from "../../context"
4
- import { Hook } from "../../types/Hook"
5
- import { createFrameManipulator } from "./createFrameManipulator"
6
- export declare const createFrameItem: ({
7
- item,
8
- parent,
9
- fetchResource,
10
- context,
11
- hooks$,
12
- viewportState$,
13
- }: {
14
- parent: HTMLElement
15
- item: Manifest[`spineItems`][number]
16
- context: Context
17
- fetchResource?: ((item: Manifest[`spineItems`][number]) => Promise<Response>) | undefined
18
- hooks$: Observable<Hook[]>
19
- viewportState$: Observable<`free` | `busy`>
1
+ import { Observable } from "rxjs";
2
+ import { Manifest } from "../../types";
3
+ import { Context } from "../../context";
4
+ import { Hook } from "../../types/Hook";
5
+ import { createFrameManipulator } from "./createFrameManipulator";
6
+ export declare const createFrameItem: ({ item, parent, fetchResource, context, hooks$, viewportState$, }: {
7
+ parent: HTMLElement;
8
+ item: Manifest[`spineItems`][number];
9
+ context: Context;
10
+ fetchResource?: ((item: Manifest[`spineItems`][number]) => Promise<Response>) | undefined;
11
+ hooks$: Observable<Hook[]>;
12
+ viewportState$: Observable<`free` | `busy`>;
20
13
  }) => {
21
- getIsLoaded: () => boolean
22
- getIsReady: () => boolean
23
- getViewportDimensions: () =>
24
- | {
25
- width: number
26
- height: number
27
- }
28
- | undefined
29
- getFrameElement: () => HTMLIFrameElement | undefined
30
- getHtmlFromResource: (response: Response) => Promise<string>
31
- load: () => void
32
- unload: () => void
33
- staticLayout: (size: { width: number; height: number }) => void
34
- getManipulableFrame: () => ReturnType<typeof createFrameManipulator> | undefined
35
- getReadingDirection: () => `ltr` | `rtl` | undefined
36
- isUsingVerticalWriting: () => boolean
37
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined
38
- destroy: () => void
39
- $: {
40
- unload$: Observable<void>
41
- unloaded$: Observable<void>
42
- loaded$: Observable<HTMLIFrameElement>
43
- ready$: Observable<FontFaceSet | undefined>
44
- isReady$: Observable<boolean>
45
- contentLayoutChange$: Observable<
46
- | {
47
- isFirstLayout: boolean
48
- }
49
- | {
50
- isFirstLayout: boolean
51
- }
52
- >
53
- }
54
- }
55
- export type SpineItemFrame = ReturnType<typeof createFrameItem>
14
+ getIsLoaded: () => boolean;
15
+ getIsReady: () => boolean;
16
+ getViewportDimensions: () => {
17
+ width: number;
18
+ height: number;
19
+ } | undefined;
20
+ getFrameElement: () => HTMLIFrameElement | undefined;
21
+ getHtmlFromResource: (response: Response) => Promise<string>;
22
+ load: () => void;
23
+ unload: () => void;
24
+ staticLayout: (size: {
25
+ width: number;
26
+ height: number;
27
+ }) => void;
28
+ getManipulableFrame: () => ReturnType<typeof createFrameManipulator> | undefined;
29
+ getReadingDirection: () => `ltr` | `rtl` | undefined;
30
+ isUsingVerticalWriting: () => boolean;
31
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
32
+ destroy: () => void;
33
+ $: {
34
+ unload$: Observable<void>;
35
+ unloaded$: Observable<void>;
36
+ loaded$: Observable<HTMLIFrameElement>;
37
+ ready$: Observable<FontFaceSet | undefined>;
38
+ isReady$: Observable<boolean>;
39
+ contentLayoutChange$: Observable<{
40
+ isFirstLayout: boolean;
41
+ } | {
42
+ isFirstLayout: boolean;
43
+ }>;
44
+ };
45
+ };
46
+ export type SpineItemFrame = ReturnType<typeof createFrameItem>;
@@ -1,34 +1,27 @@
1
- import { BehaviorSubject, Observable } from "rxjs"
2
- import { Context } from "../../context"
3
- import { Manifest } from "../../types"
4
- import { Hook } from "../../types/Hook"
5
- export declare const createLoader: ({
6
- item,
7
- parent,
8
- fetchResource,
9
- hooks$,
10
- context,
11
- viewportState$,
12
- }: {
13
- item: Manifest[`spineItems`][number]
14
- parent: HTMLElement
15
- fetchResource?: ((item: Manifest[`spineItems`][number]) => Promise<Response>) | undefined
16
- hooks$: Observable<Hook[]>
17
- context: Context
18
- viewportState$: Observable<`free` | `busy`>
1
+ import { BehaviorSubject, Observable } from "rxjs";
2
+ import { Context } from "../../context";
3
+ import { Manifest } from "../../types";
4
+ import { Hook } from "../../types/Hook";
5
+ export declare const createLoader: ({ item, parent, fetchResource, hooks$, context, viewportState$, }: {
6
+ item: Manifest[`spineItems`][number];
7
+ parent: HTMLElement;
8
+ fetchResource?: ((item: Manifest[`spineItems`][number]) => Promise<Response>) | undefined;
9
+ hooks$: Observable<Hook[]>;
10
+ context: Context;
11
+ viewportState$: Observable<`free` | `busy`>;
19
12
  }) => {
20
- load: () => void
21
- unload: () => void
22
- destroy: () => void
23
- getComputedStyleAfterLoad: () => CSSStyleDeclaration | undefined
24
- $: {
25
- load$: Observable<void>
26
- unload$: Observable<void>
27
- loaded$: Observable<HTMLIFrameElement>
28
- isLoaded$: Observable<boolean>
29
- isReady$: Observable<boolean>
30
- ready$: Observable<FontFaceSet | undefined>
31
- unloaded$: Observable<void>
32
- frameElement$: BehaviorSubject<HTMLIFrameElement | undefined>
33
- }
34
- }
13
+ load: () => void;
14
+ unload: () => void;
15
+ destroy: () => void;
16
+ getComputedStyleAfterLoad: () => CSSStyleDeclaration | undefined;
17
+ $: {
18
+ load$: Observable<void>;
19
+ unload$: Observable<void>;
20
+ loaded$: Observable<HTMLIFrameElement>;
21
+ isLoaded$: Observable<boolean>;
22
+ isReady$: Observable<boolean>;
23
+ ready$: Observable<FontFaceSet | undefined>;
24
+ unloaded$: Observable<void>;
25
+ frameElement$: BehaviorSubject<HTMLIFrameElement | undefined>;
26
+ };
27
+ };
@@ -1,35 +1,23 @@
1
- import { Context } from "../context"
2
- import { SpineItem } from "./createSpineItem"
3
- import { SpineItemPosition, UnsafeSpineItemPosition } from "./types"
4
- export declare const createLocationResolver: ({ context }: { context: Context }) => {
5
- getSpineItemPositionFromNode: (
6
- node: Node,
7
- offset: number,
8
- spineItem: SpineItem
9
- ) =>
10
- | {
11
- x: number
12
- y: number
13
- }
14
- | undefined
15
- getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) => SpineItemPosition
16
- getSpineItemOffsetFromAnchor: (anchor: string, spineItem: SpineItem) => number
17
- getSpineItemPageIndexFromPosition: (position: UnsafeSpineItemPosition, spineItem: SpineItem) => number
18
- getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined
19
- getSpineItemClosestPositionFromUnsafePosition: (
20
- unsafePosition: UnsafeSpineItemPosition,
21
- spineItem: SpineItem
22
- ) => {
23
- x: number
24
- y: number
25
- }
26
- getFirstNodeOrRangeAtPage: (
27
- pageIndex: number,
28
- spineItem: SpineItem
29
- ) =>
30
- | {
31
- node: Node
32
- offset: number
33
- }
34
- | undefined
35
- }
1
+ import { Context } from "../context";
2
+ import { SpineItem } from "./createSpineItem";
3
+ import { SpineItemPosition, UnsafeSpineItemPosition } from "./types";
4
+ export declare const createLocationResolver: ({ context }: {
5
+ context: Context;
6
+ }) => {
7
+ getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => {
8
+ x: number;
9
+ y: number;
10
+ } | undefined;
11
+ getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) => SpineItemPosition;
12
+ getSpineItemOffsetFromAnchor: (anchor: string, spineItem: SpineItem) => number;
13
+ getSpineItemPageIndexFromPosition: (position: UnsafeSpineItemPosition, spineItem: SpineItem) => number;
14
+ getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
15
+ getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: UnsafeSpineItemPosition, spineItem: SpineItem) => {
16
+ x: number;
17
+ y: number;
18
+ };
19
+ getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
20
+ node: Node;
21
+ offset: number;
22
+ } | undefined;
23
+ };