@prose-reader/core 1.222.0 → 1.224.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.
- package/dist/cfi/generate.d.ts +4 -15
- package/dist/cfi/resolve.d.ts +7 -2
- package/dist/context/BridgeEvent.d.ts +7 -7
- package/dist/context/Context.d.ts +6 -6
- package/dist/createReaderWithEnhancer.d.ts +80 -79
- package/dist/enhancers/html/enhancer.d.ts +4 -2
- package/dist/enhancers/html/links.d.ts +2 -1
- package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +6 -5
- package/dist/enhancers/layout/layoutEnhancer.d.ts +4 -4
- package/dist/enhancers/media/ImageRenderer.d.ts +6 -5
- package/dist/enhancers/navigation/links.d.ts +2 -1
- package/dist/enhancers/navigation/state.d.ts +2 -1
- package/dist/enhancers/pagination/ResourcesLocator.d.ts +3 -2
- package/dist/enhancers/pagination/chapters.d.ts +2 -1
- package/dist/enhancers/pagination/enhancer.d.ts +1 -0
- package/dist/enhancers/pagination/index.d.ts +3 -0
- package/dist/enhancers/pagination/progression.d.ts +2 -1
- package/dist/enhancers/selection/trackSpineItemSelection.d.ts +2 -1
- package/dist/hooks/HookManager.d.ts +3 -2
- package/dist/hooks/index.d.ts +2 -0
- package/dist/index.d.ts +15 -6
- package/dist/index.js +1431 -1349
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +33 -33
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/InternalNavigator.d.ts +3 -3
- package/dist/navigation/Locker.d.ts +2 -2
- package/dist/navigation/Navigator.d.ts +24 -21
- package/dist/navigation/UserScrollNavigation.d.ts +2 -2
- package/dist/navigation/consolidation/consolidateWithPagination.d.ts +4 -3
- package/dist/navigation/resolvers/NavigationResolver.d.ts +3 -3
- package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -3
- package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +2 -1
- package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -3
- package/dist/navigation/restoration/restorePosition.d.ts +3 -3
- package/dist/pagination/index.d.ts +1 -0
- package/dist/reader.d.ts +36 -37
- package/dist/spine/Pages.d.ts +42 -0
- package/dist/spine/Spine.d.ts +20 -1
- package/dist/spine/SpineItemsManager.d.ts +2 -2
- package/dist/spine/locator/SpineLocator.d.ts +0 -7
- package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -1
- package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +2 -1
- package/dist/spine/types.d.ts +3 -22
- package/dist/spineItem/locationResolver.d.ts +0 -7
- package/dist/spineItem/renderer/DefaultRenderer.d.ts +6 -5
- package/dist/spineItem/types.d.ts +23 -0
- package/dist/utils/DestroyableClass.d.ts +2 -1
- package/dist/utils/dom.d.ts +4 -2
- package/package.json +4 -4
- package/dist/enhancers/layout/layoutInfo.d.ts +0 -25
- package/dist/enhancers/navigation/report.d.ts +0 -1
- package/dist/report.d.ts +0 -8
- package/dist/spineItem/layout/getSpineItemPagesPosition.d.ts +0 -11
package/dist/cfi/generate.d.ts
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import { Manifest } from '@prose-reader/shared';
|
|
2
|
+
import { Spine } from '../spine/Spine';
|
|
2
3
|
import { SpineItem } from '../spineItem/SpineItem';
|
|
3
|
-
import { SpineItemLocator } from '../spineItem/locationResolver';
|
|
4
4
|
export declare const generateRootCfi: (item: Manifest["spineItems"][number]) => string;
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const generateCfiForSpineItemPage: ({ pageIndex, spineItem, spineItemLocator, }: {
|
|
5
|
+
export declare const generateCfiForSpineItemPage: ({ pageIndex, spineItem, spine, }: {
|
|
7
6
|
pageIndex: number;
|
|
8
7
|
spineItem: SpineItem;
|
|
9
|
-
|
|
8
|
+
spine: Spine;
|
|
10
9
|
}) => string;
|
|
11
|
-
export declare const generateCfiFromRange: (range: Range, item: Manifest[`spineItems`][number]) =>
|
|
12
|
-
start: string;
|
|
13
|
-
end: string;
|
|
14
|
-
};
|
|
15
|
-
export declare const generateCfiFromSelection: ({ item, selection, }: {
|
|
16
|
-
selection: Selection;
|
|
17
|
-
item: Manifest["spineItems"][number];
|
|
18
|
-
}) => {
|
|
19
|
-
anchorCfi: string | undefined;
|
|
20
|
-
focusCfi: string | undefined;
|
|
21
|
-
};
|
|
10
|
+
export declare const generateCfiFromRange: (range: Range, item: Manifest[`spineItems`][number]) => string;
|
|
22
11
|
export declare const getItemAnchor: (item: Manifest["spineItems"][number]) => string;
|
package/dist/cfi/resolve.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { SpineItemsManager } from '../spine/SpineItemsManager';
|
|
2
|
+
import { SpineItem } from '..';
|
|
2
3
|
export declare const resolveCfi: ({ cfi, spineItemsManager, }: {
|
|
3
4
|
cfi: string;
|
|
4
5
|
spineItemsManager: SpineItemsManager;
|
|
5
6
|
}) => {
|
|
6
7
|
node: Node | null | undefined;
|
|
8
|
+
isRange: boolean;
|
|
9
|
+
range: Range | null | undefined;
|
|
7
10
|
offset: number | undefined;
|
|
8
|
-
spineItem:
|
|
11
|
+
spineItem: SpineItem;
|
|
9
12
|
} | {
|
|
10
|
-
spineItem:
|
|
13
|
+
spineItem: SpineItem;
|
|
11
14
|
node?: undefined;
|
|
15
|
+
isRange?: undefined;
|
|
16
|
+
range?: undefined;
|
|
12
17
|
offset?: undefined;
|
|
13
18
|
} | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
1
|
+
import { BehaviorSubject, ReplaySubject, Observable } from 'rxjs';
|
|
2
2
|
import { Navigation } from '../navigation/types';
|
|
3
3
|
import { PaginationInfo } from '../pagination/types';
|
|
4
4
|
export declare class BridgeEvent {
|
|
@@ -6,10 +6,10 @@ export declare class BridgeEvent {
|
|
|
6
6
|
viewportStateSubject: BehaviorSubject<"free" | "busy">;
|
|
7
7
|
paginationSubject: ReplaySubject<PaginationInfo>;
|
|
8
8
|
navigationIsLockedSubject: BehaviorSubject<boolean>;
|
|
9
|
-
pagination$:
|
|
10
|
-
navigationUnlocked$:
|
|
11
|
-
viewportState$:
|
|
12
|
-
viewportFree$:
|
|
13
|
-
viewportBusy$:
|
|
14
|
-
navigation$:
|
|
9
|
+
pagination$: Observable<PaginationInfo>;
|
|
10
|
+
navigationUnlocked$: Observable<boolean>;
|
|
11
|
+
viewportState$: Observable<"free" | "busy">;
|
|
12
|
+
viewportFree$: Observable<"free">;
|
|
13
|
+
viewportBusy$: Observable<"busy">;
|
|
14
|
+
navigation$: Observable<Navigation>;
|
|
15
15
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Manifest } from '@prose-reader/shared';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
2
|
+
import { Subject, Observable } from 'rxjs';
|
|
3
3
|
import { ReactiveEntity } from '../utils/ReactiveEntity';
|
|
4
4
|
import { BridgeEvent } from './BridgeEvent';
|
|
5
5
|
export type ContextState = {
|
|
@@ -24,11 +24,11 @@ export type ContextState = {
|
|
|
24
24
|
export declare class Context extends ReactiveEntity<ContextState> {
|
|
25
25
|
bridgeEvent: BridgeEvent;
|
|
26
26
|
destroy$: Subject<void>;
|
|
27
|
-
state$:
|
|
28
|
-
manifest$:
|
|
29
|
-
containerElement$:
|
|
30
|
-
hasVerticalWriting$:
|
|
31
|
-
isUsingSpreadMode$:
|
|
27
|
+
state$: Observable<ContextState>;
|
|
28
|
+
manifest$: Observable<Manifest>;
|
|
29
|
+
containerElement$: Observable<HTMLElement>;
|
|
30
|
+
hasVerticalWriting$: Observable<boolean>;
|
|
31
|
+
isUsingSpreadMode$: Observable<boolean | undefined>;
|
|
32
32
|
constructor();
|
|
33
33
|
update(newState: Partial<ContextState>): void;
|
|
34
34
|
isRTL: () => boolean;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
import { CoreInputSettings, EnhancerLayoutInputSettings, Theme, EnhancerFontsInputSettings, Context, Spine, SpineItem, InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, DeprecatedViewportPosition, SpinePosition, SpineItemPosition, SpineItemsObserver, SpineItemsManager, ContextState, SettingsInterface, CoreOutputSettings, Viewport, Features, LayoutEnhancerOutput, ComputedCoreSettings, ExtraPaginationInfo, ResourcesLocator, NavigationEnhancerOutput, ZoomEnhancerOutput } from '.';
|
|
2
|
+
import { HookManager, CoreHook } from './hooks';
|
|
3
|
+
import { Manifest } from '@prose-reader/shared';
|
|
4
|
+
import { resolveCfi } from './cfi';
|
|
5
|
+
import { Observable, ObservedValueOf, Subject } from 'rxjs';
|
|
6
|
+
import { getNavigationForSpineItemPage } from './navigation/resolvers/getNavigationForSpineItemPage';
|
|
7
|
+
import { PaginationInfo, Pagination } from './pagination';
|
|
8
|
+
export declare const createReaderWithEnhancers: (options: Partial< CoreInputSettings> & Partial< EnhancerLayoutInputSettings> & {
|
|
9
|
+
theme?: Theme;
|
|
10
|
+
} & Partial< EnhancerFontsInputSettings> & {
|
|
4
11
|
loadingElementCreate?: (options: {
|
|
5
12
|
container: HTMLElement;
|
|
6
13
|
item: {
|
|
@@ -15,21 +22,11 @@ export declare const createReaderWithEnhancers: (options: Partial<import('.').Co
|
|
|
15
22
|
};
|
|
16
23
|
}) => HTMLElement;
|
|
17
24
|
}) => Omit<Omit<Omit<Omit<{
|
|
18
|
-
context:
|
|
19
|
-
spine:
|
|
20
|
-
hookManager:
|
|
25
|
+
context: Context;
|
|
26
|
+
spine: Spine;
|
|
27
|
+
hookManager: HookManager<CoreHook>;
|
|
21
28
|
cfi: {
|
|
22
|
-
generateCfiFromRange: (range: Range, item:
|
|
23
|
-
start: string;
|
|
24
|
-
end: string;
|
|
25
|
-
};
|
|
26
|
-
generateCfiFromSelection: ({ item, selection, }: {
|
|
27
|
-
selection: Selection;
|
|
28
|
-
item: import('@prose-reader/shared').Manifest["spineItems"][number];
|
|
29
|
-
}) => {
|
|
30
|
-
anchorCfi: string | undefined;
|
|
31
|
-
focusCfi: string | undefined;
|
|
32
|
-
};
|
|
29
|
+
generateCfiFromRange: (range: Range, item: Manifest[`spineItems`][number]) => string;
|
|
33
30
|
parseCfi: (cfi: string) => {
|
|
34
31
|
cleanedCfi: string;
|
|
35
32
|
itemIndex?: number;
|
|
@@ -37,45 +34,49 @@ export declare const createReaderWithEnhancers: (options: Partial<import('.').Co
|
|
|
37
34
|
};
|
|
38
35
|
generateCfiForSpineItemPage: (params: {
|
|
39
36
|
pageIndex: number;
|
|
40
|
-
spineItem:
|
|
37
|
+
spineItem: SpineItem;
|
|
41
38
|
}) => string;
|
|
42
|
-
resolveCfi: (params: Omit<Parameters<
|
|
39
|
+
resolveCfi: (params: Omit<Parameters< resolveCfi>[0], "spineItemsManager">) => {
|
|
43
40
|
node: Node | null | undefined;
|
|
41
|
+
isRange: boolean;
|
|
42
|
+
range: Range | null | undefined;
|
|
44
43
|
offset: number | undefined;
|
|
45
|
-
spineItem:
|
|
44
|
+
spineItem: SpineItem;
|
|
46
45
|
} | {
|
|
47
|
-
spineItem:
|
|
46
|
+
spineItem: SpineItem;
|
|
48
47
|
node?: undefined;
|
|
48
|
+
isRange?: undefined;
|
|
49
|
+
range?: undefined;
|
|
49
50
|
offset?: undefined;
|
|
50
51
|
} | undefined;
|
|
51
52
|
};
|
|
52
53
|
navigation: {
|
|
53
54
|
destroy: () => void;
|
|
54
|
-
getNavigation: () =>
|
|
55
|
-
internalNavigator:
|
|
56
|
-
scrollNavigationController:
|
|
57
|
-
controlledNavigationController:
|
|
58
|
-
locker:
|
|
59
|
-
viewportState$:
|
|
60
|
-
navigate: (to:
|
|
55
|
+
getNavigation: () => InternalNavigationEntry;
|
|
56
|
+
internalNavigator: InternalNavigator;
|
|
57
|
+
scrollNavigationController: ScrollNavigationController;
|
|
58
|
+
controlledNavigationController: ControlledNavigationController;
|
|
59
|
+
locker: Locker;
|
|
60
|
+
viewportState$: Observable<"free" | "busy">;
|
|
61
|
+
navigate: (to: UserNavigationEntry) => void;
|
|
61
62
|
lock(): () => void;
|
|
62
63
|
navigationResolver: {
|
|
63
64
|
getNavigationForUrl: (url: string | URL) => {
|
|
64
|
-
position:
|
|
65
|
+
position: DeprecatedViewportPosition;
|
|
65
66
|
spineItemId: string;
|
|
66
67
|
} | undefined;
|
|
67
|
-
getNavigationForSpineItemPage: (params: Omit<Parameters<
|
|
68
|
+
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
|
|
68
69
|
getNavigationFromSpineItemPosition: (params: {
|
|
69
|
-
spineItemPosition:
|
|
70
|
-
spineItem:
|
|
71
|
-
}) =>
|
|
72
|
-
getNavigationForCfi: (cfi: string) =>
|
|
73
|
-
getNavigationForLastPage: (spineItem:
|
|
74
|
-
getNavigationForSpineIndexOrId: (indexOrId: number | string |
|
|
75
|
-
getNavigationForPosition: (viewportPosition:
|
|
76
|
-
getMostPredominantNavigationForPosition: (viewportPosition:
|
|
77
|
-
getAdjustedPositionWithSafeEdge: (position:
|
|
78
|
-
isNavigationGoingForwardFrom: (to:
|
|
70
|
+
spineItemPosition: SpineItemPosition;
|
|
71
|
+
spineItem: SpineItem;
|
|
72
|
+
}) => SpinePosition;
|
|
73
|
+
getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
|
|
74
|
+
getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
|
|
75
|
+
getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
|
|
76
|
+
getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
77
|
+
getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
|
|
78
|
+
getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
79
|
+
isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
|
|
79
80
|
arePositionsDifferent: (a: {
|
|
80
81
|
x: number;
|
|
81
82
|
y: number;
|
|
@@ -83,75 +84,75 @@ export declare const createReaderWithEnhancers: (options: Partial<import('.').Co
|
|
|
83
84
|
x: number;
|
|
84
85
|
y: number;
|
|
85
86
|
}) => boolean;
|
|
86
|
-
getAdjustedPositionForSpread: (position:
|
|
87
|
+
getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
|
|
87
88
|
spineItemNavigator: {
|
|
88
|
-
getNavigationForLastPage: (spineItem:
|
|
89
|
-
getNavigationForPosition: (spineItem:
|
|
90
|
-
getNavigationFromNode: (spineItem:
|
|
89
|
+
getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
|
|
90
|
+
getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
|
|
91
|
+
getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
|
|
91
92
|
};
|
|
92
93
|
};
|
|
93
|
-
navigation$:
|
|
94
|
-
position:
|
|
94
|
+
navigation$: Observable<{
|
|
95
|
+
position: SpinePosition;
|
|
95
96
|
id: symbol;
|
|
96
97
|
}>;
|
|
97
98
|
};
|
|
98
|
-
spineItemsObserver:
|
|
99
|
-
spineItemsManager:
|
|
99
|
+
spineItemsObserver: SpineItemsObserver;
|
|
100
|
+
spineItemsManager: SpineItemsManager;
|
|
100
101
|
layout: () => void;
|
|
101
|
-
load: (options: Required<Pick<
|
|
102
|
+
load: (options: Required<Pick< ContextState, "manifest" | "containerElement">>) => void;
|
|
102
103
|
destroy: () => void;
|
|
103
104
|
pagination: {
|
|
104
|
-
readonly state:
|
|
105
|
-
readonly state$:
|
|
105
|
+
readonly state: PaginationInfo;
|
|
106
|
+
readonly state$: Observable<ObservedValueOf<Pagination>>;
|
|
106
107
|
};
|
|
107
|
-
settings:
|
|
108
|
-
viewport:
|
|
109
|
-
element$:
|
|
110
|
-
viewportState$:
|
|
111
|
-
viewportFree$:
|
|
112
|
-
state$:
|
|
113
|
-
features:
|
|
108
|
+
settings: SettingsInterface<NonNullable< CoreInputSettings>, NonNullable< CoreOutputSettings | undefined>>;
|
|
109
|
+
viewport: Viewport;
|
|
110
|
+
element$: Observable<HTMLElement>;
|
|
111
|
+
viewportState$: Observable<"free" | "busy">;
|
|
112
|
+
viewportFree$: Observable<"free">;
|
|
113
|
+
state$: Observable<"idle" | "ready">;
|
|
114
|
+
features: Features;
|
|
114
115
|
$: {
|
|
115
|
-
destroy$:
|
|
116
|
+
destroy$: Subject<void>;
|
|
116
117
|
};
|
|
117
|
-
}, "settings"> &
|
|
118
|
-
settings:
|
|
118
|
+
}, "settings"> & LayoutEnhancerOutput & {
|
|
119
|
+
settings: SettingsInterface< CoreInputSettings & EnhancerLayoutInputSettings, EnhancerLayoutInputSettings & CoreInputSettings & ComputedCoreSettings>;
|
|
119
120
|
}, "pagination"> & {
|
|
120
121
|
pagination: Omit<{
|
|
121
|
-
readonly state:
|
|
122
|
-
readonly state$:
|
|
122
|
+
readonly state: PaginationInfo;
|
|
123
|
+
readonly state$: Observable<ObservedValueOf<Pagination>>;
|
|
123
124
|
}, "state" | "state$"> & {
|
|
124
|
-
state$:
|
|
125
|
-
state:
|
|
125
|
+
state$: Observable< PaginationInfo & ExtraPaginationInfo>;
|
|
126
|
+
state: PaginationInfo & ExtraPaginationInfo;
|
|
126
127
|
};
|
|
127
|
-
locateResource:
|
|
128
|
+
locateResource: ResourcesLocator["locateResource"];
|
|
128
129
|
} & {
|
|
129
130
|
theme: {
|
|
130
|
-
set: (theme:
|
|
131
|
-
get: () =>
|
|
131
|
+
set: (theme: Theme) => void;
|
|
132
|
+
get: () => Theme;
|
|
132
133
|
$: {
|
|
133
|
-
theme$:
|
|
134
|
+
theme$: Observable<Theme>;
|
|
134
135
|
};
|
|
135
136
|
};
|
|
136
137
|
} & {
|
|
137
|
-
links$:
|
|
138
|
-
}, "load"> &
|
|
138
|
+
links$: Observable<MouseEvent>;
|
|
139
|
+
}, "load"> & NavigationEnhancerOutput & ZoomEnhancerOutput & {
|
|
139
140
|
utils: {
|
|
140
141
|
isOrIsWithinValidLink: (target: Event[`target`]) => boolean;
|
|
141
142
|
};
|
|
142
143
|
}, "settings"> & {
|
|
143
|
-
settings:
|
|
144
|
+
settings: SettingsInterface< CoreInputSettings & EnhancerLayoutInputSettings & EnhancerFontsInputSettings, EnhancerFontsInputSettings & EnhancerLayoutInputSettings & CoreInputSettings & ComputedCoreSettings>;
|
|
144
145
|
} & {
|
|
145
146
|
loading: {
|
|
146
147
|
$: {
|
|
147
|
-
items$:
|
|
148
|
+
items$: Observable<{
|
|
148
149
|
[key: string]: HTMLElement;
|
|
149
150
|
}>;
|
|
150
151
|
};
|
|
151
152
|
};
|
|
152
153
|
} & {
|
|
153
154
|
selection: {
|
|
154
|
-
selection$:
|
|
155
|
+
selection$: Observable<{
|
|
155
156
|
itemIndex: number;
|
|
156
157
|
type: "change";
|
|
157
158
|
selection: Selection;
|
|
@@ -161,15 +162,15 @@ export declare const createReaderWithEnhancers: (options: Partial<import('.').Co
|
|
|
161
162
|
event: Event;
|
|
162
163
|
selection: Selection;
|
|
163
164
|
} | undefined>;
|
|
164
|
-
selectionStart$:
|
|
165
|
-
selectionEnd$:
|
|
166
|
-
selectionOver$:
|
|
165
|
+
selectionStart$: Observable<boolean>;
|
|
166
|
+
selectionEnd$: Observable<void>;
|
|
167
|
+
selectionOver$: Observable<{
|
|
167
168
|
itemIndex: number;
|
|
168
169
|
type: "over";
|
|
169
170
|
event: Event;
|
|
170
171
|
selection: Selection;
|
|
171
172
|
}>;
|
|
172
|
-
lastSelectionOnPointerdown$:
|
|
173
|
+
lastSelectionOnPointerdown$: Observable<{
|
|
173
174
|
itemIndex: number;
|
|
174
175
|
type: "change";
|
|
175
176
|
selection: Selection;
|
|
@@ -196,7 +197,7 @@ export declare const createReaderWithEnhancers: (options: Partial<import('.').Co
|
|
|
196
197
|
focusNode?: Node | null;
|
|
197
198
|
focusOffset?: number;
|
|
198
199
|
};
|
|
199
|
-
spineItem:
|
|
200
|
+
spineItem: SpineItem;
|
|
200
201
|
}) => Range | undefined;
|
|
201
202
|
};
|
|
202
203
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { EnhancerOptions, EnhancerOutput, RootEnhancer } from '../types/enhancer';
|
|
2
2
|
import { handleLinks } from './links';
|
|
3
|
+
type HandleLinksReturnType = ReturnType<typeof handleLinks>;
|
|
3
4
|
export type HtmlEnhancerOutput = {
|
|
4
|
-
links$:
|
|
5
|
+
links$: HandleLinksReturnType;
|
|
5
6
|
};
|
|
6
7
|
export declare const htmlEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
|
|
7
|
-
links$:
|
|
8
|
+
links$: HandleLinksReturnType;
|
|
8
9
|
};
|
|
10
|
+
export {};
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { DocumentRenderer } from '../../../spineItem/renderer/DocumentRenderer';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export declare class HtmlRenderer extends DocumentRenderer {
|
|
3
4
|
latestContentHeightWhenLoaded: number | undefined;
|
|
4
|
-
onCreateDocument():
|
|
5
|
-
onLoadDocument():
|
|
6
|
-
onUnload():
|
|
5
|
+
onCreateDocument(): Observable<HTMLIFrameElement>;
|
|
6
|
+
onLoadDocument(): Observable<HTMLIFrameElement>;
|
|
7
|
+
onUnload(): Observable<never>;
|
|
7
8
|
onLayout({ minPageSpread, blankPagePosition, spreadPosition, }: {
|
|
8
9
|
minPageSpread: number;
|
|
9
10
|
blankPagePosition: `before` | `after` | `none`;
|
|
10
11
|
spreadPosition: `none` | `left` | `right`;
|
|
11
|
-
}):
|
|
12
|
+
}): Observable<undefined> | Observable<{
|
|
12
13
|
width: number;
|
|
13
14
|
height: number;
|
|
14
15
|
}>;
|
|
15
|
-
onRenderHeadless():
|
|
16
|
+
onRenderHeadless(): Observable<Document | undefined>;
|
|
16
17
|
private isImageType;
|
|
17
18
|
private getFrameElement;
|
|
18
19
|
getComputedStyleAfterLoad(): CSSStyleDeclaration | undefined;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
1
|
+
import { Observable, ObservedValueOf } from 'rxjs';
|
|
2
2
|
import { SettingsInterface } from '../../settings/SettingsInterface';
|
|
3
|
+
import { Pages } from '../../spine/Pages';
|
|
3
4
|
import { EnhancerOptions, EnhancerOutput, RootEnhancer } from '../types/enhancer';
|
|
4
|
-
import { LayoutInfo } from './layoutInfo';
|
|
5
5
|
import { EnhancerLayoutInputSettings, OutputSettings } from './types';
|
|
6
6
|
export type LayoutEnhancerOutput = {
|
|
7
|
-
layout$: Observable<
|
|
8
|
-
layoutInfo$: Observable<
|
|
7
|
+
layout$: Observable<ObservedValueOf<Pages>>;
|
|
8
|
+
layoutInfo$: Observable<ObservedValueOf<Pages>>;
|
|
9
9
|
};
|
|
10
10
|
export declare const layoutEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>, InheritSettings extends NonNullable<InheritOutput["settings"]["_inputSettings"]>, InheritComputedSettings extends NonNullable<InheritOutput["settings"]["_outputSettings"]>, Output extends Omit<InheritOutput, "settings"> & LayoutEnhancerOutput & {
|
|
11
11
|
settings: SettingsInterface<InheritSettings & EnhancerLayoutInputSettings, OutputSettings & InheritComputedSettings>;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { DocumentRenderer } from '../../spineItem/renderer/DocumentRenderer';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export declare class ImageRenderer extends DocumentRenderer {
|
|
3
4
|
private getImageElement;
|
|
4
|
-
onCreateDocument():
|
|
5
|
-
onLoadDocument():
|
|
6
|
-
onUnload():
|
|
5
|
+
onCreateDocument(): Observable<HTMLImageElement>;
|
|
6
|
+
onLoadDocument(): Observable<Event>;
|
|
7
|
+
onUnload(): Observable<never>;
|
|
7
8
|
onLayout({ spreadPosition, }: {
|
|
8
9
|
minPageSpread: number;
|
|
9
10
|
blankPagePosition: `before` | `after` | `none`;
|
|
10
11
|
spreadPosition: `none` | `left` | `right`;
|
|
11
|
-
}):
|
|
12
|
+
}): Observable<undefined> | Observable<{
|
|
12
13
|
width: number;
|
|
13
14
|
height: number;
|
|
14
15
|
}>;
|
|
15
|
-
onRenderHeadless():
|
|
16
|
+
onRenderHeadless(): Observable<never>;
|
|
16
17
|
getDocumentFrame(): undefined;
|
|
17
18
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Reader } from '../../reader';
|
|
2
2
|
import { HtmlEnhancerOutput } from '../html/enhancer';
|
|
3
3
|
import { ManualNavigator } from './navigators/manualNavigator';
|
|
4
|
-
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
export declare const handleLinksNavigation: (reader: Reader & HtmlEnhancerOutput, manualNavigator: ManualNavigator) => Observable<MouseEvent>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Reader } from '../../reader';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export type State = ReturnType<typeof observeState>;
|
|
3
|
-
export declare const observeState: (reader: Reader) =>
|
|
4
|
+
export declare const observeState: (reader: Reader) => Observable<{
|
|
4
5
|
canTurnLeft: boolean;
|
|
5
6
|
canTurnRight: boolean;
|
|
6
7
|
canGoTopSpineItem: boolean;
|
|
@@ -3,7 +3,6 @@ import { Reader } from '../../reader';
|
|
|
3
3
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
4
4
|
type CfiLocatableResource = {
|
|
5
5
|
cfi: string;
|
|
6
|
-
endCfi?: string;
|
|
7
6
|
};
|
|
8
7
|
export type LocatableResource = SpineItem | CfiLocatableResource;
|
|
9
8
|
export type ConsolidatedResource = CfiLocatableResource & {
|
|
@@ -12,7 +11,7 @@ export type ConsolidatedResource = CfiLocatableResource & {
|
|
|
12
11
|
absolutePageIndex?: number;
|
|
13
12
|
startNode?: Node;
|
|
14
13
|
startOffset?: number;
|
|
15
|
-
range?: Range;
|
|
14
|
+
range?: Range | null;
|
|
16
15
|
};
|
|
17
16
|
export declare const consolidate: (resource: ConsolidatedResource, reader: Reader) => Observable<ConsolidatedResource>;
|
|
18
17
|
type Options = {
|
|
@@ -21,6 +20,8 @@ type Options = {
|
|
|
21
20
|
export declare class ResourcesLocator {
|
|
22
21
|
private reader;
|
|
23
22
|
constructor(reader: Reader);
|
|
23
|
+
private locatorsByKey;
|
|
24
|
+
private deregisterMemoizedStream;
|
|
24
25
|
locate: <T extends LocatableResource>(resource: T, options: Options) => Observable<{
|
|
25
26
|
resource: T;
|
|
26
27
|
meta: ConsolidatedResource;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Reader } from '../../reader';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export type ChapterInfo = {
|
|
3
4
|
title: string;
|
|
4
5
|
subChapter?: {
|
|
@@ -18,6 +19,6 @@ export type ChapterInfo = {
|
|
|
18
19
|
export declare const getChaptersInfo: (reader: Reader) => {
|
|
19
20
|
[key: string]: ChapterInfo | undefined;
|
|
20
21
|
};
|
|
21
|
-
export declare const trackChapterInfo: (reader: Reader) =>
|
|
22
|
+
export declare const trackChapterInfo: (reader: Reader) => Observable<{
|
|
22
23
|
[key: string]: ChapterInfo | undefined;
|
|
23
24
|
}>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LayoutEnhancerOutput } from '../layout/layoutEnhancer';
|
|
2
2
|
import { EnhancerOutput, RootEnhancer } from '../types/enhancer';
|
|
3
3
|
import { PaginationEnhancerAPI } from './types';
|
|
4
|
+
export type { PaginationEnhancerAPI, EnhancerPaginationInto } from './types';
|
|
4
5
|
export declare const paginationEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer> & LayoutEnhancerOutput, PaginationOutput extends PaginationEnhancerAPI<InheritOutput>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => PaginationOutput;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Reader } from '../../reader';
|
|
2
2
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
3
3
|
import { LayoutEnhancerOutput } from '../layout/layoutEnhancer';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
4
5
|
export declare const getPercentageEstimate: (reader: Reader & LayoutEnhancerOutput, currentSpineIndex: number, pageIndex: number, currentPosition: {
|
|
5
6
|
x: number;
|
|
6
7
|
y: number;
|
|
7
|
-
}, currentItem: SpineItem) =>
|
|
8
|
+
}, currentItem: SpineItem) => Observable<number>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
2
|
-
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export declare const trackSpineItemSelection: (spineItem: SpineItem) => Observable<{
|
|
3
4
|
type: "change";
|
|
4
5
|
selection: Selection;
|
|
5
6
|
} | {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { CoreHook, Hook, HookExecution, HookFrom } from './types';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export declare class HookManager<H extends Hook<any, any, any> = CoreHook> {
|
|
3
4
|
_hooks: Array<H>;
|
|
4
5
|
_hookExecutions: Array<HookExecution<H>>;
|
|
5
|
-
protected deregister(hookToDeregister: H):
|
|
6
|
+
protected deregister(hookToDeregister: H): Observable<unknown[]>;
|
|
6
7
|
register<Name extends H["name"]>(name: Name, fn: HookFrom<H, Name>["runFn"]): () => void;
|
|
7
8
|
execute<Name extends H["name"]>(name: Name, id: string | undefined, params: Omit<Parameters<HookFrom<H, Name>["runFn"]>[0], "destroy" | "destroy$">): ReturnType<HookFrom<H, Name>["runFn"]>[];
|
|
8
|
-
destroy<Name extends H["name"]>(name: Name, id?: string, ref?: H):
|
|
9
|
+
destroy<Name extends H["name"]>(name: Name, id?: string, ref?: H): Observable<unknown[]>;
|
|
9
10
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,26 +5,29 @@ export { ResourceHandler } from './spineItem/resources/ResourceHandler';
|
|
|
5
5
|
export type { Theme } from './enhancers/theme';
|
|
6
6
|
export { HookManager } from './hooks/HookManager';
|
|
7
7
|
export { SettingsManager } from './settings/SettingsManager';
|
|
8
|
-
export type Reader = ReturnType<typeof createReader>;
|
|
9
8
|
export type CreateReaderOptions = Parameters<typeof createReader>[0];
|
|
10
9
|
export { createReader };
|
|
10
|
+
export type Reader = ReturnType<typeof createReader>;
|
|
11
11
|
export { isHtmlElement, isHtmlTagElement } from './utils/dom';
|
|
12
12
|
export { isShallowEqual } from './utils/objects';
|
|
13
13
|
export { waitForSwitch } from './utils/rxjs';
|
|
14
14
|
export { SpineItem } from './spineItem/SpineItem';
|
|
15
|
-
export type { PaginationInfo } from './pagination/types';
|
|
16
15
|
export * from './utils/DestroyableClass';
|
|
17
16
|
export * from './utils/frames';
|
|
18
17
|
export * from './utils/rxjs';
|
|
19
|
-
export type PaginationState = ReturnType<typeof createReader>["pagination"]["state"];
|
|
20
18
|
export type { EnhancerFontsInputSettings } from './enhancers/fonts';
|
|
21
19
|
export type { EnhancerLayoutInputSettings } from './enhancers/layout/types';
|
|
22
|
-
export * from './
|
|
23
|
-
export * from './context/Context';
|
|
20
|
+
export * from './pagination';
|
|
24
21
|
export * from './enhancers/layout/layoutEnhancer';
|
|
25
22
|
export * from './enhancers/navigation/types';
|
|
26
23
|
export * from './enhancers/zoom/types';
|
|
27
|
-
export * from './
|
|
24
|
+
export * from './enhancers/types/enhancer';
|
|
25
|
+
export * from './enhancers/html/enhancer';
|
|
26
|
+
export * from './settings/types';
|
|
27
|
+
export * from './settings/SettingsInterface';
|
|
28
|
+
export * from './context/Context';
|
|
29
|
+
export * from './enhancers/pagination';
|
|
30
|
+
export * from './hooks';
|
|
28
31
|
export * from './navigation/InternalNavigator';
|
|
29
32
|
export * from './navigation/Locker';
|
|
30
33
|
export * from './navigation/controllers/ControlledNavigationController';
|
|
@@ -33,3 +36,9 @@ export * from './navigation/types';
|
|
|
33
36
|
export * from './spine/types';
|
|
34
37
|
export * from './spine/SpineItemsManager';
|
|
35
38
|
export * from './spine/Spine';
|
|
39
|
+
export * from './spine/SpineItemsObserver';
|
|
40
|
+
export * from './spine/Pages';
|
|
41
|
+
export * from './spineItem/types';
|
|
42
|
+
export * from './features/Features';
|
|
43
|
+
export * from './cfi';
|
|
44
|
+
export * from './viewport/Viewport';
|