@prose-reader/core 1.56.0 → 1.58.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 (100) hide show
  1. package/dist/cfi.d.ts +74 -0
  2. package/dist/constants.d.ts +6 -0
  3. package/dist/context/Context.d.ts +63 -0
  4. package/dist/context/isUsingSpreadMode.d.ts +10 -0
  5. package/dist/createReaderWithEnhancer.d.ts +271 -0
  6. package/dist/enhancers/accessibility.d.ts +3 -0
  7. package/dist/enhancers/chrome.d.ts +3 -0
  8. package/dist/enhancers/events/createIframeEventBridgeElement.d.ts +1 -0
  9. package/dist/enhancers/events/events.d.ts +8 -0
  10. package/dist/enhancers/events/normalizeEventForViewport.d.ts +7 -0
  11. package/dist/enhancers/firefox.d.ts +3 -0
  12. package/dist/enhancers/fonts.d.ts +19 -0
  13. package/dist/enhancers/hotkeys.d.ts +3 -0
  14. package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +4 -0
  15. package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +3 -0
  16. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +10 -0
  17. package/dist/enhancers/layoutEnhancer/types.d.ts +8 -0
  18. package/dist/enhancers/links.d.ts +14 -0
  19. package/dist/enhancers/loadingEnhancer.d.ts +24 -0
  20. package/dist/enhancers/media.d.ts +3 -0
  21. package/dist/enhancers/navigation/navigation.d.ts +9 -0
  22. package/dist/enhancers/navigation/navigator.d.ts +8 -0
  23. package/dist/enhancers/navigation/state.d.ts +12 -0
  24. package/dist/enhancers/pagination/chapters.d.ts +24 -0
  25. package/dist/enhancers/pagination/constants.d.ts +1 -0
  26. package/dist/enhancers/pagination/enhancer.d.ts +14 -0
  27. package/dist/enhancers/pagination/pagination.d.ts +10 -0
  28. package/dist/enhancers/pagination/spine.d.ts +13 -0
  29. package/dist/enhancers/pagination/types.d.ts +19 -0
  30. package/dist/enhancers/pagination.test.d.ts +1 -0
  31. package/dist/enhancers/progression.d.ts +16 -0
  32. package/dist/enhancers/publicApi.d.ts +5 -0
  33. package/dist/enhancers/resources/index.d.ts +3 -0
  34. package/dist/enhancers/resources/indexedDB.d.ts +6 -0
  35. package/dist/enhancers/resources/resourcesManager.d.ts +7 -0
  36. package/dist/enhancers/theme.d.ts +32 -0
  37. package/dist/enhancers/types/enhancer.d.ts +9 -0
  38. package/dist/enhancers/utils.d.ts +7 -0
  39. package/dist/enhancers/webkit.d.ts +3 -0
  40. package/dist/enhancers/zoom/elementZoomer.d.ts +19 -0
  41. package/dist/enhancers/zoom/index.d.ts +4 -0
  42. package/dist/enhancers/zoom/types.d.ts +23 -0
  43. package/dist/enhancers/zoom/viewportZoomer.d.ts +19 -0
  44. package/dist/frames.d.ts +5 -0
  45. package/dist/hooks/HookManager.d.ts +10 -0
  46. package/dist/hooks/types.d.ts +64 -0
  47. package/dist/index.d.ts +9 -4324
  48. package/dist/index.js +1032 -1107
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.umd.cjs +1032 -1107
  51. package/dist/index.umd.cjs.map +1 -1
  52. package/dist/manifest/areAllItemsPrePaginated.d.ts +3 -0
  53. package/dist/manifest/isFullyPrePaginated.d.ts +3 -0
  54. package/dist/pagination/pagination.d.ts +88 -0
  55. package/dist/pagination/types.d.ts +10 -0
  56. package/dist/reader.d.ts +8 -0
  57. package/dist/report.d.ts +26 -0
  58. package/dist/selection.d.ts +7 -0
  59. package/dist/settings/SettingsManager.d.ts +14 -0
  60. package/dist/settings/defaultSettings.d.ts +3 -0
  61. package/dist/settings/getComputedSettings.d.ts +4 -0
  62. package/dist/settings/types.d.ts +19 -0
  63. package/dist/spine/cfiLocator.d.ts +340 -0
  64. package/dist/spine/createSpine.d.ts +31 -0
  65. package/dist/spine/locationResolver.d.ts +636 -0
  66. package/dist/spine/navigationResolver.d.ts +48 -0
  67. package/dist/spine/types.d.ts +10 -0
  68. package/dist/spineItem/commonSpineItem.d.ts +165 -0
  69. package/dist/spineItem/createSpineItem.d.ts +167 -0
  70. package/dist/spineItem/frameItem/createFrame$.d.ts +1 -0
  71. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +5 -0
  72. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +3 -0
  73. package/dist/spineItem/frameItem/frameItem.d.ts +49 -0
  74. package/dist/spineItem/frameItem/loader.d.ts +30 -0
  75. package/dist/spineItem/locationResolver.d.ts +24 -0
  76. package/dist/spineItem/navigationResolver.d.ts +16 -0
  77. package/dist/spineItem/prePaginatedSpineItem.d.ts +166 -0
  78. package/dist/spineItem/reflowableSpineItem.d.ts +165 -0
  79. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +1 -0
  80. package/dist/spineItem/trackers.d.ts +34 -0
  81. package/dist/spineItem/types.d.ts +19 -0
  82. package/dist/spineItemManager.d.ts +505 -0
  83. package/dist/types/Spine.d.ts +40 -0
  84. package/dist/types/index.d.ts +12 -0
  85. package/dist/types/reader.d.ts +44 -0
  86. package/dist/utils/compose.d.ts +8 -0
  87. package/dist/utils/dom.d.ts +19 -0
  88. package/dist/utils/isDefined.d.ts +1 -0
  89. package/dist/utils/layout.d.ts +7 -0
  90. package/dist/utils/layout.test.d.ts +1 -0
  91. package/dist/utils/manifest.d.ts +3 -0
  92. package/dist/utils/objects.d.ts +6 -0
  93. package/dist/utils/objects.test.d.ts +1 -0
  94. package/dist/utils/rxjs.d.ts +5 -0
  95. package/dist/viewportNavigator/manualViewportNavigator.d.ts +96 -0
  96. package/dist/viewportNavigator/panViewportNavigator.d.ts +55 -0
  97. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +38 -0
  98. package/dist/viewportNavigator/types.d.ts +34 -0
  99. package/dist/viewportNavigator/viewportNavigator.d.ts +82 -0
  100. package/package.json +3 -3
package/dist/cfi.d.ts ADDED
@@ -0,0 +1,74 @@
1
+ declare class CFI {
2
+ isRange: boolean;
3
+ parts: {}[];
4
+ opts: {};
5
+ cfi: string;
6
+ constructor(str: string, opts: {});
7
+ removeIllegalOpts(parts: any[]): void;
8
+ static generatePart(node: Element | Node, offset?: number, extra?: {}): string;
9
+ static generate(node: Node, offset?: number, extra?: {}): string;
10
+ static toParsed(cfi: any): any;
11
+ static comparePath(a: any[], b: any[]): number;
12
+ static sort(a: any): void;
13
+ static compare(a: any, b: any): number;
14
+ static compareParts(a: any, b: any): number;
15
+ decodeEntities(dom: Document, str: string): string;
16
+ trueLength(dom: Document, str: string): number;
17
+ getFrom(): any;
18
+ getTo(): any;
19
+ get(): any;
20
+ parseSideBias(o: any, loc: any): void;
21
+ parseSpatialRange(range: any): {
22
+ x: number;
23
+ y: number;
24
+ } | undefined;
25
+ parse(cfi: any): {
26
+ parsed: {};
27
+ offset: number;
28
+ newDoc: boolean;
29
+ };
30
+ getChildNodeByCFIIndex(dom: Document, parentNode: Element, index: number, offset: number): {
31
+ relativeToNode: string;
32
+ offset: number;
33
+ } | {
34
+ node: ChildNode | undefined;
35
+ relativeToNode: string;
36
+ offset: number;
37
+ } | {
38
+ node: ChildNode | undefined;
39
+ offset: number;
40
+ relativeToNode?: undefined;
41
+ } | undefined;
42
+ isTextNode(node: Element): boolean;
43
+ correctOffset(dom: Document, node: Element, offset: number, assertion: any): {
44
+ node: Element;
45
+ offset: any;
46
+ };
47
+ resolveNode(index: number, subparts: {
48
+ nodeIndex: number;
49
+ nodeID?: string;
50
+ offset?: number;
51
+ }[], dom: Document, opts: {}): {
52
+ node: Document;
53
+ offset: number;
54
+ };
55
+ resolveURI(index: number, dom: Document, opts: {
56
+ ignoreIDs?: boolean;
57
+ }): any;
58
+ deepClone(o: any): any;
59
+ resolveLocation(dom: Document, parts: {}[]): any;
60
+ resolveLast(dom: Document, opts: {}): string | {};
61
+ resolve(doc: Document, opts: {}): {
62
+ node: Node;
63
+ offset?: number;
64
+ } | {
65
+ node?: undefined;
66
+ offset?: number;
67
+ };
68
+ }
69
+ export { CFI };
70
+ export declare const extractProseMetadataFromCfi: (cfi: string) => {
71
+ cleanedCfi: string;
72
+ itemId?: string;
73
+ offset?: number;
74
+ };
@@ -0,0 +1,6 @@
1
+ export declare const __UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY = "__UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT";
2
+ export declare const PROSE_READER_NAMESPACE = "@prose-reader/core";
3
+ export declare const VIEWPORT_ADJUSTMENT_THROTTLE = 0;
4
+ export declare const PAGINATION_UPDATE_AFTER_VIEWPORT_ADJUSTMENT_DEBOUNCE = 200;
5
+ export declare const ITEM_EXTENSION_VALID_FOR_FRAME_SRC: string[];
6
+ export declare const HTML_PREFIX = "prose-reader";
@@ -0,0 +1,63 @@
1
+ import { BehaviorSubject, Subject } from 'rxjs';
2
+ import { Manifest } from '@prose-reader/shared';
3
+ import { LoadOptions } from '../types/reader';
4
+
5
+ export type State = Partial<Pick<LoadOptions, "containerElement">> & {
6
+ manifest?: Manifest;
7
+ hasVerticalWriting?: boolean;
8
+ isUsingSpreadMode?: boolean;
9
+ isFullyPrePaginated?: boolean;
10
+ forceSinglePageMode?: boolean;
11
+ areAllItemsPrePaginated?: boolean;
12
+ calculatedInnerMargin: number;
13
+ marginTop: number;
14
+ marginBottom: number;
15
+ visibleAreaRect: {
16
+ width: number;
17
+ height: number;
18
+ x: number;
19
+ y: number;
20
+ };
21
+ };
22
+ export declare class Context {
23
+ _stateSubject: BehaviorSubject<State>;
24
+ destroy$: Subject<void>;
25
+ state$: import('rxjs').Observable<Partial<Pick<LoadOptions, "containerElement">> & {
26
+ manifest?: Manifest;
27
+ hasVerticalWriting?: boolean;
28
+ isUsingSpreadMode?: boolean;
29
+ isFullyPrePaginated?: boolean;
30
+ forceSinglePageMode?: boolean;
31
+ areAllItemsPrePaginated?: boolean;
32
+ calculatedInnerMargin: number;
33
+ marginTop: number;
34
+ marginBottom: number;
35
+ visibleAreaRect: {
36
+ width: number;
37
+ height: number;
38
+ x: number;
39
+ y: number;
40
+ };
41
+ }>;
42
+ manifest$: import('rxjs').Observable<Manifest>;
43
+ containerElement$: import('rxjs').Observable<HTMLElement>;
44
+ hasVerticalWriting$: import('rxjs').Observable<boolean>;
45
+ isUsingSpreadMode$: import('rxjs').Observable<boolean | undefined>;
46
+ update(newState: {
47
+ manifest?: Manifest;
48
+ forceSinglePageMode?: boolean;
49
+ visibleAreaRect?: State["visibleAreaRect"];
50
+ marginTop?: number;
51
+ marginBottom?: number;
52
+ hasVerticalWriting?: boolean;
53
+ }): void;
54
+ isRTL: () => boolean;
55
+ get state(): State;
56
+ get manifest(): Manifest | undefined;
57
+ get readingDirection(): "ltr" | "rtl" | undefined;
58
+ getPageSize(): {
59
+ width: number;
60
+ height: number;
61
+ };
62
+ destroy: () => void;
63
+ }
@@ -0,0 +1,10 @@
1
+ import { Manifest } from '@prose-reader/shared';
2
+
3
+ export declare const isUsingSpreadMode: ({ manifest, visibleAreaRect, forceSinglePageMode, }: {
4
+ manifest?: Manifest;
5
+ visibleAreaRect: {
6
+ height: number;
7
+ width: number;
8
+ };
9
+ forceSinglePageMode?: boolean;
10
+ }) => boolean;
@@ -0,0 +1,271 @@
1
+ export declare const createReaderWithEnhancers: (options: Partial<import('./settings/types').Settings> & {
2
+ theme?: import('./enhancers/theme').Theme;
3
+ } & import('./enhancers/layoutEnhancer/types').SettingsInput & {
4
+ layoutAutoResize?: `container` | false;
5
+ } & {
6
+ fontScale?: number;
7
+ lineHeight?: number | `publisher`;
8
+ fontWeight?: (200 | 300 | 100 | 400 | 500 | 600 | 700 | 800 | 900) | `publisher`;
9
+ fontJustification?: ("center" | "right" | "left" | "justify") | `publisher`;
10
+ } & {
11
+ loadingElementCreate?: (options: {
12
+ container: HTMLElement;
13
+ item: {
14
+ id: string;
15
+ href: string;
16
+ renditionLayout: `reflowable` | `pre-paginated`;
17
+ progressionWeight: number;
18
+ pageSpreadLeft: true | undefined;
19
+ pageSpreadRight: true | undefined;
20
+ mediaType?: string;
21
+ };
22
+ }) => HTMLElement;
23
+ }) => Omit<Omit<Omit<Omit<import('./types/reader').ReaderInternal & {
24
+ events: {
25
+ normalizeEventForViewport: ReturnType<typeof import('./enhancers/events/normalizeEventForViewport').createNormalizeEventForViewport>;
26
+ };
27
+ } & {
28
+ progression: {
29
+ getPercentageEstimate: (context: import('./context/Context').Context, currentSpineIndex: number, numberOfPages: number, pageIndex: number, currentPosition: {
30
+ x: number;
31
+ y: number;
32
+ }, currentItem: import('./spineItem/createSpineItem').SpineItem) => number;
33
+ getScrollPercentageWithinItem: (context: import('./context/Context').Context, currentPosition: {
34
+ x: number;
35
+ y: number;
36
+ }, currentItem: import('./spineItem/createSpineItem').SpineItem) => number;
37
+ };
38
+ }, "pagination"> & {
39
+ pagination: Omit<{
40
+ destroy: () => void;
41
+ updateBeginAndEnd: ((begin: Parameters<(info: {
42
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
43
+ pageIndex: number;
44
+ cfi: string | undefined;
45
+ options: {
46
+ isAtEndOfChapter?: boolean;
47
+ };
48
+ }) => {
49
+ numberOfPages: number;
50
+ pageIndex: number;
51
+ cfi: string | undefined;
52
+ }>[0] & {
53
+ spineItemIndex: number;
54
+ }, end: Parameters<(info: {
55
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
56
+ pageIndex: number;
57
+ cfi: string | undefined;
58
+ options: {
59
+ isAtEndOfChapter?: boolean;
60
+ };
61
+ }) => {
62
+ numberOfPages: number;
63
+ pageIndex: number;
64
+ cfi: string | undefined;
65
+ }>[0] & {
66
+ spineItemIndex: number;
67
+ }) => void) | ((begin: {
68
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
69
+ pageIndex: number;
70
+ cfi: string | undefined;
71
+ options: {
72
+ isAtEndOfChapter?: boolean;
73
+ };
74
+ } & {
75
+ spineItemIndex: number;
76
+ }, end: {
77
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
78
+ pageIndex: number;
79
+ cfi: string | undefined;
80
+ options: {
81
+ isAtEndOfChapter?: boolean;
82
+ };
83
+ } & {
84
+ spineItemIndex: number;
85
+ }) => ReturnType<(begin: Parameters<(info: {
86
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
87
+ pageIndex: number;
88
+ cfi: string | undefined;
89
+ options: {
90
+ isAtEndOfChapter?: boolean;
91
+ };
92
+ }) => {
93
+ numberOfPages: number;
94
+ pageIndex: number;
95
+ cfi: string | undefined;
96
+ }>[0] & {
97
+ spineItemIndex: number;
98
+ }, end: Parameters<(info: {
99
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
100
+ pageIndex: number;
101
+ cfi: string | undefined;
102
+ options: {
103
+ isAtEndOfChapter?: boolean;
104
+ };
105
+ }) => {
106
+ numberOfPages: number;
107
+ pageIndex: number;
108
+ cfi: string | undefined;
109
+ }>[0] & {
110
+ spineItemIndex: number;
111
+ }) => void>);
112
+ getPaginationInfo: () => import('./pagination/types').PaginationInfo;
113
+ paginationInfo$: import('rxjs').Observable<import('./pagination/types').PaginationInfo>;
114
+ }, "paginationInfo$" | "getPaginationInfo"> & {
115
+ paginationInfo$: import('rxjs').Observable<import('./pagination/types').PaginationInfo & import('./enhancers/pagination/types').ExtraPaginationInfo>;
116
+ getPaginationInfo: () => import('./pagination/types').PaginationInfo & import('./enhancers/pagination/types').ExtraPaginationInfo;
117
+ };
118
+ } & {
119
+ theme: {
120
+ set: (theme: import('./enhancers/theme').Theme) => void;
121
+ get: () => import('./enhancers/theme').Theme;
122
+ $: {
123
+ theme$: import('rxjs').Observable<import('./enhancers/theme').Theme>;
124
+ };
125
+ };
126
+ } & {
127
+ navigation: ReturnType<typeof import('./enhancers/navigation/navigator').createNavigator> & {
128
+ state$: ReturnType<typeof import('./enhancers/navigation/state').createState>;
129
+ };
130
+ } & import('./enhancers/zoom/types').Api, "settings"> & {
131
+ settings: Omit<import('./settings/SettingsManager').SettingsManager, "setSettings" | "settings$"> & {
132
+ settings$: import('rxjs').Observable<import('./settings/types').Settings & {
133
+ computedPageTurnMode: import('./settings/types').Settings[`pageTurnMode`];
134
+ computedPageTurnDirection: import('./settings/types').Settings[`pageTurnDirection`];
135
+ computedPageTurnAnimation: import('./settings/types').Settings[`pageTurnAnimation`];
136
+ computedPageTurnAnimationDuration: number;
137
+ computedSnapAnimationDuration: number;
138
+ } & Required<import('./enhancers/layoutEnhancer/types').SettingsInput>>;
139
+ setSettings: (settings: Partial<import('./settings/types').Settings> & import('./enhancers/layoutEnhancer/types').SettingsInput) => void;
140
+ };
141
+ } & {
142
+ utils: {
143
+ isOrIsWithinValidLink: (target: Event[`target`]) => boolean;
144
+ };
145
+ } & {
146
+ $: {
147
+ links$: import('rxjs').Observable<{
148
+ event: `linkClicked`;
149
+ data: HTMLAnchorElement;
150
+ isNavigable: boolean;
151
+ }>;
152
+ };
153
+ }, "settings"> & {
154
+ settings: Omit<Omit<import('./settings/SettingsManager').SettingsManager, "setSettings" | "settings$"> & {
155
+ settings$: import('rxjs').Observable<import('./settings/types').Settings & {
156
+ computedPageTurnMode: import('./settings/types').Settings[`pageTurnMode`];
157
+ computedPageTurnDirection: import('./settings/types').Settings[`pageTurnDirection`];
158
+ computedPageTurnAnimation: import('./settings/types').Settings[`pageTurnAnimation`];
159
+ computedPageTurnAnimationDuration: number;
160
+ computedSnapAnimationDuration: number;
161
+ } & Required<import('./enhancers/layoutEnhancer/types').SettingsInput>>;
162
+ setSettings: (settings: Partial<import('./settings/types').Settings> & import('./enhancers/layoutEnhancer/types').SettingsInput) => void;
163
+ }, "setSettings" | "settings$"> & {
164
+ settings$: import('rxjs').Observable<import('./settings/types').Settings & {
165
+ computedPageTurnMode: import('./settings/types').Settings[`pageTurnMode`];
166
+ computedPageTurnDirection: import('./settings/types').Settings[`pageTurnDirection`];
167
+ computedPageTurnAnimation: import('./settings/types').Settings[`pageTurnAnimation`];
168
+ computedPageTurnAnimationDuration: number;
169
+ computedSnapAnimationDuration: number;
170
+ } & Required<import('./enhancers/layoutEnhancer/types').SettingsInput> & Required<{
171
+ fontScale?: number;
172
+ lineHeight?: number | `publisher`;
173
+ fontWeight?: (200 | 300 | 100 | 400 | 500 | 600 | 700 | 800 | 900) | `publisher`;
174
+ fontJustification?: ("center" | "right" | "left" | "justify") | `publisher`;
175
+ }>>;
176
+ setSettings: (settings: Partial<import('./settings/types').Settings> & import('./enhancers/layoutEnhancer/types').SettingsInput & {
177
+ fontScale?: number;
178
+ lineHeight?: number | `publisher`;
179
+ fontWeight?: (200 | 300 | 100 | 400 | 500 | 600 | 700 | 800 | 900) | `publisher`;
180
+ fontJustification?: ("center" | "right" | "left" | "justify") | `publisher`;
181
+ }) => void;
182
+ };
183
+ } & {
184
+ loading: {
185
+ $: {
186
+ items$: import('rxjs').Observable<{
187
+ [key: string]: HTMLElement;
188
+ }>;
189
+ };
190
+ };
191
+ }, "pagination"> & {
192
+ pagination: Pick<Omit<{
193
+ destroy: () => void;
194
+ updateBeginAndEnd: ((begin: Parameters<(info: {
195
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
196
+ pageIndex: number;
197
+ cfi: string | undefined;
198
+ options: {
199
+ isAtEndOfChapter?: boolean;
200
+ };
201
+ }) => {
202
+ numberOfPages: number;
203
+ pageIndex: number;
204
+ cfi: string | undefined;
205
+ }>[0] & {
206
+ spineItemIndex: number;
207
+ }, end: Parameters<(info: {
208
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
209
+ pageIndex: number;
210
+ cfi: string | undefined;
211
+ options: {
212
+ isAtEndOfChapter?: boolean;
213
+ };
214
+ }) => {
215
+ numberOfPages: number;
216
+ pageIndex: number;
217
+ cfi: string | undefined;
218
+ }>[0] & {
219
+ spineItemIndex: number;
220
+ }) => void) | ((begin: {
221
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
222
+ pageIndex: number;
223
+ cfi: string | undefined;
224
+ options: {
225
+ isAtEndOfChapter?: boolean;
226
+ };
227
+ } & {
228
+ spineItemIndex: number;
229
+ }, end: {
230
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
231
+ pageIndex: number;
232
+ cfi: string | undefined;
233
+ options: {
234
+ isAtEndOfChapter?: boolean;
235
+ };
236
+ } & {
237
+ spineItemIndex: number;
238
+ }) => ReturnType<(begin: Parameters<(info: {
239
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
240
+ pageIndex: number;
241
+ cfi: string | undefined;
242
+ options: {
243
+ isAtEndOfChapter?: boolean;
244
+ };
245
+ }) => {
246
+ numberOfPages: number;
247
+ pageIndex: number;
248
+ cfi: string | undefined;
249
+ }>[0] & {
250
+ spineItemIndex: number;
251
+ }, end: Parameters<(info: {
252
+ spineItem: import('./spineItem/createSpineItem').SpineItem;
253
+ pageIndex: number;
254
+ cfi: string | undefined;
255
+ options: {
256
+ isAtEndOfChapter?: boolean;
257
+ };
258
+ }) => {
259
+ numberOfPages: number;
260
+ pageIndex: number;
261
+ cfi: string | undefined;
262
+ }>[0] & {
263
+ spineItemIndex: number;
264
+ }) => void>);
265
+ getPaginationInfo: () => import('./pagination/types').PaginationInfo;
266
+ paginationInfo$: import('rxjs').Observable<import('./pagination/types').PaginationInfo>;
267
+ }, "paginationInfo$" | "getPaginationInfo"> & {
268
+ paginationInfo$: import('rxjs').Observable<import('./pagination/types').PaginationInfo & import('./enhancers/pagination/types').ExtraPaginationInfo>;
269
+ getPaginationInfo: () => import('./pagination/types').PaginationInfo & import('./enhancers/pagination/types').ExtraPaginationInfo;
270
+ }, "paginationInfo$" | "getPaginationInfo">;
271
+ };
@@ -0,0 +1,3 @@
1
+ import { EnhancerOutput, RootEnhancer } from './types/enhancer';
2
+
3
+ export declare const accessibilityEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -0,0 +1,3 @@
1
+ import { EnhancerOutput, RootEnhancer } from './types/enhancer';
2
+
3
+ export declare const chromeEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -0,0 +1 @@
1
+ export declare const createIframeEventBridgeElement: (container: HTMLElement) => HTMLDivElement;
@@ -0,0 +1,8 @@
1
+ import { EnhancerOutput, RootEnhancer } from '../types/enhancer';
2
+ import { createNormalizeEventForViewport } from './normalizeEventForViewport';
3
+
4
+ export declare const eventsEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
5
+ events: {
6
+ normalizeEventForViewport: ReturnType<typeof createNormalizeEventForViewport>;
7
+ };
8
+ };
@@ -0,0 +1,7 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { createLocationResolver } from '../../spine/locationResolver';
3
+
4
+ export declare const createNormalizeEventForViewport: ({ iframeEventBridgeElement$, locator, }: {
5
+ iframeEventBridgeElement$: BehaviorSubject<HTMLElement | undefined>;
6
+ locator: ReturnType<typeof createLocationResolver>;
7
+ }) => <E extends MouseEvent | TouchEvent | PointerEvent>(event: E) => E;
@@ -0,0 +1,3 @@
1
+ import { EnhancerOutput, RootEnhancer } from './types/enhancer';
2
+
3
+ export declare const firefoxEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -0,0 +1,19 @@
1
+ import { Observable, ObservedValueOf } from 'rxjs';
2
+ import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
3
+
4
+ declare const FONT_WEIGHT: readonly [100, 200, 300, 400, 500, 600, 700, 800, 900];
5
+ declare const FONT_JUSTIFICATION: readonly ["center", "left", "right", "justify"];
6
+ type Options = {
7
+ fontScale?: number;
8
+ lineHeight?: number | `publisher`;
9
+ fontWeight?: (typeof FONT_WEIGHT)[number] | `publisher`;
10
+ fontJustification?: (typeof FONT_JUSTIFICATION)[number] | `publisher`;
11
+ };
12
+ type OutputOptions = Required<Options>;
13
+ export declare const fontsEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>, SetSettings extends (settings: Parameters<InheritOutput["settings"]["setSettings"]>[0] & Options) => void, Settings$ extends Observable<ObservedValueOf<InheritOutput["settings"]["settings$"]> & OutputOptions>, Output extends Omit<InheritOutput, "settings"> & {
14
+ settings: Omit<InheritOutput["settings"], "setSettings" | "settings$"> & {
15
+ settings$: Settings$;
16
+ setSettings: SetSettings;
17
+ };
18
+ }>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => Output;
19
+ export {};
@@ -0,0 +1,3 @@
1
+ import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
2
+
3
+ export declare const hotkeysEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -0,0 +1,4 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Reader } from '../../reader';
3
+
4
+ export declare const createMovingSafePan$: (reader: Reader) => Observable<unknown>;
@@ -0,0 +1,3 @@
1
+ import { Reader } from '../../reader';
2
+
3
+ export declare const fixReflowable: (reader: Reader) => void;
@@ -0,0 +1,10 @@
1
+ import { Observable, ObservedValueOf } from 'rxjs';
2
+ import { Options, SettingsInput, SettingsOutput } from './types';
3
+ import { EnhancerOptions, EnhancerOutput, RootEnhancer } from '../types/enhancer';
4
+
5
+ export declare const layoutEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>, Settings$ extends InheritOutput["settings"]["settings$"], SetSettings extends (settings: Parameters<InheritOutput["settings"]["setSettings"]>[0] & SettingsInput) => void, Output extends Omit<InheritOutput, "settings"> & {
6
+ settings: Omit<InheritOutput["settings"], "setSettings" | "settings$"> & {
7
+ settings$: Observable<ObservedValueOf<Settings$> & SettingsOutput>;
8
+ setSettings: SetSettings;
9
+ };
10
+ }>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => Output;
@@ -0,0 +1,8 @@
1
+ export type SettingsInput = {
2
+ pageHorizontalMargin?: number;
3
+ pageVerticalMargin?: number;
4
+ };
5
+ export type SettingsOutput = Required<SettingsInput>;
6
+ export type Options = SettingsInput & {
7
+ layoutAutoResize?: `container` | false;
8
+ };
@@ -0,0 +1,14 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
3
+
4
+ type SubjectData = {
5
+ event: `linkClicked`;
6
+ data: HTMLAnchorElement;
7
+ isNavigable: boolean;
8
+ };
9
+ export declare const linksEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
10
+ $: {
11
+ links$: Observable<SubjectData>;
12
+ };
13
+ };
14
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Manifest } from '../types';
3
+ import { EnhancerOutput } from './types/enhancer';
4
+ import { themeEnhancer } from './theme';
5
+
6
+ type Entries = {
7
+ [key: string]: HTMLElement;
8
+ };
9
+ type Item = Manifest[`spineItems`][number];
10
+ type Options = {
11
+ loadingElementCreate?: (options: {
12
+ container: HTMLElement;
13
+ item: Item;
14
+ }) => HTMLElement;
15
+ };
16
+ type Output = {
17
+ loading: {
18
+ $: {
19
+ items$: Observable<Entries>;
20
+ };
21
+ };
22
+ };
23
+ export declare const loadingEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<typeof themeEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => InheritOutput & Output;
24
+ export {};
@@ -0,0 +1,3 @@
1
+ import { EnhancerOutput, RootEnhancer } from './types/enhancer';
2
+
3
+ export declare const mediaEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -0,0 +1,9 @@
1
+ import { EnhancerOptions, EnhancerOutput, RootEnhancer } from '../types/enhancer';
2
+ import { createNavigator } from './navigator';
3
+ import { createState } from './state';
4
+
5
+ export declare const navigationEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
6
+ navigation: ReturnType<typeof createNavigator> & {
7
+ state$: ReturnType<typeof createState>;
8
+ };
9
+ };
@@ -0,0 +1,8 @@
1
+ import { Reader } from '../../reader';
2
+
3
+ export declare const createNavigator: (reader: Reader) => {
4
+ goToNextSpineItem: () => void;
5
+ goToPreviousSpineItem: () => void;
6
+ goToLeftSpineItem: () => void;
7
+ goToRightSpineItem: () => void;
8
+ };
@@ -0,0 +1,12 @@
1
+ import { Reader } from '../../reader';
2
+
3
+ export type State = {
4
+ canGoLeftSpineItem: boolean;
5
+ canGoRightSpineItem: boolean;
6
+ };
7
+ export declare const createState: (reader: Reader) => import('rxjs').Observable<{
8
+ canGoTopSpineItem: boolean;
9
+ canGoBottomSpineItem: boolean;
10
+ canGoLeftSpineItem: boolean;
11
+ canGoRightSpineItem: boolean;
12
+ }>;
@@ -0,0 +1,24 @@
1
+ import { Reader } from '../../reader';
2
+
3
+ export type ChapterInfo = {
4
+ title: string;
5
+ subChapter?: {
6
+ title: string;
7
+ subChapter?: {
8
+ title: string;
9
+ subChapter?: {
10
+ title: string;
11
+ path: string;
12
+ };
13
+ path: string;
14
+ };
15
+ path: string;
16
+ };
17
+ path: string;
18
+ };
19
+ export declare const getChaptersInfo: (reader: Reader) => {
20
+ [key: string]: ChapterInfo | undefined;
21
+ };
22
+ export declare const trackChapterInfo: (reader: Reader) => import('rxjs').Observable<{
23
+ [key: string]: ChapterInfo | undefined;
24
+ }>;
@@ -0,0 +1 @@
1
+ export declare const NAMESPACE = "paginationEnhancer";
@@ -0,0 +1,14 @@
1
+ import { Observable } from 'rxjs';
2
+ import { progressionEnhancer } from '../progression';
3
+ import { EnhancerOutput } from '../types/enhancer';
4
+ import { PaginationInfo } from '../../pagination/types';
5
+ import { ExtraPaginationInfo } from './types';
6
+
7
+ type ProgressionEnhancer = typeof progressionEnhancer;
8
+ export declare const paginationEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<ProgressionEnhancer>, PaginationOutput extends Omit<InheritOutput["pagination"], "paginationInfo$" | "getPaginationInfo"> & {
9
+ paginationInfo$: Observable<PaginationInfo & ExtraPaginationInfo>;
10
+ getPaginationInfo: () => PaginationInfo & ExtraPaginationInfo;
11
+ }>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => Omit<InheritOutput, "pagination"> & {
12
+ pagination: PaginationOutput;
13
+ };
14
+ export {};