@prose-reader/core 1.72.0 → 1.74.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 (64) hide show
  1. package/dist/cfi/generate/{getCfiForSpineItemPage.d.ts → generateCfiForSpineItemPage.d.ts} +1 -1
  2. package/dist/cfi/lookup/resolveCfi.d.ts +236 -0
  3. package/dist/constants.d.ts +0 -1
  4. package/dist/context/Context.d.ts +6 -29
  5. package/dist/createReaderWithEnhancer.d.ts +252 -9
  6. package/dist/enhancers/events/events.d.ts +1 -6
  7. package/dist/enhancers/events/frames.d.ts +3 -0
  8. package/dist/enhancers/events/normalizeEventForViewport.d.ts +1 -5
  9. package/dist/enhancers/navigation/index.d.ts +1 -1
  10. package/dist/enhancers/navigation/navigators/manualNavigator.d.ts +4 -0
  11. package/dist/enhancers/navigation/resolvers/{getNavigationForLeftPage.d.ts → getNavigationForLeftOrTopPage.d.ts} +1 -1
  12. package/dist/enhancers/navigation/resolvers/{getNavigationForRightPage.d.ts → getNavigationForRightOrBottomPage.d.ts} +1 -1
  13. package/dist/enhancers/navigation/types.d.ts +8 -0
  14. package/dist/enhancers/zoom/ControllableZoomer.d.ts +19 -0
  15. package/dist/enhancers/zoom/ScrollableZoomer.d.ts +16 -0
  16. package/dist/enhancers/zoom/Zoomer.d.ts +21 -0
  17. package/dist/enhancers/zoom/index.d.ts +2 -2
  18. package/dist/enhancers/zoom/types.d.ts +10 -12
  19. package/dist/index.d.ts +3 -1
  20. package/dist/index.js +1021 -923
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.umd.cjs +1041 -941
  23. package/dist/index.umd.cjs.map +1 -1
  24. package/dist/navigation/InternalNavigator.d.ts +3 -5
  25. package/dist/navigation/Navigator.d.ts +1 -3
  26. package/dist/navigation/UserNavigator.d.ts +3 -1
  27. package/dist/navigation/consolidation/withSpineItemLayoutInfo.d.ts +3 -3
  28. package/dist/navigation/consolidation/withSpineItemPosition.d.ts +0 -2
  29. package/dist/navigation/resolvers/NavigationResolver.d.ts +3 -1
  30. package/dist/navigation/resolvers/getAdjustedPositionWithSafeEdge.d.ts +3 -1
  31. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +3 -1
  32. package/dist/navigation/restoration/restorePosition.d.ts +3 -1
  33. package/dist/navigation/restoration/withRestoredPosition.d.ts +3 -7
  34. package/dist/navigation/tests/SpineItemsManagerMock.d.ts +2 -1
  35. package/dist/navigation/tests/utils.d.ts +2 -0
  36. package/dist/navigation/viewport/getScaledDownPosition.d.ts +2 -3
  37. package/dist/reader.d.ts +260 -18
  38. package/dist/settings/SettingsInterface.d.ts +2 -2
  39. package/dist/settings/SettingsManager.d.ts +2 -2
  40. package/dist/settings/SettingsManagerOverload.d.ts +2 -2
  41. package/dist/spine/Spine.d.ts +5 -2
  42. package/dist/spine/SpineItemsManager.d.ts +5 -26
  43. package/dist/spine/SpineItemsObserver.d.ts +3 -1
  44. package/dist/spine/SpineLayout.d.ts +49 -0
  45. package/dist/spine/layout/convertViewportPositionToLayoutPosition.d.ts +10 -0
  46. package/dist/spine/loader/SpineItemsLoader.d.ts +3 -1
  47. package/dist/spine/locator/SpineLocator.d.ts +146 -5
  48. package/dist/spine/locator/getAbsolutePageIndexFromPageIndex.d.ts +14 -0
  49. package/dist/spine/locator/getSpineInfoFromAbsolutePageIndex.d.ts +134 -0
  50. package/dist/spine/locator/getSpineItemFromPosition.d.ts +3 -1
  51. package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +13 -0
  52. package/dist/spine/locator/getSpinePositionFromSpineItemPosition.d.ts +10 -0
  53. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +3 -1
  54. package/dist/spineItem/locationResolver.d.ts +12 -2
  55. package/dist/spineItem/locator/getSpineItemNumberOfPages.d.ts +10 -0
  56. package/dist/spineItem/locator/getSpineItemPagesPosition.d.ts +12 -0
  57. package/dist/spineItem/locator/getSpineItemPositionFromPageIndex.d.ts +12 -0
  58. package/dist/utils/frames.d.ts +1 -0
  59. package/dist/utils/objects.d.ts +1 -6
  60. package/package.json +3 -3
  61. package/dist/enhancers/events/createIframeEventBridgeElement.d.ts +0 -1
  62. package/dist/enhancers/zoom/elementZoomer.d.ts +0 -19
  63. package/dist/enhancers/zoom/viewportZoomer.d.ts +0 -19
  64. package/dist/frames.d.ts +0 -5
@@ -8,12 +8,14 @@ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
8
8
  import { HookManager } from '../hooks/HookManager';
9
9
  import { SpineItemsLoader } from './loader/SpineItemsLoader';
10
10
  import { DestroyableClass } from '../utils/DestroyableClass';
11
+ import { SpineItemsObserver } from './SpineItemsObserver';
12
+ import { SpineLayout } from './SpineLayout';
11
13
 
12
14
  export declare class Spine extends DestroyableClass {
13
15
  protected parentElement$: Observable<HTMLElement>;
14
16
  protected context: Context;
15
17
  protected pagination: Pagination;
16
- protected spineItemsManager: SpineItemsManager;
18
+ spineItemsManager: SpineItemsManager;
17
19
  spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>;
18
20
  protected settings: ReaderSettingsManager;
19
21
  protected hookManager: HookManager;
@@ -21,12 +23,13 @@ export declare class Spine extends DestroyableClass {
21
23
  protected spineItemsLoader: SpineItemsLoader;
22
24
  locator: SpineLocator;
23
25
  elementResize$: Observable<ResizeObserverEntry[]>;
26
+ spineItemsObserver: SpineItemsObserver;
27
+ spineLayout: SpineLayout;
24
28
  element$: Observable<HTMLElement>;
25
29
  constructor(parentElement$: Observable<HTMLElement>, context: Context, pagination: Pagination, spineItemsManager: SpineItemsManager, spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>, settings: ReaderSettingsManager, hookManager: HookManager);
26
30
  get element(): HTMLElement;
27
31
  layout(): void;
28
32
  isSelecting(): boolean;
29
33
  getSelection(): Selection | undefined;
30
- get layout$(): Observable<boolean>;
31
34
  destroy(): void;
32
35
  }
@@ -1,22 +1,13 @@
1
- import { BehaviorSubject, Subject } from 'rxjs';
2
1
  import { Context } from '../context/Context';
3
2
  import { SpineItem } from '../spineItem/createSpineItem';
4
3
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
5
4
  import { DestroyableClass } from '../utils/DestroyableClass';
5
+ import { BehaviorSubject } from 'rxjs';
6
6
 
7
7
  export declare class SpineItemsManager extends DestroyableClass {
8
8
  protected context: Context;
9
9
  protected settings: ReaderSettingsManager;
10
10
  constructor(context: Context, settings: ReaderSettingsManager);
11
- protected layoutSubject: Subject<boolean>;
12
- protected itemLayoutInformation: {
13
- left: number;
14
- right: number;
15
- top: number;
16
- bottom: number;
17
- width: number;
18
- height: number;
19
- }[];
20
11
  protected orderedSpineItemsSubject: BehaviorSubject<{
21
12
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
22
13
  blankPagePosition: `before` | `after` | `none`;
@@ -253,8 +244,6 @@ export declare class SpineItemsManager extends DestroyableClass {
253
244
  isReady$: import('rxjs').Observable<boolean>;
254
245
  };
255
246
  }[]>;
256
- layout$: import('rxjs').Observable<boolean>;
257
- layout(): void;
258
247
  get(indexOrId: number | string | SpineItem | undefined): {
259
248
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
260
249
  blankPagePosition: `before` | `after` | `none`;
@@ -373,18 +362,10 @@ export declare class SpineItemsManager extends DestroyableClass {
373
362
  isReady$: import('rxjs').Observable<boolean>;
374
363
  };
375
364
  } | undefined;
376
- getAbsolutePositionOf(spineItemOrIndex: SpineItem | number | string | undefined): {
377
- left: number;
378
- right: number;
379
- top: number;
380
- bottom: number;
381
- width: number;
382
- height: number;
383
- };
384
365
  comparePositionOf(toCompare: SpineItem, withItem: SpineItem): "after" | "before" | "same";
385
366
  getSpineItemIndex(spineItem: SpineItem | undefined): number | undefined;
386
367
  addMany(spineItems: SpineItem[]): void;
387
- get items(): {
368
+ getSpineItemFromCfi(cfi: string): {
388
369
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
389
370
  blankPagePosition: `before` | `after` | `none`;
390
371
  minimumWidth: number;
@@ -501,9 +482,8 @@ export declare class SpineItemsManager extends DestroyableClass {
501
482
  loaded$: import('rxjs').Observable<HTMLIFrameElement>;
502
483
  isReady$: import('rxjs').Observable<boolean>;
503
484
  };
504
- }[];
505
- getLength(): number;
506
- getSpineItemFromCfi(cfi: string): {
485
+ } | undefined;
486
+ get items(): {
507
487
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
508
488
  blankPagePosition: `before` | `after` | `none`;
509
489
  minimumWidth: number;
@@ -620,7 +600,6 @@ export declare class SpineItemsManager extends DestroyableClass {
620
600
  loaded$: import('rxjs').Observable<HTMLIFrameElement>;
621
601
  isReady$: import('rxjs').Observable<boolean>;
622
602
  };
623
- } | undefined;
603
+ }[];
624
604
  destroyItems(): void;
625
- destroy(): void;
626
605
  }
@@ -2,9 +2,11 @@ import { Observable } from 'rxjs';
2
2
  import { SpineItemsManager } from './SpineItemsManager';
3
3
  import { DestroyableClass } from '../utils/DestroyableClass';
4
4
  import { SpineItem } from '../spineItem/createSpineItem';
5
+ import { SpineLocator } from './locator/SpineLocator';
5
6
 
6
7
  export declare class SpineItemsObserver extends DestroyableClass {
7
8
  protected spineItemsManager: SpineItemsManager;
9
+ protected spineLocator: SpineLocator;
8
10
  itemIsReady$: Observable<{
9
11
  item: SpineItem;
10
12
  isReady: boolean;
@@ -13,5 +15,5 @@ export declare class SpineItemsObserver extends DestroyableClass {
13
15
  item: SpineItem;
14
16
  entries: ResizeObserverEntry[];
15
17
  }>;
16
- constructor(spineItemsManager: SpineItemsManager);
18
+ constructor(spineItemsManager: SpineItemsManager, spineLocator: SpineLocator);
17
19
  }
@@ -0,0 +1,49 @@
1
+ import { Observable, Subject } from 'rxjs';
2
+ import { Context } from '../context/Context';
3
+ import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
+ import { DestroyableClass } from '../utils/DestroyableClass';
5
+ import { SpineItemsManager } from './SpineItemsManager';
6
+ import { SpineItem } from '../spineItem/createSpineItem';
7
+
8
+ export type LayoutPosition = {
9
+ left: number;
10
+ right: number;
11
+ top: number;
12
+ bottom: number;
13
+ width: number;
14
+ height: number;
15
+ x: number;
16
+ y: number;
17
+ __symbol?: `LayoutPosition`;
18
+ };
19
+ export type PageLayoutInformation = {
20
+ absolutePageIndex: number;
21
+ itemIndex: number;
22
+ absolutePosition: LayoutPosition;
23
+ };
24
+ export declare class SpineLayout extends DestroyableClass {
25
+ protected spineItemsManager: SpineItemsManager;
26
+ protected context: Context;
27
+ protected settings: ReaderSettingsManager;
28
+ protected itemLayoutInformation: LayoutPosition[];
29
+ protected layoutSubject: Subject<boolean>;
30
+ layout$: Observable<{
31
+ hasChanged: boolean;
32
+ spineItemsAbsolutePositions: LayoutPosition[];
33
+ spineItemsPagesAbsolutePositions: LayoutPosition[][];
34
+ pages: PageLayoutInformation[];
35
+ }>;
36
+ constructor(spineItemsManager: SpineItemsManager, context: Context, settings: ReaderSettingsManager);
37
+ layout(): void;
38
+ getAbsolutePositionOf(spineItemOrIndex: SpineItem | number | string | undefined): {
39
+ left: number;
40
+ right: number;
41
+ top: number;
42
+ bottom: number;
43
+ width: number;
44
+ height: number;
45
+ x: number;
46
+ y: number;
47
+ };
48
+ destroy(): void;
49
+ }
@@ -0,0 +1,10 @@
1
+ import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
+ import { LayoutPosition } from '../SpineLayout';
3
+
4
+ export declare const convertSpinePositionToLayoutPosition: ({ position, pageSize, }: {
5
+ position: ViewportPosition;
6
+ pageSize: {
7
+ height: number;
8
+ width: number;
9
+ };
10
+ }) => LayoutPosition;
@@ -3,11 +3,13 @@ import { SpineLocator } from '../locator/SpineLocator';
3
3
  import { Context } from '../../context/Context';
4
4
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
5
  import { DestroyableClass } from '../../utils/DestroyableClass';
6
+ import { SpineLayout } from '../SpineLayout';
6
7
 
7
8
  export declare class SpineItemsLoader extends DestroyableClass {
8
9
  protected context: Context;
9
10
  protected spineItemsManager: SpineItemsManager;
10
11
  protected spineLocator: SpineLocator;
11
12
  protected settings: ReaderSettingsManager;
12
- constructor(context: Context, spineItemsManager: SpineItemsManager, spineLocator: SpineLocator, settings: ReaderSettingsManager);
13
+ protected spineLayout: SpineLayout;
14
+ constructor(context: Context, spineItemsManager: SpineItemsManager, spineLocator: SpineLocator, settings: ReaderSettingsManager, spineLayout: SpineLayout);
13
15
  }
@@ -6,15 +6,146 @@ import { SafeSpineItemPosition, UnsafeSpineItemPosition } from '../../spineItem/
6
6
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
7
7
  import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
8
8
  import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
9
+ import { SpineLayout } from '../SpineLayout';
10
+ import { getSpineInfoFromAbsolutePageIndex } from './getSpineInfoFromAbsolutePageIndex';
11
+ import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPageIndex';
9
12
 
10
13
  export type SpineLocator = ReturnType<typeof createSpineLocator>;
11
- export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, }: {
14
+ export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, }: {
12
15
  spineItemsManager: SpineItemsManager;
13
16
  context: Context;
14
17
  spineItemLocator: ReturnType<typeof createSpineItemLocator>;
15
18
  settings: ReaderSettingsManager;
19
+ spineLayout: SpineLayout;
16
20
  }) => {
17
- getSpinePositionFromSpineItemPosition: (spineItemPosition: SafeSpineItemPosition, spineItem: SpineItem) => ViewportPosition;
21
+ getSpinePositionFromSpineItemPosition: ({ spineItem, spineItemPosition, }: {
22
+ spineItemPosition: SafeSpineItemPosition;
23
+ spineItem: SpineItem;
24
+ }) => ViewportPosition;
25
+ getAbsolutePageIndexFromPageIndex: (params: Omit<Parameters<typeof getAbsolutePageIndexFromPageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => number | undefined;
26
+ getSpineInfoFromAbsolutePageIndex: (params: Omit<Parameters<typeof getSpineInfoFromAbsolutePageIndex>[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => {
27
+ spineItem: {
28
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
29
+ blankPagePosition: `before` | `after` | `none`;
30
+ minimumWidth: number;
31
+ spreadPosition: `none` | `left` | `right`;
32
+ }) => {
33
+ width: number;
34
+ height: number;
35
+ };
36
+ item: {
37
+ id: string;
38
+ href: string;
39
+ renditionLayout?: `reflowable` | `pre-paginated`;
40
+ progressionWeight?: number;
41
+ pageSpreadLeft?: true | undefined;
42
+ pageSpreadRight?: true | undefined;
43
+ mediaType?: string;
44
+ };
45
+ overlayElement: HTMLDivElement;
46
+ adjustPositionOfElement: ({ right, left, top, }: {
47
+ right?: number;
48
+ left?: number;
49
+ top?: number;
50
+ }) => void;
51
+ getElementDimensions: () => {
52
+ width: number;
53
+ height: number;
54
+ x: number;
55
+ y: number;
56
+ bottom: number;
57
+ left: number;
58
+ right: number;
59
+ top: number;
60
+ toJSON(): any;
61
+ };
62
+ getHtmlFromResource: (response: Response) => Promise<string>;
63
+ getResource: () => Promise<Response>;
64
+ translateFramePositionIntoPage: (position: {
65
+ clientX: number;
66
+ clientY: number;
67
+ }) => {
68
+ clientX: number;
69
+ clientY: number;
70
+ };
71
+ injectStyle: (cssText: string) => void;
72
+ load: () => void;
73
+ unload: () => void;
74
+ frame: import('../../spineItem/frame/FrameItem').FrameItem;
75
+ element: HTMLElement;
76
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
77
+ getViewPortInformation: () => {
78
+ computedScale: number;
79
+ computedWidthScale: number;
80
+ viewportDimensions: {
81
+ width: number;
82
+ height: number;
83
+ };
84
+ } | undefined;
85
+ isImageType: () => boolean;
86
+ isReady: () => boolean;
87
+ destroy: () => void;
88
+ readingDirection: "ltr" | "rtl" | undefined;
89
+ isUsingVerticalWriting: () => boolean | undefined;
90
+ executeOnLayoutBeforeMeasurementHook: (options: {
91
+ minimumWidth: number;
92
+ }) => void[];
93
+ selectionTracker: {
94
+ track: (frameToTrack: HTMLIFrameElement) => void;
95
+ destroy: () => void;
96
+ isSelecting: () => boolean;
97
+ getSelection: () => Selection | undefined;
98
+ $: import('rxjs').Observable<{
99
+ event: `selectionchange`;
100
+ data: Selection | null;
101
+ } | {
102
+ event: `selectstart`;
103
+ data: Selection | null;
104
+ } | {
105
+ event: `selectend`;
106
+ data: Selection | null;
107
+ }>;
108
+ };
109
+ fingerTracker: {
110
+ track: (frame: HTMLIFrameElement) => void;
111
+ getFingerPositionInIframe(): {
112
+ x: number | undefined;
113
+ y: number | undefined;
114
+ } | undefined;
115
+ destroy: () => void;
116
+ $: import('rxjs').Observable<{
117
+ event: `fingermove`;
118
+ data: {
119
+ x: number;
120
+ y: number;
121
+ };
122
+ } | {
123
+ event: `fingerout`;
124
+ data: undefined;
125
+ }>;
126
+ };
127
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
128
+ columnHeight: number;
129
+ columnWidth: number;
130
+ width: number;
131
+ };
132
+ getDimensionsForPaginatedContent: () => {
133
+ columnHeight: number;
134
+ columnWidth: number;
135
+ };
136
+ $: {
137
+ contentLayout$: import('rxjs').Observable<{
138
+ isFirstLayout: boolean;
139
+ isReady: boolean;
140
+ }>;
141
+ loaded$: import('rxjs').Observable<HTMLIFrameElement>;
142
+ isReady$: import('rxjs').Observable<boolean>;
143
+ };
144
+ };
145
+ pageIndex: number;
146
+ itemIndex: number;
147
+ currentAbsolutePage: number;
148
+ } | undefined;
18
149
  getSpinePositionFromSpineItem: (spineItem: SpineItem) => ViewportPosition;
19
150
  getSpineItemPositionFromSpinePosition: ((position: ViewportPosition, spineItem: SpineItem) => UnsafeSpineItemPosition) | ((position: ViewportPosition, spineItem: {
20
151
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
@@ -371,7 +502,7 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
371
502
  };
372
503
  } | undefined;
373
504
  getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined;
374
- getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "context" | "spineItemsManager" | "settings">) => {
505
+ getVisibleSpineItemsFromPosition: (params: Omit<Parameters<typeof getVisibleSpineItemsFromPosition>[0], "context" | "spineItemsManager" | "settings" | "spineLayout">) => {
375
506
  beginIndex: number;
376
507
  endIndex: number;
377
508
  } | undefined;
@@ -390,7 +521,14 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
390
521
  x: number;
391
522
  y: number;
392
523
  } | undefined;
393
- getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) => SafeSpineItemPosition;
524
+ getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, isUsingVerticalWriting, }: {
525
+ pageIndex: number;
526
+ itemLayout: {
527
+ width: number;
528
+ height: number;
529
+ };
530
+ isUsingVerticalWriting: boolean;
531
+ }) => SafeSpineItemPosition;
394
532
  getSpineItemPageIndexFromPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, }: {
395
533
  itemWidth: number;
396
534
  itemHeight: number;
@@ -406,7 +544,10 @@ export declare const createSpineLocator: ({ spineItemsManager, context, spineIte
406
544
  node: Node;
407
545
  offset: number;
408
546
  } | undefined;
409
- getSpineItemNumberOfPages: ({ itemHeight, itemWidth, isUsingVerticalWriting, }: {
547
+ getSpineItemPagesPosition: ({ item }: {
548
+ item: SpineItem;
549
+ }) => SafeSpineItemPosition[];
550
+ getSpineItemNumberOfPages: (params: {
410
551
  itemWidth: number;
411
552
  itemHeight: number;
412
553
  isUsingVerticalWriting: boolean;
@@ -0,0 +1,14 @@
1
+ import { Context } from '../../context/Context';
2
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
+ import { SpineItem } from '../../spineItem/createSpineItem';
4
+ import { SpineItemsManager } from '../SpineItemsManager';
5
+ import { SpineLayout } from '../SpineLayout';
6
+
7
+ export declare const getAbsolutePageIndexFromPageIndex: ({ pageIndex, spineItemOrId, spineLayout, spineItemsManager, context, settings, }: {
8
+ pageIndex: number;
9
+ spineItemOrId: number | SpineItem | string;
10
+ spineLayout: SpineLayout;
11
+ spineItemsManager: SpineItemsManager;
12
+ context: Context;
13
+ settings: ReaderSettingsManager;
14
+ }) => number | undefined;
@@ -0,0 +1,134 @@
1
+ import { Context } from '../../context/Context';
2
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
+ import { SpineItemsManager } from '../SpineItemsManager';
4
+ import { SpineLayout } from '../SpineLayout';
5
+
6
+ export declare const getSpineInfoFromAbsolutePageIndex: ({ absolutePageIndex, spineLayout, spineItemsManager, context, settings, }: {
7
+ absolutePageIndex: number;
8
+ spineLayout: SpineLayout;
9
+ spineItemsManager: SpineItemsManager;
10
+ context: Context;
11
+ settings: ReaderSettingsManager;
12
+ }) => {
13
+ spineItem: {
14
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
15
+ blankPagePosition: `before` | `after` | `none`;
16
+ minimumWidth: number;
17
+ spreadPosition: `none` | `left` | `right`;
18
+ }) => {
19
+ width: number;
20
+ height: number;
21
+ };
22
+ item: {
23
+ id: string;
24
+ href: string;
25
+ renditionLayout?: `reflowable` | `pre-paginated`;
26
+ progressionWeight?: number;
27
+ pageSpreadLeft?: true | undefined;
28
+ pageSpreadRight?: true | undefined;
29
+ mediaType?: string;
30
+ };
31
+ overlayElement: HTMLDivElement;
32
+ adjustPositionOfElement: ({ right, left, top, }: {
33
+ right?: number;
34
+ left?: number;
35
+ top?: number;
36
+ }) => void;
37
+ getElementDimensions: () => {
38
+ width: number;
39
+ height: number;
40
+ x: number;
41
+ y: number;
42
+ bottom: number;
43
+ left: number;
44
+ right: number;
45
+ top: number;
46
+ toJSON(): any;
47
+ };
48
+ getHtmlFromResource: (response: Response) => Promise<string>;
49
+ getResource: () => Promise<Response>;
50
+ translateFramePositionIntoPage: (position: {
51
+ clientX: number;
52
+ clientY: number;
53
+ }) => {
54
+ clientX: number;
55
+ clientY: number;
56
+ };
57
+ injectStyle: (cssText: string) => void;
58
+ load: () => void;
59
+ unload: () => void;
60
+ frame: import('../../spineItem/frame/FrameItem').FrameItem;
61
+ element: HTMLElement;
62
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
63
+ getViewPortInformation: () => {
64
+ computedScale: number;
65
+ computedWidthScale: number;
66
+ viewportDimensions: {
67
+ width: number;
68
+ height: number;
69
+ };
70
+ } | undefined;
71
+ isImageType: () => boolean;
72
+ isReady: () => boolean;
73
+ destroy: () => void;
74
+ readingDirection: "ltr" | "rtl" | undefined;
75
+ isUsingVerticalWriting: () => boolean | undefined;
76
+ executeOnLayoutBeforeMeasurementHook: (options: {
77
+ minimumWidth: number;
78
+ }) => void[];
79
+ selectionTracker: {
80
+ track: (frameToTrack: HTMLIFrameElement) => void;
81
+ destroy: () => void;
82
+ isSelecting: () => boolean;
83
+ getSelection: () => Selection | undefined;
84
+ $: import('rxjs').Observable<{
85
+ event: `selectionchange`;
86
+ data: Selection | null;
87
+ } | {
88
+ event: `selectstart`;
89
+ data: Selection | null;
90
+ } | {
91
+ event: `selectend`;
92
+ data: Selection | null;
93
+ }>;
94
+ };
95
+ fingerTracker: {
96
+ track: (frame: HTMLIFrameElement) => void;
97
+ getFingerPositionInIframe(): {
98
+ x: number | undefined;
99
+ y: number | undefined;
100
+ } | undefined;
101
+ destroy: () => void;
102
+ $: import('rxjs').Observable<{
103
+ event: `fingermove`;
104
+ data: {
105
+ x: number;
106
+ y: number;
107
+ };
108
+ } | {
109
+ event: `fingerout`;
110
+ data: undefined;
111
+ }>;
112
+ };
113
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
114
+ columnHeight: number;
115
+ columnWidth: number;
116
+ width: number;
117
+ };
118
+ getDimensionsForPaginatedContent: () => {
119
+ columnHeight: number;
120
+ columnWidth: number;
121
+ };
122
+ $: {
123
+ contentLayout$: import('rxjs').Observable<{
124
+ isFirstLayout: boolean;
125
+ isReady: boolean;
126
+ }>;
127
+ loaded$: import('rxjs').Observable<HTMLIFrameElement>;
128
+ isReady$: import('rxjs').Observable<boolean>;
129
+ };
130
+ };
131
+ pageIndex: number;
132
+ itemIndex: number;
133
+ currentAbsolutePage: number;
134
+ } | undefined;
@@ -1,10 +1,12 @@
1
1
  import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
3
  import { SpineItemsManager } from '../SpineItemsManager';
4
+ import { SpineLayout } from '../SpineLayout';
4
5
 
5
- export declare const getSpineItemFromPosition: ({ position, spineItemsManager, settings, }: {
6
+ export declare const getSpineItemFromPosition: ({ position, spineItemsManager, spineLayout, settings, }: {
6
7
  position: ViewportPosition;
7
8
  spineItemsManager: SpineItemsManager;
9
+ spineLayout: SpineLayout;
8
10
  settings: ReaderSettingsManager;
9
11
  }) => {
10
12
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
@@ -0,0 +1,13 @@
1
+ import { Context } from '../../context/Context';
2
+
3
+ export declare const getSpinePositionFromSpineItemPageIndex: ({ pageIndex, context, isUsingVerticalWriting, itemLayout, }: {
4
+ pageIndex: number;
5
+ isUsingVerticalWriting: boolean;
6
+ context: Context;
7
+ itemLayout: {
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ };
13
+ }) => import('../../navigation/viewport/ViewportNavigator').ViewportPosition;
@@ -0,0 +1,10 @@
1
+ import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
2
+ import { SafeSpineItemPosition } from '../../spineItem/types';
3
+
4
+ export declare const getSpinePositionFromSpineItemPosition: ({ spineItemPosition, itemLayout: { left, top }, }: {
5
+ spineItemPosition: SafeSpineItemPosition;
6
+ itemLayout: {
7
+ left: number;
8
+ top: number;
9
+ };
10
+ }) => ViewportPosition;
@@ -2,14 +2,16 @@ import { Context } from '../../context/Context';
2
2
  import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
3
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
4
  import { SpineItemsManager } from '../SpineItemsManager';
5
+ import { SpineLayout } from '../SpineLayout';
5
6
 
6
- export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, context, settings, }: {
7
+ export declare const getVisibleSpineItemsFromPosition: ({ position, threshold, restrictToScreen, spineItemsManager, context, settings, spineLayout, }: {
7
8
  position: ViewportPosition;
8
9
  threshold: number;
9
10
  restrictToScreen?: boolean;
10
11
  spineItemsManager: SpineItemsManager;
11
12
  context: Context;
12
13
  settings: ReaderSettingsManager;
14
+ spineLayout: SpineLayout;
13
15
  }) => {
14
16
  beginIndex: number;
15
17
  endIndex: number;
@@ -12,7 +12,14 @@ export declare const createSpineItemLocator: ({ context, settings, }: {
12
12
  x: number;
13
13
  y: number;
14
14
  } | undefined;
15
- getSpineItemPositionFromPageIndex: (pageIndex: number, spineItem: SpineItem) => SafeSpineItemPosition;
15
+ getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, isUsingVerticalWriting, }: {
16
+ pageIndex: number;
17
+ itemLayout: {
18
+ width: number;
19
+ height: number;
20
+ };
21
+ isUsingVerticalWriting: boolean;
22
+ }) => SafeSpineItemPosition;
16
23
  getSpineItemPageIndexFromPosition: ({ itemWidth, itemHeight, position, isUsingVerticalWriting, }: {
17
24
  itemWidth: number;
18
25
  itemHeight: number;
@@ -28,7 +35,10 @@ export declare const createSpineItemLocator: ({ context, settings, }: {
28
35
  node: Node;
29
36
  offset: number;
30
37
  } | undefined;
31
- getSpineItemNumberOfPages: ({ itemHeight, itemWidth, isUsingVerticalWriting, }: {
38
+ getSpineItemPagesPosition: ({ item }: {
39
+ item: SpineItem;
40
+ }) => SafeSpineItemPosition[];
41
+ getSpineItemNumberOfPages: (params: {
32
42
  itemWidth: number;
33
43
  itemHeight: number;
34
44
  isUsingVerticalWriting: boolean;
@@ -0,0 +1,10 @@
1
+ import { Context } from '../../context/Context';
2
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
+
4
+ export declare const getSpineItemNumberOfPages: ({ itemHeight, itemWidth, isUsingVerticalWriting, settings, context, }: {
5
+ itemWidth: number;
6
+ itemHeight: number;
7
+ isUsingVerticalWriting: boolean;
8
+ settings: ReaderSettingsManager;
9
+ context: Context;
10
+ }) => number;
@@ -0,0 +1,12 @@
1
+ import { Context } from '../../context/Context';
2
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
3
+
4
+ export declare const getSpineItemPagesPosition: ({ context, isUsingVerticalWriting, settings, itemLayout, }: {
5
+ itemLayout: {
6
+ width: number;
7
+ height: number;
8
+ };
9
+ isUsingVerticalWriting: boolean;
10
+ settings: ReaderSettingsManager;
11
+ context: Context;
12
+ }) => import('../types').SafeSpineItemPosition[];
@@ -0,0 +1,12 @@
1
+ import { Context } from '../../context/Context';
2
+ import { SafeSpineItemPosition } from '../types';
3
+
4
+ export declare const getSpineItemPositionFromPageIndex: ({ pageIndex, itemLayout, context, isUsingVerticalWriting, }: {
5
+ pageIndex: number;
6
+ itemLayout: {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ context: Context;
11
+ isUsingVerticalWriting: boolean;
12
+ }) => SafeSpineItemPosition;
@@ -0,0 +1 @@
1
+ export declare const getAttributeValueFromString: (string: string, key: string) => number;