@prose-reader/core 1.58.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.
Files changed (38) hide show
  1. package/dist/createReaderWithEnhancer.d.ts +4 -48
  2. package/dist/enhancers/fonts/SettingsManager.d.ts +10 -0
  3. package/dist/enhancers/fonts/fonts.d.ts +7 -0
  4. package/dist/enhancers/fonts/types.d.ts +9 -0
  5. package/dist/enhancers/layoutEnhancer/SettingsManager.d.ts +10 -0
  6. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +5 -8
  7. package/dist/enhancers/layoutEnhancer/types.d.ts +5 -7
  8. package/dist/index.js +290 -212
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.umd.cjs +223 -145
  11. package/dist/index.umd.cjs.map +1 -1
  12. package/dist/reader.d.ts +2 -2
  13. package/dist/settings/ReaderSettingsManager.d.ts +32 -0
  14. package/dist/settings/SettingsInterface.d.ts +13 -0
  15. package/dist/settings/SettingsManagerOverload.d.ts +23 -0
  16. package/dist/settings/types.d.ts +7 -6
  17. package/dist/spine/createSpine.d.ts +2 -2
  18. package/dist/spine/locationResolver.d.ts +2 -2
  19. package/dist/spine/navigationResolver.d.ts +2 -2
  20. package/dist/spineItem/commonSpineItem.d.ts +2 -2
  21. package/dist/spineItem/createSpineItem.d.ts +2 -2
  22. package/dist/spineItem/frameItem/frameItem.d.ts +2 -2
  23. package/dist/spineItem/frameItem/loader.d.ts +2 -2
  24. package/dist/spineItem/navigationResolver.d.ts +2 -2
  25. package/dist/spineItem/prePaginatedSpineItem.d.ts +2 -2
  26. package/dist/spineItem/reflowableSpineItem.d.ts +2 -2
  27. package/dist/spineItemManager.d.ts +2 -2
  28. package/dist/types/reader.d.ts +4 -4
  29. package/dist/utils/objects.d.ts +1 -0
  30. package/dist/viewportNavigator/panViewportNavigator.d.ts +2 -2
  31. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +2 -2
  32. package/dist/viewportNavigator/viewportNavigator.d.ts +2 -2
  33. package/package.json +3 -3
  34. package/dist/enhancers/fonts.d.ts +0 -19
  35. package/dist/settings/SettingsManager.d.ts +0 -14
  36. package/dist/settings/defaultSettings.d.ts +0 -3
  37. package/dist/settings/getComputedSettings.d.ts +0 -4
  38. 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 { Settings } from './settings/types';
2
+ import { CoreInputSettings } from './settings/types';
3
3
 
4
- export type CreateReaderOptions = Partial<Settings>;
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
+ }
@@ -1,19 +1,20 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
2
 
3
- export type Settings = {
3
+ export type CoreInputSettings = {
4
4
  forceSinglePageMode: boolean;
5
5
  pageTurnAnimation: `none` | `fade` | `slide`;
6
6
  pageTurnAnimationDuration: undefined | number;
7
7
  pageTurnDirection: `vertical` | `horizontal`;
8
8
  pageTurnMode: `controlled` | `scrollable`;
9
+ snapAnimationDuration: number;
9
10
  navigationSnapThreshold: number;
10
11
  numberOfAdjacentSpineItemToPreLoad: number;
11
12
  fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
12
13
  };
13
- export type ComputedSettings = Settings & {
14
- computedPageTurnMode: Settings[`pageTurnMode`];
15
- computedPageTurnDirection: Settings[`pageTurnDirection`];
16
- computedPageTurnAnimation: Settings[`pageTurnAnimation`];
14
+ export type ComputedCoreSettings = {
15
+ computedPageTurnMode: CoreInputSettings[`pageTurnMode`];
16
+ computedPageTurnDirection: CoreInputSettings[`pageTurnDirection`];
17
+ computedPageTurnAnimation: CoreInputSettings[`pageTurnAnimation`];
17
18
  computedPageTurnAnimationDuration: number;
18
- computedSnapAnimationDuration: 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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
4
+ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
5
5
 
6
6
  export declare const createNavigationResolver: ({ context }: {
7
7
  context: Context;
8
- settings: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from './settings/SettingsManager';
3
+ import { ReaderSettingsManager } from './settings/ReaderSettingsManager';
4
4
 
5
5
  export declare const createSpineItemManager: ({ context, settings }: {
6
6
  context: Context;
7
- settings: SettingsManager;
7
+ settings: ReaderSettingsManager;
8
8
  }) => {
9
9
  destroyItems: () => void;
10
10
  add: (spineItem: SpineItem) => void;
@@ -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 { SettingsManager } from '../settings/SettingsManager';
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<Settings>;
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: SettingsManager;
22
+ settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
23
23
  hookManager: HookManager;
24
24
  layout: () => void;
25
25
  load: (manifest: Manifest, loadOptions: LoadOptions) => void;
@@ -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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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.58.0",
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.58.0"
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": "c7f234ad646ac19da49d191e4e12e6d0ca1ced55"
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
- }
@@ -1,3 +0,0 @@
1
- import { Settings } from './types';
2
-
3
- export declare const defaultSettings: Settings;
@@ -1,4 +0,0 @@
1
- import { ComputedSettings, Settings } from './types';
2
- import { Context } from '../context/Context';
3
-
4
- export declare const getComputedSettings: (settings: Settings, context: Context) => Omit<ComputedSettings, keyof Settings>;
@@ -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 };