@prose-reader/core 1.55.0 → 1.57.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/index.d.ts +208 -270
- package/dist/index.js +868 -903
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +868 -903
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
2
|
import { Manifest } from '@prose-reader/shared';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
4
5
|
|
|
5
6
|
declare type Api = {
|
|
6
7
|
zoom: {
|
|
@@ -43,57 +44,69 @@ declare type ChapterInfo = {
|
|
|
43
44
|
path: string;
|
|
44
45
|
};
|
|
45
46
|
|
|
46
|
-
declare type
|
|
47
|
+
declare type ComputedSettings = Settings & {
|
|
48
|
+
computedPageTurnMode: Settings[`pageTurnMode`];
|
|
49
|
+
computedPageTurnDirection: Settings[`pageTurnDirection`];
|
|
50
|
+
computedPageTurnAnimation: Settings[`pageTurnAnimation`];
|
|
51
|
+
computedPageTurnAnimationDuration: number;
|
|
52
|
+
computedSnapAnimationDuration: number;
|
|
53
|
+
};
|
|
47
54
|
|
|
48
|
-
declare
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
declare class Context {
|
|
56
|
+
_stateSubject: BehaviorSubject<State>;
|
|
57
|
+
destroy$: Subject<void>;
|
|
58
|
+
state$: Observable<Partial<Pick<LoadOptions, "containerElement">> & {
|
|
59
|
+
manifest?: Manifest | undefined;
|
|
60
|
+
hasVerticalWriting?: boolean | undefined;
|
|
61
|
+
isUsingSpreadMode?: boolean | undefined;
|
|
62
|
+
isFullyPrePaginated?: boolean | undefined;
|
|
63
|
+
forceSinglePageMode?: boolean | undefined;
|
|
64
|
+
areAllItemsPrePaginated?: boolean | undefined;
|
|
65
|
+
calculatedInnerMargin: number;
|
|
66
|
+
marginTop: number;
|
|
67
|
+
marginBottom: number;
|
|
68
|
+
visibleAreaRect: {
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
x: number;
|
|
72
|
+
y: number;
|
|
65
73
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
y: number;
|
|
69
|
-
width: number;
|
|
70
|
-
height: number;
|
|
71
|
-
}) => void;
|
|
72
|
-
isRTL: () => boolean;
|
|
73
|
-
destroy: () => void;
|
|
74
|
-
getState: () => State;
|
|
74
|
+
}>;
|
|
75
|
+
manifest$: Observable<Manifest>;
|
|
75
76
|
containerElement$: Observable<HTMLElement>;
|
|
76
|
-
isUsingSpreadMode$: Observable<boolean | undefined>;
|
|
77
77
|
hasVerticalWriting$: Observable<boolean>;
|
|
78
|
-
$:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
isUsingSpreadMode$: Observable<boolean | undefined>;
|
|
79
|
+
update(newState: {
|
|
80
|
+
manifest?: Manifest;
|
|
81
|
+
forceSinglePageMode?: boolean;
|
|
82
|
+
visibleAreaRect?: State["visibleAreaRect"];
|
|
83
|
+
marginTop?: number;
|
|
84
|
+
marginBottom?: number;
|
|
85
|
+
hasVerticalWriting?: boolean;
|
|
86
|
+
}): void;
|
|
87
|
+
isRTL: () => boolean;
|
|
88
|
+
get state(): State;
|
|
89
|
+
get manifest(): Manifest | undefined;
|
|
90
|
+
get readingDirection(): "ltr" | "rtl" | undefined;
|
|
91
|
+
getPageSize(): {
|
|
92
|
+
width: number;
|
|
93
|
+
height: number;
|
|
82
94
|
};
|
|
83
|
-
|
|
95
|
+
destroy: () => void;
|
|
96
|
+
}
|
|
84
97
|
|
|
85
|
-
declare type ContextSettings = Partial<
|
|
98
|
+
declare type ContextSettings = Partial<Settings>;
|
|
86
99
|
|
|
87
100
|
declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
|
|
88
101
|
spineItemManager: SpineItemManager;
|
|
89
|
-
context:
|
|
102
|
+
context: Context;
|
|
90
103
|
spineItemLocator: ReturnType<typeof createLocationResolver_2>;
|
|
91
104
|
}) => {
|
|
92
105
|
getSpineItemFromCfi: (cfi: string) => {
|
|
93
106
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
94
107
|
blankPagePosition: "after" | "before" | "none";
|
|
95
108
|
minimumWidth: number;
|
|
96
|
-
spreadPosition: "none" | "
|
|
109
|
+
spreadPosition: "none" | "right" | "left";
|
|
97
110
|
}) => {
|
|
98
111
|
width: number;
|
|
99
112
|
height: number;
|
|
@@ -205,7 +218,7 @@ declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
|
|
|
205
218
|
})) => boolean) => boolean;
|
|
206
219
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
207
220
|
minimumWidth: number;
|
|
208
|
-
}) => void
|
|
221
|
+
}) => Observable<[void | Observable<void>]>;
|
|
209
222
|
selectionTracker: {
|
|
210
223
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
211
224
|
destroy: () => void;
|
|
@@ -265,7 +278,7 @@ declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
|
|
|
265
278
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
266
279
|
blankPagePosition: "after" | "before" | "none";
|
|
267
280
|
minimumWidth: number;
|
|
268
|
-
spreadPosition: "none" | "
|
|
281
|
+
spreadPosition: "none" | "right" | "left";
|
|
269
282
|
}) => {
|
|
270
283
|
width: number;
|
|
271
284
|
height: number;
|
|
@@ -377,7 +390,7 @@ declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
|
|
|
377
390
|
})) => boolean) => boolean;
|
|
378
391
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
379
392
|
minimumWidth: number;
|
|
380
|
-
}) => void
|
|
393
|
+
}) => Observable<[void | Observable<void>]>;
|
|
381
394
|
selectionTracker: {
|
|
382
395
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
383
396
|
destroy: () => void;
|
|
@@ -451,22 +464,11 @@ declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }: {
|
|
|
451
464
|
};
|
|
452
465
|
};
|
|
453
466
|
|
|
454
|
-
declare const createContext: (settings: ReturnType<typeof createSettings>) => Context_2;
|
|
455
|
-
|
|
456
|
-
declare const createEventsHelper: ({ iframeEventBridgeElement$, locator, }: {
|
|
457
|
-
iframeEventBridgeElement$: BehaviorSubject<HTMLElement | undefined>;
|
|
458
|
-
spineItemManager: SpineItemManager;
|
|
459
|
-
context: Context_2;
|
|
460
|
-
locator: ReturnType<typeof createLocationResolver>;
|
|
461
|
-
}) => {
|
|
462
|
-
normalizeEventForViewport: <E extends MouseEvent | PointerEvent | TouchEvent>(event: E) => E;
|
|
463
|
-
};
|
|
464
|
-
|
|
465
467
|
declare const createLocationResolver: ({ spineItemManager, context, spineItemLocator, settings }: {
|
|
466
468
|
spineItemManager: SpineItemManager;
|
|
467
|
-
context:
|
|
469
|
+
context: Context;
|
|
468
470
|
spineItemLocator: ReturnType<typeof createLocationResolver_2>;
|
|
469
|
-
settings:
|
|
471
|
+
settings: SettingsManager;
|
|
470
472
|
}) => {
|
|
471
473
|
getSpinePositionFromSpineItemPosition: (spineItemPosition: SpineItemNavigationPosition | SpineItemPosition, spineItem: SpineItem) => SpinePosition;
|
|
472
474
|
getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
|
|
@@ -475,7 +477,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
475
477
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
476
478
|
blankPagePosition: "after" | "before" | "none";
|
|
477
479
|
minimumWidth: number;
|
|
478
|
-
spreadPosition: "none" | "
|
|
480
|
+
spreadPosition: "none" | "right" | "left";
|
|
479
481
|
}) => {
|
|
480
482
|
width: number;
|
|
481
483
|
height: number;
|
|
@@ -587,7 +589,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
587
589
|
})) => boolean) => boolean;
|
|
588
590
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
589
591
|
minimumWidth: number;
|
|
590
|
-
}) => void
|
|
592
|
+
}) => Observable<[void | Observable<void>]>;
|
|
591
593
|
selectionTracker: {
|
|
592
594
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
593
595
|
destroy: () => void;
|
|
@@ -644,7 +646,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
644
646
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
645
647
|
blankPagePosition: "after" | "before" | "none";
|
|
646
648
|
minimumWidth: number;
|
|
647
|
-
spreadPosition: "none" | "
|
|
649
|
+
spreadPosition: "none" | "right" | "left";
|
|
648
650
|
}) => {
|
|
649
651
|
width: number;
|
|
650
652
|
height: number;
|
|
@@ -756,7 +758,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
756
758
|
})) => boolean) => boolean;
|
|
757
759
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
758
760
|
minimumWidth: number;
|
|
759
|
-
}) => void
|
|
761
|
+
}) => Observable<[void | Observable<void>]>;
|
|
760
762
|
selectionTracker: {
|
|
761
763
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
762
764
|
destroy: () => void;
|
|
@@ -812,7 +814,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
812
814
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
813
815
|
blankPagePosition: "after" | "before" | "none";
|
|
814
816
|
minimumWidth: number;
|
|
815
|
-
spreadPosition: "none" | "
|
|
817
|
+
spreadPosition: "none" | "right" | "left";
|
|
816
818
|
}) => {
|
|
817
819
|
width: number;
|
|
818
820
|
height: number;
|
|
@@ -924,7 +926,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
924
926
|
})) => boolean) => boolean;
|
|
925
927
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
926
928
|
minimumWidth: number;
|
|
927
|
-
}) => void
|
|
929
|
+
}) => Observable<[void | Observable<void>]>;
|
|
928
930
|
selectionTracker: {
|
|
929
931
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
930
932
|
destroy: () => void;
|
|
@@ -981,7 +983,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
981
983
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
982
984
|
blankPagePosition: "after" | "before" | "none";
|
|
983
985
|
minimumWidth: number;
|
|
984
|
-
spreadPosition: "none" | "
|
|
986
|
+
spreadPosition: "none" | "right" | "left";
|
|
985
987
|
}) => {
|
|
986
988
|
width: number;
|
|
987
989
|
height: number;
|
|
@@ -1093,7 +1095,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
1093
1095
|
})) => boolean) => boolean;
|
|
1094
1096
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
1095
1097
|
minimumWidth: number;
|
|
1096
|
-
}) => void
|
|
1098
|
+
}) => Observable<[void | Observable<void>]>;
|
|
1097
1099
|
selectionTracker: {
|
|
1098
1100
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
1099
1101
|
destroy: () => void;
|
|
@@ -1156,7 +1158,7 @@ declare const createLocationResolver: ({ spineItemManager, context, spineItemLoc
|
|
|
1156
1158
|
};
|
|
1157
1159
|
|
|
1158
1160
|
declare const createLocationResolver_2: ({ context }: {
|
|
1159
|
-
context:
|
|
1161
|
+
context: Context;
|
|
1160
1162
|
}) => {
|
|
1161
1163
|
getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => {
|
|
1162
1164
|
x: number;
|
|
@@ -1177,7 +1179,7 @@ declare const createLocationResolver_2: ({ context }: {
|
|
|
1177
1179
|
};
|
|
1178
1180
|
|
|
1179
1181
|
declare const createPagination: ({ context }: {
|
|
1180
|
-
context:
|
|
1182
|
+
context: Context;
|
|
1181
1183
|
spineItemManager: SpineItemManager;
|
|
1182
1184
|
}) => {
|
|
1183
1185
|
destroy: () => void;
|
|
@@ -1222,17 +1224,15 @@ declare const createPagination: ({ context }: {
|
|
|
1222
1224
|
paginationInfo$: Observable<PaginationInfo>;
|
|
1223
1225
|
};
|
|
1224
1226
|
|
|
1225
|
-
export declare const createReader: (options: {
|
|
1226
|
-
hooks?: Hook[] | undefined;
|
|
1227
|
-
} & Pick<Partial<InputSettings>, "pageTurnMode" | "pageTurnDirection" | "pageTurnAnimation" | "forceSinglePageMode" | "navigationSnapThreshold" | "numberOfAdjacentSpineItemToPreLoad"> & {
|
|
1227
|
+
export declare const createReader: (options: Partial<Settings> & {
|
|
1228
1228
|
theme?: Theme | undefined;
|
|
1229
1229
|
} & SettingsInput & {
|
|
1230
1230
|
layoutAutoResize?: false | "container" | undefined;
|
|
1231
1231
|
} & {
|
|
1232
1232
|
fontScale?: number | undefined;
|
|
1233
1233
|
lineHeight?: number | "publisher" | undefined;
|
|
1234
|
-
fontWeight?:
|
|
1235
|
-
fontJustification?: "center" | "
|
|
1234
|
+
fontWeight?: 200 | 300 | 100 | 400 | 500 | 600 | 700 | 800 | 900 | "publisher" | undefined;
|
|
1235
|
+
fontJustification?: "center" | "right" | "left" | "justify" | "publisher" | undefined;
|
|
1236
1236
|
} & {
|
|
1237
1237
|
loadingElementCreate?: ((options: {
|
|
1238
1238
|
container: HTMLElement;
|
|
@@ -1247,15 +1247,19 @@ export declare const createReader: (options: {
|
|
|
1247
1247
|
};
|
|
1248
1248
|
}) => HTMLElement) | undefined;
|
|
1249
1249
|
}) => Omit<Omit<Omit<Omit<ReaderInternal & {
|
|
1250
|
+
events: {
|
|
1251
|
+
normalizeEventForViewport: <E extends MouseEvent | PointerEvent | TouchEvent>(event: E) => E;
|
|
1252
|
+
};
|
|
1253
|
+
} & {
|
|
1250
1254
|
progression: {
|
|
1251
|
-
getPercentageEstimate: (context:
|
|
1255
|
+
getPercentageEstimate: (context: Context, currentSpineIndex: number, numberOfPages: number, pageIndex: number, currentPosition: {
|
|
1252
1256
|
x: number;
|
|
1253
1257
|
y: number;
|
|
1254
1258
|
}, currentItem: {
|
|
1255
1259
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
1256
1260
|
blankPagePosition: "after" | "before" | "none";
|
|
1257
1261
|
minimumWidth: number;
|
|
1258
|
-
spreadPosition: "none" | "
|
|
1262
|
+
spreadPosition: "none" | "right" | "left";
|
|
1259
1263
|
}) => {
|
|
1260
1264
|
width: number;
|
|
1261
1265
|
height: number;
|
|
@@ -1367,7 +1371,7 @@ export declare const createReader: (options: {
|
|
|
1367
1371
|
})) => boolean) => boolean;
|
|
1368
1372
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
1369
1373
|
minimumWidth: number;
|
|
1370
|
-
}) => void
|
|
1374
|
+
}) => Observable<[void | Observable<void>]>;
|
|
1371
1375
|
selectionTracker: {
|
|
1372
1376
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
1373
1377
|
destroy: () => void;
|
|
@@ -1420,14 +1424,14 @@ export declare const createReader: (options: {
|
|
|
1420
1424
|
isReady$: Observable<boolean>;
|
|
1421
1425
|
};
|
|
1422
1426
|
}) => number;
|
|
1423
|
-
getScrollPercentageWithinItem: (context:
|
|
1427
|
+
getScrollPercentageWithinItem: (context: Context, currentPosition: {
|
|
1424
1428
|
x: number;
|
|
1425
1429
|
y: number;
|
|
1426
1430
|
}, currentItem: {
|
|
1427
1431
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
1428
1432
|
blankPagePosition: "after" | "before" | "none";
|
|
1429
1433
|
minimumWidth: number;
|
|
1430
|
-
spreadPosition: "none" | "
|
|
1434
|
+
spreadPosition: "none" | "right" | "left";
|
|
1431
1435
|
}) => {
|
|
1432
1436
|
width: number;
|
|
1433
1437
|
height: number;
|
|
@@ -1539,7 +1543,7 @@ export declare const createReader: (options: {
|
|
|
1539
1543
|
})) => boolean) => boolean;
|
|
1540
1544
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
1541
1545
|
minimumWidth: number;
|
|
1542
|
-
}) => void
|
|
1546
|
+
}) => Observable<[void | Observable<void>]>;
|
|
1543
1547
|
selectionTracker: {
|
|
1544
1548
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
1545
1549
|
destroy: () => void;
|
|
@@ -1601,7 +1605,7 @@ export declare const createReader: (options: {
|
|
|
1601
1605
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
1602
1606
|
blankPagePosition: "after" | "before" | "none";
|
|
1603
1607
|
minimumWidth: number;
|
|
1604
|
-
spreadPosition: "none" | "
|
|
1608
|
+
spreadPosition: "none" | "right" | "left";
|
|
1605
1609
|
}) => {
|
|
1606
1610
|
width: number;
|
|
1607
1611
|
height: number;
|
|
@@ -1713,7 +1717,7 @@ export declare const createReader: (options: {
|
|
|
1713
1717
|
})) => boolean) => boolean;
|
|
1714
1718
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
1715
1719
|
minimumWidth: number;
|
|
1716
|
-
}) => void
|
|
1720
|
+
}) => Observable<[void | Observable<void>]>;
|
|
1717
1721
|
selectionTracker: {
|
|
1718
1722
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
1719
1723
|
destroy: () => void;
|
|
@@ -1778,7 +1782,7 @@ export declare const createReader: (options: {
|
|
|
1778
1782
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
1779
1783
|
blankPagePosition: "after" | "before" | "none";
|
|
1780
1784
|
minimumWidth: number;
|
|
1781
|
-
spreadPosition: "none" | "
|
|
1785
|
+
spreadPosition: "none" | "right" | "left";
|
|
1782
1786
|
}) => {
|
|
1783
1787
|
width: number;
|
|
1784
1788
|
height: number;
|
|
@@ -1890,7 +1894,7 @@ export declare const createReader: (options: {
|
|
|
1890
1894
|
})) => boolean) => boolean;
|
|
1891
1895
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
1892
1896
|
minimumWidth: number;
|
|
1893
|
-
}) => void
|
|
1897
|
+
}) => Observable<[void | Observable<void>]>;
|
|
1894
1898
|
selectionTracker: {
|
|
1895
1899
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
1896
1900
|
destroy: () => void;
|
|
@@ -1955,7 +1959,7 @@ export declare const createReader: (options: {
|
|
|
1955
1959
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
1956
1960
|
blankPagePosition: "after" | "before" | "none";
|
|
1957
1961
|
minimumWidth: number;
|
|
1958
|
-
spreadPosition: "none" | "
|
|
1962
|
+
spreadPosition: "none" | "right" | "left";
|
|
1959
1963
|
}) => {
|
|
1960
1964
|
width: number;
|
|
1961
1965
|
height: number;
|
|
@@ -2067,7 +2071,7 @@ export declare const createReader: (options: {
|
|
|
2067
2071
|
})) => boolean) => boolean;
|
|
2068
2072
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
2069
2073
|
minimumWidth: number;
|
|
2070
|
-
}) => void
|
|
2074
|
+
}) => Observable<[void | Observable<void>]>;
|
|
2071
2075
|
selectionTracker: {
|
|
2072
2076
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
2073
2077
|
destroy: () => void;
|
|
@@ -2132,7 +2136,7 @@ export declare const createReader: (options: {
|
|
|
2132
2136
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
2133
2137
|
blankPagePosition: "after" | "before" | "none";
|
|
2134
2138
|
minimumWidth: number;
|
|
2135
|
-
spreadPosition: "none" | "
|
|
2139
|
+
spreadPosition: "none" | "right" | "left";
|
|
2136
2140
|
}) => {
|
|
2137
2141
|
width: number;
|
|
2138
2142
|
height: number;
|
|
@@ -2244,7 +2248,7 @@ export declare const createReader: (options: {
|
|
|
2244
2248
|
})) => boolean) => boolean;
|
|
2245
2249
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
2246
2250
|
minimumWidth: number;
|
|
2247
|
-
}) => void
|
|
2251
|
+
}) => Observable<[void | Observable<void>]>;
|
|
2248
2252
|
selectionTracker: {
|
|
2249
2253
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
2250
2254
|
destroy: () => void;
|
|
@@ -2334,25 +2338,15 @@ export declare const createReader: (options: {
|
|
|
2334
2338
|
}>;
|
|
2335
2339
|
};
|
|
2336
2340
|
} & Api, "settings"> & {
|
|
2337
|
-
settings: Omit<{
|
|
2338
|
-
settings$: Observable<
|
|
2339
|
-
computedPageTurnMode: "controlled" | "scrollable";
|
|
2340
|
-
computedPageTurnDirection: "vertical" | "horizontal";
|
|
2341
|
-
computedPageTurnAnimation: "none" | "fade" | "slide";
|
|
2342
|
-
computedPageTurnAnimationDuration: number;
|
|
2343
|
-
computedSnapAnimationDuration: number;
|
|
2344
|
-
}>;
|
|
2345
|
-
setSettings: (data: Partial<InputSettings>) => void;
|
|
2346
|
-
getSettings: () => OutputSettings;
|
|
2347
|
-
}, "settings$" | "setSettings"> & {
|
|
2348
|
-
settings$: Observable<InputSettings & {
|
|
2341
|
+
settings: Omit<SettingsManager, "setSettings" | "settings$"> & {
|
|
2342
|
+
settings$: Observable<Settings & {
|
|
2349
2343
|
computedPageTurnMode: "controlled" | "scrollable";
|
|
2350
2344
|
computedPageTurnDirection: "vertical" | "horizontal";
|
|
2351
2345
|
computedPageTurnAnimation: "none" | "fade" | "slide";
|
|
2352
2346
|
computedPageTurnAnimationDuration: number;
|
|
2353
2347
|
computedSnapAnimationDuration: number;
|
|
2354
2348
|
} & Required<SettingsInput>>;
|
|
2355
|
-
setSettings: (settings: Partial<
|
|
2349
|
+
setSettings: (settings: Partial<Settings> & SettingsInput) => void;
|
|
2356
2350
|
};
|
|
2357
2351
|
} & {
|
|
2358
2352
|
utils: {
|
|
@@ -2367,27 +2361,17 @@ export declare const createReader: (options: {
|
|
|
2367
2361
|
}>;
|
|
2368
2362
|
};
|
|
2369
2363
|
}, "settings"> & {
|
|
2370
|
-
settings: Omit<Omit<{
|
|
2371
|
-
settings$: Observable<
|
|
2372
|
-
computedPageTurnMode: "controlled" | "scrollable";
|
|
2373
|
-
computedPageTurnDirection: "vertical" | "horizontal";
|
|
2374
|
-
computedPageTurnAnimation: "none" | "fade" | "slide";
|
|
2375
|
-
computedPageTurnAnimationDuration: number;
|
|
2376
|
-
computedSnapAnimationDuration: number;
|
|
2377
|
-
}>;
|
|
2378
|
-
setSettings: (data: Partial<InputSettings>) => void;
|
|
2379
|
-
getSettings: () => OutputSettings;
|
|
2380
|
-
}, "settings$" | "setSettings"> & {
|
|
2381
|
-
settings$: Observable<InputSettings & {
|
|
2364
|
+
settings: Omit<Omit<SettingsManager, "setSettings" | "settings$"> & {
|
|
2365
|
+
settings$: Observable<Settings & {
|
|
2382
2366
|
computedPageTurnMode: "controlled" | "scrollable";
|
|
2383
2367
|
computedPageTurnDirection: "vertical" | "horizontal";
|
|
2384
2368
|
computedPageTurnAnimation: "none" | "fade" | "slide";
|
|
2385
2369
|
computedPageTurnAnimationDuration: number;
|
|
2386
2370
|
computedSnapAnimationDuration: number;
|
|
2387
2371
|
} & Required<SettingsInput>>;
|
|
2388
|
-
setSettings: (settings: Partial<
|
|
2389
|
-
}, "
|
|
2390
|
-
settings$: Observable<
|
|
2372
|
+
setSettings: (settings: Partial<Settings> & SettingsInput) => void;
|
|
2373
|
+
}, "setSettings" | "settings$"> & {
|
|
2374
|
+
settings$: Observable<Settings & {
|
|
2391
2375
|
computedPageTurnMode: "controlled" | "scrollable";
|
|
2392
2376
|
computedPageTurnDirection: "vertical" | "horizontal";
|
|
2393
2377
|
computedPageTurnAnimation: "none" | "fade" | "slide";
|
|
@@ -2396,14 +2380,14 @@ export declare const createReader: (options: {
|
|
|
2396
2380
|
} & Required<SettingsInput> & Required<{
|
|
2397
2381
|
fontScale?: number | undefined;
|
|
2398
2382
|
lineHeight?: number | "publisher" | undefined;
|
|
2399
|
-
fontWeight?:
|
|
2400
|
-
fontJustification?: "center" | "
|
|
2383
|
+
fontWeight?: 200 | 300 | 100 | 400 | 500 | 600 | 700 | 800 | 900 | "publisher" | undefined;
|
|
2384
|
+
fontJustification?: "center" | "right" | "left" | "justify" | "publisher" | undefined;
|
|
2401
2385
|
}>>;
|
|
2402
|
-
setSettings: (settings: Partial<
|
|
2386
|
+
setSettings: (settings: Partial<Settings> & SettingsInput & {
|
|
2403
2387
|
fontScale?: number | undefined;
|
|
2404
2388
|
lineHeight?: number | "publisher" | undefined;
|
|
2405
|
-
fontWeight?:
|
|
2406
|
-
fontJustification?: "center" | "
|
|
2389
|
+
fontWeight?: 200 | 300 | 100 | 400 | 500 | 600 | 700 | 800 | 900 | "publisher" | undefined;
|
|
2390
|
+
fontJustification?: "center" | "right" | "left" | "justify" | "publisher" | undefined;
|
|
2407
2391
|
}) => void;
|
|
2408
2392
|
};
|
|
2409
2393
|
} & {
|
|
@@ -2422,7 +2406,7 @@ export declare const createReader: (options: {
|
|
|
2422
2406
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
2423
2407
|
blankPagePosition: "after" | "before" | "none";
|
|
2424
2408
|
minimumWidth: number;
|
|
2425
|
-
spreadPosition: "none" | "
|
|
2409
|
+
spreadPosition: "none" | "right" | "left";
|
|
2426
2410
|
}) => {
|
|
2427
2411
|
width: number;
|
|
2428
2412
|
height: number;
|
|
@@ -2534,7 +2518,7 @@ export declare const createReader: (options: {
|
|
|
2534
2518
|
})) => boolean) => boolean;
|
|
2535
2519
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
2536
2520
|
minimumWidth: number;
|
|
2537
|
-
}) => void
|
|
2521
|
+
}) => Observable<[void | Observable<void>]>;
|
|
2538
2522
|
selectionTracker: {
|
|
2539
2523
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
2540
2524
|
destroy: () => void;
|
|
@@ -2599,7 +2583,7 @@ export declare const createReader: (options: {
|
|
|
2599
2583
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
2600
2584
|
blankPagePosition: "after" | "before" | "none";
|
|
2601
2585
|
minimumWidth: number;
|
|
2602
|
-
spreadPosition: "none" | "
|
|
2586
|
+
spreadPosition: "none" | "right" | "left";
|
|
2603
2587
|
}) => {
|
|
2604
2588
|
width: number;
|
|
2605
2589
|
height: number;
|
|
@@ -2711,7 +2695,7 @@ export declare const createReader: (options: {
|
|
|
2711
2695
|
})) => boolean) => boolean;
|
|
2712
2696
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
2713
2697
|
minimumWidth: number;
|
|
2714
|
-
}) => void
|
|
2698
|
+
}) => Observable<[void | Observable<void>]>;
|
|
2715
2699
|
selectionTracker: {
|
|
2716
2700
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
2717
2701
|
destroy: () => void;
|
|
@@ -2776,7 +2760,7 @@ export declare const createReader: (options: {
|
|
|
2776
2760
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
2777
2761
|
blankPagePosition: "after" | "before" | "none";
|
|
2778
2762
|
minimumWidth: number;
|
|
2779
|
-
spreadPosition: "none" | "
|
|
2763
|
+
spreadPosition: "none" | "right" | "left";
|
|
2780
2764
|
}) => {
|
|
2781
2765
|
width: number;
|
|
2782
2766
|
height: number;
|
|
@@ -2888,7 +2872,7 @@ export declare const createReader: (options: {
|
|
|
2888
2872
|
})) => boolean) => boolean;
|
|
2889
2873
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
2890
2874
|
minimumWidth: number;
|
|
2891
|
-
}) => void
|
|
2875
|
+
}) => Observable<[void | Observable<void>]>;
|
|
2892
2876
|
selectionTracker: {
|
|
2893
2877
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
2894
2878
|
destroy: () => void;
|
|
@@ -2953,7 +2937,7 @@ export declare const createReader: (options: {
|
|
|
2953
2937
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
2954
2938
|
blankPagePosition: "after" | "before" | "none";
|
|
2955
2939
|
minimumWidth: number;
|
|
2956
|
-
spreadPosition: "none" | "
|
|
2940
|
+
spreadPosition: "none" | "right" | "left";
|
|
2957
2941
|
}) => {
|
|
2958
2942
|
width: number;
|
|
2959
2943
|
height: number;
|
|
@@ -3065,7 +3049,7 @@ export declare const createReader: (options: {
|
|
|
3065
3049
|
})) => boolean) => boolean;
|
|
3066
3050
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
3067
3051
|
minimumWidth: number;
|
|
3068
|
-
}) => void
|
|
3052
|
+
}) => Observable<[void | Observable<void>]>;
|
|
3069
3053
|
selectionTracker: {
|
|
3070
3054
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
3071
3055
|
destroy: () => void;
|
|
@@ -3140,41 +3124,18 @@ declare const createSelection: (selection: Selection, item: Manifest[`spineItems
|
|
|
3140
3124
|
getFocusCfi: () => string | undefined;
|
|
3141
3125
|
};
|
|
3142
3126
|
|
|
3143
|
-
declare const
|
|
3144
|
-
getSettings: () => OutputSettings;
|
|
3145
|
-
setSettings: (newSettings: Partial<InputSettings>, options: {
|
|
3146
|
-
hasVerticalWriting?: boolean;
|
|
3147
|
-
manifest?: Manifest | undefined;
|
|
3148
|
-
}) => void;
|
|
3149
|
-
recompute: (options: {
|
|
3150
|
-
hasVerticalWriting?: boolean;
|
|
3151
|
-
manifest?: Manifest | undefined;
|
|
3152
|
-
}) => void;
|
|
3153
|
-
destroy: () => void;
|
|
3154
|
-
$: {
|
|
3155
|
-
settings$: Observable<InputSettings & {
|
|
3156
|
-
computedPageTurnMode: "controlled" | "scrollable";
|
|
3157
|
-
computedPageTurnDirection: "vertical" | "horizontal";
|
|
3158
|
-
computedPageTurnAnimation: "none" | "fade" | "slide";
|
|
3159
|
-
computedPageTurnAnimationDuration: number;
|
|
3160
|
-
computedSnapAnimationDuration: number;
|
|
3161
|
-
}>;
|
|
3162
|
-
};
|
|
3163
|
-
};
|
|
3164
|
-
|
|
3165
|
-
declare const createSpineItem: ({ item, context, containerElement, iframeEventBridgeElement$, hooks$, viewportState$, settings }: {
|
|
3127
|
+
declare const createSpineItem: ({ item, context, containerElement, viewportState$, settings, hookManager }: {
|
|
3166
3128
|
item: Manifest[`spineItems`][number];
|
|
3167
3129
|
containerElement: HTMLElement;
|
|
3168
|
-
|
|
3169
|
-
context: Context_2;
|
|
3170
|
-
hooks$: BehaviorSubject<Hook[]>;
|
|
3130
|
+
context: Context;
|
|
3171
3131
|
viewportState$: Observable<`free` | `busy`>;
|
|
3172
|
-
settings:
|
|
3132
|
+
settings: SettingsManager;
|
|
3133
|
+
hookManager: HookManager;
|
|
3173
3134
|
}) => {
|
|
3174
3135
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
3175
3136
|
blankPagePosition: "after" | "before" | "none";
|
|
3176
3137
|
minimumWidth: number;
|
|
3177
|
-
spreadPosition: "none" | "
|
|
3138
|
+
spreadPosition: "none" | "right" | "left";
|
|
3178
3139
|
}) => {
|
|
3179
3140
|
width: number;
|
|
3180
3141
|
height: number;
|
|
@@ -3286,7 +3247,7 @@ declare const createSpineItem: ({ item, context, containerElement, iframeEventBr
|
|
|
3286
3247
|
})) => boolean) => boolean;
|
|
3287
3248
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
3288
3249
|
minimumWidth: number;
|
|
3289
|
-
}) => void
|
|
3250
|
+
}) => Observable<[void | Observable<void>]>;
|
|
3290
3251
|
selectionTracker: {
|
|
3291
3252
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
3292
3253
|
destroy: () => void;
|
|
@@ -3341,8 +3302,8 @@ declare const createSpineItem: ({ item, context, containerElement, iframeEventBr
|
|
|
3341
3302
|
};
|
|
3342
3303
|
|
|
3343
3304
|
declare const createSpineItemManager: ({ context, settings }: {
|
|
3344
|
-
context:
|
|
3345
|
-
settings:
|
|
3305
|
+
context: Context;
|
|
3306
|
+
settings: SettingsManager;
|
|
3346
3307
|
}) => {
|
|
3347
3308
|
destroyItems: () => void;
|
|
3348
3309
|
add: (spineItem: SpineItem) => void;
|
|
@@ -3350,7 +3311,7 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3350
3311
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
3351
3312
|
blankPagePosition: "after" | "before" | "none";
|
|
3352
3313
|
minimumWidth: number;
|
|
3353
|
-
spreadPosition: "none" | "
|
|
3314
|
+
spreadPosition: "none" | "right" | "left";
|
|
3354
3315
|
}) => {
|
|
3355
3316
|
width: number;
|
|
3356
3317
|
height: number;
|
|
@@ -3462,7 +3423,7 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3462
3423
|
})) => boolean) => boolean;
|
|
3463
3424
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
3464
3425
|
minimumWidth: number;
|
|
3465
|
-
}) => void
|
|
3426
|
+
}) => Observable<[void | Observable<void>]>;
|
|
3466
3427
|
selectionTracker: {
|
|
3467
3428
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
3468
3429
|
destroy: () => void;
|
|
@@ -3519,7 +3480,7 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3519
3480
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
3520
3481
|
blankPagePosition: "after" | "before" | "none";
|
|
3521
3482
|
minimumWidth: number;
|
|
3522
|
-
spreadPosition: "none" | "
|
|
3483
|
+
spreadPosition: "none" | "right" | "left";
|
|
3523
3484
|
}) => {
|
|
3524
3485
|
width: number;
|
|
3525
3486
|
height: number;
|
|
@@ -3631,7 +3592,7 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3631
3592
|
})) => boolean) => boolean;
|
|
3632
3593
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
3633
3594
|
minimumWidth: number;
|
|
3634
|
-
}) => void
|
|
3595
|
+
}) => Observable<[void | Observable<void>]>;
|
|
3635
3596
|
selectionTracker: {
|
|
3636
3597
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
3637
3598
|
destroy: () => void;
|
|
@@ -3701,7 +3662,7 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3701
3662
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
3702
3663
|
blankPagePosition: "after" | "before" | "none";
|
|
3703
3664
|
minimumWidth: number;
|
|
3704
|
-
spreadPosition: "none" | "
|
|
3665
|
+
spreadPosition: "none" | "right" | "left";
|
|
3705
3666
|
}) => {
|
|
3706
3667
|
width: number;
|
|
3707
3668
|
height: number;
|
|
@@ -3813,7 +3774,7 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3813
3774
|
})) => boolean) => boolean;
|
|
3814
3775
|
executeOnLayoutBeforeMeasurementHook: (options: {
|
|
3815
3776
|
minimumWidth: number;
|
|
3816
|
-
}) => void
|
|
3777
|
+
}) => Observable<[void | Observable<void>]>;
|
|
3817
3778
|
selectionTracker: {
|
|
3818
3779
|
track: (frameToTrack: HTMLIFrameElement) => void;
|
|
3819
3780
|
destroy: () => void;
|
|
@@ -3889,16 +3850,16 @@ declare const createSpineItemManager: ({ context, settings }: {
|
|
|
3889
3850
|
};
|
|
3890
3851
|
};
|
|
3891
3852
|
|
|
3892
|
-
declare const createViewportNavigator: ({ spineItemManager, context, pagination, parentElement$, cfiLocator, spineLocator,
|
|
3853
|
+
declare const createViewportNavigator: ({ spineItemManager, context, pagination, parentElement$, cfiLocator, spineLocator, hookManager, spine, settings, }: {
|
|
3893
3854
|
spineItemManager: SpineItemManager;
|
|
3894
3855
|
pagination: Pagination;
|
|
3895
|
-
context:
|
|
3856
|
+
context: Context;
|
|
3896
3857
|
parentElement$: BehaviorSubject<HTMLElement | undefined>;
|
|
3897
3858
|
cfiLocator: ReturnType<typeof createCfiLocator>;
|
|
3898
3859
|
spineLocator: ReturnType<typeof createLocationResolver>;
|
|
3899
|
-
|
|
3860
|
+
hookManager: HookManager;
|
|
3900
3861
|
spine: Spine;
|
|
3901
|
-
settings:
|
|
3862
|
+
settings: SettingsManager;
|
|
3902
3863
|
}) => {
|
|
3903
3864
|
destroy: () => void;
|
|
3904
3865
|
layout: () => void;
|
|
@@ -3986,12 +3947,29 @@ declare type ExtraPaginationInfo = {
|
|
|
3986
3947
|
|
|
3987
3948
|
export declare const groupBy: <T, K extends string | number | symbol>(list: T[], getKey: (item: T) => K) => Record<K, T[]>;
|
|
3988
3949
|
|
|
3989
|
-
declare type Hook =
|
|
3990
|
-
name: `item.
|
|
3991
|
-
|
|
3950
|
+
declare type Hook = {
|
|
3951
|
+
name: `item.onLoad`;
|
|
3952
|
+
runFn: (params: {
|
|
3953
|
+
destroy$: Observable<void>;
|
|
3954
|
+
destroy: (fn: UserDestroyFn) => void;
|
|
3955
|
+
itemId: string;
|
|
3956
|
+
frame: HTMLIFrameElement;
|
|
3957
|
+
}) => Observable<void>;
|
|
3958
|
+
} | {
|
|
3959
|
+
name: "item.onAfterLayout";
|
|
3960
|
+
runFn: (params: {
|
|
3961
|
+
blankPagePosition: "before" | "after" | "none";
|
|
3962
|
+
item: Manifest["spineItems"][number];
|
|
3963
|
+
minimumWidth: number;
|
|
3964
|
+
}) => void;
|
|
3965
|
+
} | {
|
|
3966
|
+
name: "item.onBeforeContainerCreated";
|
|
3967
|
+
runFn: (params: {
|
|
3968
|
+
element: HTMLElement;
|
|
3969
|
+
}) => void;
|
|
3992
3970
|
} | {
|
|
3993
|
-
name:
|
|
3994
|
-
|
|
3971
|
+
name: "item.onLayoutBeforeMeasurement";
|
|
3972
|
+
runFn: (params: {
|
|
3995
3973
|
frame: {
|
|
3996
3974
|
getManipulableFrame: () => undefined | {
|
|
3997
3975
|
removeStyle: (id: string) => void;
|
|
@@ -4010,47 +3988,39 @@ declare type Hook = ItemOnLoadHook | {
|
|
|
4010
3988
|
isImageType: () => boolean | undefined;
|
|
4011
3989
|
}) => void;
|
|
4012
3990
|
} | {
|
|
4013
|
-
name:
|
|
4014
|
-
|
|
4015
|
-
item: Manifest[`spineItems`][number];
|
|
4016
|
-
blankPagePosition: `before` | `after` | `none`;
|
|
4017
|
-
minimumWidth: number;
|
|
4018
|
-
}) => void;
|
|
4019
|
-
} | {
|
|
4020
|
-
name: `item.onGetResource`;
|
|
4021
|
-
fn: (fetchResource: (item: Manifest[`spineItems`][number]) => Promise<Response>) => (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
3991
|
+
name: "onViewportOffsetAdjust";
|
|
3992
|
+
runFn: (params: void) => void;
|
|
4022
3993
|
} | {
|
|
4023
3994
|
name: `viewportNavigator.onBeforeContainerCreated`;
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
fn: () => void;
|
|
3995
|
+
runFn: (params: {
|
|
3996
|
+
element: HTMLElement;
|
|
3997
|
+
}) => void;
|
|
4028
3998
|
};
|
|
4029
3999
|
|
|
4030
|
-
declare type
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
pageTurnMode: `controlled` | `scrollable`;
|
|
4036
|
-
navigationSnapThreshold: number;
|
|
4037
|
-
numberOfAdjacentSpineItemToPreLoad: number;
|
|
4000
|
+
declare type HookExecution = {
|
|
4001
|
+
name: string;
|
|
4002
|
+
id: string | undefined;
|
|
4003
|
+
destroyFn: () => Observable<unknown>;
|
|
4004
|
+
ref: Hook;
|
|
4038
4005
|
};
|
|
4039
4006
|
|
|
4007
|
+
declare type HookFrom<Name extends Hook["name"]> = Hook extends infer HK ? HK extends Hook ? HK["name"] extends Name ? HK : never : never : never;
|
|
4008
|
+
|
|
4009
|
+
declare class HookManager {
|
|
4010
|
+
_hooks: Array<Hook>;
|
|
4011
|
+
_hookExecutions: Array<HookExecution>;
|
|
4012
|
+
_deregister(hookToDeregister: Hook): Observable<unknown[]>;
|
|
4013
|
+
register<Name extends Hook["name"]>(name: Name, fn: (params: HookParamsFrom<Name>) => void | Observable<void>): () => void;
|
|
4014
|
+
execute<Name extends Hook["name"]>(name: Name, id: string | undefined, params: Omit<HookParamsFrom<Name>, "destroy$" | "destroy">): Observable<[void | Observable<void>]>;
|
|
4015
|
+
destroy<Name extends Hook["name"]>(name: Name, id?: string, ref?: Hook): Observable<unknown[]>;
|
|
4016
|
+
}
|
|
4017
|
+
|
|
4018
|
+
declare type HookParamsFrom<Name extends Hook["name"]> = Parameters<HookFrom<Name>["runFn"]>[0];
|
|
4019
|
+
|
|
4040
4020
|
export declare const isShallowEqual: <T = any, R = any>(objectA: T, objectB: R, options?: {
|
|
4041
4021
|
customEqual?: (<T_1>(a: T_1, b: T_1) => boolean) | undefined;
|
|
4042
4022
|
} | undefined) => boolean;
|
|
4043
4023
|
|
|
4044
|
-
declare type ItemOnLoadHook = {
|
|
4045
|
-
name: `item.onLoad`;
|
|
4046
|
-
fn: (manipulableFrame: {
|
|
4047
|
-
frame: HTMLIFrameElement;
|
|
4048
|
-
removeStyle: (id: string) => void;
|
|
4049
|
-
item: Manifest[`spineItems`][number];
|
|
4050
|
-
addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
|
|
4051
|
-
}) => (() => void) | Observable<unknown> | void;
|
|
4052
|
-
};
|
|
4053
|
-
|
|
4054
4024
|
declare type LastUserExpectedNavigation = undefined | {
|
|
4055
4025
|
type: `navigate-from-previous-item`;
|
|
4056
4026
|
} | {
|
|
@@ -4065,7 +4035,6 @@ declare type LastUserExpectedNavigation = undefined | {
|
|
|
4065
4035
|
|
|
4066
4036
|
declare type LoadOptions = {
|
|
4067
4037
|
cfi?: string | null;
|
|
4068
|
-
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
4069
4038
|
containerElement: HTMLElement;
|
|
4070
4039
|
};
|
|
4071
4040
|
|
|
@@ -4088,14 +4057,6 @@ declare type Navigation = {
|
|
|
4088
4057
|
lastUserExpectedNavigation: LastUserExpectedNavigation;
|
|
4089
4058
|
};
|
|
4090
4059
|
|
|
4091
|
-
declare type OutputSettings = InputSettings & {
|
|
4092
|
-
computedPageTurnMode: InputSettings[`pageTurnMode`];
|
|
4093
|
-
computedPageTurnDirection: InputSettings[`pageTurnDirection`];
|
|
4094
|
-
computedPageTurnAnimation: InputSettings[`pageTurnAnimation`];
|
|
4095
|
-
computedPageTurnAnimationDuration: number;
|
|
4096
|
-
computedSnapAnimationDuration: number;
|
|
4097
|
-
};
|
|
4098
|
-
|
|
4099
4060
|
declare type Pagination = ReturnType<typeof createPagination>;
|
|
4100
4061
|
|
|
4101
4062
|
declare type PaginationInfo = {
|
|
@@ -4113,43 +4074,16 @@ export declare type Reader = ReturnType<typeof createReader>;
|
|
|
4113
4074
|
|
|
4114
4075
|
declare type ReaderInternal = {
|
|
4115
4076
|
context: Context;
|
|
4116
|
-
registerHook: RegisterHook;
|
|
4117
4077
|
spine: Spine;
|
|
4078
|
+
spineItemManager: SpineItemManager;
|
|
4118
4079
|
viewportNavigator: ViewportNavigator;
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
moveTo: ViewportNavigator["moveTo"];
|
|
4122
|
-
turnLeft: ViewportNavigator["turnLeft"];
|
|
4123
|
-
turnRight: ViewportNavigator["turnRight"];
|
|
4124
|
-
goToPageOfCurrentChapter: ViewportNavigator["goToPageOfCurrentChapter"];
|
|
4125
|
-
goToPage: ViewportNavigator["goToPage"];
|
|
4126
|
-
goToUrl: ViewportNavigator["goToUrl"];
|
|
4127
|
-
goToCfi: ViewportNavigator["goToCfi"];
|
|
4128
|
-
goToSpineItem: ViewportNavigator["goToSpineItem"];
|
|
4129
|
-
getFocusedSpineItemIndex: SpineItemManager["getFocusedSpineItemIndex"];
|
|
4130
|
-
getSpineItem: SpineItemManager["get"];
|
|
4131
|
-
getSpineItems: SpineItemManager["getAll"];
|
|
4132
|
-
getAbsolutePositionOf: SpineItemManager["getAbsolutePositionOf"];
|
|
4133
|
-
getSelection: Spine["getSelection"];
|
|
4134
|
-
isSelecting: Spine["isSelecting"];
|
|
4135
|
-
normalizeEventForViewport: Spine["normalizeEventForViewport"];
|
|
4136
|
-
getCfiMetaInformation: Spine["cfiLocator"]["getCfiMetaInformation"];
|
|
4137
|
-
resolveCfi: Spine["cfiLocator"]["resolveCfi"];
|
|
4138
|
-
generateCfi: Spine["cfiLocator"]["generateFromRange"];
|
|
4139
|
-
locator: Spine["locator"];
|
|
4140
|
-
getCurrentNavigationPosition: ViewportNavigator["getCurrentNavigationPosition"];
|
|
4141
|
-
getCurrentViewportPosition: ViewportNavigator["getCurrentViewportPosition"];
|
|
4080
|
+
settings: SettingsManager;
|
|
4081
|
+
hookManager: HookManager;
|
|
4142
4082
|
layout: () => void;
|
|
4143
4083
|
load: (manifest: Manifest, loadOptions: LoadOptions) => void;
|
|
4144
4084
|
destroy: () => void;
|
|
4145
4085
|
pagination: Pagination;
|
|
4146
|
-
|
|
4147
|
-
context$: Context["$"]["state$"];
|
|
4148
|
-
settings: {
|
|
4149
|
-
settings$: ReturnType<typeof createSettings>["$"]["settings$"];
|
|
4150
|
-
setSettings: (data: Partial<InputSettings>) => void;
|
|
4151
|
-
getSettings: Settings["getSettings"];
|
|
4152
|
-
};
|
|
4086
|
+
element$: Observable<HTMLElement>;
|
|
4153
4087
|
$: {
|
|
4154
4088
|
state$: Observable<{
|
|
4155
4089
|
supportedPageTurnAnimation: NonNullable<ContextSettings[`pageTurnAnimation`]>[];
|
|
@@ -4163,40 +4097,12 @@ declare type ReaderInternal = {
|
|
|
4163
4097
|
getAnchorCfi: () => string | undefined;
|
|
4164
4098
|
getFocusCfi: () => string | undefined;
|
|
4165
4099
|
} | null>;
|
|
4166
|
-
viewportState$: Observable<"free" | "busy">;
|
|
4167
|
-
layout$: Spine["$"]["layout$"];
|
|
4168
|
-
itemsBeforeDestroy$: Spine["$"]["itemsBeforeDestroy$"];
|
|
4169
|
-
itemIsReady$: SpineItemManager["$"]["itemIsReady$"];
|
|
4170
4100
|
destroy$: Observable<void>;
|
|
4171
4101
|
};
|
|
4172
|
-
__debug: {
|
|
4173
|
-
pagination: Pagination;
|
|
4174
|
-
context: Context;
|
|
4175
|
-
spineItemManager: SpineItemManager;
|
|
4176
|
-
};
|
|
4177
4102
|
};
|
|
4178
4103
|
|
|
4179
4104
|
export declare type ReaderSelection = ReturnType<typeof createSelection>;
|
|
4180
4105
|
|
|
4181
|
-
export declare interface RegisterHook {
|
|
4182
|
-
(name: `item.onBeforeContainerCreated`, fn: Extract<Hook, {
|
|
4183
|
-
name: `item.onBeforeContainerCreated`;
|
|
4184
|
-
}>[`fn`]): void;
|
|
4185
|
-
(name: `item.onGetResource`, fn: Extract<Hook, {
|
|
4186
|
-
name: `item.onGetResource`;
|
|
4187
|
-
}>[`fn`]): void;
|
|
4188
|
-
(name: `item.onLayoutBeforeMeasurement`, fn: Extract<Hook, {
|
|
4189
|
-
name: `item.onLayoutBeforeMeasurement`;
|
|
4190
|
-
}>[`fn`]): void;
|
|
4191
|
-
(name: `item.onAfterLayout`, fn: Extract<Hook, {
|
|
4192
|
-
name: `item.onAfterLayout`;
|
|
4193
|
-
}>[`fn`]): void;
|
|
4194
|
-
(name: `onViewportOffsetAdjust`, fn: Extract<Hook, {
|
|
4195
|
-
name: `onViewportOffsetAdjust`;
|
|
4196
|
-
}>[`fn`]): void;
|
|
4197
|
-
(name: `item.onLoad`, fn: ItemOnLoadHook["fn"]): void;
|
|
4198
|
-
}
|
|
4199
|
-
|
|
4200
4106
|
declare const Report_2: {
|
|
4201
4107
|
namespace: (namespace: string) => {
|
|
4202
4108
|
log: (...data: any[]) => void;
|
|
@@ -4227,20 +4133,39 @@ export { Report_2 as Report }
|
|
|
4227
4133
|
|
|
4228
4134
|
declare type RequireLayout = boolean;
|
|
4229
4135
|
|
|
4230
|
-
declare type Settings =
|
|
4136
|
+
declare type Settings = {
|
|
4137
|
+
forceSinglePageMode: boolean;
|
|
4138
|
+
pageTurnAnimation: `none` | `fade` | `slide`;
|
|
4139
|
+
pageTurnAnimationDuration: undefined | number;
|
|
4140
|
+
pageTurnDirection: `vertical` | `horizontal`;
|
|
4141
|
+
pageTurnMode: `controlled` | `scrollable`;
|
|
4142
|
+
navigationSnapThreshold: number;
|
|
4143
|
+
numberOfAdjacentSpineItemToPreLoad: number;
|
|
4144
|
+
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
4145
|
+
};
|
|
4231
4146
|
|
|
4232
4147
|
declare type SettingsInput = {
|
|
4233
4148
|
pageHorizontalMargin?: number;
|
|
4234
4149
|
pageVerticalMargin?: number;
|
|
4235
4150
|
};
|
|
4236
4151
|
|
|
4152
|
+
declare class SettingsManager {
|
|
4153
|
+
_settingsSubject$: BehaviorSubject<ComputedSettings>;
|
|
4154
|
+
_context: Context;
|
|
4155
|
+
settings$: Observable<ComputedSettings>;
|
|
4156
|
+
constructor(initialSettings: Partial<Settings>, context: Context);
|
|
4157
|
+
_updateSettings(settings: Settings): void;
|
|
4158
|
+
setSettings(settings: Partial<Settings>): void;
|
|
4159
|
+
get settings(): ComputedSettings;
|
|
4160
|
+
destroy(): void;
|
|
4161
|
+
}
|
|
4162
|
+
|
|
4237
4163
|
declare type Spine = {
|
|
4238
4164
|
element$: Observable<HTMLElement>;
|
|
4239
4165
|
getElement: () => HTMLElement | undefined;
|
|
4240
4166
|
locator: Locator;
|
|
4241
4167
|
spineItemLocator: SpineItemLocator;
|
|
4242
4168
|
cfiLocator: CfiLocator;
|
|
4243
|
-
normalizeEventForViewport: ReturnType<typeof createEventsHelper>["normalizeEventForViewport"];
|
|
4244
4169
|
manipulateSpineItems: (cb: (payload: ManipulableSpineItemCallbackPayload & {
|
|
4245
4170
|
index: number;
|
|
4246
4171
|
}) => RequireLayout) => void;
|
|
@@ -4285,11 +4210,22 @@ declare type SpinePosition = {
|
|
|
4285
4210
|
__symbol?: `SpinePosition`;
|
|
4286
4211
|
};
|
|
4287
4212
|
|
|
4288
|
-
declare type State = Partial<Pick<LoadOptions, "containerElement"
|
|
4213
|
+
declare type State = Partial<Pick<LoadOptions, "containerElement">> & {
|
|
4289
4214
|
manifest?: Manifest;
|
|
4290
4215
|
hasVerticalWriting?: boolean;
|
|
4291
4216
|
isUsingSpreadMode?: boolean;
|
|
4292
4217
|
isFullyPrePaginated?: boolean;
|
|
4218
|
+
forceSinglePageMode?: boolean;
|
|
4219
|
+
areAllItemsPrePaginated?: boolean;
|
|
4220
|
+
calculatedInnerMargin: number;
|
|
4221
|
+
marginTop: number;
|
|
4222
|
+
marginBottom: number;
|
|
4223
|
+
visibleAreaRect: {
|
|
4224
|
+
width: number;
|
|
4225
|
+
height: number;
|
|
4226
|
+
x: number;
|
|
4227
|
+
y: number;
|
|
4228
|
+
};
|
|
4293
4229
|
};
|
|
4294
4230
|
|
|
4295
4231
|
declare type Theme = (typeof defaultThemes)[number][`name`] | `publisher`;
|
|
@@ -4306,6 +4242,8 @@ declare type UnsafeSpinePosition = {
|
|
|
4306
4242
|
__symbol?: `UnsafeSpinePosition` | `SpinePosition`;
|
|
4307
4243
|
};
|
|
4308
4244
|
|
|
4245
|
+
declare type UserDestroyFn = () => void | Observable<unknown>;
|
|
4246
|
+
|
|
4309
4247
|
declare type ViewportNavigationEntry = {
|
|
4310
4248
|
x: number;
|
|
4311
4249
|
y: number;
|