@prose-reader/core 1.127.0 → 1.128.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/createReaderWithEnhancer.d.ts +2 -7
- package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +4 -4
- package/dist/enhancers/media/ImageRenderer.d.ts +4 -4
- package/dist/enhancers/pagination/pagination.d.ts +1 -1
- package/dist/enhancers/progression.d.ts +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +517 -412
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +515 -410
- package/dist/index.umd.cjs.map +1 -1
- package/dist/navigation/tests/SpineItemsManagerMock.d.ts +4 -1
- package/dist/reader.d.ts +1 -6
- package/dist/settings/types.d.ts +1 -1
- package/dist/spine/SpineLayout.d.ts +9 -7
- package/dist/spine/layout/layoutItem.d.ts +20 -0
- package/dist/spineItem/SpineItem.d.ts +14 -20
- package/dist/spineItem/renderer/DefaultRenderer.d.ts +8 -0
- package/dist/spineItem/{DocumentRenderer.d.ts → renderer/DocumentRenderer.d.ts} +17 -20
- package/dist/utils/rxjs.d.ts +1 -0
- package/package.json +3 -3
|
@@ -9,7 +9,10 @@ export type Item = {
|
|
|
9
9
|
};
|
|
10
10
|
export declare class SpineItemsManagerMock {
|
|
11
11
|
items: Item[];
|
|
12
|
-
layout$: Subject<
|
|
12
|
+
layout$: Subject<{
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}>;
|
|
13
16
|
items$: BehaviorSubject<Item[]>;
|
|
14
17
|
load(items: {
|
|
15
18
|
left: number;
|
package/dist/reader.d.ts
CHANGED
|
@@ -108,12 +108,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
|
|
|
108
108
|
};
|
|
109
109
|
settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<import('./settings/types').CoreOutputSettings | undefined>>;
|
|
110
110
|
element$: import('rxjs').Observable<HTMLElement>;
|
|
111
|
-
layout$: import('rxjs').Observable<
|
|
112
|
-
hasChanged: boolean;
|
|
113
|
-
spineItemsAbsolutePositions: import('./spine/SpineLayout').LayoutPosition[];
|
|
114
|
-
spineItemsPagesAbsolutePositions: import('./spine/SpineLayout').LayoutPosition[][];
|
|
115
|
-
pages: import('./spine/SpineLayout').PageLayoutInformation[];
|
|
116
|
-
}>;
|
|
111
|
+
layout$: import('rxjs').Observable<import('./spine/SpineLayout').LayoutInfo>;
|
|
117
112
|
viewportState$: import('rxjs').Observable<"free" | "busy">;
|
|
118
113
|
viewportFree$: import('rxjs').Observable<"free">;
|
|
119
114
|
state$: import('rxjs').Observable<"idle" | "ready">;
|
package/dist/settings/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Manifest } from '@prose-reader/shared';
|
|
2
|
-
import { DocumentRenderer, DocumentRendererParams } from '../spineItem/DocumentRenderer';
|
|
2
|
+
import { DocumentRenderer, DocumentRendererParams } from '../spineItem/renderer/DocumentRenderer';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
export type CoreInputSettings = {
|
|
5
5
|
forceSinglePageMode: boolean;
|
|
@@ -20,18 +20,20 @@ export type PageLayoutInformation = {
|
|
|
20
20
|
itemIndex: number;
|
|
21
21
|
absolutePosition: LayoutPosition;
|
|
22
22
|
};
|
|
23
|
+
export type LayoutInfo = {
|
|
24
|
+
hasChanged: boolean;
|
|
25
|
+
spineItemsAbsolutePositions: LayoutPosition[];
|
|
26
|
+
spineItemsPagesAbsolutePositions: LayoutPosition[][];
|
|
27
|
+
pages: PageLayoutInformation[];
|
|
28
|
+
};
|
|
23
29
|
export declare class SpineLayout extends DestroyableClass {
|
|
24
30
|
protected spineItemsManager: SpineItemsManager;
|
|
25
31
|
protected context: Context;
|
|
26
32
|
protected settings: ReaderSettingsManager;
|
|
27
33
|
protected itemLayoutInformation: LayoutPosition[];
|
|
28
|
-
protected layoutSubject: Subject<
|
|
29
|
-
layout$: Observable<
|
|
30
|
-
|
|
31
|
-
spineItemsAbsolutePositions: LayoutPosition[];
|
|
32
|
-
spineItemsPagesAbsolutePositions: LayoutPosition[][];
|
|
33
|
-
pages: PageLayoutInformation[];
|
|
34
|
-
}>;
|
|
34
|
+
protected layoutSubject: Subject<unknown>;
|
|
35
|
+
readonly layout$: Observable<LayoutInfo>;
|
|
36
|
+
readonly info$: Observable<LayoutInfo>;
|
|
35
37
|
constructor(spineItemsManager: SpineItemsManager, context: Context, settings: ReaderSettingsManager);
|
|
36
38
|
layout(): void;
|
|
37
39
|
getAbsolutePositionOf(spineItemOrIndex: SpineItem | number | string | undefined): {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { SpineItem } from '../..';
|
|
3
|
+
import { Context } from '../../context/Context';
|
|
4
|
+
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
|
+
import { SpineItemsManager } from '../SpineItemsManager';
|
|
6
|
+
import { LayoutPosition } from '../SpineLayout';
|
|
7
|
+
export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, spineItemsManager, isGloballyPrePaginated, settings, index, item, newItemLayoutInformation, }: {
|
|
8
|
+
horizontalOffset: number;
|
|
9
|
+
verticalOffset: number;
|
|
10
|
+
context: Context;
|
|
11
|
+
spineItemsManager: SpineItemsManager;
|
|
12
|
+
isGloballyPrePaginated: boolean;
|
|
13
|
+
settings: ReaderSettingsManager;
|
|
14
|
+
item: SpineItem;
|
|
15
|
+
index: number;
|
|
16
|
+
newItemLayoutInformation: LayoutPosition[];
|
|
17
|
+
}) => Observable<{
|
|
18
|
+
horizontalOffset: number;
|
|
19
|
+
verticalOffset: number;
|
|
20
|
+
}>;
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import { Context } from '../context/Context';
|
|
2
|
-
import { Manifest } from '..';
|
|
3
|
-
import { Observable,
|
|
2
|
+
import { DestroyableClass, Manifest } from '..';
|
|
3
|
+
import { Observable, ObservedValueOf } from 'rxjs';
|
|
4
4
|
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
5
|
import { HookManager } from '../hooks/HookManager';
|
|
6
|
-
import { DocumentRenderer } from './DocumentRenderer';
|
|
6
|
+
import { DocumentRenderer } from './renderer/DocumentRenderer';
|
|
7
7
|
import { ResourceHandler } from './ResourceHandler';
|
|
8
|
-
export declare class SpineItem {
|
|
8
|
+
export declare class SpineItem extends DestroyableClass {
|
|
9
9
|
item: Manifest[`spineItems`][number];
|
|
10
10
|
parentElement: HTMLElement;
|
|
11
11
|
context: Context;
|
|
12
12
|
settings: ReaderSettingsManager;
|
|
13
13
|
hookManager: HookManager;
|
|
14
14
|
index: number;
|
|
15
|
-
|
|
16
|
-
containerElement: HTMLElement;
|
|
17
|
-
|
|
18
|
-
isFirstLayout: boolean;
|
|
19
|
-
isReady: boolean;
|
|
20
|
-
}>;
|
|
15
|
+
private layoutTriggerSubject;
|
|
16
|
+
readonly containerElement: HTMLElement;
|
|
17
|
+
needsLayout$: Observable<unknown>;
|
|
21
18
|
renderer: DocumentRenderer;
|
|
22
19
|
resourcesHandler: ResourceHandler;
|
|
20
|
+
layout$: Observable<{
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
}>;
|
|
24
|
+
readonly isReady$: Observable<boolean>;
|
|
23
25
|
constructor(item: Manifest[`spineItems`][number], parentElement: HTMLElement, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, index: number);
|
|
24
26
|
adjustPositionOfElement: ({ right, left, top, }: {
|
|
25
27
|
right?: number;
|
|
@@ -27,14 +29,10 @@ export declare class SpineItem {
|
|
|
27
29
|
top?: number;
|
|
28
30
|
}) => void;
|
|
29
31
|
getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
|
|
30
|
-
layout: (
|
|
31
|
-
blankPagePosition: `before` | `after` | `none`;
|
|
32
|
-
minimumWidth: number;
|
|
33
|
-
spreadPosition: `left` | `right` | `none`;
|
|
34
|
-
}) => {
|
|
32
|
+
layout: (params: ObservedValueOf<typeof this.layoutTriggerSubject>) => Observable<{
|
|
35
33
|
width: number;
|
|
36
34
|
height: number;
|
|
37
|
-
}
|
|
35
|
+
}>;
|
|
38
36
|
load: () => void;
|
|
39
37
|
unload: () => void;
|
|
40
38
|
getElementDimensions: () => {
|
|
@@ -52,10 +50,6 @@ export declare class SpineItem {
|
|
|
52
50
|
get element(): HTMLElement;
|
|
53
51
|
get readingDirection(): "rtl" | "ltr" | undefined;
|
|
54
52
|
isUsingVerticalWriting: () => boolean;
|
|
55
|
-
get isReady(): boolean;
|
|
56
|
-
get ready$(): Observable<"ready">;
|
|
57
53
|
get loaded$(): Observable<"loaded">;
|
|
58
54
|
get unloaded$(): Observable<"idle">;
|
|
59
|
-
get isReady$(): Observable<boolean>;
|
|
60
|
-
upsertCSS(id: string, style: string, prepend?: boolean): void;
|
|
61
55
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DocumentRenderer } from './DocumentRenderer';
|
|
3
|
+
export declare class DefaultRenderer extends DocumentRenderer {
|
|
4
|
+
onUnload(): Observable<unknown>;
|
|
5
|
+
onCreateDocument(): Observable<unknown>;
|
|
6
|
+
onLoadDocument(): Observable<unknown>;
|
|
7
|
+
onLayout(): Observable<undefined>;
|
|
8
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Manifest } from '@prose-reader/shared';
|
|
2
|
-
import { Context } from '
|
|
3
|
-
import { HookManager } from '
|
|
4
|
-
import { ReaderSettingsManager } from '
|
|
2
|
+
import { Context } from '../../context/Context';
|
|
3
|
+
import { HookManager } from '../../hooks/HookManager';
|
|
4
|
+
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
5
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
6
|
-
import { ResourceHandler } from '
|
|
6
|
+
import { ResourceHandler } from '../ResourceHandler';
|
|
7
|
+
import { DestroyableClass } from '../../utils/DestroyableClass';
|
|
7
8
|
type Layer = {
|
|
8
9
|
element: HTMLElement;
|
|
9
10
|
};
|
|
@@ -15,7 +16,13 @@ export type DocumentRendererParams = {
|
|
|
15
16
|
containerElement: HTMLElement;
|
|
16
17
|
resourcesHandler: ResourceHandler;
|
|
17
18
|
};
|
|
18
|
-
|
|
19
|
+
type LayoutParams = {
|
|
20
|
+
minPageSpread: number;
|
|
21
|
+
blankPagePosition: `before` | `after` | `none`;
|
|
22
|
+
spreadPosition: `none` | `left` | `right`;
|
|
23
|
+
minimumWidth: number;
|
|
24
|
+
};
|
|
25
|
+
export declare abstract class DocumentRenderer extends DestroyableClass {
|
|
19
26
|
private triggerSubject;
|
|
20
27
|
protected context: Context;
|
|
21
28
|
protected settings: ReaderSettingsManager;
|
|
@@ -23,7 +30,7 @@ export declare abstract class DocumentRenderer {
|
|
|
23
30
|
protected item: Manifest[`spineItems`][number];
|
|
24
31
|
protected containerElement: HTMLElement;
|
|
25
32
|
protected resourcesHandler: ResourceHandler;
|
|
26
|
-
protected stateSubject: BehaviorSubject<"idle" | "loading" | "loaded" | "unloading"
|
|
33
|
+
protected stateSubject: BehaviorSubject<"idle" | "loading" | "loaded" | "unloading">;
|
|
27
34
|
protected unload$: Observable<undefined>;
|
|
28
35
|
protected load$: Observable<undefined>;
|
|
29
36
|
layers: Layer[];
|
|
@@ -35,29 +42,19 @@ export declare abstract class DocumentRenderer {
|
|
|
35
42
|
containerElement: HTMLElement;
|
|
36
43
|
resourcesHandler: ResourceHandler;
|
|
37
44
|
});
|
|
38
|
-
|
|
39
|
-
get
|
|
45
|
+
get state$(): BehaviorSubject<"idle" | "loading" | "loaded" | "unloading">;
|
|
46
|
+
get isLoaded$(): Observable<boolean>;
|
|
40
47
|
load(): void;
|
|
41
48
|
unload(): void;
|
|
42
49
|
destroy(): void;
|
|
43
50
|
abstract onUnload(): Observable<unknown>;
|
|
44
51
|
abstract onCreateDocument(): Observable<unknown>;
|
|
45
52
|
abstract onLoadDocument(): Observable<unknown>;
|
|
46
|
-
abstract
|
|
47
|
-
minPageSpread: number;
|
|
48
|
-
blankPagePosition: `before` | `after` | `none`;
|
|
49
|
-
spreadPosition: `none` | `left` | `right`;
|
|
50
|
-
}): {
|
|
53
|
+
abstract onLayout(params: LayoutParams): Observable<{
|
|
51
54
|
width: number;
|
|
52
55
|
height: number;
|
|
53
|
-
} | undefined
|
|
56
|
+
} | undefined>;
|
|
54
57
|
get writingMode(): `vertical-rl` | `horizontal-tb` | undefined;
|
|
55
58
|
get readingDirection(): `rtl` | `ltr` | undefined;
|
|
56
59
|
}
|
|
57
|
-
export declare class DefaultRenderer extends DocumentRenderer {
|
|
58
|
-
onUnload(): Observable<unknown>;
|
|
59
|
-
onCreateDocument(): Observable<unknown>;
|
|
60
|
-
onLoadDocument(): Observable<unknown>;
|
|
61
|
-
layout(): undefined;
|
|
62
|
-
}
|
|
63
60
|
export {};
|
package/dist/utils/rxjs.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export declare const mapKeysTo: <R extends {
|
|
|
4
4
|
}, K extends keyof R>(keys: K[]) => OperatorFunction<R, Pick<R, K>>;
|
|
5
5
|
export declare function observeResize(element: HTMLElement): Observable<ResizeObserverEntry[]>;
|
|
6
6
|
export declare const waitForSwitch: <O>(waitForStream: Observable<O>) => <N>(stream: Observable<N>) => Observable<N>;
|
|
7
|
+
export declare const deferNextResult: <T>(stream: Observable<T>) => () => Observable<T>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.128.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.umd.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
"tsc": "tsc"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@prose-reader/shared": "^1.
|
|
28
|
+
"@prose-reader/shared": "^1.128.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"rxjs": "*"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "019a6db06a80e8bb22e99e247144dd9b7ae74ac6"
|
|
34
34
|
}
|