@prose-reader/core 1.228.0 → 1.230.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/reader.d.ts CHANGED
@@ -97,7 +97,9 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
97
97
  spineItemsObserver: SpineItemsObserver;
98
98
  spineItemsManager: SpineItemsManager;
99
99
  layout: () => void;
100
- load: (options: Required<Pick<ContextState, "manifest" | "containerElement">>) => void;
100
+ load: (options: Required<Pick<ContextState, "manifest"> & {
101
+ containerElement: HTMLElement;
102
+ }>) => void;
101
103
  destroy: () => void;
102
104
  pagination: {
103
105
  readonly state: PaginationInfo;
@@ -105,7 +107,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
105
107
  };
106
108
  settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable< CoreOutputSettings | undefined>>;
107
109
  viewport: Viewport;
108
- element$: Observable<HTMLElement>;
110
+ element$: Observable<HTMLElement | undefined>;
109
111
  viewportState$: Observable<"free" | "busy">;
110
112
  viewportFree$: Observable<"free">;
111
113
  state$: Observable<"idle" | "ready">;
@@ -1,5 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../context/Context';
3
+ import { SpineItem } from '../spineItem/SpineItem';
3
4
  import { SpineItemLocator } from '../spineItem/locationResolver';
4
5
  import { SpineItemPageLayout } from '../spineItem/types';
5
6
  import { ReactiveEntity } from '../utils/ReactiveEntity';
@@ -38,5 +39,6 @@ export declare class Pages extends ReactiveEntity<State> {
38
39
  readonly viewport: Viewport;
39
40
  readonly layout$: Observable<State>;
40
41
  constructor(spineLayout: SpineLayout, spineItemsManager: SpineItemsManager, spineItemLocator: SpineItemLocator, context: Context, locator: SpineLocator, viewport: Viewport);
42
+ fromSpineItemPageIndex: (spineItem: SpineItem, pageIndex: number) => PageEntry | undefined;
41
43
  }
42
44
  export {};
@@ -16,7 +16,7 @@ import { SpineLocator } from './locator/SpineLocator';
16
16
  import { SpineItemSpineLayout, SpineItemPageSpineLayout } from './types';
17
17
  import { SpineItemPageLayout } from '..';
18
18
  export declare class Spine extends DestroyableClass {
19
- protected parentElement$: Observable<HTMLElement>;
19
+ protected parentElement$: Observable<HTMLElement | undefined>;
20
20
  protected context: Context;
21
21
  protected pagination: Pagination;
22
22
  spineItemsManager: SpineItemsManager;
@@ -24,15 +24,15 @@ export declare class Spine extends DestroyableClass {
24
24
  protected settings: ReaderSettingsManager;
25
25
  protected hookManager: HookManager;
26
26
  protected viewport: Viewport;
27
- protected elementSubject: BehaviorSubject<HTMLElement>;
27
+ protected elementSubject: BehaviorSubject<HTMLElement | undefined>;
28
28
  protected spineLayout: SpineLayout;
29
29
  readonly spineItemsLoader: SpineItemsLoader;
30
30
  locator: SpineLocator;
31
31
  spineItemsObserver: SpineItemsObserver;
32
32
  pages: Pages;
33
- element$: Observable<HTMLElement>;
34
- constructor(parentElement$: Observable<HTMLElement>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager, viewport: Viewport);
35
- get element(): HTMLElement;
33
+ element$: Observable<HTMLElement | undefined>;
34
+ constructor(parentElement$: Observable<HTMLElement | undefined>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager, viewport: Viewport);
35
+ get element(): HTMLElement | undefined;
36
36
  layout(): void;
37
37
  getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
38
38
  get layout$(): Observable<{
@@ -7,10 +7,11 @@ import { Viewport } from '../../viewport/Viewport';
7
7
  import { ViewportSlicePosition } from '../../viewport/types';
8
8
  import { SpineItemsManager } from '../SpineItemsManager';
9
9
  import { SpineLayout } from '../SpineLayout';
10
- import { SpinePosition } from '../types';
10
+ import { SpinePosition, UnsafeSpinePosition } from '../types';
11
11
  import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPageIndex';
12
12
  import { getSpineInfoFromAbsolutePageIndex } from './getSpineInfoFromAbsolutePageIndex';
13
13
  import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
14
+ import { UnsafeSpineItemPagePosition } from '../..';
14
15
  export type SpineLocator = ReturnType<typeof createSpineLocator>;
15
16
  export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, viewport, }: {
16
17
  spineItemsManager: SpineItemsManager;
@@ -24,15 +25,24 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
24
25
  spineItemPosition: SpineItemPosition;
25
26
  spineItem: SpineItem;
26
27
  }) => SpinePosition;
27
- getAbsolutePageIndexFromPageIndex: (params: Omit<Parameters<typeof getAbsolutePageIndexFromPageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => number | undefined;
28
+ _getAbsolutePageIndexFromPageIndex: (params: Omit<Parameters<typeof getAbsolutePageIndexFromPageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => number | undefined;
28
29
  getSpineInfoFromAbsolutePageIndex: (params: Omit<Parameters<typeof getSpineInfoFromAbsolutePageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => {
29
30
  spineItem: SpineItem;
30
31
  pageIndex: number;
31
32
  itemIndex: number;
32
33
  currentAbsolutePage: number;
33
34
  } | undefined;
35
+ getSpineItemPagePositionFromSpinePosition: (spinePosition: UnsafeSpinePosition | SpinePosition) => {
36
+ spineItem: SpineItem;
37
+ spineItemPageIndex: number;
38
+ spineItemPagePosition: UnsafeSpineItemPagePosition;
39
+ pageSize: {
40
+ width: number;
41
+ height: number;
42
+ };
43
+ } | undefined;
34
44
  getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition;
35
- getSpineItemPositionFromSpinePosition: (position: SpinePosition, spineItem: SpineItem) => SpineItemPosition;
45
+ getSpineItemPositionFromSpinePosition: (position: SpinePosition | UnsafeSpinePosition, spineItem: SpineItem) => SpineItemPosition;
36
46
  getSpineItemFromPosition: (position: SpinePosition) => SpineItem | undefined;
37
47
  getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined;
38
48
  getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
@@ -67,14 +77,15 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
67
77
  pageIndex: number;
68
78
  spineItem: SpineItem;
69
79
  }) => SpineItemPosition;
70
- getSpineItemPageIndexFromPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, }: {
71
- itemWidth: number;
72
- itemHeight: number;
80
+ getSpineItemPageIndexFromPosition: (params: {
73
81
  position: SpineItemPosition;
74
82
  isUsingVerticalWriting: boolean;
83
+ itemWidth: number;
84
+ itemHeight: number;
75
85
  }) => number;
76
86
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
77
87
  getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
88
+ getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnsafeSpineItemPagePosition;
78
89
  };
79
90
  getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
80
91
  };
@@ -1,12 +1,10 @@
1
1
  import { DeprecatedViewportPosition } from '../../navigation/types';
2
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
2
  import { SpineItemsManager } from '../SpineItemsManager';
4
3
  import { SpineLayout } from '../SpineLayout';
5
- import { SpinePosition } from '../types';
4
+ import { SpinePosition, UnsafeSpinePosition } from '../types';
6
5
  import { SpineItem } from '../..';
7
- export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
8
- position: DeprecatedViewportPosition | SpinePosition;
6
+ export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, }: {
7
+ position: DeprecatedViewportPosition | SpinePosition | UnsafeSpinePosition;
9
8
  spineItemsManager: SpineItemsManager;
10
9
  spineLayout: SpineLayout;
11
- settings: ReaderSettingsManager;
12
10
  }) => SpineItem | undefined;
@@ -4,7 +4,7 @@ import { Viewport } from '../../viewport/Viewport';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
5
5
  import { SpineLayout } from '../SpineLayout';
6
6
  import { SpinePosition } from '../types';
7
- export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, settings, spineLayout, useAbsoluteViewport, viewport, }: {
7
+ export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, spineLayout, useAbsoluteViewport, viewport, }: {
8
8
  position: DeprecatedViewportPosition | SpinePosition;
9
9
  threshold: {
10
10
  type: "percentage";
@@ -5,22 +5,18 @@ export declare class SpineItemSpineLayout extends LayoutEntry {
5
5
  export declare class SpineItemPageSpineLayout extends LayoutEntry {
6
6
  readonly __symbol = "SpineItemPageSpineLayout";
7
7
  }
8
- export declare class SpinePosition {
8
+ export declare class AbstractSpinePosition {
9
9
  readonly x: number;
10
10
  readonly y: number;
11
- readonly __symbol = "SpinePosition";
12
11
  constructor(position: {
13
12
  x: number;
14
13
  y: number;
15
14
  });
16
15
  }
17
- export declare class UnsafeSpinePosition {
18
- readonly x: number;
19
- readonly y: number;
16
+ export declare class SpinePosition extends AbstractSpinePosition {
17
+ readonly __symbol = "SpinePosition";
18
+ }
19
+ export declare class UnsafeSpinePosition extends AbstractSpinePosition {
20
20
  readonly __symbol = "UnsafeSpinePosition";
21
- constructor(position: {
22
- x: number;
23
- y: number;
24
- });
25
21
  static from(position: SpinePosition): UnsafeSpinePosition;
26
22
  }
@@ -0,0 +1 @@
1
+ export declare const getPageFromOffset: (offset: number, pageWidth: number, numberOfPages: number) => number;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { SpineItemPosition } from '../types';
2
+ export declare const getSafePosition: ({ itemWidth, itemHeight, spineItemPosition, }: {
3
+ spineItemPosition: SpineItemPosition;
4
+ itemWidth: number;
5
+ itemHeight: number;
6
+ }) => SpineItemPosition;
@@ -1,9 +1,9 @@
1
- import { Context } from '../../context/Context';
2
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
- export declare const getSpineItemNumberOfPages: ({ itemHeight, itemWidth, isUsingVerticalWriting, settings, context, }: {
1
+ export declare const getSpineItemNumberOfPages: ({ itemHeight, itemWidth, isUsingVerticalWriting, pageWidth, pageHeight, pageTurnDirection, pageTurnMode, }: {
4
2
  itemWidth: number;
5
3
  itemHeight: number;
6
4
  isUsingVerticalWriting: boolean;
7
- settings: ReaderSettingsManager;
8
- context: Context;
5
+ pageWidth: number;
6
+ pageHeight: number;
7
+ pageTurnDirection: "vertical" | "horizontal";
8
+ pageTurnMode: "scrollable" | "controlled";
9
9
  }) => number;
@@ -0,0 +1,12 @@
1
+ import { SpineItemPosition } from '../types';
2
+ export declare const getSpineItemPageIndexFromSpineItemPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, pageWidth, pageHeight, pageTurnDirection, pageTurnMode, isRTL, }: {
3
+ itemWidth: number;
4
+ itemHeight: number;
5
+ position: SpineItemPosition;
6
+ isUsingVerticalWriting: boolean;
7
+ pageWidth: number;
8
+ pageHeight: number;
9
+ pageTurnDirection: "vertical" | "horizontal";
10
+ pageTurnMode: "scrollable" | "controlled";
11
+ isRTL: boolean;
12
+ }) => number;
@@ -1,7 +1,7 @@
1
1
  import { Context } from '../context/Context';
2
2
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
3
3
  import { SpineItem } from './SpineItem';
4
- import { SpineItemPosition } from './types';
4
+ import { SpineItemPosition, UnsafeSpineItemPagePosition } from './types';
5
5
  export type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
6
6
  export declare const createSpineItemLocator: ({ context, settings, }: {
7
7
  context: Context;
@@ -12,12 +12,13 @@ export declare const createSpineItemLocator: ({ context, settings, }: {
12
12
  pageIndex: number;
13
13
  spineItem: SpineItem;
14
14
  }) => SpineItemPosition;
15
- getSpineItemPageIndexFromPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, }: {
16
- itemWidth: number;
17
- itemHeight: number;
15
+ getSpineItemPageIndexFromPosition: (params: {
18
16
  position: SpineItemPosition;
19
17
  isUsingVerticalWriting: boolean;
18
+ itemWidth: number;
19
+ itemHeight: number;
20
20
  }) => number;
21
21
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
22
22
  getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
23
+ getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnsafeSpineItemPagePosition;
23
24
  };
@@ -27,6 +27,15 @@ export declare class SpineItemPosition {
27
27
  y: number;
28
28
  });
29
29
  }
30
+ export declare class UnsafeSpineItemPagePosition {
31
+ readonly x: number;
32
+ readonly y: number;
33
+ readonly __symbol: symbol;
34
+ constructor(position: {
35
+ x: number;
36
+ y: number;
37
+ });
38
+ }
30
39
  export declare class SpineItemPageLayout extends LayoutEntry {
31
40
  readonly __symbol = "SpineItemPageLayout";
32
41
  }
@@ -0,0 +1,7 @@
1
+ export declare const getPositionRelativeToNonTransformedElement: (position: {
2
+ x: number;
3
+ y: number;
4
+ }, element: HTMLElement) => {
5
+ x: number;
6
+ y: number;
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.228.0",
3
+ "version": "1.230.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.228.0",
27
- "@prose-reader/shared": "^1.228.0"
26
+ "@prose-reader/cfi": "^1.230.0",
27
+ "@prose-reader/shared": "^1.230.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "rxjs": "*"
@@ -39,5 +39,5 @@
39
39
  }
40
40
  }
41
41
  },
42
- "gitHead": "f38af897428bb229420eab2bfa2e396d2a13e807"
42
+ "gitHead": "7480c7ac7f90c58487609f1f8b31f47ee44f237a"
43
43
  }