@prose-reader/core 1.250.0 → 1.252.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/constants.d.ts +3 -1
- package/dist/enhancers/zoom/ZoomController.d.ts +27 -9
- package/dist/enhancers/zoom/controlled.d.ts +11 -0
- package/dist/enhancers/zoom/scrollable.d.ts +7 -0
- package/dist/enhancers/zoom/types.d.ts +4 -2
- package/dist/index.js +1423 -1431
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +31 -52
- package/dist/index.umd.cjs.map +1 -1
- package/dist/utils/dom.d.ts +2 -0
- package/package.json +6 -5
- package/dist/enhancers/zoom/ControlledZoomController.d.ts +0 -19
- package/dist/enhancers/zoom/ScrollableZoomer.d.ts +0 -14
package/dist/constants.d.ts
CHANGED
|
@@ -3,5 +3,7 @@ export declare const VIEWPORT_ADJUSTMENT_THROTTLE = 0;
|
|
|
3
3
|
export declare const PAGINATION_UPDATE_AFTER_VIEWPORT_ADJUSTMENT_DEBOUNCE = 200;
|
|
4
4
|
export declare const ITEM_EXTENSION_VALID_FOR_FRAME_SRC: string[];
|
|
5
5
|
export declare const HTML_PREFIX = "prose-reader";
|
|
6
|
+
export declare const HTML_STYLE_PREFIX = "prose-reader-style";
|
|
6
7
|
export declare const HTML_ATTRIBUTE_DATA_READER_ID = "data-prose-reader-id";
|
|
7
|
-
export declare const
|
|
8
|
+
export declare const HTML_PREFIX_VIEWPORT = "prose-reader-viewport";
|
|
9
|
+
export declare const HTML_PREFIX_SCROLL_NAVIGATOR = "prose-reader-scroll-navigator";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ObservedValueOf } from 'rxjs';
|
|
1
2
|
import { Reader } from '../../reader';
|
|
2
3
|
import { ReactiveEntity } from '../../utils/ReactiveEntity';
|
|
4
|
+
import { ScrollNavigationController } from '../..';
|
|
3
5
|
export type ZoomControllerState = {
|
|
4
|
-
element: HTMLDivElement | undefined;
|
|
5
6
|
isZooming: boolean;
|
|
6
7
|
currentScale: number;
|
|
7
8
|
currentPosition: {
|
|
@@ -9,18 +10,35 @@ export type ZoomControllerState = {
|
|
|
9
10
|
y: number;
|
|
10
11
|
};
|
|
11
12
|
};
|
|
12
|
-
export declare
|
|
13
|
+
export declare class ZoomController extends ReactiveEntity<ZoomControllerState> {
|
|
13
14
|
protected reader: Reader;
|
|
15
|
+
private enterSubject;
|
|
16
|
+
private exitSubject;
|
|
14
17
|
constructor(reader: Reader);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
enter(options?: ObservedValueOf<typeof this.enterSubject>): void;
|
|
19
|
+
exit(options?: ObservedValueOf<typeof this.exitSubject>): void;
|
|
20
|
+
move(position: {
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
}): void;
|
|
24
|
+
scaleAt(userScale: number): void;
|
|
25
|
+
protected updateZoom(scale: number, position?: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
19
28
|
}): void;
|
|
20
|
-
|
|
21
|
-
abstract moveAt(position: {
|
|
29
|
+
protected applyZoom(scale: number, position: {
|
|
22
30
|
x: number;
|
|
23
31
|
y: number;
|
|
24
32
|
}): void;
|
|
25
|
-
|
|
33
|
+
protected get isControlled(): boolean;
|
|
34
|
+
protected get scrollNavigationController(): ScrollNavigationController;
|
|
35
|
+
protected get viewport(): {
|
|
36
|
+
element: HTMLElement;
|
|
37
|
+
pageSize: {
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
};
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
};
|
|
26
44
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const applyViewportTransformForControlledMode: (scale: number, position: {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
}, viewportElement: HTMLElement) => void;
|
|
5
|
+
export declare const derivePositionFromScaleForControlledMode: (currentScale: number, userScale: number, viewportElement: HTMLElement, currentPosition: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
}) => {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Reader } from '../../reader';
|
|
2
|
+
import { UnboundSpinePosition } from '../..';
|
|
3
|
+
export declare const adjustScrollToKeepContentCentered: (scrollContainer: HTMLElement, fromScale: number, toScale: number, marginX: number, marginY: number) => {
|
|
4
|
+
newScrollLeft: number;
|
|
5
|
+
newScrollTop: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const deriveSpinePositionFromScale: (scale: number, reader: Reader) => UnboundSpinePosition;
|
|
@@ -7,8 +7,10 @@ export type ZoomEnhancerOutput = {
|
|
|
7
7
|
scale?: number;
|
|
8
8
|
animate?: boolean;
|
|
9
9
|
}) => void;
|
|
10
|
-
exit: (
|
|
11
|
-
|
|
10
|
+
exit: (options?: {
|
|
11
|
+
animate?: boolean;
|
|
12
|
+
}) => void;
|
|
13
|
+
move: (position: {
|
|
12
14
|
x: number;
|
|
13
15
|
y: number;
|
|
14
16
|
}) => void;
|