@prose-reader/core 1.323.0 → 1.325.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 (30) hide show
  1. package/dist/context/Context.d.ts +5 -7
  2. package/dist/createReaderWithEnhancer.d.ts +9 -7
  3. package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +1 -1
  4. package/dist/enhancers/html/renderer/reflowable/renderReflowable.d.ts +1 -1
  5. package/dist/enhancers/layout/spreadMode.d.ts +2 -2
  6. package/dist/enhancers/layout/updateSpreadMode.d.ts +1 -1
  7. package/dist/enhancers/navigation/index.d.ts +1 -1
  8. package/dist/enhancers/navigation/resolvers/getSpineItemPositionForLeftPage.d.ts +1 -1
  9. package/dist/enhancers/navigation/types.d.ts +0 -4
  10. package/dist/hooks/types.d.ts +2 -2
  11. package/dist/index.cjs +14 -18
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.js +766 -857
  14. package/dist/index.js.map +1 -1
  15. package/dist/manifest/isFullyPrePaginated.d.ts +1 -1
  16. package/dist/navigation/controllers/ControlledNavigationController.d.ts +1 -0
  17. package/dist/navigation/controllers/ScrollNavigationController.d.ts +1 -0
  18. package/dist/pagination/index.d.ts +1 -1
  19. package/dist/reader.d.ts +9 -7
  20. package/dist/reader.test.d.ts +1 -0
  21. package/dist/settings/computeSpreadMode.d.ts +1 -1
  22. package/dist/spine/SpineItemsManager.d.ts +1 -0
  23. package/dist/spineItem/renderer/DefaultRenderer.d.ts +1 -1
  24. package/dist/spineItem/renderer/DocumentRenderer.d.ts +1 -1
  25. package/dist/tests/utils.d.ts +2 -0
  26. package/dist/utils/ReactiveEntity.d.ts +1 -0
  27. package/package.json +4 -4
  28. package/dist/enhancers/resources/index.d.ts +0 -2
  29. package/dist/enhancers/resources/indexedDB.d.ts +0 -6
  30. package/dist/enhancers/resources/resourcesManager.d.ts +0 -6
@@ -1,2 +1,2 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
- export declare const isFullyPrePaginated: (manifest?: Manifest) => boolean | undefined;
2
+ export declare const isFullyPrePaginated: (manifest: Manifest) => boolean;
@@ -22,6 +22,7 @@ export declare class ControlledNavigationController extends DestroyableClass imp
22
22
  constructor(settings: ReaderSettingsManager, hookManager: HookManager, context: Context, spine: Spine, viewport: Viewport);
23
23
  protected applyNavigationPosition(position: ControlledNavigationEntry["position"]): void;
24
24
  navigate(navigation: NavigationModeControllerNavigationEntry): void;
25
+ destroy(): void;
25
26
  isActive: () => boolean;
26
27
  getNavigationVisibleArea: () => AbsoluteViewport;
27
28
  get viewportPosition(): SpinePosition;
@@ -32,6 +32,7 @@ export declare class ScrollNavigationController extends ReactiveEntity<{
32
32
  update(value: Partial<{
33
33
  element: HTMLElement | undefined;
34
34
  }>): void;
35
+ destroy(): void;
35
36
  navigate(navigation: NavigationModeControllerNavigationEntry): void;
36
37
  isActive: () => boolean;
37
38
  getNavigationVisibleArea: () => RelativeViewport;
@@ -1,3 +1,3 @@
1
1
  export * from './Pagination';
2
- export * from './types';
3
2
  export * from './PaginationController';
3
+ export * from './types';
package/dist/reader.d.ts CHANGED
@@ -1,6 +1,7 @@
1
+ import { Manifest } from '@prose-reader/shared';
1
2
  import { Observable, ObservedValueOf, Subject } from 'rxjs';
2
3
  import { CfiManager } from './cfi';
3
- import { Context, ContextState } from './context/Context';
4
+ import { Context } from './context/Context';
4
5
  import { Features } from './features/Features';
5
6
  import { HookManager } from './hooks/HookManager';
6
7
  import { Pagination } from './pagination/Pagination';
@@ -14,14 +15,17 @@ import { CoreHook } from './hooks';
14
15
  import { InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, UserNavigationEntry, SpinePosition, SpineItemPosition, SpineItem, UnboundSpinePosition, NavigationVisibleArea, SpineBoundary, SpineItemsObserver, CoreOutputSettings } from '.';
15
16
  import { getNavigationForSpineItemPage } from './navigation/resolvers/getNavigationForSpineItemPage';
16
17
  import { PaginationInfo } from './pagination';
17
- export type CreateReaderOptions = Partial<CoreInputSettings>;
18
+ export type CreateReaderOptions = Partial<CoreInputSettings> & {
19
+ manifest: Manifest;
20
+ cfi?: string;
21
+ };
18
22
  export type CreateReaderParameters = CreateReaderOptions;
19
23
  export type ContextSettings = Partial<CoreInputSettings>;
20
24
  export type ReaderInternal = ReturnType<typeof createReader>;
21
25
  type ReaderLayoutOptions = {
22
26
  immediate?: boolean;
23
27
  };
24
- export declare const createReader: (inputSettings: CreateReaderOptions) => {
28
+ export declare const createReader: ({ manifest, cfi: _cfi, ...inputSettings }: CreateReaderOptions) => {
25
29
  id: `${string}-${string}-${string}-${string}-${string}`;
26
30
  context: Context;
27
31
  spine: Spine;
@@ -77,9 +81,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
77
81
  spineItemsObserver: SpineItemsObserver;
78
82
  spineItemsManager: SpineItemsManager;
79
83
  layout: (options?: ReaderLayoutOptions) => void;
80
- load: (options: Required<Pick<ContextState, "manifest"> & {
81
- containerElement: HTMLElement;
82
- }>) => void;
84
+ mount: (containerElement: HTMLElement) => void;
83
85
  destroy: () => void;
84
86
  pagination: {
85
87
  readonly state: PaginationInfo;
@@ -93,7 +95,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
93
95
  viewport: Viewport;
94
96
  viewportState$: Observable<"free" | "busy">;
95
97
  viewportFree$: Observable<"free">;
96
- state$: Observable<"idle" | "ready">;
98
+ mounted$: Observable<boolean>;
97
99
  features: Features;
98
100
  $: {
99
101
  destroy$: Subject<void>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
2
  export declare const computeSpreadMode: ({ manifest, spreadMode, }: {
3
3
  spreadMode: boolean;
4
- manifest?: Manifest;
4
+ manifest: Manifest;
5
5
  }) => boolean;
@@ -15,4 +15,5 @@ export declare class SpineItemsManager extends DestroyableClass {
15
15
  addMany(spineItems: SpineItem[]): void;
16
16
  get items(): SpineItem[];
17
17
  destroyItems(): void;
18
+ destroy(): void;
18
19
  }
@@ -1,7 +1,7 @@
1
1
  import { DocumentRenderer } from './DocumentRenderer';
2
2
  import { Observable } from 'rxjs';
3
3
  export declare class DefaultRenderer extends DocumentRenderer {
4
- onUnload(): Observable<never>;
4
+ onUnload(): void;
5
5
  onCreateDocument(): Observable<HTMLDivElement>;
6
6
  onLoadDocument(): Observable<never>;
7
7
  onLayout(): Observable<undefined>;
@@ -65,7 +65,7 @@ export declare abstract class DocumentRenderer extends ReactiveEntity<DocumentRe
65
65
  abstract onRenderHeadless(params: {
66
66
  release: Observable<void>;
67
67
  }): Observable<Document | undefined>;
68
- abstract onUnload(): Observable<unknown>;
68
+ abstract onUnload(): void;
69
69
  abstract onCreateDocument(): Observable<HTMLElement>;
70
70
  abstract onLoadDocument(): Observable<unknown>;
71
71
  abstract onLayout(params: LayoutParams): Observable<{
@@ -1 +1,3 @@
1
+ import { Manifest } from '@prose-reader/shared';
1
2
  export declare const waitFor: (timeout: number) => Promise<unknown>;
3
+ export declare const createTestManifest: (manifest?: Partial<Manifest>) => Manifest;
@@ -2,6 +2,7 @@ import { BehaviorSubject, Observable, Subject } from 'rxjs';
2
2
  export declare class ReactiveEntity<T extends Record<string, unknown>> extends Observable<T> {
3
3
  protected stateSubject: BehaviorSubject<T>;
4
4
  protected _destroy$: Subject<void>;
5
+ protected isDestroyed: boolean;
5
6
  state$: Observable<T>;
6
7
  constructor(initialState: T);
7
8
  protected next(value: T): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.323.0",
3
+ "version": "1.325.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.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.323.0",
27
- "@prose-reader/shared": "^1.323.0"
26
+ "@prose-reader/cfi": "^1.325.0",
27
+ "@prose-reader/shared": "^1.325.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "rxjs": "*"
@@ -40,5 +40,5 @@
40
40
  }
41
41
  }
42
42
  },
43
- "gitHead": "a4b2ecb1190781afe7cd2516a20f936fc82e93ca"
43
+ "gitHead": "b450baa3343e03a2d6adb584124325fe9f54ca68"
44
44
  }
@@ -1,2 +0,0 @@
1
- import { EnhancerOutput, RootEnhancer } from '../types/enhancer';
2
- export declare const resourcesEnhancer: <InheritOptions, InheritOutput extends EnhancerOutput<RootEnhancer>>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -1,6 +0,0 @@
1
- export declare const openDatabase: (name: string) => Promise<{
2
- put: (key: string, data: Blob) => Promise<void>;
3
- keys: () => Promise<IDBValidKey[]>;
4
- get: (key: string) => Promise<Blob | null>;
5
- remove: (key: globalThis.IDBValidKey) => Promise<void>;
6
- }>;
@@ -1,6 +0,0 @@
1
- import { Manifest } from '../..';
2
- import { Context } from '../../context/Context';
3
- export declare const createResourcesManager: (context: Context) => {
4
- get: (itemIndexOrId: number | Pick<Manifest[`spineItems`][number], `id`>, fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>) => Promise<Response>;
5
- destroy: () => void;
6
- };