@prose-reader/core 1.59.0 → 1.61.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 +4 -45
- package/dist/enhancers/fonts/SettingsManager.d.ts +10 -0
- package/dist/enhancers/fonts/fonts.d.ts +7 -0
- package/dist/enhancers/fonts/types.d.ts +9 -0
- package/dist/enhancers/layoutEnhancer/SettingsManager.d.ts +10 -0
- package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +5 -8
- package/dist/enhancers/layoutEnhancer/types.d.ts +5 -7
- package/dist/enhancers/pagination/spine.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1220 -507
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1157 -444
- package/dist/index.umd.cjs.map +1 -1
- package/dist/pagination/pagination.d.ts +1 -1
- package/dist/reader.d.ts +2 -2
- package/dist/settings/ReaderSettingsManager.d.ts +20 -0
- package/dist/settings/SettingsInterface.d.ts +13 -0
- package/dist/settings/SettingsManager.d.ts +17 -11
- package/dist/settings/SettingsManagerOverload.d.ts +23 -0
- package/dist/settings/types.d.ts +6 -5
- package/dist/spine/cfiLocator.d.ts +3 -3
- package/dist/spine/createSpine.d.ts +2 -2
- package/dist/spine/locationResolver.d.ts +6 -6
- package/dist/spine/navigationResolver.d.ts +2 -2
- package/dist/spineItem/commonSpineItem.d.ts +3 -3
- package/dist/spineItem/createSpineItem.d.ts +3 -3
- package/dist/spineItem/frameItem/frameItem.d.ts +3 -4
- package/dist/spineItem/frameItem/loader.d.ts +3 -4
- package/dist/spineItem/navigationResolver.d.ts +3 -3
- package/dist/spineItem/prePaginatedSpineItem.d.ts +3 -3
- package/dist/spineItem/reflowableSpineItem.d.ts +3 -3
- package/dist/spineItemManager.d.ts +6 -6
- package/dist/types/reader.d.ts +4 -4
- package/dist/utils/objects.d.ts +1 -0
- package/dist/viewportNavigator/manualViewportNavigator.d.ts +2 -2
- package/dist/viewportNavigator/panViewportNavigator.d.ts +2 -2
- package/dist/viewportNavigator/scrollViewportNavigator.d.ts +2 -2
- package/dist/viewportNavigator/viewportNavigator.d.ts +4 -4
- package/package.json +3 -3
- package/dist/enhancers/fonts.d.ts +0 -19
- package/dist/settings/defaultSettings.d.ts +0 -3
- package/dist/settings/getComputedSettings.d.ts +0 -4
- package/dist/utils/compose.d.ts +0 -8
|
@@ -3,7 +3,7 @@ import { SpineItem } from '../spineItem/createSpineItem';
|
|
|
3
3
|
import { SpineItemManager } from '../spineItemManager';
|
|
4
4
|
import { PaginationInfo } from './types';
|
|
5
5
|
|
|
6
|
-
export declare const createPagination: ({ context }: {
|
|
6
|
+
export declare const createPagination: ({ context, }: {
|
|
7
7
|
context: Context;
|
|
8
8
|
spineItemManager: SpineItemManager;
|
|
9
9
|
}) => {
|
package/dist/reader.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReaderInternal } from './types/reader';
|
|
2
|
-
import {
|
|
2
|
+
import { CoreInputSettings } from './settings/types';
|
|
3
3
|
|
|
4
|
-
export type CreateReaderOptions = Partial<
|
|
4
|
+
export type CreateReaderOptions = Partial<CoreInputSettings>;
|
|
5
5
|
export type CreateReaderParameters = CreateReaderOptions;
|
|
6
6
|
export declare const createReader: (inputSettings: CreateReaderOptions) => ReaderInternal;
|
|
7
7
|
type Reader = ReturnType<typeof createReader>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CoreInputSettings, ComputedCoreSettings, CoreOutputSettings } from './types';
|
|
2
|
+
import { Context } from '../context/Context';
|
|
3
|
+
import { SettingsManager } from './SettingsManager';
|
|
4
|
+
|
|
5
|
+
export declare class ReaderSettingsManager extends SettingsManager<CoreInputSettings, CoreOutputSettings> {
|
|
6
|
+
protected context: Context;
|
|
7
|
+
constructor(initialSettings: Partial<CoreInputSettings>, context: Context);
|
|
8
|
+
private getComputedSettings;
|
|
9
|
+
getOutputSettings(inputSettings: CoreInputSettings): CoreInputSettings & ComputedCoreSettings;
|
|
10
|
+
getDefaultSettings(): {
|
|
11
|
+
forceSinglePageMode: boolean;
|
|
12
|
+
pageTurnAnimation: "none";
|
|
13
|
+
pageTurnDirection: "horizontal";
|
|
14
|
+
pageTurnAnimationDuration: undefined;
|
|
15
|
+
pageTurnMode: "controlled";
|
|
16
|
+
snapAnimationDuration: number;
|
|
17
|
+
navigationSnapThreshold: number;
|
|
18
|
+
numberOfAdjacentSpineItemToPreLoad: number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
|
|
3
|
+
export interface SettingsInterface<InputSettings, OutputSettings = Record<string, never>> {
|
|
4
|
+
_outputSettings?: OutputSettings;
|
|
5
|
+
_inputSettings?: InputSettings;
|
|
6
|
+
_prepareUpdate(settings: Partial<InputSettings>): {
|
|
7
|
+
hasChanged: boolean;
|
|
8
|
+
commit: () => OutputSettings;
|
|
9
|
+
};
|
|
10
|
+
update(settings: Partial<InputSettings>): void;
|
|
11
|
+
settings$: Observable<OutputSettings>;
|
|
12
|
+
settings: OutputSettings;
|
|
13
|
+
}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Context } from '../context/Context';
|
|
1
|
+
import { Observable, Subject } from 'rxjs';
|
|
2
|
+
import { SettingsInterface } from './SettingsInterface';
|
|
4
3
|
|
|
5
|
-
export declare class SettingsManager {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
export declare abstract class SettingsManager<InputSettings, OutputSettings> implements SettingsInterface<InputSettings, OutputSettings> {
|
|
5
|
+
protected inputSettings: InputSettings;
|
|
6
|
+
protected outputSettings?: OutputSettings;
|
|
7
|
+
protected outputSettingsUpdateSubject: Subject<OutputSettings>;
|
|
8
|
+
settings$: Observable<OutputSettings>;
|
|
9
|
+
constructor(initialSettings: Partial<InputSettings>);
|
|
10
|
+
_prepareUpdate(settings: Partial<InputSettings>): {
|
|
11
|
+
hasChanged: boolean;
|
|
12
|
+
state: OutputSettings;
|
|
13
|
+
commit: () => OutputSettings;
|
|
14
|
+
};
|
|
15
|
+
abstract getOutputSettings(inputSettings: InputSettings): OutputSettings;
|
|
16
|
+
abstract getDefaultSettings(): InputSettings;
|
|
17
|
+
update(settings: Partial<InputSettings>): void;
|
|
18
|
+
get settings(): OutputSettings;
|
|
13
19
|
destroy(): void;
|
|
14
20
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Observable, Subject } from 'rxjs';
|
|
2
|
+
import { SettingsInterface } from './SettingsInterface';
|
|
3
|
+
import { CoreInputSettings, CoreOutputSettings } from './types';
|
|
4
|
+
|
|
5
|
+
export declare abstract class SettingsManagerOverload<InputSettings, OutputSettings, ParentInputSettings extends CoreInputSettings, ParentOutputSettings extends CoreOutputSettings> implements SettingsInterface<InputSettings & ParentInputSettings, OutputSettings & ParentOutputSettings> {
|
|
6
|
+
protected inputSettings: InputSettings;
|
|
7
|
+
protected outputSettings: OutputSettings;
|
|
8
|
+
protected outputSettingsUpdateSubject: Subject<OutputSettings>;
|
|
9
|
+
protected settingsManager: SettingsInterface<ParentInputSettings, ParentOutputSettings>;
|
|
10
|
+
settings$: Observable<ParentOutputSettings & OutputSettings>;
|
|
11
|
+
constructor(initialSettings: Partial<InputSettings>, settingsManager: SettingsInterface<ParentInputSettings, ParentOutputSettings>);
|
|
12
|
+
abstract getDefaultSettings(): InputSettings;
|
|
13
|
+
abstract computeOutputSettings(inputSettings: InputSettings): OutputSettings;
|
|
14
|
+
abstract hasSettingsChanged(newOutputSettings: OutputSettings): boolean;
|
|
15
|
+
abstract getCleanedParentInputSettings(settings: Partial<InputSettings & ParentInputSettings>): ParentInputSettings;
|
|
16
|
+
_prepareUpdate(settings: Partial<InputSettings & ParentInputSettings>): {
|
|
17
|
+
hasChanged: boolean;
|
|
18
|
+
commit: () => OutputSettings & ParentOutputSettings;
|
|
19
|
+
};
|
|
20
|
+
update(settings: Partial<InputSettings & ParentInputSettings>): void;
|
|
21
|
+
get settings(): ParentOutputSettings & OutputSettings;
|
|
22
|
+
destroy(): void;
|
|
23
|
+
}
|
package/dist/settings/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Manifest } from '@prose-reader/shared';
|
|
2
2
|
|
|
3
|
-
export type
|
|
3
|
+
export type CoreInputSettings = {
|
|
4
4
|
forceSinglePageMode: boolean;
|
|
5
5
|
pageTurnAnimation: `none` | `fade` | `slide`;
|
|
6
6
|
pageTurnAnimationDuration: undefined | number;
|
|
@@ -11,9 +11,10 @@ export type Settings = {
|
|
|
11
11
|
numberOfAdjacentSpineItemToPreLoad: number;
|
|
12
12
|
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
13
13
|
};
|
|
14
|
-
export type
|
|
15
|
-
computedPageTurnMode:
|
|
16
|
-
computedPageTurnDirection:
|
|
17
|
-
computedPageTurnAnimation:
|
|
14
|
+
export type ComputedCoreSettings = {
|
|
15
|
+
computedPageTurnMode: CoreInputSettings[`pageTurnMode`];
|
|
16
|
+
computedPageTurnDirection: CoreInputSettings[`pageTurnDirection`];
|
|
17
|
+
computedPageTurnAnimation: CoreInputSettings[`pageTurnAnimation`];
|
|
18
18
|
computedPageTurnAnimationDuration: number;
|
|
19
19
|
};
|
|
20
|
+
export type CoreOutputSettings = CoreInputSettings & ComputedCoreSettings;
|
|
@@ -28,7 +28,7 @@ export declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }:
|
|
|
28
28
|
mediaType?: string;
|
|
29
29
|
};
|
|
30
30
|
load: () => void;
|
|
31
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
31
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
32
32
|
right?: number;
|
|
33
33
|
left?: number;
|
|
34
34
|
top?: number;
|
|
@@ -184,7 +184,7 @@ export declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }:
|
|
|
184
184
|
mediaType?: string;
|
|
185
185
|
};
|
|
186
186
|
load: () => void;
|
|
187
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
187
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
188
188
|
right?: number;
|
|
189
189
|
left?: number;
|
|
190
190
|
top?: number;
|
|
@@ -328,7 +328,7 @@ export declare const createCfiLocator: ({ spineItemManager, spineItemLocator, }:
|
|
|
328
328
|
node?: undefined;
|
|
329
329
|
offset?: undefined;
|
|
330
330
|
} | undefined;
|
|
331
|
-
generateFromRange: ({ startNode, start, end, endNode }: {
|
|
331
|
+
generateFromRange: ({ startNode, start, end, endNode, }: {
|
|
332
332
|
startNode: Node;
|
|
333
333
|
start: number;
|
|
334
334
|
endNode: Node;
|
|
@@ -7,7 +7,7 @@ import { createLocationResolver as createSpineItemLocationResolver } from '../sp
|
|
|
7
7
|
import { createCfiLocator } from './cfiLocator';
|
|
8
8
|
import { Spine } from '../types/Spine';
|
|
9
9
|
import { AdjustedNavigation, Navigation } from '../viewportNavigator/types';
|
|
10
|
-
import {
|
|
10
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
11
11
|
import { HookManager } from '../hooks/HookManager';
|
|
12
12
|
|
|
13
13
|
export declare const createSpine: ({ element$, context, pagination, spineItemManager, spineItemLocator, spineLocator, cfiLocator, navigation$, navigationAdjusted$, currentNavigationPosition$, viewportState$, settings, hookManager, }: {
|
|
@@ -25,7 +25,7 @@ export declare const createSpine: ({ element$, context, pagination, spineItemMan
|
|
|
25
25
|
y: number;
|
|
26
26
|
}>;
|
|
27
27
|
viewportState$: Observable<`free` | `busy`>;
|
|
28
|
-
settings:
|
|
28
|
+
settings: ReaderSettingsManager;
|
|
29
29
|
hookManager: HookManager;
|
|
30
30
|
}) => Spine;
|
|
31
31
|
export { Spine };
|
|
@@ -4,13 +4,13 @@ import { createLocationResolver as createSpineItemLocator } from '../spineItem/l
|
|
|
4
4
|
import { SpineItemManager } from '../spineItemManager';
|
|
5
5
|
import { SpineItemNavigationPosition, SpineItemPosition, UnsafeSpineItemPosition } from '../spineItem/types';
|
|
6
6
|
import { SpinePosition, UnsafeSpinePosition } from './types';
|
|
7
|
-
import {
|
|
7
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
8
8
|
|
|
9
9
|
export declare const createLocationResolver: ({ spineItemManager, context, spineItemLocator, settings, }: {
|
|
10
10
|
spineItemManager: SpineItemManager;
|
|
11
11
|
context: Context;
|
|
12
12
|
spineItemLocator: ReturnType<typeof createSpineItemLocator>;
|
|
13
|
-
settings:
|
|
13
|
+
settings: ReaderSettingsManager;
|
|
14
14
|
}) => {
|
|
15
15
|
getSpinePositionFromSpineItemPosition: (spineItemPosition: SpineItemNavigationPosition | SpineItemPosition, spineItem: SpineItem) => SpinePosition;
|
|
16
16
|
getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
|
|
@@ -34,7 +34,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
|
|
|
34
34
|
mediaType?: string;
|
|
35
35
|
};
|
|
36
36
|
load: () => void;
|
|
37
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
37
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
38
38
|
right?: number;
|
|
39
39
|
left?: number;
|
|
40
40
|
top?: number;
|
|
@@ -187,7 +187,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
|
|
|
187
187
|
mediaType?: string;
|
|
188
188
|
};
|
|
189
189
|
load: () => void;
|
|
190
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
190
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
191
191
|
right?: number;
|
|
192
192
|
left?: number;
|
|
193
193
|
top?: number;
|
|
@@ -339,7 +339,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
|
|
|
339
339
|
mediaType?: string;
|
|
340
340
|
};
|
|
341
341
|
load: () => void;
|
|
342
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
342
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
343
343
|
right?: number;
|
|
344
344
|
left?: number;
|
|
345
345
|
top?: number;
|
|
@@ -492,7 +492,7 @@ export declare const createLocationResolver: ({ spineItemManager, context, spine
|
|
|
492
492
|
mediaType?: string;
|
|
493
493
|
};
|
|
494
494
|
load: () => void;
|
|
495
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
495
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
496
496
|
right?: number;
|
|
497
497
|
left?: number;
|
|
498
498
|
top?: number;
|
|
@@ -4,7 +4,7 @@ import { SpineItem } from '../spineItem/createSpineItem';
|
|
|
4
4
|
import { createLocationResolver } from './locationResolver';
|
|
5
5
|
import { createCfiLocator } from './cfiLocator';
|
|
6
6
|
import { SpinePosition, UnsafeSpinePosition } from './types';
|
|
7
|
-
import {
|
|
7
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
8
8
|
|
|
9
9
|
export type ViewportNavigationEntry = {
|
|
10
10
|
x: number;
|
|
@@ -20,7 +20,7 @@ export declare const createNavigationResolver: ({ context, spineItemManager, cfi
|
|
|
20
20
|
spineItemManager: SpineItemManager;
|
|
21
21
|
cfiLocator: ReturnType<typeof createCfiLocator>;
|
|
22
22
|
locator: ReturnType<typeof createLocationResolver>;
|
|
23
|
-
settings:
|
|
23
|
+
settings: ReaderSettingsManager;
|
|
24
24
|
}) => {
|
|
25
25
|
getNavigationForCfi: (cfi: string) => ViewportNavigationEntry;
|
|
26
26
|
getNavigationForPage: (pageIndex: number, spineItem?: SpineItem) => ViewportNavigationEntry;
|
|
@@ -2,7 +2,7 @@ import { Context } from '../context/Context';
|
|
|
2
2
|
import { Manifest } from '../types';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { createFrameManipulator } from './frameItem/createFrameManipulator';
|
|
5
|
-
import {
|
|
5
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
6
6
|
import { HookManager } from '../hooks/HookManager';
|
|
7
7
|
|
|
8
8
|
export declare const createCommonSpineItem: ({ item, context, parentElement, viewportState$, settings, hookManager, }: {
|
|
@@ -10,7 +10,7 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
10
10
|
parentElement: HTMLElement;
|
|
11
11
|
context: Context;
|
|
12
12
|
viewportState$: Observable<`free` | `busy`>;
|
|
13
|
-
settings:
|
|
13
|
+
settings: ReaderSettingsManager;
|
|
14
14
|
hookManager: HookManager;
|
|
15
15
|
}) => {
|
|
16
16
|
item: {
|
|
@@ -29,7 +29,7 @@ export declare const createCommonSpineItem: ({ item, context, parentElement, vie
|
|
|
29
29
|
blankPagePosition: `before` | `after` | `none`;
|
|
30
30
|
minimumWidth: number;
|
|
31
31
|
}) => void;
|
|
32
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
32
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
33
33
|
right?: number;
|
|
34
34
|
left?: number;
|
|
35
35
|
top?: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
3
|
import { Manifest } from '../types';
|
|
4
|
-
import {
|
|
4
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
5
|
import { HookManager } from '../hooks/HookManager';
|
|
6
6
|
|
|
7
7
|
export declare const createSpineItem: ({ item, context, containerElement, viewportState$, settings, hookManager, }: {
|
|
@@ -9,7 +9,7 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
9
9
|
containerElement: HTMLElement;
|
|
10
10
|
context: Context;
|
|
11
11
|
viewportState$: Observable<`free` | `busy`>;
|
|
12
|
-
settings:
|
|
12
|
+
settings: ReaderSettingsManager;
|
|
13
13
|
hookManager: HookManager;
|
|
14
14
|
}) => {
|
|
15
15
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
@@ -30,7 +30,7 @@ export declare const createSpineItem: ({ item, context, containerElement, viewpo
|
|
|
30
30
|
mediaType?: string;
|
|
31
31
|
};
|
|
32
32
|
load: () => void;
|
|
33
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
33
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
34
34
|
right?: number;
|
|
35
35
|
left?: number;
|
|
36
36
|
top?: number;
|
|
@@ -2,16 +2,15 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { Manifest } from '../../types';
|
|
3
3
|
import { Context } from '../../context/Context';
|
|
4
4
|
import { createFrameManipulator } from './createFrameManipulator';
|
|
5
|
-
import {
|
|
5
|
+
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
6
6
|
import { HookManager } from '../../hooks/HookManager';
|
|
7
7
|
|
|
8
|
-
export declare const createFrameItem: ({ item, parent,
|
|
8
|
+
export declare const createFrameItem: ({ item, parent, context, viewportState$, settings, hookManager, }: {
|
|
9
9
|
parent: HTMLElement;
|
|
10
10
|
item: Manifest[`spineItems`][number];
|
|
11
11
|
context: Context;
|
|
12
|
-
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
13
12
|
viewportState$: Observable<`free` | `busy`>;
|
|
14
|
-
settings:
|
|
13
|
+
settings: ReaderSettingsManager;
|
|
15
14
|
hookManager: HookManager;
|
|
16
15
|
}) => {
|
|
17
16
|
getIsLoaded: () => boolean;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../../context/Context';
|
|
3
3
|
import { Manifest } from '../../types';
|
|
4
|
-
import {
|
|
4
|
+
import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
|
|
5
5
|
import { HookManager } from '../../hooks/HookManager';
|
|
6
6
|
|
|
7
|
-
export declare const createLoader: ({ item, parent,
|
|
7
|
+
export declare const createLoader: ({ item, parent, context, viewportState$, settings, hookManager, }: {
|
|
8
8
|
item: Manifest[`spineItems`][number];
|
|
9
9
|
parent: HTMLElement;
|
|
10
|
-
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
11
10
|
context: Context;
|
|
12
|
-
settings:
|
|
11
|
+
settings: ReaderSettingsManager;
|
|
13
12
|
viewportState$: Observable<`free` | `busy`>;
|
|
14
13
|
hookManager: HookManager;
|
|
15
14
|
}) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { SpineItem } from './createSpineItem';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
3
|
import { SpineItemNavigationPosition, UnsafeSpineItemPosition } from './types';
|
|
4
|
-
import {
|
|
4
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
5
|
|
|
6
|
-
export declare const createNavigationResolver: ({ context }: {
|
|
6
|
+
export declare const createNavigationResolver: ({ context, }: {
|
|
7
7
|
context: Context;
|
|
8
|
-
settings:
|
|
8
|
+
settings: ReaderSettingsManager;
|
|
9
9
|
}) => {
|
|
10
10
|
getNavigationForLeftPage: (position: UnsafeSpineItemPosition, spineItem: SpineItem) => SpineItemNavigationPosition;
|
|
11
11
|
getNavigationForRightPage: (position: UnsafeSpineItemPosition, spineItem: SpineItem) => SpineItemNavigationPosition;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
3
|
import { Manifest } from '../types';
|
|
4
|
-
import {
|
|
4
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
5
|
import { HookManager } from '../hooks/HookManager';
|
|
6
6
|
|
|
7
7
|
export declare const createPrePaginatedSpineItem: ({ item, context, containerElement, viewportState$, settings, hookManager, }: {
|
|
@@ -9,7 +9,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
9
9
|
containerElement: HTMLElement;
|
|
10
10
|
context: Context;
|
|
11
11
|
viewportState$: Observable<`free` | `busy`>;
|
|
12
|
-
settings:
|
|
12
|
+
settings: ReaderSettingsManager;
|
|
13
13
|
hookManager: HookManager;
|
|
14
14
|
}) => {
|
|
15
15
|
layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
|
|
@@ -30,7 +30,7 @@ export declare const createPrePaginatedSpineItem: ({ item, context, containerEle
|
|
|
30
30
|
mediaType?: string;
|
|
31
31
|
};
|
|
32
32
|
load: () => void;
|
|
33
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
33
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
34
34
|
right?: number;
|
|
35
35
|
left?: number;
|
|
36
36
|
top?: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Context } from '../context/Context';
|
|
3
3
|
import { Manifest } from '../types';
|
|
4
|
-
import {
|
|
4
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
5
5
|
import { HookManager } from '../hooks/HookManager';
|
|
6
6
|
|
|
7
7
|
export declare const createReflowableSpineItem: ({ item, context, containerElement, viewportState$, settings, hookManager, }: {
|
|
@@ -9,7 +9,7 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
|
|
|
9
9
|
containerElement: HTMLElement;
|
|
10
10
|
context: Context;
|
|
11
11
|
viewportState$: Observable<`free` | `busy`>;
|
|
12
|
-
settings:
|
|
12
|
+
settings: ReaderSettingsManager;
|
|
13
13
|
hookManager: HookManager;
|
|
14
14
|
}) => {
|
|
15
15
|
layout: ({ blankPagePosition, minimumWidth, }: {
|
|
@@ -29,7 +29,7 @@ export declare const createReflowableSpineItem: ({ item, context, containerEleme
|
|
|
29
29
|
mediaType?: string;
|
|
30
30
|
};
|
|
31
31
|
load: () => void;
|
|
32
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
32
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
33
33
|
right?: number;
|
|
34
34
|
left?: number;
|
|
35
35
|
top?: number;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Context } from './context/Context';
|
|
2
2
|
import { SpineItem } from './spineItem/createSpineItem';
|
|
3
|
-
import {
|
|
3
|
+
import { ReaderSettingsManager } from './settings/ReaderSettingsManager';
|
|
4
4
|
|
|
5
|
-
export declare const createSpineItemManager: ({ context, settings }: {
|
|
5
|
+
export declare const createSpineItemManager: ({ context, settings, }: {
|
|
6
6
|
context: Context;
|
|
7
|
-
settings:
|
|
7
|
+
settings: ReaderSettingsManager;
|
|
8
8
|
}) => {
|
|
9
9
|
destroyItems: () => void;
|
|
10
10
|
add: (spineItem: SpineItem) => void;
|
|
@@ -27,7 +27,7 @@ export declare const createSpineItemManager: ({ context, settings }: {
|
|
|
27
27
|
mediaType?: string;
|
|
28
28
|
};
|
|
29
29
|
load: () => void;
|
|
30
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
30
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
31
31
|
right?: number;
|
|
32
32
|
left?: number;
|
|
33
33
|
top?: number;
|
|
@@ -180,7 +180,7 @@ export declare const createSpineItemManager: ({ context, settings }: {
|
|
|
180
180
|
mediaType?: string;
|
|
181
181
|
};
|
|
182
182
|
load: () => void;
|
|
183
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
183
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
184
184
|
right?: number;
|
|
185
185
|
left?: number;
|
|
186
186
|
top?: number;
|
|
@@ -346,7 +346,7 @@ export declare const createSpineItemManager: ({ context, settings }: {
|
|
|
346
346
|
mediaType?: string;
|
|
347
347
|
};
|
|
348
348
|
load: () => void;
|
|
349
|
-
adjustPositionOfElement: ({ right, left, top }: {
|
|
349
|
+
adjustPositionOfElement: ({ right, left, top, }: {
|
|
350
350
|
right?: number;
|
|
351
351
|
left?: number;
|
|
352
352
|
top?: number;
|
package/dist/types/reader.d.ts
CHANGED
|
@@ -4,12 +4,12 @@ import { Pagination } from '../pagination/pagination';
|
|
|
4
4
|
import { Manifest } from '@prose-reader/shared';
|
|
5
5
|
import { SpineItemManager } from '../spineItemManager';
|
|
6
6
|
import { ViewportNavigator } from '../viewportNavigator/viewportNavigator';
|
|
7
|
-
import {
|
|
8
|
-
import { Settings } from '../settings/types';
|
|
7
|
+
import { ComputedCoreSettings, CoreInputSettings } from '../settings/types';
|
|
9
8
|
import { Context } from '../context/Context';
|
|
10
9
|
import { HookManager } from '../hooks/HookManager';
|
|
10
|
+
import { SettingsInterface } from '../settings/SettingsInterface';
|
|
11
11
|
|
|
12
|
-
export type ContextSettings = Partial<
|
|
12
|
+
export type ContextSettings = Partial<CoreInputSettings>;
|
|
13
13
|
export type LoadOptions = {
|
|
14
14
|
cfi?: string | null;
|
|
15
15
|
containerElement: HTMLElement;
|
|
@@ -19,7 +19,7 @@ export type ReaderInternal = {
|
|
|
19
19
|
spine: Spine;
|
|
20
20
|
spineItemManager: SpineItemManager;
|
|
21
21
|
viewportNavigator: ViewportNavigator;
|
|
22
|
-
settings:
|
|
22
|
+
settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
|
|
23
23
|
hookManager: HookManager;
|
|
24
24
|
layout: () => void;
|
|
25
25
|
load: (manifest: Manifest, loadOptions: LoadOptions) => void;
|
package/dist/utils/objects.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export declare const isShallowEqual: <T = any, R = any>(objectA: T, objectB: R,
|
|
|
4
4
|
}) => boolean;
|
|
5
5
|
export declare const groupBy: <T, K extends keyof any>(list: T[], getKey: (item: T) => K) => Record<K, T[]>;
|
|
6
6
|
export declare const getBase64FromBlob: (data: Blob) => Promise<string>;
|
|
7
|
+
export declare function shallowMergeIfDefined<T, U>(obj1: T, obj2: U): T & U;
|
|
@@ -13,10 +13,10 @@ export declare const createManualViewportNavigator: ({ navigator, spineItemManag
|
|
|
13
13
|
}) => {
|
|
14
14
|
destroy: () => void;
|
|
15
15
|
adjustReadingOffset: () => boolean;
|
|
16
|
-
turnLeft: ({ allowSpineItemChange }?: {
|
|
16
|
+
turnLeft: ({ allowSpineItemChange, }?: {
|
|
17
17
|
allowSpineItemChange?: boolean;
|
|
18
18
|
}) => void;
|
|
19
|
-
turnRight: ({ allowSpineItemChange }?: {
|
|
19
|
+
turnRight: ({ allowSpineItemChange, }?: {
|
|
20
20
|
allowSpineItemChange?: boolean;
|
|
21
21
|
}) => void;
|
|
22
22
|
goToCfi: (cfi: string, options?: {
|
|
@@ -4,7 +4,7 @@ import { SpineItemManager } from '../spineItemManager';
|
|
|
4
4
|
import { createNavigationResolver, ViewportNavigationEntry } from '../spine/navigationResolver';
|
|
5
5
|
import { createLocationResolver } from '../spine/locationResolver';
|
|
6
6
|
import { ViewportPosition } from '../types';
|
|
7
|
-
import {
|
|
7
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
8
8
|
|
|
9
9
|
export declare const createPanViewportNavigator: ({ getCurrentViewportPosition, navigator, spineItemManager, locator, context, currentNavigationSubject$, settings, }: {
|
|
10
10
|
context: Context;
|
|
@@ -13,7 +13,7 @@ export declare const createPanViewportNavigator: ({ getCurrentViewportPosition,
|
|
|
13
13
|
spineItemManager: SpineItemManager;
|
|
14
14
|
locator: ReturnType<typeof createLocationResolver>;
|
|
15
15
|
getCurrentViewportPosition: () => ViewportPosition;
|
|
16
|
-
settings:
|
|
16
|
+
settings: ReaderSettingsManager;
|
|
17
17
|
}) => {
|
|
18
18
|
moveTo: ((delta: {
|
|
19
19
|
x: number;
|
|
@@ -4,12 +4,12 @@ import { Spine } from '../spine/createSpine';
|
|
|
4
4
|
import { createNavigationResolver, ViewportNavigationEntry } from '../spine/navigationResolver';
|
|
5
5
|
import { SpineItemManager } from '../spineItemManager';
|
|
6
6
|
import { ViewportPosition } from '../types';
|
|
7
|
-
import {
|
|
7
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
8
8
|
|
|
9
9
|
type ScaledDownPosition = ViewportPosition;
|
|
10
10
|
export declare const createScrollViewportNavigator: ({ context, element$, navigator, currentNavigationSubject$, settings, spine, }: {
|
|
11
11
|
context: Context;
|
|
12
|
-
settings:
|
|
12
|
+
settings: ReaderSettingsManager;
|
|
13
13
|
element$: BehaviorSubject<HTMLElement>;
|
|
14
14
|
navigator: ReturnType<typeof createNavigationResolver>;
|
|
15
15
|
currentNavigationSubject$: BehaviorSubject<ViewportNavigationEntry>;
|
|
@@ -7,7 +7,7 @@ import { BehaviorSubject, Observable } from 'rxjs';
|
|
|
7
7
|
import { createCfiLocator } from '../spine/cfiLocator';
|
|
8
8
|
import { LastUserExpectedNavigation, Navigation } from './types';
|
|
9
9
|
import { Spine } from '../spine/createSpine';
|
|
10
|
-
import {
|
|
10
|
+
import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
|
|
11
11
|
import { HookManager } from '../hooks/HookManager';
|
|
12
12
|
|
|
13
13
|
export declare const createViewportNavigator: ({ spineItemManager, context, pagination, parentElement$, cfiLocator, spineLocator, hookManager, spine, settings, }: {
|
|
@@ -19,7 +19,7 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
|
|
|
19
19
|
spineLocator: ReturnType<typeof createLocationResolver>;
|
|
20
20
|
hookManager: HookManager;
|
|
21
21
|
spine: Spine;
|
|
22
|
-
settings:
|
|
22
|
+
settings: ReaderSettingsManager;
|
|
23
23
|
}) => {
|
|
24
24
|
destroy: () => void;
|
|
25
25
|
layout: () => void;
|
|
@@ -31,10 +31,10 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
|
|
|
31
31
|
x: number;
|
|
32
32
|
y: number;
|
|
33
33
|
}>);
|
|
34
|
-
turnLeft: ({ allowSpineItemChange }?: {
|
|
34
|
+
turnLeft: ({ allowSpineItemChange, }?: {
|
|
35
35
|
allowSpineItemChange?: boolean;
|
|
36
36
|
}) => void;
|
|
37
|
-
turnRight: ({ allowSpineItemChange }?: {
|
|
37
|
+
turnRight: ({ allowSpineItemChange, }?: {
|
|
38
38
|
allowSpineItemChange?: boolean;
|
|
39
39
|
}) => void;
|
|
40
40
|
goToPage: (pageIndex: number) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.61.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.umd.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tsc": "tsc"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@prose-reader/shared": "^1.
|
|
28
|
+
"@prose-reader/shared": "^1.61.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"rxjs": "*"
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"jsdom": "^24.0.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "3236a7970b14582c47340ed53bf307877fcab0a2"
|
|
37
37
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Observable, ObservedValueOf } from 'rxjs';
|
|
2
|
-
import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
|
|
3
|
-
|
|
4
|
-
declare const FONT_WEIGHT: readonly [100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
5
|
-
declare const FONT_JUSTIFICATION: readonly ["center", "left", "right", "justify"];
|
|
6
|
-
type Options = {
|
|
7
|
-
fontScale?: number;
|
|
8
|
-
lineHeight?: number | `publisher`;
|
|
9
|
-
fontWeight?: (typeof FONT_WEIGHT)[number] | `publisher`;
|
|
10
|
-
fontJustification?: (typeof FONT_JUSTIFICATION)[number] | `publisher`;
|
|
11
|
-
};
|
|
12
|
-
type OutputOptions = Required<Options>;
|
|
13
|
-
export declare const fontsEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer>, SetSettings extends (settings: Parameters<InheritOutput["settings"]["setSettings"]>[0] & Options) => void, Settings$ extends Observable<ObservedValueOf<InheritOutput["settings"]["settings$"]> & OutputOptions>, Output extends Omit<InheritOutput, "settings"> & {
|
|
14
|
-
settings: Omit<InheritOutput["settings"], "setSettings" | "settings$"> & {
|
|
15
|
-
settings$: Settings$;
|
|
16
|
-
setSettings: SetSettings;
|
|
17
|
-
};
|
|
18
|
-
}>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => Output;
|
|
19
|
-
export {};
|