@prose-reader/core 1.191.0 → 1.193.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.
@@ -1,8 +1,9 @@
1
- import { Context } from '../context/Context';
1
+ import { Observable } from 'rxjs';
2
2
  import { DestroyableClass, Manifest } from '..';
3
- import { Observable, ObservedValueOf } from 'rxjs';
4
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
3
+ import { Context } from '../context/Context';
5
4
  import { HookManager } from '../hooks/HookManager';
5
+ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
6
+ import { SpineItemLayout } from './SpineItemLayout';
6
7
  import { DocumentRenderer } from './renderer/DocumentRenderer';
7
8
  import { ResourceHandler } from './resources/ResourceHandler';
8
9
  export declare class SpineItem extends DestroyableClass {
@@ -12,27 +13,17 @@ export declare class SpineItem extends DestroyableClass {
12
13
  settings: ReaderSettingsManager;
13
14
  hookManager: HookManager;
14
15
  index: number;
15
- private layoutTriggerSubject;
16
+ private spineItemLayout;
16
17
  readonly containerElement: HTMLElement;
17
18
  readonly needsLayout$: Observable<unknown>;
18
19
  readonly renderer: DocumentRenderer;
19
20
  readonly resourcesHandler: ResourceHandler;
20
- readonly layout$: Observable<{
21
- width: number;
22
- height: number;
23
- }>;
21
+ readonly layout$: SpineItemLayout["layout$"];
22
+ readonly layout: SpineItemLayout["layout"];
23
+ readonly adjustPositionOfElement: SpineItemLayout["adjustPositionOfElement"];
24
24
  readonly isReady$: Observable<boolean>;
25
25
  constructor(item: Manifest[`spineItems`][number], parentElement: HTMLElement, context: Context, settings: ReaderSettingsManager, hookManager: HookManager, index: number);
26
- adjustPositionOfElement: ({ right, left, top, }: {
27
- right?: number;
28
- left?: number;
29
- top?: number;
30
- }) => void;
31
26
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
32
- layout: (params: ObservedValueOf<typeof this.layoutTriggerSubject>) => Observable<{
33
- width: number;
34
- height: number;
35
- }>;
36
27
  load: () => void;
37
28
  unload: () => void;
38
29
  getElementDimensions: () => {
@@ -0,0 +1,40 @@
1
+ import { Manifest } from '@prose-reader/shared';
2
+ import { Observable, ObservedValueOf } from 'rxjs';
3
+ import { Context } from '../context/Context';
4
+ import { HookManager } from '../hooks/HookManager';
5
+ import { DestroyableClass } from '../utils/DestroyableClass';
6
+ import { DocumentRenderer } from './renderer/DocumentRenderer';
7
+ export declare class SpineItemLayout extends DestroyableClass {
8
+ item: Manifest[`spineItems`][number];
9
+ containerElement: HTMLElement;
10
+ context: Context;
11
+ hookManager: HookManager;
12
+ renderer: DocumentRenderer;
13
+ private layoutTriggerSubject;
14
+ private lastLayout;
15
+ readonly layout$: Observable<{
16
+ width: number;
17
+ height: number;
18
+ }>;
19
+ readonly layoutProcess$: Observable<{
20
+ readonly type: "start";
21
+ } | {
22
+ readonly type: "end";
23
+ readonly data: {
24
+ width: number;
25
+ height: number;
26
+ };
27
+ }>;
28
+ constructor(item: Manifest[`spineItems`][number], containerElement: HTMLElement, context: Context, hookManager: HookManager, renderer: DocumentRenderer);
29
+ private validateDimension;
30
+ private applyDimsAfterLayout;
31
+ layout: (params: ObservedValueOf<typeof this.layoutTriggerSubject>) => Observable<{
32
+ width: number;
33
+ height: number;
34
+ }>;
35
+ adjustPositionOfElement: ({ right, left, top, }: {
36
+ right?: number;
37
+ left?: number;
38
+ top?: number;
39
+ }) => void;
40
+ }
@@ -1,10 +1,10 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
2
3
  import { Context } from '../../context/Context';
3
4
  import { HookManager } from '../../hooks/HookManager';
4
5
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
- import { BehaviorSubject, Observable } from 'rxjs';
6
- import { ResourceHandler } from '../resources/ResourceHandler';
7
6
  import { DestroyableClass } from '../../utils/DestroyableClass';
7
+ import { ResourceHandler } from '../resources/ResourceHandler';
8
8
  export type DocumentRendererParams = {
9
9
  context: Context;
10
10
  settings: ReaderSettingsManager;
@@ -21,7 +21,6 @@ type LayoutParams = {
21
21
  };
22
22
  export declare abstract class DocumentRenderer extends DestroyableClass {
23
23
  private triggerSubject;
24
- private lastLayoutDims;
25
24
  protected context: Context;
26
25
  protected settings: ReaderSettingsManager;
27
26
  protected hookManager: HookManager;
@@ -53,7 +52,7 @@ export declare abstract class DocumentRenderer extends DestroyableClass {
53
52
  layout(params: LayoutParams): Observable<{
54
53
  width: number;
55
54
  height: number;
56
- }>;
55
+ } | undefined>;
57
56
  destroy(): void;
58
57
  abstract onRenderHeadless(params: {
59
58
  release: Observable<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.191.0",
3
+ "version": "1.193.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.191.0"
26
+ "@prose-reader/shared": "^1.193.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": "c9eac0806deb21840ae82098f6cf68d535a1a499"
34
+ "gitHead": "bf39ea1fa624308df2bedd76e41060b94e287fda"
35
35
  }