@prose-reader/core 1.266.0 → 1.268.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.
@@ -12,6 +12,8 @@ export type SpineItemReference = string | SpineItem | number;
12
12
  type SpineItemState = {
13
13
  isLoaded: boolean;
14
14
  isReady: boolean;
15
+ isError: boolean;
16
+ error: unknown | undefined;
15
17
  iDirty: boolean;
16
18
  };
17
19
  export declare class SpineItem extends ReactiveEntity<SpineItemState> {
@@ -37,7 +39,13 @@ export declare class SpineItem extends ReactiveEntity<SpineItemState> {
37
39
  get readingDirection(): "ltr" | "rtl" | undefined;
38
40
  isUsingVerticalWriting: () => boolean;
39
41
  get loaded$(): Observable<void>;
40
- get unloaded$(): Observable<"idle">;
42
+ get unloaded$(): Observable<{
43
+ state: `error`;
44
+ error: unknown;
45
+ } | {
46
+ state: `idle` | `loading` | `loaded` | `unloading`;
47
+ error: undefined;
48
+ }>;
41
49
  get renditionLayout(): "reflowable" | "pre-paginated";
42
50
  get numberOfPages(): number;
43
51
  }
@@ -1,9 +1,9 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
- import { BehaviorSubject, Observable } from 'rxjs';
2
+ import { Observable, BehaviorSubject } from 'rxjs';
3
3
  import { Context } from '../../context/Context';
4
4
  import { HookManager } from '../../hooks/HookManager';
5
5
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
6
- import { DestroyableClass } from '../../utils/DestroyableClass';
6
+ import { ReactiveEntity } from '../../utils/ReactiveEntity';
7
7
  import { Viewport } from '../../viewport/Viewport';
8
8
  import { ResourceHandler } from '../resources/ResourceHandler';
9
9
  export type DocumentRendererParams = {
@@ -21,7 +21,14 @@ type LayoutParams = {
21
21
  spreadPosition: `none` | `left` | `right`;
22
22
  minimumWidth: number;
23
23
  };
24
- export declare abstract class DocumentRenderer extends DestroyableClass {
24
+ type DocumentRendererState = {
25
+ state: `error`;
26
+ error: unknown;
27
+ } | {
28
+ state: `idle` | `loading` | `loaded` | `unloading`;
29
+ error: undefined;
30
+ };
31
+ export declare abstract class DocumentRenderer extends ReactiveEntity<DocumentRendererState> {
25
32
  static readonly DOCUMENT_CONTAINER_CLASS_NAME = "prose-reader-document-container";
26
33
  private triggerSubject;
27
34
  protected viewport: Viewport;
@@ -31,9 +38,6 @@ export declare abstract class DocumentRenderer extends DestroyableClass {
31
38
  protected item: Manifest[`spineItems`][number];
32
39
  protected containerElement: HTMLElement;
33
40
  protected resourcesHandler: ResourceHandler;
34
- protected stateSubject: BehaviorSubject<"loading" | "idle" | "loaded" | "unloading">;
35
- protected unload$: Observable<undefined>;
36
- protected load$: Observable<undefined>;
37
41
  loaded$: Observable<void>;
38
42
  private _documentContainer;
39
43
  constructor(params: {
@@ -48,7 +52,7 @@ export declare abstract class DocumentRenderer extends DestroyableClass {
48
52
  protected setDocumentContainer(element: HTMLElement): void;
49
53
  protected attach(): void;
50
54
  protected detach(): void;
51
- get state$(): BehaviorSubject<"loading" | "idle" | "loaded" | "unloading">;
55
+ get state$(): BehaviorSubject<DocumentRendererState>;
52
56
  get isLoaded$(): Observable<boolean>;
53
57
  load(): void;
54
58
  unload(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.266.0",
3
+ "version": "1.268.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -23,8 +23,8 @@
23
23
  "tsc": "tsc"
24
24
  },
25
25
  "dependencies": {
26
- "@prose-reader/cfi": "^1.266.0",
27
- "@prose-reader/shared": "^1.266.0"
26
+ "@prose-reader/cfi": "^1.268.0",
27
+ "@prose-reader/shared": "^1.268.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "rxjs": "*"
@@ -40,5 +40,5 @@
40
40
  }
41
41
  }
42
42
  },
43
- "gitHead": "38f1d2d8e946de1e8a7d7359d22e67fe766ae352"
43
+ "gitHead": "ea1d4fd3ac9b08026f95065866d090a315fb4b97"
44
44
  }
@@ -1,2 +0,0 @@
1
- export declare const HTML_PREFIX = "prose-reader-enhancer-loading";
2
- export declare const CONTAINER_HTML_PREFIX = "prose-reader-enhancer-loading-container";
@@ -1,7 +0,0 @@
1
- import { Manifest } from '@prose-reader/shared';
2
- import { Viewport } from '../../viewport/Viewport';
3
- export declare const createLoadingElementContainer: (containerElement: HTMLElement, viewport: Viewport) => HTMLDivElement;
4
- export declare const defaultLoadingElementCreate: ({ container, item, }: {
5
- container: HTMLElement;
6
- item: Manifest[`spineItems`][number];
7
- }) => HTMLElement;
@@ -1,23 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { Manifest } from '../..';
3
- import { themeEnhancer } from '../theme';
4
- import { EnhancerOutput } from '../types/enhancer';
5
- type Entries = {
6
- [key: string]: HTMLElement;
7
- };
8
- type Item = Manifest[`spineItems`][number];
9
- type Options = {
10
- loadingElementCreate?: (options: {
11
- container: HTMLElement;
12
- item: Item;
13
- }) => HTMLElement;
14
- };
15
- type Output = {
16
- loading: {
17
- $: {
18
- items$: Observable<Entries>;
19
- };
20
- };
21
- };
22
- export declare const loadingEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<typeof themeEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions & Options) => InheritOutput & Output;
23
- export {};