@prose-reader/core 1.204.0 → 1.206.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.
@@ -22,6 +22,9 @@ export declare class ScrollNavigationController extends ReactiveEntity<{
22
22
  userScroll$: Observable<Event>;
23
23
  constructor(viewport: Viewport, settings: ReaderSettingsManager, hookManager: HookManager, spine: Spine, context: Context);
24
24
  protected setViewportPosition: ({ position }: ViewportNavigationEntry) => void;
25
+ update(value: Partial<{
26
+ element: HTMLElement | undefined;
27
+ }>): void;
25
28
  navigate(navigation: ViewportNavigationEntry): void;
26
29
  get viewportPosition(): SpinePosition;
27
30
  }
@@ -1,7 +1,6 @@
1
- import { BehaviorSubject } from 'rxjs';
2
1
  import { Context } from '../context/Context';
3
2
  import { SpineItemsManager } from '../spine/SpineItemsManager';
4
- import { DestroyableClass } from '../utils/DestroyableClass';
3
+ import { ReactiveEntity } from '../utils/ReactiveEntity';
5
4
  export type PaginationInfo = {
6
5
  beginPageIndexInSpineItem: number | undefined;
7
6
  beginNumberOfPagesInSpineItem: number;
@@ -13,13 +12,9 @@ export type PaginationInfo = {
13
12
  endSpineItemIndex: number | undefined;
14
13
  navigationId?: symbol;
15
14
  };
16
- export declare class Pagination extends DestroyableClass {
15
+ export declare class Pagination extends ReactiveEntity<PaginationInfo> {
17
16
  protected context: Context;
18
17
  protected spineItemsManager: SpineItemsManager;
19
- protected paginationSubject: BehaviorSubject<PaginationInfo>;
20
- state$: import('rxjs').Observable<PaginationInfo>;
21
18
  constructor(context: Context, spineItemsManager: SpineItemsManager);
22
19
  update(pagination: Partial<PaginationInfo>): void;
23
- get state(): PaginationInfo;
24
- destroy(): void;
25
20
  }
package/dist/reader.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- import { Subject } from 'rxjs';
1
+ import { Observable, ObservedValueOf, Subject } from 'rxjs';
2
2
  import { resolveCfi } from './cfi/lookup/resolveCfi';
3
3
  import { Context, ContextState } from './context/Context';
4
+ import { Features } from './features/Features';
4
5
  import { HookManager } from './hooks/HookManager';
6
+ import { Pagination } from './pagination/Pagination';
5
7
  import { SettingsInterface } from './settings/SettingsInterface';
6
8
  import { CoreInputSettings } from './settings/types';
7
9
  import { Spine } from './spine/Spine';
@@ -54,7 +56,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
54
56
  scrollNavigationController: import('./navigation/controllers/ScrollNavigationController').ScrollNavigationController;
55
57
  controlledNavigationController: import('./navigation/controllers/ControlledNavigationController').ControlledNavigationController;
56
58
  locker: import('./navigation/Locker').Locker;
57
- viewportState$: import('rxjs').Observable<"free" | "busy">;
59
+ viewportState$: Observable<"free" | "busy">;
58
60
  navigate: (to: import('./navigation/types').UserNavigationEntry) => void;
59
61
  lock(): () => void;
60
62
  navigationResolver: {
@@ -88,7 +90,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
88
90
  getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => import('./spineItem/types').SpineItemPosition;
89
91
  };
90
92
  };
91
- navigation$: import('rxjs').Observable<{
93
+ navigation$: Observable<{
92
94
  position: import('./spine/types').SpinePosition;
93
95
  id: symbol;
94
96
  }>;
@@ -99,22 +101,17 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
99
101
  load: (options: Required<Pick<ContextState, "manifest" | "containerElement">>) => void;
100
102
  destroy: () => void;
101
103
  pagination: {
102
- getState: () => import('./pagination/Pagination').PaginationInfo;
103
- state$: import('rxjs').Observable<import('./pagination/Pagination').PaginationInfo>;
104
+ readonly state: import('./pagination/Pagination').PaginationInfo;
105
+ readonly state$: Observable<ObservedValueOf<Pagination>>;
104
106
  };
105
107
  settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<import('./settings/types').CoreOutputSettings | undefined>>;
106
108
  viewport: Viewport;
107
- element$: import('rxjs').Observable<HTMLElement>;
108
- viewportState$: import('rxjs').Observable<"free" | "busy">;
109
- viewportFree$: import('rxjs').Observable<"free">;
110
- state$: import('rxjs').Observable<"idle" | "ready">;
109
+ element$: Observable<HTMLElement>;
110
+ viewportState$: Observable<"free" | "busy">;
111
+ viewportFree$: Observable<"free">;
112
+ state$: Observable<"idle" | "ready">;
113
+ features: Features;
111
114
  $: {
112
- state$: import('rxjs').Observable<{
113
- supportedPageTurnAnimation: NonNullable<ContextSettings[`pageTurnAnimation`]>[];
114
- supportedPageTurnMode: NonNullable<ContextSettings[`pageTurnMode`]>[];
115
- supportedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
116
- supportedComputedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
117
- }>;
118
115
  destroy$: Subject<void>;
119
116
  };
120
117
  };
package/dist/report.d.ts CHANGED
@@ -1,30 +1,8 @@
1
1
  export declare const Report: {
2
- namespace: (namespace: string) => {
3
- log: (...data: any[]) => void;
4
- warn: (...data: any[]) => void;
5
- info: (...data: any[]) => void;
6
- debug: any;
7
- error: (...data: any[]) => void;
8
- time: (name: string, targetDuration?: number) => () => void;
9
- logMetric: (performanceEntry: PerformanceEntry | {
10
- name: string;
11
- duration: number;
12
- }, targetDuration?: number) => void;
13
- measurePerformance: <F extends (...args: any[]) => any>(name: string, targetDuration: number, functionToMeasure: F, { disable }?: {
14
- disable?: boolean;
15
- }) => F | ((...args: Parameters<F>) => ReturnType<F>);
16
- };
17
- log: (...data: any[]) => void;
18
- warn: (...data: any[]) => void;
19
- info: (...data: any[]) => void;
2
+ namespace: (_namespace: string, enabled?: boolean) => any;
20
3
  debug: any;
21
- error: (...data: any[]) => void;
22
- time: (name: string, targetDuration?: number) => () => void;
23
- logMetric: (performanceEntry: PerformanceEntry | {
24
- name: string;
25
- duration: number;
26
- }, targetDuration?: number) => void;
27
- measurePerformance: <F extends (...args: any[]) => any>(name: string, targetDuration: number, functionToMeasure: F, { disable }?: {
28
- disable?: boolean;
29
- }) => F | ((...args: Parameters<F>) => ReturnType<F>);
4
+ info: any;
5
+ log: any;
6
+ warn: any;
7
+ error: any;
30
8
  };
@@ -1,8 +1,12 @@
1
1
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
2
- export declare class ReactiveEntity<T extends Record<string, unknown>> extends BehaviorSubject<T> {
2
+ export declare class ReactiveEntity<T extends Record<string, unknown>> extends Observable<T> {
3
+ protected stateSubject: BehaviorSubject<T>;
3
4
  protected destroy$: Subject<void>;
4
- update(value: Partial<T>): void;
5
+ constructor(initialState: T);
6
+ protected next(value: T): void;
7
+ protected mergeCompare(pagination: Partial<T>): void;
5
8
  watch<K extends keyof T>(key: K): Observable<T[K]>;
6
9
  watch<K extends keyof T>(keys: K[]): Observable<Pick<T, K>>;
10
+ get value(): T;
7
11
  destroy(): void;
8
12
  }
@@ -5,13 +5,10 @@ type ViewPort = {
5
5
  top: number;
6
6
  bottom: number;
7
7
  };
8
- export declare const getFirstVisibleNodeForViewport: ((documentOrElement: Document | Element, viewport: ViewPort) => {
8
+ export declare const getFirstVisibleNodeForViewport: (documentOrElement: Document | Element, viewport: ViewPort) => {
9
9
  node: Node;
10
10
  offset: number;
11
- } | undefined) | ((documentOrElement: Element | Document, viewport: ViewPort) => {
12
- node: Node;
13
- offset: number;
14
- } | undefined);
11
+ } | undefined;
15
12
  export declare const getRangeFromNode: (node: Node, offset: number) => Range | undefined;
16
13
  export declare const isPointerEvent: (event: Event) => event is PointerEvent;
17
14
  export declare const isMouseEvent: (event: Event) => event is MouseEvent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.204.0",
3
+ "version": "1.206.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "tsc": "tsc"
24
24
  },
25
25
  "dependencies": {
26
- "@prose-reader/shared": "^1.204.0"
26
+ "@prose-reader/shared": "^1.206.0"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "rxjs": "*"
@@ -31,5 +31,5 @@
31
31
  "devDependencies": {
32
32
  "happy-dom": "^17.1.0"
33
33
  },
34
- "gitHead": "bef6283c17e2ea04e89e5d990ca59ca5220fafa4"
34
+ "gitHead": "f942e8022a96c9fe99dca7a490192eeaade3eb89"
35
35
  }
@@ -1 +0,0 @@
1
- export declare const NAMESPACE = "paginationEnhancer";