@prose-reader/core 1.28.0 → 1.29.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,54 +1,45 @@
1
- import { Context } from "../context"
2
- import { SpineItemManager } from "../spineItemManager"
3
- import { SpineItem } from "../spineItem/createSpineItem"
4
- import { createLocationResolver } from "./locationResolver"
5
- import { createCfiLocator } from "./cfiLocator"
6
- import { SpinePosition, UnsafeSpinePosition } from "./types"
1
+ import { Context } from "../context";
2
+ import { SpineItemManager } from "../spineItemManager";
3
+ import { SpineItem } from "../spineItem/createSpineItem";
4
+ import { createLocationResolver } from "./locationResolver";
5
+ import { createCfiLocator } from "./cfiLocator";
6
+ import { SpinePosition, UnsafeSpinePosition } from "./types";
7
7
  export type ViewportNavigationEntry = {
8
- x: number
9
- y: number
10
- spineItem?: SpineItem
11
- }
8
+ x: number;
9
+ y: number;
10
+ spineItem?: SpineItem;
11
+ };
12
12
  type ViewportPosition = {
13
- x: number
14
- y: number
15
- }
16
- export declare const createNavigationResolver: ({
17
- context,
18
- spineItemManager,
19
- cfiLocator,
20
- locator,
21
- }: {
22
- context: Context
23
- spineItemManager: SpineItemManager
24
- cfiLocator: ReturnType<typeof createCfiLocator>
25
- locator: ReturnType<typeof createLocationResolver>
13
+ x: number;
14
+ y: number;
15
+ };
16
+ export declare const createNavigationResolver: ({ context, spineItemManager, cfiLocator, locator, }: {
17
+ context: Context;
18
+ spineItemManager: SpineItemManager;
19
+ cfiLocator: ReturnType<typeof createCfiLocator>;
20
+ locator: ReturnType<typeof createLocationResolver>;
26
21
  }) => {
27
- getNavigationForCfi: (cfi: string) => ViewportNavigationEntry
28
- getNavigationForPage: (pageIndex: number, spineItem?: SpineItem) => ViewportNavigationEntry
29
- getNavigationForLastPage: (spineItem: SpineItem) => ViewportNavigationEntry
30
- getNavigationForSpineIndexOrId: (indexOrId: number | string) => ViewportNavigationEntry
31
- getNavigationForRightPage: (position: SpinePosition) => ViewportNavigationEntry
32
- getNavigationForLeftPage: (position: UnsafeSpinePosition) => SpinePosition
33
- getNavigationForUrl: (url: string | URL) =>
34
- | (ViewportNavigationEntry & {
35
- url: URL
36
- })
37
- | undefined
38
- getNavigationForAnchor: (anchor: string, spineItem: SpineItem) => ViewportNavigationEntry
39
- getNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportNavigationEntry
40
- getMostPredominantNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportNavigationEntry
41
- wrapPositionWithSafeEdge:
42
- | ((position: SpinePosition) => {
43
- x: number
44
- y: number
45
- })
46
- | ((position: SpinePosition) => {
47
- x: number
48
- y: number
49
- })
50
- isNavigationGoingForwardFrom: (to: ViewportPosition, from: ViewportPosition) => boolean
51
- areNavigationDifferent: (a: ViewportNavigationEntry, b: ViewportNavigationEntry) => boolean
52
- arePositionsDifferent: (a: ViewportNavigationEntry, b: ViewportNavigationEntry) => boolean
53
- }
54
- export {}
22
+ getNavigationForCfi: (cfi: string) => ViewportNavigationEntry;
23
+ getNavigationForPage: (pageIndex: number, spineItem?: SpineItem) => ViewportNavigationEntry;
24
+ getNavigationForLastPage: (spineItem: SpineItem) => ViewportNavigationEntry;
25
+ getNavigationForSpineIndexOrId: (indexOrId: number | string) => ViewportNavigationEntry;
26
+ getNavigationForRightPage: (position: SpinePosition) => ViewportNavigationEntry;
27
+ getNavigationForLeftPage: (position: UnsafeSpinePosition) => SpinePosition;
28
+ getNavigationForUrl: (url: string | URL) => (ViewportNavigationEntry & {
29
+ url: URL;
30
+ }) | undefined;
31
+ getNavigationForAnchor: (anchor: string, spineItem: SpineItem) => ViewportNavigationEntry;
32
+ getNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportNavigationEntry;
33
+ getMostPredominantNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportNavigationEntry;
34
+ wrapPositionWithSafeEdge: ((position: SpinePosition) => {
35
+ x: number;
36
+ y: number;
37
+ }) | ((position: SpinePosition) => {
38
+ x: number;
39
+ y: number;
40
+ });
41
+ isNavigationGoingForwardFrom: (to: ViewportPosition, from: ViewportPosition) => boolean;
42
+ areNavigationDifferent: (a: ViewportNavigationEntry, b: ViewportNavigationEntry) => boolean;
43
+ arePositionsDifferent: (a: ViewportNavigationEntry, b: ViewportNavigationEntry) => boolean;
44
+ };
45
+ export {};
@@ -1,10 +1,10 @@
1
1
  export type SpinePosition = {
2
- x: number
3
- y: number
4
- __symbol?: `SpinePosition`
5
- }
2
+ x: number;
3
+ y: number;
4
+ __symbol?: `SpinePosition`;
5
+ };
6
6
  export type UnsafeSpinePosition = {
7
- x: number
8
- y: number
9
- __symbol?: `UnsafeSpinePosition` | `SpinePosition`
10
- }
7
+ x: number;
8
+ y: number;
9
+ __symbol?: `UnsafeSpinePosition` | `SpinePosition`;
10
+ };
@@ -1,207 +1,171 @@
1
- import { Context } from "../context"
2
- import { Manifest } from "../types"
3
- import { BehaviorSubject, Observable } from "rxjs"
4
- import { Hook } from "../types/Hook"
5
- import { createFrameManipulator } from "./frameItem/createFrameManipulator"
6
- export declare const createCommonSpineItem: ({
7
- item,
8
- context,
9
- parentElement,
10
- iframeEventBridgeElement,
11
- hooks$,
12
- viewportState$,
13
- }: {
14
- item: Manifest[`spineItems`][number]
15
- parentElement: HTMLElement
16
- iframeEventBridgeElement: HTMLElement
17
- context: Context
18
- hooks$: BehaviorSubject<Hook[]>
19
- viewportState$: Observable<`free` | `busy`>
1
+ import { Context } from "../context";
2
+ import { Manifest } from "../types";
3
+ import { BehaviorSubject, Observable } from "rxjs";
4
+ import { Hook } from "../types/Hook";
5
+ import { createFrameManipulator } from "./frameItem/createFrameManipulator";
6
+ export declare const createCommonSpineItem: ({ item, context, parentElement, iframeEventBridgeElement, hooks$, viewportState$, }: {
7
+ item: Manifest[`spineItems`][number];
8
+ parentElement: HTMLElement;
9
+ iframeEventBridgeElement: HTMLElement;
10
+ context: Context;
11
+ hooks$: BehaviorSubject<Hook[]>;
12
+ viewportState$: Observable<`free` | `busy`>;
20
13
  }) => {
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
- layout: ({
32
- height,
33
- width,
34
- blankPagePosition,
35
- minimumWidth,
36
- }: {
37
- height: number
38
- width: number
39
- blankPagePosition: `before` | `after` | `none`
40
- minimumWidth: number
41
- }) => 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
14
+ item: {
15
+ id: string;
16
+ href: string;
17
+ renditionLayout: "reflowable" | "pre-paginated";
18
+ progressionWeight: number;
19
+ pageSpreadLeft: true | undefined;
20
+ pageSpreadRight: true | undefined;
21
+ mediaType?: string | undefined;
22
+ };
23
+ load: () => void;
24
+ layout: ({ height, width, blankPagePosition, minimumWidth, }: {
25
+ height: number;
26
+ width: number;
27
+ blankPagePosition: `before` | `after` | `none`;
28
+ minimumWidth: number;
29
+ }) => void;
30
+ adjustPositionOfElement: ({ right, left, top }: {
31
+ right?: number | undefined;
32
+ left?: number | undefined;
33
+ top?: number | undefined;
34
+ }) => void;
35
+ getElementDimensions: () => {
36
+ width: number;
37
+ height: number;
38
+ };
39
+ getHtmlFromResource: (response: Response) => Promise<string>;
40
+ getResource: () => Promise<Response>;
41
+ translateFramePositionIntoPage: (position: {
42
+ clientX: number;
43
+ clientY: number;
44
+ }) => {
45
+ clientX: number;
46
+ clientY: number;
47
+ };
48
+ setLayoutDirty: () => void;
49
+ injectStyle: (cssText: string) => void;
50
+ loadContent: () => void;
51
+ unloadContent: () => void;
52
+ spineItemFrame: {
53
+ getIsLoaded: () => boolean;
54
+ getIsReady: () => boolean;
55
+ getViewportDimensions: () => {
56
+ width: number;
57
+ height: number;
58
+ } | undefined;
59
+ getFrameElement: () => HTMLIFrameElement | undefined;
60
+ getHtmlFromResource: (response: Response) => Promise<string>;
61
+ load: () => void;
62
+ unload: () => void;
63
+ staticLayout: (size: {
64
+ width: number;
65
+ height: number;
66
+ }) => void;
67
+ getManipulableFrame: () => {
68
+ frame: HTMLIFrameElement;
69
+ removeStyle: (id: string) => void;
70
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
71
+ } | undefined;
72
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
73
+ isUsingVerticalWriting: () => boolean;
74
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
75
+ destroy: () => void;
76
+ $: {
77
+ unload$: Observable<void>;
78
+ unloaded$: Observable<void>;
79
+ loaded$: Observable<HTMLIFrameElement>;
80
+ ready$: Observable<FontFaceSet | undefined>;
81
+ isReady$: Observable<boolean>;
82
+ contentLayoutChange$: Observable<{
83
+ isFirstLayout: boolean;
84
+ } | {
85
+ isFirstLayout: boolean;
86
+ }>;
87
+ };
88
+ };
89
+ element: HTMLElement;
90
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
91
+ getViewPortInformation: () => {
92
+ computedScale: number;
93
+ computedWidthScale: number;
112
94
  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
127
- item: Manifest[`spineItems`][number]
128
- overlayElement: HTMLDivElement
129
- } & (
130
- | {
131
- frame: HTMLIFrameElement
132
- removeStyle: (id: string) => void
133
- addStyle: (id: string, style: string, prepend?: boolean) => void
134
- }
135
- | {
136
- frame: undefined
137
- removeStyle: (id: string) => void
138
- addStyle: (id: string, style: string) => void
139
- }
140
- )
141
- ) => boolean
142
- ) => boolean
143
- executeOnLayoutBeforeMeasurementHook: (options: { minimumWidth: number }) => void
144
- selectionTracker: {
145
- track: (frameToTrack: HTMLIFrameElement) => void
146
- destroy: () => void
147
- isSelecting: () => boolean
148
- getSelection: () => Selection | undefined
149
- $: Observable<
150
- | {
151
- event: "selectionchange"
152
- data: Selection | null
153
- }
154
- | {
155
- event: "selectstart"
156
- data: Selection | null
157
- }
158
- | {
159
- event: "selectend"
160
- data: Selection | null
161
- }
162
- >
163
- }
164
- fingerTracker: {
165
- track: (frame: HTMLIFrameElement) => void
166
- getFingerPositionInIframe():
167
- | {
168
- x: number | undefined
169
- y: number | undefined
170
- }
171
- | undefined
172
- destroy: () => void
173
- $: Observable<
174
- | {
175
- event: "fingermove"
176
- data: {
177
- x: number
178
- y: number
179
- }
180
- }
181
- | {
182
- event: "fingerout"
183
- data: undefined
184
- }
185
- >
186
- }
187
- getDimensionsForReflowableContent: (
188
- isUsingVerticalWriting: boolean,
189
- minimumWidth: number
190
- ) => {
191
- columnHeight: number
192
- columnWidth: number
193
- width: number
194
- }
195
- getDimensionsForPaginatedContent: () => {
196
- columnHeight: number
197
- columnWidth: number
198
- }
199
- $: {
200
- contentLayout$: Observable<{
201
- isFirstLayout: boolean
202
- isReady: boolean
203
- }>
204
- loaded$: Observable<HTMLIFrameElement>
205
- isReady$: Observable<boolean>
206
- }
207
- }
95
+ width: number;
96
+ height: number;
97
+ };
98
+ } | undefined;
99
+ isImageType: () => boolean;
100
+ isReady: () => boolean;
101
+ destroy: () => void;
102
+ isUsingVerticalWriting: () => boolean | undefined;
103
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
104
+ manipulateSpineItem: (cb: (options: {
105
+ container: HTMLElement;
106
+ item: Manifest[`spineItems`][number];
107
+ overlayElement: HTMLDivElement;
108
+ } & ({
109
+ frame: HTMLIFrameElement;
110
+ removeStyle: (id: string) => void;
111
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
112
+ } | {
113
+ frame: undefined;
114
+ removeStyle: (id: string) => void;
115
+ addStyle: (id: string, style: string) => void;
116
+ })) => boolean) => boolean;
117
+ executeOnLayoutBeforeMeasurementHook: (options: {
118
+ minimumWidth: number;
119
+ }) => void;
120
+ selectionTracker: {
121
+ track: (frameToTrack: HTMLIFrameElement) => void;
122
+ destroy: () => void;
123
+ isSelecting: () => boolean;
124
+ getSelection: () => Selection | undefined;
125
+ $: Observable<{
126
+ event: "selectionchange";
127
+ data: Selection | null;
128
+ } | {
129
+ event: "selectstart";
130
+ data: Selection | null;
131
+ } | {
132
+ event: "selectend";
133
+ data: Selection | null;
134
+ }>;
135
+ };
136
+ fingerTracker: {
137
+ track: (frame: HTMLIFrameElement) => void;
138
+ getFingerPositionInIframe(): {
139
+ x: number | undefined;
140
+ y: number | undefined;
141
+ } | undefined;
142
+ destroy: () => void;
143
+ $: Observable<{
144
+ event: "fingermove";
145
+ data: {
146
+ x: number;
147
+ y: number;
148
+ };
149
+ } | {
150
+ event: "fingerout";
151
+ data: undefined;
152
+ }>;
153
+ };
154
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
155
+ columnHeight: number;
156
+ columnWidth: number;
157
+ width: number;
158
+ };
159
+ getDimensionsForPaginatedContent: () => {
160
+ columnHeight: number;
161
+ columnWidth: number;
162
+ };
163
+ $: {
164
+ contentLayout$: Observable<{
165
+ isFirstLayout: boolean;
166
+ isReady: boolean;
167
+ }>;
168
+ loaded$: Observable<HTMLIFrameElement>;
169
+ isReady$: Observable<boolean>;
170
+ };
171
+ };