@prose-reader/core 1.59.0 → 1.60.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/index.js +289 -210
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +222 -143
- package/dist/index.umd.cjs.map +1 -1
- package/dist/reader.d.ts +2 -2
- package/dist/settings/ReaderSettingsManager.d.ts +32 -0
- package/dist/settings/SettingsInterface.d.ts +13 -0
- package/dist/settings/SettingsManagerOverload.d.ts +23 -0
- package/dist/settings/types.d.ts +6 -5
- package/dist/spine/createSpine.d.ts +2 -2
- package/dist/spine/locationResolver.d.ts +2 -2
- package/dist/spine/navigationResolver.d.ts +2 -2
- package/dist/spineItem/commonSpineItem.d.ts +2 -2
- package/dist/spineItem/createSpineItem.d.ts +2 -2
- package/dist/spineItem/frameItem/frameItem.d.ts +2 -2
- package/dist/spineItem/frameItem/loader.d.ts +2 -2
- package/dist/spineItem/navigationResolver.d.ts +2 -2
- package/dist/spineItem/prePaginatedSpineItem.d.ts +2 -2
- package/dist/spineItem/reflowableSpineItem.d.ts +2 -2
- package/dist/spineItemManager.d.ts +2 -2
- package/dist/types/reader.d.ts +4 -4
- package/dist/utils/objects.d.ts +1 -0
- package/dist/viewportNavigator/panViewportNavigator.d.ts +2 -2
- package/dist/viewportNavigator/scrollViewportNavigator.d.ts +2 -2
- package/dist/viewportNavigator/viewportNavigator.d.ts +2 -2
- package/package.json +3 -3
- package/dist/enhancers/fonts.d.ts +0 -19
- package/dist/settings/SettingsManager.d.ts +0 -14
- package/dist/settings/defaultSettings.d.ts +0 -3
- package/dist/settings/getComputedSettings.d.ts +0 -4
- package/dist/utils/compose.d.ts +0 -8
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,32 @@
|
|
|
1
|
+
import { Observable, Subject } from 'rxjs';
|
|
2
|
+
import { CoreInputSettings, ComputedCoreSettings, CoreOutputSettings } from './types';
|
|
3
|
+
import { Context } from '../context/Context';
|
|
4
|
+
import { SettingsInterface } from './SettingsInterface';
|
|
5
|
+
|
|
6
|
+
export declare class ReaderSettingsManager implements SettingsInterface<CoreInputSettings, CoreOutputSettings> {
|
|
7
|
+
#private;
|
|
8
|
+
protected outputSettings: CoreOutputSettings;
|
|
9
|
+
protected outputSettingsUpdateSubject: Subject<CoreOutputSettings>;
|
|
10
|
+
settings$: Observable<CoreOutputSettings>;
|
|
11
|
+
constructor(initialSettings: Partial<CoreInputSettings>, context: Context);
|
|
12
|
+
private getComputedSettings;
|
|
13
|
+
_prepareUpdate(settings: Partial<CoreInputSettings>): {
|
|
14
|
+
hasChanged: boolean;
|
|
15
|
+
state: CoreInputSettings & ComputedCoreSettings;
|
|
16
|
+
commit: () => void;
|
|
17
|
+
};
|
|
18
|
+
getOutputSettings(inputSettings: Partial<CoreInputSettings>): CoreInputSettings & ComputedCoreSettings;
|
|
19
|
+
getDefaultSettings(): {
|
|
20
|
+
forceSinglePageMode: boolean;
|
|
21
|
+
pageTurnAnimation: "none";
|
|
22
|
+
pageTurnDirection: "horizontal";
|
|
23
|
+
pageTurnAnimationDuration: undefined;
|
|
24
|
+
pageTurnMode: "controlled";
|
|
25
|
+
snapAnimationDuration: number;
|
|
26
|
+
navigationSnapThreshold: number;
|
|
27
|
+
numberOfAdjacentSpineItemToPreLoad: number;
|
|
28
|
+
};
|
|
29
|
+
update(settings: Partial<CoreInputSettings>): void;
|
|
30
|
+
get settings(): CoreOutputSettings;
|
|
31
|
+
destroy(): void;
|
|
32
|
+
}
|
|
@@ -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: () => void;
|
|
9
|
+
};
|
|
10
|
+
update(settings: Partial<InputSettings>): void;
|
|
11
|
+
settings$: Observable<OutputSettings>;
|
|
12
|
+
settings: OutputSettings;
|
|
13
|
+
}
|
|
@@ -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(): 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: () => void;
|
|
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;
|
|
@@ -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;
|
|
@@ -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: {
|
|
@@ -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, }: {
|
|
@@ -2,7 +2,7 @@ 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
8
|
export declare const createFrameItem: ({ item, parent, fetchResource, context, viewportState$, settings, hookManager, }: {
|
|
@@ -11,7 +11,7 @@ export declare const createFrameItem: ({ item, parent, fetchResource, context, v
|
|
|
11
11
|
context: Context;
|
|
12
12
|
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
13
13
|
viewportState$: Observable<`free` | `busy`>;
|
|
14
|
-
settings:
|
|
14
|
+
settings: ReaderSettingsManager;
|
|
15
15
|
hookManager: HookManager;
|
|
16
16
|
}) => {
|
|
17
17
|
getIsLoaded: () => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
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
7
|
export declare const createLoader: ({ item, parent, fetchResource, context, viewportState$, settings, hookManager, }: {
|
|
@@ -9,7 +9,7 @@ export declare const createLoader: ({ item, parent, fetchResource, context, view
|
|
|
9
9
|
parent: HTMLElement;
|
|
10
10
|
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
11
11
|
context: Context;
|
|
12
|
-
settings:
|
|
12
|
+
settings: ReaderSettingsManager;
|
|
13
13
|
viewportState$: Observable<`free` | `busy`>;
|
|
14
14
|
hookManager: HookManager;
|
|
15
15
|
}) => {
|
|
@@ -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
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, }: {
|
|
@@ -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, }: {
|
|
@@ -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
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;
|
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;
|
|
@@ -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;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.60.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.60.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": "b4ec027f088e083a6f66c77dcef3b3e585802763"
|
|
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 {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, Observable } from 'rxjs';
|
|
2
|
-
import { Settings, ComputedSettings } from './types';
|
|
3
|
-
import { Context } from '../context/Context';
|
|
4
|
-
|
|
5
|
-
export declare class SettingsManager {
|
|
6
|
-
_settingsSubject$: BehaviorSubject<ComputedSettings>;
|
|
7
|
-
_context: Context;
|
|
8
|
-
settings$: Observable<ComputedSettings>;
|
|
9
|
-
constructor(initialSettings: Partial<Settings>, context: Context);
|
|
10
|
-
_updateSettings(settings: Settings): void;
|
|
11
|
-
setSettings(settings: Partial<Settings>): void;
|
|
12
|
-
get settings(): ComputedSettings;
|
|
13
|
-
destroy(): void;
|
|
14
|
-
}
|
package/dist/utils/compose.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
type Func<T extends any[], R> = (...a: T) => R;
|
|
2
|
-
declare function compose<F extends Function>(f: F): F;
|
|
3
|
-
declare function compose<A, T extends any[], R>(f1: (a: A) => R, f2: Func<T, A>): Func<T, R>;
|
|
4
|
-
declare function compose<A, B, T extends any[], R>(f1: (b: B) => R, f2: (a: A) => B, f3: Func<T, A>): Func<T, R>;
|
|
5
|
-
declare function compose<A, B, C, T extends any[], R>(f1: (c: C) => R, f2: (b: B) => C, f3: (a: A) => B, f4: Func<T, A>): Func<T, R>;
|
|
6
|
-
declare function compose<R>(f1: (a: any) => R, ...funcs: Function[]): (...args: any[]) => R;
|
|
7
|
-
declare function compose<R>(...funcs: Function[]): (...args: any[]) => R;
|
|
8
|
-
export { compose };
|