@prose-reader/core 1.239.0 → 1.240.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/context/Context.d.ts +1 -21
- package/dist/createReaderWithEnhancer.d.ts +1 -2
- package/dist/enhancers/events/normalizeEventForViewport.d.ts +2 -2
- package/dist/enhancers/hotkeys.d.ts +1 -1
- package/dist/enhancers/layout/updateSpreadMode.d.ts +12 -0
- package/dist/enhancers/loading/createLoadingElement.d.ts +2 -2
- package/dist/enhancers/navigation/navigators/UserScrollNavigation.d.ts +12 -0
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +7 -2
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +4 -4
- package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +7 -2
- package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +4 -4
- package/dist/index.js +1926 -1942
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +38 -39
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/Navigator.d.ts +3 -3
- package/dist/navigation/controllers/ScrollNavigationController.d.ts +6 -1
- package/dist/navigation/resolvers/NavigationResolver.d.ts +4 -2
- package/dist/navigation/resolvers/getNavigationForPosition.d.ts +3 -3
- package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +5 -5
- package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +4 -4
- package/dist/navigation/tests/utils.d.ts +2 -2
- package/dist/reader.d.ts +1 -2
- package/dist/settings/ReaderSettingsManager.d.ts +1 -1
- package/dist/settings/computeSpreadMode.d.ts +5 -0
- package/dist/settings/types.d.ts +2 -1
- package/dist/spine/Spine.d.ts +1 -2
- package/dist/spine/SpineItemsObserver.d.ts +2 -3
- package/dist/spine/locator/SpineLocator.d.ts +2 -2
- package/dist/spineItem/SpineItem.d.ts +3 -1
- package/dist/spineItem/SpineItemLayout.d.ts +3 -1
- package/dist/spineItem/layout/getSpineItemPositionFromPageIndex.d.ts +3 -1
- package/dist/spineItem/locationResolver.d.ts +3 -1
- package/dist/spineItem/navigationResolver.d.ts +3 -1
- package/dist/spineItem/renderer/DocumentRenderer.d.ts +4 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/utils/ReactiveEntity.d.ts +2 -1
- package/dist/viewport/Viewport.d.ts +14 -2
- package/package.json +4 -4
- package/dist/context/isUsingSpreadMode.d.ts +0 -9
- package/dist/navigation/UserScrollNavigation.d.ts +0 -19
- package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +0 -13
|
@@ -4,10 +4,10 @@ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
|
4
4
|
import { Spine } from '../spine/Spine';
|
|
5
5
|
import { SpineItemsManager } from '../spine/SpineItemsManager';
|
|
6
6
|
import { Viewport } from '../viewport/Viewport';
|
|
7
|
-
import { InternalNavigator } from './InternalNavigator';
|
|
8
|
-
import { Locker } from './Locker';
|
|
9
7
|
import { ControlledNavigationController } from './controllers/ControlledNavigationController';
|
|
10
8
|
import { ScrollNavigationController } from './controllers/ScrollNavigationController';
|
|
9
|
+
import { InternalNavigator } from './InternalNavigator';
|
|
10
|
+
import { Locker } from './Locker';
|
|
11
11
|
import { UserNavigationEntry, InternalNavigationEntry, DeprecatedViewportPosition } from './types';
|
|
12
12
|
import { Observable } from 'rxjs';
|
|
13
13
|
import { SpinePosition, SpineItemPosition, SpineItem } from '..';
|
|
@@ -34,7 +34,7 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
|
|
|
34
34
|
position: SpinePosition;
|
|
35
35
|
spineItemId: string;
|
|
36
36
|
} | undefined;
|
|
37
|
-
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "
|
|
37
|
+
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator" | "viewport">) => SpinePosition;
|
|
38
38
|
getNavigationFromSpineItemPosition: (params: {
|
|
39
39
|
spineItemPosition: SpineItemPosition;
|
|
40
40
|
spineItem: SpineItem;
|
|
@@ -4,9 +4,12 @@ import { HookManager } from '../../hooks/HookManager';
|
|
|
4
4
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
5
|
import { Spine } from '../../spine/Spine';
|
|
6
6
|
import { SpinePosition } from '../../spine/types';
|
|
7
|
+
import { AbstractPosition } from '../../types';
|
|
7
8
|
import { ReactiveEntity } from '../../utils/ReactiveEntity';
|
|
8
9
|
import { Viewport } from '../../viewport/Viewport';
|
|
9
10
|
import { ViewportNavigationEntry } from './ControlledNavigationController';
|
|
11
|
+
export declare class ScrollPosition extends AbstractPosition {
|
|
12
|
+
}
|
|
10
13
|
export declare class ScrollNavigationController extends ReactiveEntity<{
|
|
11
14
|
element: HTMLElement | undefined;
|
|
12
15
|
}> {
|
|
@@ -26,5 +29,7 @@ export declare class ScrollNavigationController extends ReactiveEntity<{
|
|
|
26
29
|
element: HTMLElement | undefined;
|
|
27
30
|
}>): void;
|
|
28
31
|
navigate(navigation: ViewportNavigationEntry): void;
|
|
29
|
-
|
|
32
|
+
fromScrollPosition(position: ScrollPosition): SpinePosition;
|
|
33
|
+
fromSpinePosition(position: SpinePosition): ScrollPosition;
|
|
34
|
+
get scrollPosition(): ScrollPosition;
|
|
30
35
|
}
|
|
@@ -6,22 +6,24 @@ import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
|
6
6
|
import { SpinePosition } from '../../spine/types';
|
|
7
7
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
8
8
|
import { SpineItemPosition } from '../../spineItem/types';
|
|
9
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
9
10
|
import { DeprecatedViewportPosition } from '../types';
|
|
10
11
|
import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage';
|
|
11
12
|
export declare const NAMESPACE = "spineNavigator";
|
|
12
13
|
export type NavigationResolver = ReturnType<typeof createNavigationResolver>;
|
|
13
|
-
export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spine, }: {
|
|
14
|
+
export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spine, viewport, }: {
|
|
14
15
|
context: Context;
|
|
15
16
|
spineItemsManager: SpineItemsManager;
|
|
16
17
|
locator: SpineLocator;
|
|
17
18
|
settings: ReaderSettingsManager;
|
|
18
19
|
spine: Spine;
|
|
20
|
+
viewport: Viewport;
|
|
19
21
|
}) => {
|
|
20
22
|
getNavigationForUrl: (url: string | URL) => {
|
|
21
23
|
position: SpinePosition;
|
|
22
24
|
spineItemId: string;
|
|
23
25
|
} | undefined;
|
|
24
|
-
getNavigationForSpineItemPage: (params: Omit<Parameters<typeof getNavigationForSpineItemPage>[0], "
|
|
26
|
+
getNavigationForSpineItemPage: (params: Omit<Parameters<typeof getNavigationForSpineItemPage>[0], "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator" | "viewport">) => SpinePosition;
|
|
25
27
|
getNavigationFromSpineItemPosition: (params: {
|
|
26
28
|
spineItemPosition: SpineItemPosition;
|
|
27
29
|
spineItem: SpineItem;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Context } from '../../context/Context';
|
|
2
1
|
import { SpineLocator } from '../../spine/locator/SpineLocator';
|
|
3
2
|
import { SpinePosition } from '../../spine/types';
|
|
4
3
|
import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
|
|
4
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
5
5
|
import { DeprecatedViewportPosition } from '../types';
|
|
6
|
-
export declare const getNavigationForPosition: ({ viewportPosition, spineLocator,
|
|
6
|
+
export declare const getNavigationForPosition: ({ viewportPosition, spineLocator, spineItemNavigationResolver, viewport, }: {
|
|
7
7
|
viewportPosition: DeprecatedViewportPosition | SpinePosition;
|
|
8
8
|
spineLocator: SpineLocator;
|
|
9
|
-
context: Context;
|
|
10
9
|
spineItemNavigationResolver: SpineItemNavigationResolver;
|
|
10
|
+
viewport: Viewport;
|
|
11
11
|
}) => SpinePosition;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Context } from '../../context/Context';
|
|
2
|
-
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
3
1
|
import { SpineLocator } from '../../spine/locator/SpineLocator';
|
|
4
|
-
import {
|
|
2
|
+
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
5
3
|
import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
|
|
4
|
+
import { SpineItem } from '../../spineItem/SpineItem';
|
|
5
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
6
6
|
import { DeprecatedViewportPosition } from '../types';
|
|
7
|
-
export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsManager, spineItemId,
|
|
7
|
+
export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsManager, spineItemId, spineLocator, spineItemNavigationResolver, viewport, }: {
|
|
8
8
|
pageIndex: number;
|
|
9
9
|
spineItemId: SpineItem | number | string;
|
|
10
10
|
spineItemsManager: SpineItemsManager;
|
|
11
11
|
spineItemNavigationResolver: SpineItemNavigationResolver;
|
|
12
12
|
spineLocator: SpineLocator;
|
|
13
|
-
|
|
13
|
+
viewport: Viewport;
|
|
14
14
|
}) => DeprecatedViewportPosition;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Context } from '../../context/Context';
|
|
2
1
|
import { SpineLocator } from '../../spine/locator/SpineLocator';
|
|
3
|
-
import { SpineItem } from '../../spineItem/SpineItem';
|
|
4
2
|
import { SpineItemLocator } from '../../spineItem/locationResolver';
|
|
3
|
+
import { SpineItem } from '../../spineItem/SpineItem';
|
|
5
4
|
import { SpineItemPosition } from '../../spineItem/types';
|
|
5
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
6
6
|
import { SpinePosition } from '../..';
|
|
7
|
-
export declare const getNavigationFromSpineItemPosition: ({ spineItem, spineItemPosition, spineLocator, spineItemLocator,
|
|
7
|
+
export declare const getNavigationFromSpineItemPosition: ({ spineItem, spineItemPosition, spineLocator, spineItemLocator, viewport, }: {
|
|
8
8
|
spineItemPosition: SpineItemPosition;
|
|
9
9
|
spineItem: SpineItem;
|
|
10
10
|
spineLocator: SpineLocator;
|
|
11
11
|
spineItemLocator: SpineItemLocator;
|
|
12
|
-
|
|
12
|
+
viewport: Viewport;
|
|
13
13
|
}) => SpinePosition;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SpineItem } from '../..';
|
|
1
|
+
import { SpineItem, Viewport } from '../..';
|
|
2
2
|
import { Context } from '../../context/Context';
|
|
3
3
|
import { HookManager } from '../../hooks/HookManager';
|
|
4
4
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
5
|
import { Spine } from '../../spine/Spine';
|
|
6
6
|
import { SpineItemsManager } from '../../spine/SpineItemsManager';
|
|
7
|
-
export declare const generateItems: (size: number, number: number, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, spine: Spine, spineItemsManager: SpineItemsManager) => SpineItem[];
|
|
7
|
+
export declare const generateItems: (size: number, number: number, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, spine: Spine, spineItemsManager: SpineItemsManager, viewport: Viewport) => SpineItem[];
|
package/dist/reader.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
|
|
|
62
62
|
position: SpinePosition;
|
|
63
63
|
spineItemId: string;
|
|
64
64
|
} | undefined;
|
|
65
|
-
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "
|
|
65
|
+
getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator" | "viewport">) => SpinePosition;
|
|
66
66
|
getNavigationFromSpineItemPosition: (params: {
|
|
67
67
|
spineItemPosition: SpineItemPosition;
|
|
68
68
|
spineItem: SpineItem;
|
|
@@ -110,7 +110,6 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
|
|
|
110
110
|
release: () => void;
|
|
111
111
|
} | undefined>;
|
|
112
112
|
viewport: Viewport;
|
|
113
|
-
element$: Observable<HTMLElement | undefined>;
|
|
114
113
|
viewportState$: Observable<"free" | "busy">;
|
|
115
114
|
viewportFree$: Observable<"free">;
|
|
116
115
|
state$: Observable<"idle" | "ready">;
|
|
@@ -8,7 +8,7 @@ export declare class ReaderSettingsManager extends SettingsManager<CoreInputSett
|
|
|
8
8
|
private getComputedSettings;
|
|
9
9
|
getOutputSettings(inputSettings: CoreInputSettings): CoreInputSettings & ComputedCoreSettings;
|
|
10
10
|
getDefaultSettings(): {
|
|
11
|
-
|
|
11
|
+
spreadMode: false;
|
|
12
12
|
pageTurnAnimation: "slide";
|
|
13
13
|
pageTurnDirection: "horizontal";
|
|
14
14
|
pageTurnAnimationDuration: undefined;
|
package/dist/settings/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Manifest } from '@prose-reader/shared';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { DocumentRenderer, DocumentRendererParams } from '../spineItem/renderer/DocumentRenderer';
|
|
4
4
|
export type CoreInputSettings = {
|
|
5
|
-
|
|
5
|
+
spreadMode: boolean;
|
|
6
6
|
pageTurnAnimation: `none` | `fade` | `slide`;
|
|
7
7
|
pageTurnAnimationDuration: undefined | number;
|
|
8
8
|
pageTurnDirection: `vertical` | `horizontal`;
|
|
@@ -23,6 +23,7 @@ export type CoreInputSettings = {
|
|
|
23
23
|
getRenderer?: (item: Manifest["spineItems"][number]) => undefined | ((props: DocumentRendererParams) => DocumentRenderer);
|
|
24
24
|
};
|
|
25
25
|
export type ComputedCoreSettings = {
|
|
26
|
+
computedSpreadMode: boolean;
|
|
26
27
|
computedPageTurnMode: CoreInputSettings[`pageTurnMode`];
|
|
27
28
|
computedPageTurnDirection: CoreInputSettings[`pageTurnDirection`];
|
|
28
29
|
computedPageTurnAnimation: CoreInputSettings[`pageTurnAnimation`];
|
package/dist/spine/Spine.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ import { SpineLayout } from './SpineLayout';
|
|
|
16
16
|
import { SpineItemSpineLayout, SpineItemPageSpineLayout } from './types';
|
|
17
17
|
import { SpineItemPageLayout } from '..';
|
|
18
18
|
export declare class Spine extends DestroyableClass {
|
|
19
|
-
protected parentElement$: Observable<HTMLElement | undefined>;
|
|
20
19
|
protected context: Context;
|
|
21
20
|
protected pagination: Pagination;
|
|
22
21
|
spineItemsManager: SpineItemsManager;
|
|
@@ -31,7 +30,7 @@ export declare class Spine extends DestroyableClass {
|
|
|
31
30
|
spineItemsObserver: SpineItemsObserver;
|
|
32
31
|
pages: Pages;
|
|
33
32
|
element$: Observable<HTMLElement | undefined>;
|
|
34
|
-
constructor(
|
|
33
|
+
constructor(context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager, viewport: Viewport);
|
|
35
34
|
get element(): HTMLElement | undefined;
|
|
36
35
|
layout(): void;
|
|
37
36
|
getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { SpineItem } from '../spineItem/SpineItem';
|
|
3
3
|
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
4
4
|
import { SpineLocator } from './locator/SpineLocator';
|
|
5
|
-
import {
|
|
5
|
+
import { SpineItemsManager } from './SpineItemsManager';
|
|
6
6
|
export declare class SpineItemsObserver extends DestroyableClass {
|
|
7
7
|
protected spineItemsManager: SpineItemsManager;
|
|
8
8
|
protected spineLocator: SpineLocator;
|
|
@@ -10,7 +10,6 @@ export declare class SpineItemsObserver extends DestroyableClass {
|
|
|
10
10
|
item: SpineItem;
|
|
11
11
|
isReady: boolean;
|
|
12
12
|
}>;
|
|
13
|
-
itemLoaded$: Observable<SpineItem>;
|
|
14
13
|
itemResize$: Observable<{
|
|
15
14
|
item: SpineItem;
|
|
16
15
|
entries: ResizeObserverEntry[];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Context } from '../../context/Context';
|
|
2
2
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
3
|
-
import { SpineItem } from '../../spineItem/SpineItem';
|
|
4
3
|
import { createSpineItemLocator } from '../../spineItem/locationResolver';
|
|
4
|
+
import { SpineItem } from '../../spineItem/SpineItem';
|
|
5
5
|
import { SpineItemPosition } from '../../spineItem/types';
|
|
6
|
-
import { Viewport } from '../../viewport/Viewport';
|
|
7
6
|
import { ViewportSlicePosition } from '../../viewport/types';
|
|
7
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
8
8
|
import { SpineItemsManager } from '../SpineItemsManager';
|
|
9
9
|
import { SpineLayout } from '../SpineLayout';
|
|
10
10
|
import { SpinePosition, UnsafeSpinePosition } from '../types';
|
|
@@ -4,6 +4,7 @@ import { Context } from '../context/Context';
|
|
|
4
4
|
import { HookManager } from '../hooks/HookManager';
|
|
5
5
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
6
6
|
import { ReactiveEntity } from '../utils/ReactiveEntity';
|
|
7
|
+
import { Viewport } from '../viewport/Viewport';
|
|
7
8
|
import { DocumentRenderer } from './renderer/DocumentRenderer';
|
|
8
9
|
import { ResourceHandler } from './resources/ResourceHandler';
|
|
9
10
|
import { SpineItemLayout } from './SpineItemLayout';
|
|
@@ -20,12 +21,13 @@ export declare class SpineItem extends ReactiveEntity<SpineItemState> {
|
|
|
20
21
|
settings: ReaderSettingsManager;
|
|
21
22
|
hookManager: HookManager;
|
|
22
23
|
index: number;
|
|
24
|
+
viewport: Viewport;
|
|
23
25
|
readonly containerElement: HTMLElement;
|
|
24
26
|
readonly needsLayout$: Observable<unknown>;
|
|
25
27
|
readonly renderer: DocumentRenderer;
|
|
26
28
|
readonly resourcesHandler: ResourceHandler;
|
|
27
29
|
readonly layout: SpineItemLayout;
|
|
28
|
-
constructor(item: Manifest[`spineItems`][number], parentElement: HTMLElement, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, index: number);
|
|
30
|
+
constructor(item: Manifest[`spineItems`][number], parentElement: HTMLElement, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, index: number, viewport: Viewport);
|
|
29
31
|
load: () => void;
|
|
30
32
|
unload: () => void;
|
|
31
33
|
markDirty: () => void;
|
|
@@ -4,6 +4,7 @@ import { Context } from '../context/Context';
|
|
|
4
4
|
import { HookManager } from '../hooks/HookManager';
|
|
5
5
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
6
6
|
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
7
|
+
import { Viewport } from '../viewport/Viewport';
|
|
7
8
|
import { DocumentRenderer } from './renderer/DocumentRenderer';
|
|
8
9
|
export declare class SpineItemLayout extends DestroyableClass {
|
|
9
10
|
item: Manifest[`spineItems`][number];
|
|
@@ -12,6 +13,7 @@ export declare class SpineItemLayout extends DestroyableClass {
|
|
|
12
13
|
hookManager: HookManager;
|
|
13
14
|
renderer: DocumentRenderer;
|
|
14
15
|
settings: ReaderSettingsManager;
|
|
16
|
+
viewport: Viewport;
|
|
15
17
|
private layoutTriggerSubject;
|
|
16
18
|
private lastLayout;
|
|
17
19
|
readonly layout$: Observable<{
|
|
@@ -27,7 +29,7 @@ export declare class SpineItemLayout extends DestroyableClass {
|
|
|
27
29
|
height: number;
|
|
28
30
|
};
|
|
29
31
|
}>;
|
|
30
|
-
constructor(item: Manifest[`spineItems`][number], containerElement: HTMLElement, context: Context, hookManager: HookManager, renderer: DocumentRenderer, settings: ReaderSettingsManager);
|
|
32
|
+
constructor(item: Manifest[`spineItems`][number], containerElement: HTMLElement, context: Context, hookManager: HookManager, renderer: DocumentRenderer, settings: ReaderSettingsManager, viewport: Viewport);
|
|
31
33
|
private validateDimension;
|
|
32
34
|
private applyDimsAfterLayout;
|
|
33
35
|
layout: (params: ObservedValueOf<typeof this.layoutTriggerSubject>) => Observable<{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Context } from '../../context/Context';
|
|
2
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
2
3
|
import { SpineItemPosition } from '../types';
|
|
3
|
-
export declare const getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, context, isUsingVerticalWriting, }: {
|
|
4
|
+
export declare const getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, context, isUsingVerticalWriting, viewport, }: {
|
|
4
5
|
pageIndex: number;
|
|
5
6
|
itemLayout: {
|
|
6
7
|
width: number;
|
|
@@ -8,4 +9,5 @@ export declare const getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout
|
|
|
8
9
|
};
|
|
9
10
|
context: Context;
|
|
10
11
|
isUsingVerticalWriting: boolean;
|
|
12
|
+
viewport: Viewport;
|
|
11
13
|
}) => SpineItemPosition;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
2
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
3
|
+
import { Viewport } from '../viewport/Viewport';
|
|
3
4
|
import { SpineItem } from './SpineItem';
|
|
4
5
|
import { SpineItemPosition, UnsafeSpineItemPagePosition } from './types';
|
|
5
6
|
export type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
|
|
6
|
-
export declare const createSpineItemLocator: ({ context, settings, }: {
|
|
7
|
+
export declare const createSpineItemLocator: ({ context, settings, viewport, }: {
|
|
7
8
|
context: Context;
|
|
8
9
|
settings: ReaderSettingsManager;
|
|
10
|
+
viewport: Viewport;
|
|
9
11
|
}) => {
|
|
10
12
|
getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => SpineItemPosition | undefined;
|
|
11
13
|
getSpineItemPositionFromPageIndex: ({ pageIndex, spineItem, }: {
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
2
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
3
|
+
import { Viewport } from '../viewport/Viewport';
|
|
3
4
|
import { SpineItem } from './SpineItem';
|
|
4
5
|
import { SpineItemPosition } from './types';
|
|
5
6
|
export type SpineItemNavigationResolver = ReturnType<typeof createNavigationResolver>;
|
|
6
|
-
export declare const createNavigationResolver: ({ context, settings, }: {
|
|
7
|
+
export declare const createNavigationResolver: ({ context, settings, viewport, }: {
|
|
7
8
|
context: Context;
|
|
8
9
|
settings: ReaderSettingsManager;
|
|
10
|
+
viewport: Viewport;
|
|
9
11
|
}) => {
|
|
10
12
|
getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
|
|
11
13
|
getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
|
|
@@ -4,6 +4,7 @@ import { Context } from '../../context/Context';
|
|
|
4
4
|
import { HookManager } from '../../hooks/HookManager';
|
|
5
5
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
6
6
|
import { DestroyableClass } from '../../utils/DestroyableClass';
|
|
7
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
7
8
|
import { ResourceHandler } from '../resources/ResourceHandler';
|
|
8
9
|
export type DocumentRendererParams = {
|
|
9
10
|
context: Context;
|
|
@@ -12,6 +13,7 @@ export type DocumentRendererParams = {
|
|
|
12
13
|
item: Manifest[`spineItems`][number];
|
|
13
14
|
containerElement: HTMLElement;
|
|
14
15
|
resourcesHandler: ResourceHandler;
|
|
16
|
+
viewport: Viewport;
|
|
15
17
|
};
|
|
16
18
|
type LayoutParams = {
|
|
17
19
|
minPageSpread: number;
|
|
@@ -22,6 +24,7 @@ type LayoutParams = {
|
|
|
22
24
|
export declare abstract class DocumentRenderer extends DestroyableClass {
|
|
23
25
|
static readonly DOCUMENT_CONTAINER_CLASS_NAME = "prose-reader-document-container";
|
|
24
26
|
private triggerSubject;
|
|
27
|
+
protected viewport: Viewport;
|
|
25
28
|
protected context: Context;
|
|
26
29
|
protected settings: ReaderSettingsManager;
|
|
27
30
|
protected hookManager: HookManager;
|
|
@@ -40,6 +43,7 @@ export declare abstract class DocumentRenderer extends DestroyableClass {
|
|
|
40
43
|
item: Manifest[`spineItems`][number];
|
|
41
44
|
containerElement: HTMLElement;
|
|
42
45
|
resourcesHandler: ResourceHandler;
|
|
46
|
+
viewport: Viewport;
|
|
43
47
|
});
|
|
44
48
|
protected setDocumentContainer(element: HTMLElement): void;
|
|
45
49
|
protected attach(): void;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
2
2
|
export declare class ReactiveEntity<T extends Record<string, unknown>> extends Observable<T> {
|
|
3
3
|
protected stateSubject: BehaviorSubject<T>;
|
|
4
|
-
protected
|
|
4
|
+
protected _destroy$: Subject<void>;
|
|
5
5
|
constructor(initialState: T);
|
|
6
6
|
protected next(value: T): void;
|
|
7
7
|
protected mergeCompare(pagination: Partial<T>): void;
|
|
8
8
|
watch<K extends keyof T>(key: K): Observable<T[K]>;
|
|
9
9
|
watch<K extends keyof T>(keys: K[]): Observable<Pick<T, K>>;
|
|
10
10
|
get value(): T;
|
|
11
|
+
destroy$: Observable<void>;
|
|
11
12
|
destroy(): void;
|
|
12
13
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
2
3
|
import { ReactiveEntity } from '../utils/ReactiveEntity';
|
|
3
4
|
import { AbsoluteViewport, RelativeViewport } from './types';
|
|
4
5
|
type State = {
|
|
@@ -7,15 +8,26 @@ type State = {
|
|
|
7
8
|
width: number;
|
|
8
9
|
height: number;
|
|
9
10
|
};
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
10
13
|
};
|
|
11
14
|
export declare class Viewport extends ReactiveEntity<State> {
|
|
12
15
|
protected context: Context;
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
protected settingsManager: ReaderSettingsManager;
|
|
17
|
+
constructor(context: Context, settingsManager: ReaderSettingsManager);
|
|
18
|
+
protected calculatePageSize(layout: {
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
}): {
|
|
15
22
|
width: number;
|
|
16
23
|
height: number;
|
|
17
24
|
};
|
|
25
|
+
layout(): void;
|
|
18
26
|
get absoluteViewport(): AbsoluteViewport;
|
|
27
|
+
get pageSize(): {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
19
31
|
get scaleFactor(): number;
|
|
20
32
|
get relativeViewport(): RelativeViewport;
|
|
21
33
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.240.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.umd.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"tsc": "tsc"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@prose-reader/cfi": "^1.
|
|
27
|
-
"@prose-reader/shared": "^1.
|
|
26
|
+
"@prose-reader/cfi": "^1.240.0",
|
|
27
|
+
"@prose-reader/shared": "^1.240.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"rxjs": "*"
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "6657007e6525e86c6b9b35a176c17af304f31d53"
|
|
43
43
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Manifest } from '@prose-reader/shared';
|
|
2
|
-
export declare const isUsingSpreadMode: ({ manifest, visibleAreaRect, forceSinglePageMode, }: {
|
|
3
|
-
manifest?: Manifest;
|
|
4
|
-
visibleAreaRect: {
|
|
5
|
-
height: number;
|
|
6
|
-
width: number;
|
|
7
|
-
};
|
|
8
|
-
forceSinglePageMode?: boolean;
|
|
9
|
-
}) => boolean;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Subject, Observable } from 'rxjs';
|
|
2
|
-
import { Context } from '../context/Context';
|
|
3
|
-
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
|
-
import { Spine } from '../spine/Spine';
|
|
5
|
-
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
6
|
-
import { Viewport } from '../viewport/Viewport';
|
|
7
|
-
import { Locker } from './Locker';
|
|
8
|
-
import { ScrollNavigationController } from './controllers/ScrollNavigationController';
|
|
9
|
-
import { UserNavigationEntry } from './types';
|
|
10
|
-
export declare class UserScrollNavigation extends DestroyableClass {
|
|
11
|
-
protected settings: ReaderSettingsManager;
|
|
12
|
-
protected context: Context;
|
|
13
|
-
protected spine: Spine;
|
|
14
|
-
protected scrollNavigationController: ScrollNavigationController;
|
|
15
|
-
protected locker: Locker;
|
|
16
|
-
protected navigationSubject: Subject<UserNavigationEntry>;
|
|
17
|
-
navigation$: Observable<UserNavigationEntry>;
|
|
18
|
-
constructor(settings: ReaderSettingsManager, context: Context, spine: Spine, scrollNavigationController: ScrollNavigationController, locker: Locker, viewport: Viewport);
|
|
19
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Context } from '../../context/Context';
|
|
2
|
-
import { SpinePosition } from '../types';
|
|
3
|
-
export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, context, isUsingVerticalWriting, itemLayout, }: {
|
|
4
|
-
pageIndex: number;
|
|
5
|
-
isUsingVerticalWriting: boolean;
|
|
6
|
-
context: Context;
|
|
7
|
-
itemLayout: {
|
|
8
|
-
left: number;
|
|
9
|
-
top: number;
|
|
10
|
-
width: number;
|
|
11
|
-
height: number;
|
|
12
|
-
};
|
|
13
|
-
}) => SpinePosition;
|