@prose-reader/core 1.199.0 → 1.201.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 +5 -4
- package/dist/createReaderWithEnhancer.d.ts +23 -22
- package/dist/enhancers/layoutEnhancer/layoutInfo.d.ts +2 -2
- package/dist/enhancers/navigation/navigators/manualNavigator.d.ts +2 -2
- package/dist/enhancers/navigation/navigators/panNavigator.d.ts +3 -3
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +3 -3
- package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +3 -3
- package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +3 -3
- package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +3 -3
- package/dist/hooks/types.d.ts +0 -5
- package/dist/index.js +2970 -2716
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +2967 -2714
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/InternalNavigator.d.ts +11 -8
- package/dist/navigation/Navigator.d.ts +22 -26
- package/dist/navigation/UserNavigator.d.ts +7 -6
- package/dist/navigation/consolidation/consolidateWithPagination.d.ts +1 -1
- package/dist/navigation/consolidation/withFallbackPosition.d.ts +1 -1
- package/dist/navigation/consolidation/withSpineItem.d.ts +2 -2
- package/dist/navigation/{viewport/ViewportNavigator.d.ts → controllers/ControlledNavigationController.d.ts} +9 -17
- package/dist/navigation/controllers/ScrollNavigationController.d.ts +26 -0
- package/dist/navigation/controllers/getScaledDownPosition.d.ts +7 -0
- package/dist/navigation/controllers/positions.d.ts +9 -0
- package/dist/navigation/resolvers/NavigationResolver.d.ts +12 -16
- package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +3 -3
- package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -6
- package/dist/navigation/resolvers/getNavigationForPosition.d.ts +3 -3
- package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +2 -2
- package/dist/navigation/resolvers/getNavigationForUrl.d.ts +2 -2
- package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +1 -1
- package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -4
- package/dist/navigation/restoration/restorePosition.d.ts +2 -2
- package/dist/reader.d.ts +24 -22
- package/dist/spine/Spine.d.ts +8 -6
- package/dist/spine/SpineLayout.d.ts +3 -1
- package/dist/spine/layout/layoutItem.d.ts +3 -1
- package/dist/spine/loader/SpineItemsLoader.d.ts +2 -2
- package/dist/spine/locator/SpineLocator.d.ts +15 -8
- package/dist/spine/locator/getItemVisibilityForPosition.d.ts +3 -6
- package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -2
- package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +6 -5
- package/dist/spine/types.d.ts +13 -3
- package/dist/spineItem/SpineItemLayout.d.ts +3 -1
- package/dist/utils/ReactiveEntity.d.ts +8 -0
- package/dist/utils/rxjs.d.ts +1 -0
- package/dist/viewport/Viewport.d.ts +17 -0
- package/dist/viewport/translateSpinePositionToRelativeViewport.d.ts +4 -0
- package/dist/viewport/types.d.ts +29 -0
- package/package.json +3 -3
- package/dist/navigation/tests/SpineItemsManagerMock.d.ts +0 -30
- package/dist/navigation/viewport/getScaledDownPosition.d.ts +0 -9
package/dist/spine/Spine.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
|
+
import { HookManager } from '../hooks/HookManager';
|
|
3
4
|
import { Pagination } from '../pagination/Pagination';
|
|
4
|
-
import { SpineItemsManager } from './SpineItemsManager';
|
|
5
|
-
import { SpineLocator } from './locator/SpineLocator';
|
|
6
|
-
import { createSpineItemLocator as createSpineItemLocationResolver } from '../spineItem/locationResolver';
|
|
7
5
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
8
|
-
import {
|
|
9
|
-
import { SpineItemsLoader } from './loader/SpineItemsLoader';
|
|
6
|
+
import { createSpineItemLocator as createSpineItemLocationResolver } from '../spineItem/locationResolver';
|
|
10
7
|
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
8
|
+
import { Viewport } from '../viewport/Viewport';
|
|
9
|
+
import { SpineItemsManager } from './SpineItemsManager';
|
|
11
10
|
import { SpineItemsObserver } from './SpineItemsObserver';
|
|
12
11
|
import { SpineLayout } from './SpineLayout';
|
|
12
|
+
import { SpineItemsLoader } from './loader/SpineItemsLoader';
|
|
13
|
+
import { SpineLocator } from './locator/SpineLocator';
|
|
13
14
|
export declare class Spine extends DestroyableClass {
|
|
14
15
|
protected parentElement$: Observable<HTMLElement>;
|
|
15
16
|
protected context: Context;
|
|
@@ -18,13 +19,14 @@ export declare class Spine extends DestroyableClass {
|
|
|
18
19
|
spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>;
|
|
19
20
|
protected settings: ReaderSettingsManager;
|
|
20
21
|
protected hookManager: HookManager;
|
|
22
|
+
protected viewport: Viewport;
|
|
21
23
|
protected elementSubject: BehaviorSubject<HTMLElement>;
|
|
22
24
|
readonly spineItemsLoader: SpineItemsLoader;
|
|
23
25
|
locator: SpineLocator;
|
|
24
26
|
spineItemsObserver: SpineItemsObserver;
|
|
25
27
|
spineLayout: SpineLayout;
|
|
26
28
|
element$: Observable<HTMLElement>;
|
|
27
|
-
constructor(parentElement$: Observable<HTMLElement>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager);
|
|
29
|
+
constructor(parentElement$: Observable<HTMLElement>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager, viewport: Viewport);
|
|
28
30
|
get element(): HTMLElement;
|
|
29
31
|
layout(): void;
|
|
30
32
|
destroy(): void;
|
|
@@ -3,6 +3,7 @@ import { Context } from '../context/Context';
|
|
|
3
3
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
4
4
|
import { SpineItem } from '../spineItem/SpineItem';
|
|
5
5
|
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
6
|
+
import { Viewport } from '../viewport/Viewport';
|
|
6
7
|
import { SpineItemsManager } from './SpineItemsManager';
|
|
7
8
|
import { SpineItemSpineLayout } from './types';
|
|
8
9
|
export type PageLayoutInformation = {
|
|
@@ -17,10 +18,11 @@ export declare class SpineLayout extends DestroyableClass {
|
|
|
17
18
|
protected spineItemsManager: SpineItemsManager;
|
|
18
19
|
protected context: Context;
|
|
19
20
|
protected settings: ReaderSettingsManager;
|
|
21
|
+
protected viewport: Viewport;
|
|
20
22
|
protected layoutSubject: Subject<unknown>;
|
|
21
23
|
protected spineItemsRelativeLayouts: SpineItemSpineLayout[];
|
|
22
24
|
readonly layout$: Observable<unknown>;
|
|
23
|
-
constructor(spineItemsManager: SpineItemsManager, context: Context, settings: ReaderSettingsManager);
|
|
25
|
+
constructor(spineItemsManager: SpineItemsManager, context: Context, settings: ReaderSettingsManager, viewport: Viewport);
|
|
24
26
|
layout(): void;
|
|
25
27
|
getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
|
|
26
28
|
get numberOfPages(): number;
|
|
@@ -2,9 +2,10 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { SpineItem } from '../..';
|
|
3
3
|
import { Context } from '../../context/Context';
|
|
4
4
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
5
6
|
import { SpineItemsManager } from '../SpineItemsManager';
|
|
6
7
|
import { SpineItemSpineLayout } from '../types';
|
|
7
|
-
export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, spineItemsManager, isGloballyPrePaginated, settings, index, item, }: {
|
|
8
|
+
export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, spineItemsManager, isGloballyPrePaginated, settings, index, item, viewport, }: {
|
|
8
9
|
horizontalOffset: number;
|
|
9
10
|
verticalOffset: number;
|
|
10
11
|
context: Context;
|
|
@@ -13,6 +14,7 @@ export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, s
|
|
|
13
14
|
settings: ReaderSettingsManager;
|
|
14
15
|
item: SpineItem;
|
|
15
16
|
index: number;
|
|
17
|
+
viewport: Viewport;
|
|
16
18
|
}) => Observable<{
|
|
17
19
|
horizontalOffset: number;
|
|
18
20
|
verticalOffset: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SpineItemsManager } from '../SpineItemsManager';
|
|
2
|
-
import { SpineLocator } from '../locator/SpineLocator';
|
|
3
1
|
import { Context } from '../../context/Context';
|
|
4
2
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
3
|
import { DestroyableClass } from '../../utils/DestroyableClass';
|
|
4
|
+
import { SpineItemsManager } from '../SpineItemsManager';
|
|
6
5
|
import { SpineLayout } from '../SpineLayout';
|
|
6
|
+
import { SpineLocator } from '../locator/SpineLocator';
|
|
7
7
|
export declare class SpineItemsLoader extends DestroyableClass {
|
|
8
8
|
protected context: Context;
|
|
9
9
|
protected spineItemsManager: SpineItemsManager;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Context } from '../../context/Context';
|
|
2
|
-
import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
|
|
3
2
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
4
3
|
import { SpineItem } from '../../spineItem/SpineItem';
|
|
5
4
|
import { createSpineItemLocator } from '../../spineItem/locationResolver';
|
|
6
5
|
import { SpineItemPosition } from '../../spineItem/types';
|
|
6
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
7
|
+
import { ViewportSlicePosition } from '../../viewport/types';
|
|
7
8
|
import { SpineItemsManager } from '../SpineItemsManager';
|
|
8
9
|
import { SpineLayout } from '../SpineLayout';
|
|
9
10
|
import { SpinePosition } from '../types';
|
|
@@ -11,12 +12,13 @@ import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPag
|
|
|
11
12
|
import { getSpineInfoFromAbsolutePageIndex } from './getSpineInfoFromAbsolutePageIndex';
|
|
12
13
|
import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
|
|
13
14
|
export type SpineLocator = ReturnType<typeof createSpineLocator>;
|
|
14
|
-
export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, }: {
|
|
15
|
+
export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, viewport, }: {
|
|
15
16
|
spineItemsManager: SpineItemsManager;
|
|
16
17
|
context: Context;
|
|
17
18
|
spineItemLocator: ReturnType<typeof createSpineItemLocator>;
|
|
18
19
|
settings: ReaderSettingsManager;
|
|
19
20
|
spineLayout: SpineLayout;
|
|
21
|
+
viewport: Viewport;
|
|
20
22
|
}) => {
|
|
21
23
|
getSpinePositionFromSpineItemPosition: ({ spineItem, spineItemPosition, }: {
|
|
22
24
|
spineItemPosition: SpineItemPosition;
|
|
@@ -30,24 +32,29 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
|
|
|
30
32
|
currentAbsolutePage: number;
|
|
31
33
|
} | undefined;
|
|
32
34
|
getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
|
|
33
|
-
getSpineItemPositionFromSpinePosition: (
|
|
34
|
-
getSpineItemFromPosition: (position:
|
|
35
|
+
getSpineItemPositionFromSpinePosition: (position: SpinePosition, spineItem: SpineItem) => SpineItemPosition;
|
|
36
|
+
getSpineItemFromPosition: (position: SpinePosition) => SpineItem | undefined;
|
|
35
37
|
getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined;
|
|
36
38
|
getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
|
|
37
|
-
getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "
|
|
39
|
+
getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "spineItemsManager" | "settings" | "spineLayout" | "viewport">) => {
|
|
38
40
|
beginIndex: number;
|
|
39
41
|
endIndex: number;
|
|
40
42
|
} | undefined;
|
|
41
|
-
getVisiblePagesFromViewportPosition: ({ position, threshold, spineItem, restrictToScreen, }: {
|
|
42
|
-
position:
|
|
43
|
+
getVisiblePagesFromViewportPosition: (params: Omit<Parameters<({ position, threshold, spineItem, restrictToScreen, useAbsoluteViewport, viewport, }: {
|
|
44
|
+
position: SpinePosition;
|
|
43
45
|
threshold: number;
|
|
44
46
|
spineItem: SpineItem;
|
|
45
47
|
restrictToScreen?: boolean;
|
|
48
|
+
useAbsoluteViewport?: boolean;
|
|
49
|
+
viewport: Viewport;
|
|
46
50
|
}) => {
|
|
47
51
|
beginPageIndex: number;
|
|
48
52
|
endPageIndex: number;
|
|
53
|
+
} | undefined>[0], "viewport">) => {
|
|
54
|
+
beginPageIndex: number;
|
|
55
|
+
endPageIndex: number;
|
|
49
56
|
} | undefined;
|
|
50
|
-
isPositionWithinSpineItem: (position:
|
|
57
|
+
isPositionWithinSpineItem: (position: ViewportSlicePosition | SpinePosition, spineItem: SpineItem) => boolean;
|
|
51
58
|
spineItemLocator: {
|
|
52
59
|
getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => SpineItemPosition | undefined;
|
|
53
60
|
getSpineItemPositionFromPageIndex: ({ pageIndex, spineItem, }: {
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { SpinePosition } from '../types';
|
|
4
|
-
export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, left, right, top, width: itemWidth, height: itemHeight, }, threshold, viewportPosition, restrictToScreen, context, }: {
|
|
1
|
+
import { ViewportSlicePosition } from '../../viewport/types';
|
|
2
|
+
export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, left, right, top, width: itemWidth, height: itemHeight, }, threshold, viewportPosition, restrictToScreen, }: {
|
|
5
3
|
itemPosition: {
|
|
6
4
|
right: number;
|
|
7
5
|
left: number;
|
|
@@ -10,10 +8,9 @@ export declare const getItemVisibilityForPosition: ({ itemPosition: { bottom, le
|
|
|
10
8
|
height: number;
|
|
11
9
|
width: number;
|
|
12
10
|
};
|
|
13
|
-
viewportPosition:
|
|
11
|
+
viewportPosition: ViewportSlicePosition;
|
|
14
12
|
threshold: number;
|
|
15
13
|
restrictToScreen?: boolean;
|
|
16
|
-
context: Context;
|
|
17
14
|
}) => {
|
|
18
15
|
visible: boolean;
|
|
19
16
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DeprecatedViewportPosition } from '../../navigation/controllers/ControlledNavigationController';
|
|
2
2
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
3
3
|
import { SpineItemsManager } from '../SpineItemsManager';
|
|
4
4
|
import { SpineLayout } from '../SpineLayout';
|
|
5
5
|
import { SpinePosition } from '../types';
|
|
6
6
|
export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
|
|
7
|
-
position:
|
|
7
|
+
position: DeprecatedViewportPosition | SpinePosition;
|
|
8
8
|
spineItemsManager: SpineItemsManager;
|
|
9
9
|
spineLayout: SpineLayout;
|
|
10
10
|
settings: ReaderSettingsManager;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
|
|
1
|
+
import { DeprecatedViewportPosition } from '../../navigation/controllers/ControlledNavigationController';
|
|
3
2
|
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
3
|
+
import { Viewport } from '../../viewport/Viewport';
|
|
4
4
|
import { SpineItemsManager } from '../SpineItemsManager';
|
|
5
5
|
import { SpineLayout } from '../SpineLayout';
|
|
6
6
|
import { SpinePosition } from '../types';
|
|
7
|
-
export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager,
|
|
8
|
-
position:
|
|
7
|
+
export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, settings, spineLayout, useAbsoluteViewport, viewport, }: {
|
|
8
|
+
position: DeprecatedViewportPosition | SpinePosition;
|
|
9
9
|
threshold: number;
|
|
10
10
|
restrictToScreen?: boolean;
|
|
11
11
|
spineItemsManager: SpineItemsManager;
|
|
12
|
-
context: Context;
|
|
13
12
|
settings: ReaderSettingsManager;
|
|
14
13
|
spineLayout: SpineLayout;
|
|
14
|
+
useAbsoluteViewport?: boolean;
|
|
15
|
+
viewport: Viewport;
|
|
15
16
|
}) => {
|
|
16
17
|
beginIndex: number;
|
|
17
18
|
endIndex: number;
|
package/dist/spine/types.d.ts
CHANGED
|
@@ -19,17 +19,27 @@ export declare class SpineElementLayout {
|
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
export declare class SpineItemSpineLayout extends SpineElementLayout {
|
|
22
|
-
readonly __symbol
|
|
22
|
+
readonly __symbol = "SpineItemSpineLayout";
|
|
23
23
|
}
|
|
24
24
|
export declare class SpineItemPageSpineLayout extends SpineElementLayout {
|
|
25
|
-
readonly __symbol
|
|
25
|
+
readonly __symbol = "SpineItemPageSpineLayout";
|
|
26
26
|
}
|
|
27
27
|
export declare class SpinePosition {
|
|
28
28
|
readonly x: number;
|
|
29
29
|
readonly y: number;
|
|
30
|
-
readonly __symbol
|
|
30
|
+
readonly __symbol = "SpinePosition";
|
|
31
31
|
constructor(position: {
|
|
32
32
|
x: number;
|
|
33
33
|
y: number;
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
+
export declare class UnsafeSpinePosition {
|
|
37
|
+
readonly x: number;
|
|
38
|
+
readonly y: number;
|
|
39
|
+
readonly __symbol = "UnsafeSpinePosition";
|
|
40
|
+
constructor(position: {
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
});
|
|
44
|
+
static from(position: SpinePosition): UnsafeSpinePosition;
|
|
45
|
+
}
|
|
@@ -2,6 +2,7 @@ import { Manifest } from '@prose-reader/shared';
|
|
|
2
2
|
import { Observable, ObservedValueOf } from 'rxjs';
|
|
3
3
|
import { Context } from '../context/Context';
|
|
4
4
|
import { HookManager } from '../hooks/HookManager';
|
|
5
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
6
|
import { DestroyableClass } from '../utils/DestroyableClass';
|
|
6
7
|
import { DocumentRenderer } from './renderer/DocumentRenderer';
|
|
7
8
|
export declare class SpineItemLayout extends DestroyableClass {
|
|
@@ -10,6 +11,7 @@ export declare class SpineItemLayout extends DestroyableClass {
|
|
|
10
11
|
context: Context;
|
|
11
12
|
hookManager: HookManager;
|
|
12
13
|
renderer: DocumentRenderer;
|
|
14
|
+
settings: ReaderSettingsManager;
|
|
13
15
|
private layoutTriggerSubject;
|
|
14
16
|
private lastLayout;
|
|
15
17
|
readonly layout$: Observable<{
|
|
@@ -25,7 +27,7 @@ export declare class SpineItemLayout extends DestroyableClass {
|
|
|
25
27
|
height: number;
|
|
26
28
|
};
|
|
27
29
|
}>;
|
|
28
|
-
constructor(item: Manifest[`spineItems`][number], containerElement: HTMLElement, context: Context, hookManager: HookManager, renderer: DocumentRenderer);
|
|
30
|
+
constructor(item: Manifest[`spineItems`][number], containerElement: HTMLElement, context: Context, hookManager: HookManager, renderer: DocumentRenderer, settings: ReaderSettingsManager);
|
|
29
31
|
private validateDimension;
|
|
30
32
|
private applyDimsAfterLayout;
|
|
31
33
|
layout: (params: ObservedValueOf<typeof this.layoutTriggerSubject>) => Observable<{
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
2
|
+
export declare class ReactiveEntity<T extends Record<string, unknown>> extends BehaviorSubject<T> {
|
|
3
|
+
protected destroy$: Subject<void>;
|
|
4
|
+
update(value: Partial<T>): void;
|
|
5
|
+
watch<K extends keyof T>(key: K): Observable<T[K]>;
|
|
6
|
+
watch<K extends keyof T>(keys: K[]): Observable<Pick<T, K>>;
|
|
7
|
+
destroy(): void;
|
|
8
|
+
}
|
package/dist/utils/rxjs.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Observable, OperatorFunction } from 'rxjs';
|
|
2
2
|
export declare const mapKeysTo: <R extends Record<string, unknown>, K extends keyof R>(keys: K[]) => OperatorFunction<R, Pick<R, K>>;
|
|
3
|
+
export declare const watchKeys: <R extends Record<string, unknown>, K extends keyof R>(keys: K[]) => (stream: Observable<R>) => Observable<Pick<R, K>>;
|
|
3
4
|
export declare function observeResize(element: HTMLElement): Observable<ResizeObserverEntry[]>;
|
|
4
5
|
export declare const waitForSwitch: <O>(waitForStream: Observable<O>) => <N>(stream: Observable<N>) => Observable<N>;
|
|
5
6
|
export declare const deferNextResult: <T>(stream: Observable<T>) => () => Observable<T>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Context } from '../context/Context';
|
|
2
|
+
import { ReactiveEntity } from '../utils/ReactiveEntity';
|
|
3
|
+
import { AbsoluteViewport, RelativeViewport } from './types';
|
|
4
|
+
type State = {
|
|
5
|
+
element: HTMLElement;
|
|
6
|
+
};
|
|
7
|
+
export declare class Viewport extends ReactiveEntity<State> {
|
|
8
|
+
protected context: Context;
|
|
9
|
+
constructor(context: Context);
|
|
10
|
+
getPageSize(): {
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
};
|
|
14
|
+
get absoluteViewport(): AbsoluteViewport;
|
|
15
|
+
get relativeViewport(): RelativeViewport;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DeprecatedViewportPosition } from '../navigation/controllers/ControlledNavigationController';
|
|
2
|
+
import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
|
|
3
|
+
import { AbsoluteViewport, RelativeViewport } from './types';
|
|
4
|
+
export declare const translateSpinePositionToRelativeViewport: (absolutePosition: DeprecatedViewportPosition | SpinePosition, absoluteViewport: AbsoluteViewport, relativeViewport: RelativeViewport | AbsoluteViewport) => UnsafeSpinePosition;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SpinePosition, UnsafeSpinePosition } from '../spine/types';
|
|
2
|
+
export declare class ViewportSlicePosition extends DOMRect {
|
|
3
|
+
readonly __symbol: symbol;
|
|
4
|
+
static from(rect: {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}): ViewportSlicePosition;
|
|
10
|
+
static from(position: SpinePosition | UnsafeSpinePosition, viewport: AbsoluteViewport | RelativeViewport): ViewportSlicePosition;
|
|
11
|
+
}
|
|
12
|
+
export declare class AbsoluteViewport {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
readonly __symbol: symbol;
|
|
16
|
+
constructor({ width, height }: {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export declare class RelativeViewport {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
readonly __symbol: symbol;
|
|
25
|
+
constructor({ width, height }: {
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
});
|
|
29
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.201.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.umd.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"tsc": "tsc"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@prose-reader/shared": "^1.
|
|
26
|
+
"@prose-reader/shared": "^1.201.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"rxjs": "*"
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"happy-dom": "^17.1.0"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "bf5a124e26d14cd42d88e623a85f010c08cc44e8"
|
|
35
35
|
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
2
|
-
export type Item = {
|
|
3
|
-
left: number;
|
|
4
|
-
top: number;
|
|
5
|
-
right: number;
|
|
6
|
-
bottom: number;
|
|
7
|
-
width: number;
|
|
8
|
-
height: number;
|
|
9
|
-
};
|
|
10
|
-
export declare class SpineItemsManagerMock {
|
|
11
|
-
items: Item[];
|
|
12
|
-
layout$: Subject<{
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
}>;
|
|
16
|
-
items$: BehaviorSubject<Item[]>;
|
|
17
|
-
load(items: {
|
|
18
|
-
left: number;
|
|
19
|
-
top: number;
|
|
20
|
-
right: number;
|
|
21
|
-
bottom: number;
|
|
22
|
-
width: number;
|
|
23
|
-
height: number;
|
|
24
|
-
}[]): void;
|
|
25
|
-
get(id: number): Item | undefined;
|
|
26
|
-
getAll(): Item[];
|
|
27
|
-
getLength(): number;
|
|
28
|
-
getSpineItemIndex(item: Item): number;
|
|
29
|
-
getSpineItemSpineLayoutInfo(spineItem: any): Item;
|
|
30
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ViewportPosition } from './ViewportNavigator';
|
|
2
|
-
export declare const getScaledDownPosition: ({ position: { x, y }, spineElement, element, }: {
|
|
3
|
-
position: ViewportPosition;
|
|
4
|
-
spineElement: HTMLElement;
|
|
5
|
-
element: HTMLElement;
|
|
6
|
-
}) => {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
};
|