@prose-reader/core 1.221.0 → 1.223.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 (54) hide show
  1. package/dist/cfi/generate.d.ts +4 -15
  2. package/dist/cfi/resolve.d.ts +7 -2
  3. package/dist/context/BridgeEvent.d.ts +7 -7
  4. package/dist/context/Context.d.ts +6 -6
  5. package/dist/createReaderWithEnhancer.d.ts +80 -79
  6. package/dist/enhancers/html/enhancer.d.ts +4 -2
  7. package/dist/enhancers/html/links.d.ts +2 -1
  8. package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +6 -5
  9. package/dist/enhancers/layout/layoutEnhancer.d.ts +4 -4
  10. package/dist/enhancers/media/ImageRenderer.d.ts +6 -5
  11. package/dist/enhancers/navigation/links.d.ts +2 -1
  12. package/dist/enhancers/navigation/state.d.ts +2 -1
  13. package/dist/enhancers/pagination/ResourcesLocator.d.ts +3 -2
  14. package/dist/enhancers/pagination/chapters.d.ts +2 -1
  15. package/dist/enhancers/pagination/enhancer.d.ts +1 -0
  16. package/dist/enhancers/pagination/index.d.ts +3 -0
  17. package/dist/enhancers/pagination/progression.d.ts +2 -1
  18. package/dist/enhancers/selection/trackSpineItemSelection.d.ts +2 -1
  19. package/dist/hooks/HookManager.d.ts +3 -2
  20. package/dist/hooks/index.d.ts +2 -0
  21. package/dist/index.d.ts +15 -6
  22. package/dist/index.js +1397 -1313
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.umd.cjs +33 -33
  25. package/dist/index.umd.cjs.map +1 -1
  26. package/dist/navigation/InternalNavigator.d.ts +3 -3
  27. package/dist/navigation/Locker.d.ts +2 -2
  28. package/dist/navigation/Navigator.d.ts +24 -21
  29. package/dist/navigation/UserScrollNavigation.d.ts +2 -2
  30. package/dist/navigation/consolidation/consolidateWithPagination.d.ts +4 -3
  31. package/dist/navigation/resolvers/NavigationResolver.d.ts +3 -3
  32. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -3
  33. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +2 -1
  34. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -3
  35. package/dist/navigation/restoration/restorePosition.d.ts +3 -3
  36. package/dist/pagination/index.d.ts +1 -0
  37. package/dist/reader.d.ts +36 -37
  38. package/dist/spine/Pages.d.ts +42 -0
  39. package/dist/spine/Spine.d.ts +20 -1
  40. package/dist/spine/SpineItemsManager.d.ts +2 -2
  41. package/dist/spine/locator/SpineLocator.d.ts +0 -7
  42. package/dist/spine/locator/getSpineItemFromPosition.d.ts +2 -1
  43. package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +2 -1
  44. package/dist/spine/types.d.ts +3 -22
  45. package/dist/spineItem/locationResolver.d.ts +0 -7
  46. package/dist/spineItem/renderer/DefaultRenderer.d.ts +6 -5
  47. package/dist/spineItem/types.d.ts +23 -0
  48. package/dist/utils/DestroyableClass.d.ts +2 -1
  49. package/dist/utils/dom.d.ts +4 -2
  50. package/package.json +4 -4
  51. package/dist/enhancers/layout/layoutInfo.d.ts +0 -25
  52. package/dist/enhancers/navigation/report.d.ts +0 -1
  53. package/dist/report.d.ts +0 -8
  54. package/dist/spineItem/layout/getSpineItemPagesPosition.d.ts +0 -11
@@ -8,7 +8,7 @@ import { Locker } from './Locker';
8
8
  import { ControlledNavigationController } from './controllers/ControlledNavigationController';
9
9
  import { ScrollNavigationController } from './controllers/ScrollNavigationController';
10
10
  import { createNavigationResolver } from './resolvers/NavigationResolver';
11
- import { InternalNavigationEntry, UserNavigationEntry } from './types';
11
+ import { InternalNavigationEntry, UserNavigationEntry, DeprecatedViewportPosition, NavigationConsolidation } from './types';
12
12
  export declare class InternalNavigator extends DestroyableClass {
13
13
  protected settings: ReaderSettingsManager;
14
14
  protected context: Context;
@@ -20,7 +20,7 @@ export declare class InternalNavigator extends DestroyableClass {
20
20
  protected isUserLocked$: Observable<boolean>;
21
21
  navigationSubject: BehaviorSubject<InternalNavigationEntry>;
22
22
  navigated$: Observable<{
23
- position: SpinePosition | import('./types').DeprecatedViewportPosition;
23
+ position: SpinePosition | DeprecatedViewportPosition;
24
24
  id: symbol;
25
25
  meta: {
26
26
  triggeredBy: `user` | `restoration` | `pagination`;
@@ -30,7 +30,7 @@ export declare class InternalNavigator extends DestroyableClass {
30
30
  url?: string | URL;
31
31
  spineItem?: string | number;
32
32
  cfi?: string;
33
- } & import('./types').NavigationConsolidation>;
33
+ } & NavigationConsolidation>;
34
34
  navigation$: Observable<{
35
35
  position: SpinePosition;
36
36
  id: symbol;
@@ -1,6 +1,6 @@
1
- import { BehaviorSubject } from 'rxjs';
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
2
  export declare class Locker {
3
3
  protected isLockedSubject: BehaviorSubject<number>;
4
- isLocked$: import('rxjs').Observable<boolean>;
4
+ isLocked$: Observable<boolean>;
5
5
  lock(): () => void;
6
6
  }
@@ -8,7 +8,10 @@ import { InternalNavigator } from './InternalNavigator';
8
8
  import { Locker } from './Locker';
9
9
  import { ControlledNavigationController } from './controllers/ControlledNavigationController';
10
10
  import { ScrollNavigationController } from './controllers/ScrollNavigationController';
11
- import { UserNavigationEntry } from './types';
11
+ import { UserNavigationEntry, InternalNavigationEntry, DeprecatedViewportPosition } from './types';
12
+ import { Observable } from 'rxjs';
13
+ import { getNavigationForSpineItemPage } from './resolvers/getNavigationForSpineItemPage';
14
+ import { SpinePosition, SpineItemPosition, SpineItem } from '..';
12
15
  export declare const createNavigator: ({ spineItemsManager, context, hookManager, spine, settings, viewport, }: {
13
16
  spineItemsManager: SpineItemsManager;
14
17
  context: Context;
@@ -18,31 +21,31 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
18
21
  viewport: Viewport;
19
22
  }) => {
20
23
  destroy: () => void;
21
- getNavigation: () => import('./types').InternalNavigationEntry;
24
+ getNavigation: () => InternalNavigationEntry;
22
25
  internalNavigator: InternalNavigator;
23
26
  scrollNavigationController: ScrollNavigationController;
24
27
  controlledNavigationController: ControlledNavigationController;
25
28
  locker: Locker;
26
- viewportState$: import('rxjs').Observable<"free" | "busy">;
29
+ viewportState$: Observable<"free" | "busy">;
27
30
  navigate: (to: UserNavigationEntry) => void;
28
31
  lock(): () => void;
29
32
  navigationResolver: {
30
33
  getNavigationForUrl: (url: string | URL) => {
31
- position: import('./types').DeprecatedViewportPosition;
34
+ position: DeprecatedViewportPosition;
32
35
  spineItemId: string;
33
36
  } | undefined;
34
- getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('..').SpinePosition;
37
+ getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
35
38
  getNavigationFromSpineItemPosition: (params: {
36
- spineItemPosition: import('../spineItem/types').SpineItemPosition;
37
- spineItem: import('..').SpineItem;
38
- }) => import('..').SpinePosition;
39
- getNavigationForCfi: (cfi: string) => import('./types').DeprecatedViewportPosition | undefined;
40
- getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('./types').DeprecatedViewportPosition;
41
- getNavigationForSpineIndexOrId: (indexOrId: number | string | import('..').SpineItem) => import('./types').DeprecatedViewportPosition;
42
- getNavigationForPosition: (viewportPosition: import('./types').DeprecatedViewportPosition | import('..').SpinePosition) => import('..').SpinePosition;
43
- getMostPredominantNavigationForPosition: (viewportPosition: import('./types').DeprecatedViewportPosition) => import('./types').DeprecatedViewportPosition;
44
- getAdjustedPositionWithSafeEdge: (position: import('./types').DeprecatedViewportPosition | import('..').SpinePosition) => import('..').SpinePosition;
45
- isNavigationGoingForwardFrom: (to: import('./types').DeprecatedViewportPosition, from: import('./types').DeprecatedViewportPosition) => boolean;
39
+ spineItemPosition: SpineItemPosition;
40
+ spineItem: SpineItem;
41
+ }) => SpinePosition;
42
+ getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
43
+ getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
44
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
45
+ getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
46
+ getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
47
+ getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
48
+ isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
46
49
  arePositionsDifferent: (a: {
47
50
  x: number;
48
51
  y: number;
@@ -50,15 +53,15 @@ export declare const createNavigator: ({ spineItemsManager, context, hookManager
50
53
  x: number;
51
54
  y: number;
52
55
  }) => boolean;
53
- getAdjustedPositionForSpread: (position: import('./types').DeprecatedViewportPosition | import('..').SpinePosition) => import('..').SpinePosition;
56
+ getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
54
57
  spineItemNavigator: {
55
- getNavigationForLastPage: (spineItem: import('..').SpineItem) => import('../spineItem/types').SpineItemPosition;
56
- getNavigationForPosition: (spineItem: import('..').SpineItem, position: import('../spineItem/types').SpineItemPosition) => import('../spineItem/types').SpineItemPosition;
57
- getNavigationFromNode: (spineItem: import('..').SpineItem, node: Node, offset: number) => import('../spineItem/types').SpineItemPosition;
58
+ getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
59
+ getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
60
+ getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
58
61
  };
59
62
  };
60
- navigation$: import('rxjs').Observable<{
61
- position: import('..').SpinePosition;
63
+ navigation$: Observable<{
64
+ position: SpinePosition;
62
65
  id: symbol;
63
66
  }>;
64
67
  };
@@ -1,4 +1,4 @@
1
- import { Subject } from 'rxjs';
1
+ import { Subject, Observable } from 'rxjs';
2
2
  import { Context } from '../context/Context';
3
3
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
4
  import { Spine } from '../spine/Spine';
@@ -13,6 +13,6 @@ export declare class UserScrollNavigation extends DestroyableClass {
13
13
  protected scrollNavigationController: ScrollNavigationController;
14
14
  protected locker: Locker;
15
15
  protected navigationSubject: Subject<UserNavigationEntry>;
16
- navigation$: import('rxjs').Observable<UserNavigationEntry>;
16
+ navigation$: Observable<UserNavigationEntry>;
17
17
  constructor(settings: ReaderSettingsManager, context: Context, spine: Spine, scrollNavigationController: ScrollNavigationController, locker: Locker);
18
18
  }
@@ -1,12 +1,13 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../../context/Context';
3
3
  import { Spine } from '../../spine/Spine';
4
- import { InternalNavigationEntry } from '../types';
4
+ import { InternalNavigationEntry, DeprecatedViewportPosition } from '../types';
5
+ import { SpinePosition, SpineItemPosition } from '../..';
5
6
  export declare const consolidateWithPagination: (context: Context, navigation$: Observable<InternalNavigationEntry>, spine: Spine) => Observable<{
6
7
  meta: {
7
8
  triggeredBy: "pagination";
8
9
  };
9
- position: import('../..').SpinePosition | import('../types').DeprecatedViewportPosition;
10
+ position: SpinePosition | DeprecatedViewportPosition;
10
11
  id: symbol;
11
12
  type: `api` | `scroll`;
12
13
  animation?: boolean | `turn` | `snap`;
@@ -20,6 +21,6 @@ export declare const consolidateWithPagination: (context: Context, navigation$:
20
21
  spineItemIsReady?: boolean;
21
22
  spineItemIsUsingVerticalWriting?: boolean;
22
23
  paginationBeginCfi?: string;
23
- positionInSpineItem?: import('../../spineItem/types').SpineItemPosition;
24
+ positionInSpineItem?: SpineItemPosition;
24
25
  directionFromLastNavigation?: "forward" | "backward" | "anchor";
25
26
  }>;
@@ -1,7 +1,7 @@
1
1
  import { Context } from '../../context/Context';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
+ import { Spine } from '../../spine/Spine';
3
4
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
4
- import { SpineLayout } from '../../spine/SpineLayout';
5
5
  import { SpineLocator } from '../../spine/locator/SpineLocator';
6
6
  import { SpinePosition } from '../../spine/types';
7
7
  import { SpineItem } from '../../spineItem/SpineItem';
@@ -10,12 +10,12 @@ import { DeprecatedViewportPosition } from '../types';
10
10
  import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage';
11
11
  export declare const NAMESPACE = "spineNavigator";
12
12
  export type NavigationResolver = ReturnType<typeof createNavigationResolver>;
13
- export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spineLayout, }: {
13
+ export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spine, }: {
14
14
  context: Context;
15
15
  spineItemsManager: SpineItemsManager;
16
16
  locator: SpineLocator;
17
17
  settings: ReaderSettingsManager;
18
- spineLayout: SpineLayout;
18
+ spine: Spine;
19
19
  }) => {
20
20
  getNavigationForUrl: (url: string | URL) => {
21
21
  position: DeprecatedViewportPosition;
@@ -1,13 +1,13 @@
1
+ import { Spine } from '../../spine/Spine';
1
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
- import { SpineLayout } from '../../spine/SpineLayout';
3
3
  import { SpinePosition } from '../../spine/types';
4
4
  import { DeprecatedViewportPosition } from '../types';
5
5
  export declare const NAMESPACE = "spineNavigator";
6
- export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spineLayout, }: {
6
+ export declare const getAdjustedPositionWithSafeEdge: ({ position, isRTL, pageSizeHeight, spineItemsManager, visibleAreaRectWidth, spine, }: {
7
7
  position: DeprecatedViewportPosition | SpinePosition;
8
8
  isRTL: boolean;
9
9
  pageSizeHeight: number;
10
10
  spineItemsManager: SpineItemsManager;
11
11
  visibleAreaRectWidth: number;
12
- spineLayout: SpineLayout;
12
+ spine: Spine;
13
13
  }) => SpinePosition;
@@ -3,10 +3,11 @@ import { SpineLocator } from '../../spine/locator/SpineLocator';
3
3
  import { SpineItem } from '../../spineItem/SpineItem';
4
4
  import { SpineItemLocator } from '../../spineItem/locationResolver';
5
5
  import { SpineItemPosition } from '../../spineItem/types';
6
+ import { SpinePosition } from '../..';
6
7
  export declare const getNavigationFromSpineItemPosition: ({ spineItem, spineItemPosition, spineLocator, spineItemLocator, context, }: {
7
8
  spineItemPosition: SpineItemPosition;
8
9
  spineItem: SpineItem;
9
10
  spineLocator: SpineLocator;
10
11
  spineItemLocator: SpineItemLocator;
11
12
  context: Context;
12
- }) => import('../..').SpinePosition;
13
+ }) => SpinePosition;
@@ -1,14 +1,14 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { Spine } from '../../spine/Spine';
2
3
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
- import { SpineLayout } from '../../spine/SpineLayout';
4
4
  import { SpineLocator } from '../../spine/locator/SpineLocator';
5
5
  import { SpinePosition } from '../../spine/types';
6
6
  import { NavigationResolver } from '../resolvers/NavigationResolver';
7
7
  import { InternalNavigationEntry } from '../types';
8
- export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator, navigation, navigationResolver, spineItemsManager, spineLayout, }: {
8
+ export declare const restoreNavigationForControlledPageTurnMode: ({ spineLocator, navigation, navigationResolver, spineItemsManager, spine, }: {
9
9
  navigation: InternalNavigationEntry;
10
10
  spineLocator: SpineLocator;
11
11
  navigationResolver: NavigationResolver;
12
12
  spineItemsManager: SpineItemsManager;
13
- spineLayout: SpineLayout;
13
+ spine: Spine;
14
14
  }) => Observable<SpinePosition>;
@@ -1,14 +1,14 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Context } from '../../context/Context';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
+ import { Spine } from '../../spine/Spine';
4
5
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
5
- import { SpineLayout } from '../../spine/SpineLayout';
6
6
  import { SpineLocator } from '../../spine/locator/SpineLocator';
7
7
  import { SpinePosition } from '../../spine/types';
8
8
  import { SpineItemLocator } from '../../spineItem/locationResolver';
9
9
  import { NavigationResolver } from '../resolvers/NavigationResolver';
10
10
  import { DeprecatedViewportPosition, InternalNavigationEntry } from '../types';
11
- export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver, spineLayout, }: {
11
+ export declare const restorePosition: ({ navigation, spineItemsManager, settings, spineLocator, navigationResolver, spine, }: {
12
12
  spineLocator: SpineLocator;
13
13
  settings: ReaderSettingsManager;
14
14
  navigationResolver: NavigationResolver;
@@ -16,5 +16,5 @@ export declare const restorePosition: ({ navigation, spineItemsManager, settings
16
16
  spineItemsManager: SpineItemsManager;
17
17
  spineItemLocator: SpineItemLocator;
18
18
  context: Context;
19
- spineLayout: SpineLayout;
19
+ spine: Spine;
20
20
  }) => Observable<DeprecatedViewportPosition | SpinePosition>;
@@ -1,2 +1,3 @@
1
1
  export * from './Pagination';
2
2
  export * from './types';
3
+ export * from './PaginationController';
package/dist/reader.d.ts CHANGED
@@ -10,6 +10,11 @@ import { Spine } from './spine/Spine';
10
10
  import { SpineItemsManager } from './spine/SpineItemsManager';
11
11
  import { SpineItem } from './spineItem/SpineItem';
12
12
  import { Viewport } from './viewport/Viewport';
13
+ import { CoreHook } from './hooks';
14
+ import { Manifest } from '@prose-reader/shared';
15
+ import { InternalNavigationEntry, InternalNavigator, ScrollNavigationController, ControlledNavigationController, Locker, UserNavigationEntry, DeprecatedViewportPosition, SpinePosition, SpineItemPosition, SpineItemsObserver, CoreOutputSettings } from '.';
16
+ import { getNavigationForSpineItemPage } from './navigation/resolvers/getNavigationForSpineItemPage';
17
+ import { PaginationInfo } from './pagination';
13
18
  export type CreateReaderOptions = Partial<CoreInputSettings>;
14
19
  export type CreateReaderParameters = CreateReaderOptions;
15
20
  export type ContextSettings = Partial<CoreInputSettings>;
@@ -17,19 +22,9 @@ export type ReaderInternal = ReturnType<typeof createReader>;
17
22
  export declare const createReader: (inputSettings: CreateReaderOptions) => {
18
23
  context: Context;
19
24
  spine: Spine;
20
- hookManager: HookManager<import('.').CoreHook>;
25
+ hookManager: HookManager< CoreHook>;
21
26
  cfi: {
22
- generateCfiFromRange: (range: Range, item: import('@prose-reader/shared').Manifest[`spineItems`][number]) => {
23
- start: string;
24
- end: string;
25
- };
26
- generateCfiFromSelection: ({ item, selection, }: {
27
- selection: Selection;
28
- item: import('@prose-reader/shared').Manifest["spineItems"][number];
29
- }) => {
30
- anchorCfi: string | undefined;
31
- focusCfi: string | undefined;
32
- };
27
+ generateCfiFromRange: (range: Range, item: Manifest[`spineItems`][number]) => string;
33
28
  parseCfi: (cfi: string) => {
34
29
  cleanedCfi: string;
35
30
  itemIndex?: number;
@@ -41,41 +36,45 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
41
36
  }) => string;
42
37
  resolveCfi: (params: Omit<Parameters<typeof resolveCfi>[0], "spineItemsManager">) => {
43
38
  node: Node | null | undefined;
39
+ isRange: boolean;
40
+ range: Range | null | undefined;
44
41
  offset: number | undefined;
45
42
  spineItem: SpineItem;
46
43
  } | {
47
44
  spineItem: SpineItem;
48
45
  node?: undefined;
46
+ isRange?: undefined;
47
+ range?: undefined;
49
48
  offset?: undefined;
50
49
  } | undefined;
51
50
  };
52
51
  navigation: {
53
52
  destroy: () => void;
54
- getNavigation: () => import('.').InternalNavigationEntry;
55
- internalNavigator: import('.').InternalNavigator;
56
- scrollNavigationController: import('.').ScrollNavigationController;
57
- controlledNavigationController: import('.').ControlledNavigationController;
58
- locker: import('.').Locker;
53
+ getNavigation: () => InternalNavigationEntry;
54
+ internalNavigator: InternalNavigator;
55
+ scrollNavigationController: ScrollNavigationController;
56
+ controlledNavigationController: ControlledNavigationController;
57
+ locker: Locker;
59
58
  viewportState$: Observable<"free" | "busy">;
60
- navigate: (to: import('.').UserNavigationEntry) => void;
59
+ navigate: (to: UserNavigationEntry) => void;
61
60
  lock(): () => void;
62
61
  navigationResolver: {
63
62
  getNavigationForUrl: (url: string | URL) => {
64
- position: import('.').DeprecatedViewportPosition;
63
+ position: DeprecatedViewportPosition;
65
64
  spineItemId: string;
66
65
  } | undefined;
67
- getNavigationForSpineItemPage: (params: Omit<Parameters<typeof import('./navigation/resolvers/getNavigationForSpineItemPage').getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => import('.').SpinePosition;
66
+ getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
68
67
  getNavigationFromSpineItemPosition: (params: {
69
- spineItemPosition: import('./spineItem/types').SpineItemPosition;
68
+ spineItemPosition: SpineItemPosition;
70
69
  spineItem: SpineItem;
71
- }) => import('.').SpinePosition;
72
- getNavigationForCfi: (cfi: string) => import('.').DeprecatedViewportPosition | undefined;
73
- getNavigationForLastPage: (spineItem: SpineItem) => import('.').DeprecatedViewportPosition;
74
- getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => import('.').DeprecatedViewportPosition;
75
- getNavigationForPosition: (viewportPosition: import('.').DeprecatedViewportPosition | import('.').SpinePosition) => import('.').SpinePosition;
76
- getMostPredominantNavigationForPosition: (viewportPosition: import('.').DeprecatedViewportPosition) => import('.').DeprecatedViewportPosition;
77
- getAdjustedPositionWithSafeEdge: (position: import('.').DeprecatedViewportPosition | import('.').SpinePosition) => import('.').SpinePosition;
78
- isNavigationGoingForwardFrom: (to: import('.').DeprecatedViewportPosition, from: import('.').DeprecatedViewportPosition) => boolean;
70
+ }) => SpinePosition;
71
+ getNavigationForCfi: (cfi: string) => DeprecatedViewportPosition | undefined;
72
+ getNavigationForLastPage: (spineItem: SpineItem) => DeprecatedViewportPosition;
73
+ getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => DeprecatedViewportPosition;
74
+ getNavigationForPosition: (viewportPosition: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
75
+ getMostPredominantNavigationForPosition: (viewportPosition: DeprecatedViewportPosition) => DeprecatedViewportPosition;
76
+ getAdjustedPositionWithSafeEdge: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
77
+ isNavigationGoingForwardFrom: (to: DeprecatedViewportPosition, from: DeprecatedViewportPosition) => boolean;
79
78
  arePositionsDifferent: (a: {
80
79
  x: number;
81
80
  y: number;
@@ -83,28 +82,28 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
83
82
  x: number;
84
83
  y: number;
85
84
  }) => boolean;
86
- getAdjustedPositionForSpread: (position: import('.').DeprecatedViewportPosition | import('.').SpinePosition) => import('.').SpinePosition;
85
+ getAdjustedPositionForSpread: (position: DeprecatedViewportPosition | SpinePosition) => SpinePosition;
87
86
  spineItemNavigator: {
88
- getNavigationForLastPage: (spineItem: SpineItem) => import('./spineItem/types').SpineItemPosition;
89
- getNavigationForPosition: (spineItem: SpineItem, position: import('./spineItem/types').SpineItemPosition) => import('./spineItem/types').SpineItemPosition;
90
- getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => import('./spineItem/types').SpineItemPosition;
87
+ getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition;
88
+ getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition;
89
+ getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition;
91
90
  };
92
91
  };
93
92
  navigation$: Observable<{
94
- position: import('.').SpinePosition;
93
+ position: SpinePosition;
95
94
  id: symbol;
96
95
  }>;
97
96
  };
98
- spineItemsObserver: import('./spine/SpineItemsObserver').SpineItemsObserver;
97
+ spineItemsObserver: SpineItemsObserver;
99
98
  spineItemsManager: SpineItemsManager;
100
99
  layout: () => void;
101
100
  load: (options: Required<Pick<ContextState, "manifest" | "containerElement">>) => void;
102
101
  destroy: () => void;
103
102
  pagination: {
104
- readonly state: import('./pagination').PaginationInfo;
103
+ readonly state: PaginationInfo;
105
104
  readonly state$: Observable<ObservedValueOf<Pagination>>;
106
105
  };
107
- settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<import('.').CoreOutputSettings | undefined>>;
106
+ settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable< CoreOutputSettings | undefined>>;
108
107
  viewport: Viewport;
109
108
  element$: Observable<HTMLElement>;
110
109
  viewportState$: Observable<"free" | "busy">;
@@ -0,0 +1,42 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Context } from '../context/Context';
3
+ import { SpineItemLocator } from '../spineItem/locationResolver';
4
+ import { SpineItemPageLayout } from '../spineItem/types';
5
+ import { ReactiveEntity } from '../utils/ReactiveEntity';
6
+ import { Viewport } from '../viewport/Viewport';
7
+ import { SpineItemsManager } from './SpineItemsManager';
8
+ import { SpineLayout } from './SpineLayout';
9
+ import { SpineLocator } from './locator/SpineLocator';
10
+ import { SpineItemPageSpineLayout, SpinePosition } from './types';
11
+ export declare const spinePositionToSpineItemSpineLayout: ({ position, pageSize, }: {
12
+ position: SpinePosition;
13
+ pageSize: {
14
+ height: number;
15
+ width: number;
16
+ };
17
+ }) => SpineItemPageSpineLayout;
18
+ type PageEntry = {
19
+ absoluteLayout: SpineItemPageSpineLayout;
20
+ layout: SpineItemPageLayout;
21
+ itemIndex: number;
22
+ absolutePageIndex: number;
23
+ pageIndex: number;
24
+ firstVisibleNode: {
25
+ node: Node;
26
+ offset: number;
27
+ } | undefined;
28
+ };
29
+ type State = {
30
+ pages: PageEntry[];
31
+ };
32
+ export declare class Pages extends ReactiveEntity<State> {
33
+ readonly spineLayout: SpineLayout;
34
+ readonly spineItemsManager: SpineItemsManager;
35
+ readonly spineItemLocator: SpineItemLocator;
36
+ readonly context: Context;
37
+ readonly locator: SpineLocator;
38
+ readonly viewport: Viewport;
39
+ readonly layout$: Observable<State>;
40
+ constructor(spineLayout: SpineLayout, spineItemsManager: SpineItemsManager, spineItemLocator: SpineItemLocator, context: Context, locator: SpineLocator, viewport: Viewport);
41
+ }
42
+ export {};
@@ -3,14 +3,18 @@ import { Context } from '../context/Context';
3
3
  import { HookManager } from '../hooks/HookManager';
4
4
  import { Pagination } from '../pagination/Pagination';
5
5
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
6
+ import { SpineItem } from '../spineItem/SpineItem';
6
7
  import { createSpineItemLocator as createSpineItemLocationResolver } from '../spineItem/locationResolver';
7
8
  import { DestroyableClass } from '../utils/DestroyableClass';
8
9
  import { Viewport } from '../viewport/Viewport';
10
+ import { Pages } from './Pages';
9
11
  import { SpineItemsManager } from './SpineItemsManager';
10
12
  import { SpineItemsObserver } from './SpineItemsObserver';
11
13
  import { SpineLayout } from './SpineLayout';
12
14
  import { SpineItemsLoader } from './loader/SpineItemsLoader';
13
15
  import { SpineLocator } from './locator/SpineLocator';
16
+ import { SpineItemSpineLayout, SpineItemPageSpineLayout } from './types';
17
+ import { SpineItemPageLayout } from '..';
14
18
  export declare class Spine extends DestroyableClass {
15
19
  protected parentElement$: Observable<HTMLElement>;
16
20
  protected context: Context;
@@ -21,13 +25,28 @@ export declare class Spine extends DestroyableClass {
21
25
  protected hookManager: HookManager;
22
26
  protected viewport: Viewport;
23
27
  protected elementSubject: BehaviorSubject<HTMLElement>;
28
+ protected spineLayout: SpineLayout;
24
29
  readonly spineItemsLoader: SpineItemsLoader;
25
30
  locator: SpineLocator;
26
31
  spineItemsObserver: SpineItemsObserver;
27
- spineLayout: SpineLayout;
32
+ pages: Pages;
28
33
  element$: Observable<HTMLElement>;
29
34
  constructor(parentElement$: Observable<HTMLElement>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager, viewport: Viewport);
30
35
  get element(): HTMLElement;
31
36
  layout(): void;
37
+ getSpineItemSpineLayoutInfo(spineItemOrIndex: SpineItem | number | string | undefined): SpineItemSpineLayout;
38
+ get layout$(): Observable<{
39
+ pages: {
40
+ absoluteLayout: SpineItemPageSpineLayout;
41
+ layout: SpineItemPageLayout;
42
+ itemIndex: number;
43
+ absolutePageIndex: number;
44
+ pageIndex: number;
45
+ firstVisibleNode: {
46
+ node: Node;
47
+ offset: number;
48
+ } | undefined;
49
+ }[];
50
+ }>;
32
51
  destroy(): void;
33
52
  }
@@ -1,4 +1,4 @@
1
- import { BehaviorSubject } from 'rxjs';
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
2
  import { Context } from '../context/Context';
3
3
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
4
  import { SpineItem } from '../spineItem/SpineItem';
@@ -8,7 +8,7 @@ export declare class SpineItemsManager extends DestroyableClass {
8
8
  protected settings: ReaderSettingsManager;
9
9
  constructor(context: Context, settings: ReaderSettingsManager);
10
10
  protected orderedSpineItemsSubject: BehaviorSubject<SpineItem[]>;
11
- items$: import('rxjs').Observable<SpineItem[]>;
11
+ items$: Observable<SpineItem[]>;
12
12
  get(indexOrId: number | string | SpineItem | undefined): SpineItem | undefined;
13
13
  comparePositionOf(toCompare: SpineItem, withItem: SpineItem): "before" | "after" | "same";
14
14
  getSpineItemIndex(spineItemOrId: SpineItem | string | number | undefined): number | undefined;
@@ -69,13 +69,6 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
69
69
  }) => number;
70
70
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
71
71
  getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
72
- getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
73
- node: Node;
74
- offset: number;
75
- } | undefined;
76
- getSpineItemPagesPosition: ({ item }: {
77
- item: SpineItem;
78
- }) => SpineItemPosition[];
79
72
  };
80
73
  getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
81
74
  };
@@ -3,9 +3,10 @@ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItemsManager } from '../SpineItemsManager';
4
4
  import { SpineLayout } from '../SpineLayout';
5
5
  import { SpinePosition } from '../types';
6
+ import { SpineItem } from '../..';
6
7
  export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
7
8
  position: DeprecatedViewportPosition | SpinePosition;
8
9
  spineItemsManager: SpineItemsManager;
9
10
  spineLayout: SpineLayout;
10
11
  settings: ReaderSettingsManager;
11
- }) => import('../..').SpineItem | undefined;
12
+ }) => SpineItem | undefined;
@@ -1,4 +1,5 @@
1
1
  import { Context } from '../../context/Context';
2
+ import { SpinePosition } from '../types';
2
3
  export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, context, isUsingVerticalWriting, itemLayout, }: {
3
4
  pageIndex: number;
4
5
  isUsingVerticalWriting: boolean;
@@ -9,4 +10,4 @@ export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, conte
9
10
  width: number;
10
11
  height: number;
11
12
  };
12
- }) => import('../types').SpinePosition;
13
+ }) => SpinePosition;
@@ -1,27 +1,8 @@
1
- export declare class SpineElementLayout {
2
- readonly left: number;
3
- readonly right: number;
4
- readonly top: number;
5
- readonly bottom: number;
6
- readonly width: number;
7
- readonly height: number;
8
- readonly x: number;
9
- readonly y: number;
10
- constructor(layout: {
11
- left: number;
12
- right: number;
13
- top: number;
14
- bottom: number;
15
- width: number;
16
- height: number;
17
- x: number;
18
- y: number;
19
- });
20
- }
21
- export declare class SpineItemSpineLayout extends SpineElementLayout {
1
+ import { LayoutEntry } from '../spineItem/types';
2
+ export declare class SpineItemSpineLayout extends LayoutEntry {
22
3
  readonly __symbol = "SpineItemSpineLayout";
23
4
  }
24
- export declare class SpineItemPageSpineLayout extends SpineElementLayout {
5
+ export declare class SpineItemPageSpineLayout extends LayoutEntry {
25
6
  readonly __symbol = "SpineItemPageSpineLayout";
26
7
  }
27
8
  export declare class SpinePosition {
@@ -20,11 +20,4 @@ export declare const createSpineItemLocator: ({ context, settings, }: {
20
20
  }) => number;
21
21
  getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined;
22
22
  getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition;
23
- getFirstNodeOrRangeAtPage: (pageIndex: number, spineItem: SpineItem) => {
24
- node: Node;
25
- offset: number;
26
- } | undefined;
27
- getSpineItemPagesPosition: ({ item }: {
28
- item: SpineItem;
29
- }) => SpineItemPosition[];
30
23
  };
@@ -1,9 +1,10 @@
1
1
  import { DocumentRenderer } from './DocumentRenderer';
2
+ import { Observable } from 'rxjs';
2
3
  export declare class DefaultRenderer extends DocumentRenderer {
3
- onUnload(): import('rxjs').Observable<never>;
4
- onCreateDocument(): import('rxjs').Observable<HTMLDivElement>;
5
- onLoadDocument(): import('rxjs').Observable<never>;
6
- onLayout(): import('rxjs').Observable<undefined>;
7
- onRenderHeadless(): import('rxjs').Observable<never>;
4
+ onUnload(): Observable<never>;
5
+ onCreateDocument(): Observable<HTMLDivElement>;
6
+ onLoadDocument(): Observable<never>;
7
+ onLayout(): Observable<undefined>;
8
+ onRenderHeadless(): Observable<never>;
8
9
  getDocumentFrame(): undefined;
9
10
  }