@prose-reader/core 1.133.0 → 1.134.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/report.d.ts CHANGED
@@ -3,6 +3,7 @@ export declare const Report: {
3
3
  log: (...data: any[]) => void;
4
4
  warn: (...data: any[]) => void;
5
5
  info: (...data: any[]) => void;
6
+ debug: any;
6
7
  error: (...data: any[]) => void;
7
8
  time: (name: string, targetDuration?: number) => () => void;
8
9
  logMetric: (performanceEntry: PerformanceEntry | {
@@ -16,6 +17,7 @@ export declare const Report: {
16
17
  log: (...data: any[]) => void;
17
18
  warn: (...data: any[]) => void;
18
19
  info: (...data: any[]) => void;
20
+ debug: any;
19
21
  error: (...data: any[]) => void;
20
22
  time: (name: string, targetDuration?: number) => () => void;
21
23
  logMetric: (performanceEntry: PerformanceEntry | {
@@ -1,7 +1,7 @@
1
1
  import { Observable, Subject } from 'rxjs';
2
2
  import { SettingsInterface } from './SettingsInterface';
3
3
  import { DestroyableClass } from '../utils/DestroyableClass';
4
- export declare abstract class SettingsManager<InputSettings, OutputSettings> extends DestroyableClass implements SettingsInterface<InputSettings, OutputSettings> {
4
+ export declare abstract class SettingsManager<InputSettings, OutputSettings extends Record<string, unknown>> extends DestroyableClass implements SettingsInterface<InputSettings, OutputSettings> {
5
5
  protected inputSettings: InputSettings;
6
6
  protected outputSettings?: OutputSettings;
7
7
  protected outputSettingsUpdateSubject: Subject<OutputSettings>;
@@ -17,5 +17,6 @@ export declare abstract class SettingsManager<InputSettings, OutputSettings> ext
17
17
  update(settings: Partial<InputSettings>): void;
18
18
  get values(): OutputSettings;
19
19
  get values$(): Observable<OutputSettings>;
20
+ watch<K extends keyof OutputSettings>(keys: K[]): Observable<Pick<OutputSettings, K>>;
20
21
  destroy(): void;
21
22
  }
@@ -1,4 +1,4 @@
1
- import { Observable, Subject } from 'rxjs';
1
+ import { Observable, ObservedValueOf, Subject } from 'rxjs';
2
2
  import { SettingsInterface } from './SettingsInterface';
3
3
  import { CoreInputSettings, CoreOutputSettings } from './types';
4
4
  export declare abstract class SettingsManagerOverload<InputSettings, OutputSettings, ParentInputSettings extends CoreInputSettings, ParentOutputSettings extends CoreOutputSettings> implements SettingsInterface<InputSettings & ParentInputSettings, OutputSettings & ParentOutputSettings> {
@@ -18,5 +18,6 @@ export declare abstract class SettingsManagerOverload<InputSettings, OutputSetti
18
18
  };
19
19
  update(settings: Partial<InputSettings & ParentInputSettings>): void;
20
20
  get values(): ParentOutputSettings & OutputSettings;
21
+ watch<K extends keyof ObservedValueOf<typeof this.values$>>(keys: K[]): Observable<Pick<ParentOutputSettings & OutputSettings, K>>;
21
22
  destroy(): void;
22
23
  }
@@ -19,7 +19,7 @@ export declare class Spine extends DestroyableClass {
19
19
  protected settings: ReaderSettingsManager;
20
20
  protected hookManager: HookManager;
21
21
  protected elementSubject: BehaviorSubject<HTMLElement>;
22
- protected spineItemsLoader: SpineItemsLoader;
22
+ readonly spineItemsLoader: SpineItemsLoader;
23
23
  locator: SpineLocator;
24
24
  elementResize$: Observable<ResizeObserverEntry[]>;
25
25
  spineItemsObserver: SpineItemsObserver;
@@ -10,5 +10,8 @@ export declare class SpineItemsLoader extends DestroyableClass {
10
10
  protected spineLocator: SpineLocator;
11
11
  protected settings: ReaderSettingsManager;
12
12
  protected spineLayout: SpineLayout;
13
+ private forcedOpenSubject;
13
14
  constructor(context: Context, spineItemsManager: SpineItemsManager, spineLocator: SpineLocator, settings: ReaderSettingsManager, spineLayout: SpineLayout);
15
+ forceOpen(spineItems: number[]): () => void;
16
+ destroy(): void;
14
17
  }
@@ -52,4 +52,5 @@ export declare class SpineItem extends DestroyableClass {
52
52
  isUsingVerticalWriting: () => boolean;
53
53
  get loaded$(): Observable<"loaded">;
54
54
  get unloaded$(): Observable<"idle">;
55
+ get renditionLayout(): "reflowable" | "pre-paginated";
55
56
  }
@@ -6,4 +6,5 @@ export declare class DefaultRenderer extends DocumentRenderer {
6
6
  onLoadDocument(): Observable<unknown>;
7
7
  onLayout(): Observable<undefined>;
8
8
  onRenderHeadless(): Observable<never>;
9
+ getDocumentFrame(): undefined;
9
10
  }
@@ -24,6 +24,7 @@ type LayoutParams = {
24
24
  };
25
25
  export declare abstract class DocumentRenderer extends DestroyableClass {
26
26
  private triggerSubject;
27
+ private lastLayoutDims;
27
28
  protected context: Context;
28
29
  protected settings: ReaderSettingsManager;
29
30
  protected hookManager: HookManager;
@@ -50,6 +51,10 @@ export declare abstract class DocumentRenderer extends DestroyableClass {
50
51
  doc: Document;
51
52
  release: () => void;
52
53
  } | undefined>;
54
+ layout(params: LayoutParams): Observable<{
55
+ width: number;
56
+ height: number;
57
+ }>;
53
58
  destroy(): void;
54
59
  abstract onRenderHeadless(params: {
55
60
  release: Observable<void>;
@@ -61,6 +66,7 @@ export declare abstract class DocumentRenderer extends DestroyableClass {
61
66
  width: number;
62
67
  height: number;
63
68
  } | undefined>;
69
+ abstract getDocumentFrame(): HTMLIFrameElement | undefined;
64
70
  get writingMode(): `vertical-rl` | `horizontal-tb` | undefined;
65
71
  get readingDirection(): `rtl` | `ltr` | undefined;
66
72
  }
@@ -1,4 +1,5 @@
1
1
  export declare class DestroyableClass {
2
+ protected isDestroyed: boolean;
2
3
  private destroySubject;
3
4
  protected destroy$: import('rxjs').Observable<void>;
4
5
  destroy(): void;
@@ -1,7 +1,5 @@
1
1
  import { Observable, OperatorFunction } from 'rxjs';
2
- export declare const mapKeysTo: <R extends {
3
- [key: string]: any;
4
- }, K extends keyof R>(keys: K[]) => OperatorFunction<R, Pick<R, K>>;
2
+ export declare const mapKeysTo: <R extends Record<string, unknown>, K extends keyof R>(keys: K[]) => OperatorFunction<R, Pick<R, K>>;
5
3
  export declare function observeResize(element: HTMLElement): Observable<ResizeObserverEntry[]>;
6
4
  export declare const waitForSwitch: <O>(waitForStream: Observable<O>) => <N>(stream: Observable<N>) => Observable<N>;
7
5
  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.133.0",
3
+ "version": "1.134.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.133.0"
28
+ "@prose-reader/shared": "^1.134.0"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "rxjs": "*"
32
32
  },
33
- "gitHead": "5e5272b9acbd61c63d927b16c6de21e517154e5e"
33
+ "gitHead": "b9b6a8fb32ccdc4628f814185f8dcd753ef333fe"
34
34
  }
@@ -1,7 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { SpineItemsManager } from '../SpineItemsManager';
3
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
- export declare const loadItems: ({ spineItemsManager, settings, }: {
5
- spineItemsManager: SpineItemsManager;
6
- settings: ReaderSettingsManager;
7
- }) => (stream: Observable<readonly [number, number]>) => Observable<readonly [number, number]>;
@@ -1,6 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
- import { SpineLocator } from '../locator/SpineLocator';
4
- export declare const mapToItemsToLoad: ({ spineLocator }: {
5
- spineLocator: SpineLocator;
6
- }) => (stream: Observable<ViewportPosition>) => Observable<readonly [number, number]>;