@prose-reader/core 1.66.0 → 1.68.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 (129) hide show
  1. package/dist/{cfi.d.ts → cfi/CfiHandler.d.ts} +1 -7
  2. package/dist/cfi/generate/generateCfiFromRange.d.ts +11 -0
  3. package/dist/cfi/generate/getCfiForSpineItemPage.d.ts +12 -0
  4. package/dist/cfi/generate/getItemAnchor.d.ts +3 -0
  5. package/dist/cfi/generate/getRootCfi.d.ts +3 -0
  6. package/dist/cfi/lookup/extractProseMetadataFromCfi.d.ts +5 -0
  7. package/dist/cfi/lookup/isRootCfi.d.ts +1 -0
  8. package/dist/cfi/lookup/resolveCfi.d.ts +14 -0
  9. package/dist/context/BridgeEvent.d.ts +16 -0
  10. package/dist/context/Context.d.ts +3 -1
  11. package/dist/createReaderWithEnhancer.d.ts +103 -167
  12. package/dist/enhancers/events/normalizeEventForViewport.d.ts +2 -2
  13. package/dist/enhancers/hotkeys.d.ts +2 -1
  14. package/dist/enhancers/links.d.ts +2 -1
  15. package/dist/enhancers/loadingEnhancer.d.ts +1 -1
  16. package/dist/enhancers/navigation/{navigation.d.ts → index.d.ts} +2 -7
  17. package/dist/enhancers/navigation/navigators/manualNavigator.d.ts +27 -0
  18. package/dist/enhancers/navigation/navigators/panNavigator.d.ts +21 -0
  19. package/dist/enhancers/navigation/resolvers/getNavigationForLeftPage.d.ts +16 -0
  20. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +14 -0
  21. package/dist/enhancers/navigation/resolvers/getNavigationForRightPage.d.ts +16 -0
  22. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +14 -0
  23. package/dist/enhancers/navigation/resolvers/getSpineItemPositionForLeftPage.d.ts +11 -0
  24. package/dist/enhancers/navigation/resolvers/getSpineItemPositionForRightPage.d.ts +11 -0
  25. package/dist/enhancers/navigation/state.d.ts +2 -5
  26. package/dist/enhancers/navigation/types.d.ts +20 -0
  27. package/dist/enhancers/pagination/enhancer.d.ts +4 -4
  28. package/dist/enhancers/pagination/pagination.d.ts +1 -1
  29. package/dist/enhancers/pagination/spine.d.ts +0 -5
  30. package/dist/enhancers/pagination/types.d.ts +1 -1
  31. package/dist/enhancers/resources/resourcesManager.d.ts +1 -1
  32. package/dist/enhancers/types/enhancer.d.ts +1 -2
  33. package/dist/hooks/types.d.ts +2 -15
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.js +5514 -4869
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.umd.cjs +5517 -4872
  38. package/dist/index.umd.cjs.map +1 -1
  39. package/dist/navigation/InternalNavigator.d.ts +67 -0
  40. package/dist/navigation/InternalNavigator.test.d.ts +1 -0
  41. package/dist/navigation/Locker.d.ts +7 -0
  42. package/dist/navigation/Navigator.d.ts +70 -0
  43. package/dist/navigation/UserNavigator.d.ts +27 -0
  44. package/dist/navigation/consolidation/mapUserNavigationToInternal.d.ts +8 -0
  45. package/dist/navigation/consolidation/withCfiPosition.d.ts +11 -0
  46. package/dist/navigation/consolidation/withDirection.d.ts +22 -0
  47. package/dist/navigation/consolidation/withFallbackPosition.d.ts +13 -0
  48. package/dist/navigation/consolidation/withPaginationInfo.d.ts +10 -0
  49. package/dist/navigation/consolidation/withSpineItem.d.ts +19 -0
  50. package/dist/navigation/consolidation/withSpineItemLayoutInfo.d.ts +11 -0
  51. package/dist/navigation/consolidation/withSpineItemPosition.d.ts +19 -0
  52. package/dist/navigation/consolidation/withUrlInfo.d.ts +11 -0
  53. package/dist/navigation/resolvers/NavigationResolver.d.ts +51 -0
  54. package/dist/navigation/resolvers/getAdjustedPositionForSpread.d.ts +7 -0
  55. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +11 -0
  56. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +15 -0
  57. package/dist/navigation/resolvers/getNavigationForUrl.d.ts +16 -0
  58. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +13 -0
  59. package/dist/navigation/resolvers/wrapPositionWithSafeEdge.d.ts +14 -0
  60. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.d.ts +11 -0
  61. package/dist/navigation/restoration/restoreNavigationForControlledPageTurnMode.test.d.ts +1 -0
  62. package/dist/navigation/restoration/restorePosition.d.ts +18 -0
  63. package/dist/navigation/restoration/withRestoredPosition.d.ts +21 -0
  64. package/dist/navigation/tests/SpineItemsManagerMock.d.ts +27 -0
  65. package/dist/navigation/tests/utils.d.ts +12 -0
  66. package/dist/navigation/viewport/ViewportNavigator.d.ts +36 -0
  67. package/dist/navigation/viewport/getScaledDownPosition.d.ts +11 -0
  68. package/dist/pagination/Pagination.d.ts +26 -0
  69. package/dist/pagination/PaginationController.d.ts +15 -0
  70. package/dist/reader.d.ts +108 -2
  71. package/dist/report.d.ts +2 -0
  72. package/dist/selection.d.ts +1 -1
  73. package/dist/settings/ReaderSettingsManager.d.ts +2 -1
  74. package/dist/spine/Spine.d.ts +32 -0
  75. package/dist/spine/{locationResolver.d.ts → SpineItemsManager.d.ts} +216 -226
  76. package/dist/spine/SpineItemsObserver.d.ts +17 -0
  77. package/dist/spine/loader/SpineItemsLoader.d.ts +13 -0
  78. package/dist/spine/loader/loadItems.d.ts +8 -0
  79. package/dist/spine/loader/mapToItemsToLoad.d.ts +7 -0
  80. package/dist/{spineItemManager.d.ts → spine/locator/SpineLocator.d.ts} +109 -198
  81. package/dist/spine/locator/getItemVisibilityForPosition.d.ts +19 -0
  82. package/dist/spine/locator/getItemVisibilityForPosition.test.d.ts +1 -0
  83. package/dist/spine/locator/getSpineItemFromPosition.d.ts +126 -0
  84. package/dist/spine/locator/getVisibleSpineItemsFromPosition.d.ts +16 -0
  85. package/dist/spine/locator/getVisibleSpineItemsFromPosition.test.d.ts +1 -0
  86. package/dist/spineItem/commonSpineItem.d.ts +25 -61
  87. package/dist/spineItem/createSpineItem.d.ts +24 -60
  88. package/dist/spineItem/frame/FrameItem.d.ts +44 -0
  89. package/dist/spineItem/{frameItem → frame}/createHtmlPageFromResource.d.ts +1 -1
  90. package/dist/spineItem/frame/loader/attachFrameSrc.d.ts +8 -0
  91. package/dist/spineItem/frame/loader/configureFrame.d.ts +10 -0
  92. package/dist/spineItem/frame/loader/createFrameElement.d.ts +1 -0
  93. package/dist/spineItem/frame/loader/loadFrame.d.ts +12 -0
  94. package/dist/spineItem/frame/loader/loader.d.ts +23 -0
  95. package/dist/spineItem/frame/loader/unloadFrame.d.ts +9 -0
  96. package/dist/spineItem/frame/loader/waitForFrameLoad.d.ts +3 -0
  97. package/dist/spineItem/frame/loader/waitForFrameReady.d.ts +3 -0
  98. package/dist/spineItem/helpers.d.ts +3 -0
  99. package/dist/spineItem/locationResolver.d.ts +17 -5
  100. package/dist/spineItem/navigationResolver.d.ts +6 -8
  101. package/dist/spineItem/prePaginatedSpineItem.d.ts +24 -60
  102. package/dist/spineItem/reflowable/ReflowableSpineItems.d.ts +24 -60
  103. package/dist/spineItem/types.d.ts +1 -10
  104. package/dist/tests/utils.d.ts +1 -0
  105. package/dist/utils/DestroyableClass.d.ts +5 -0
  106. package/dist/utils/dom.d.ts +3 -2
  107. package/dist/utils/rxjs.d.ts +3 -1
  108. package/package.json +3 -3
  109. package/dist/enhancers/navigation/navigator.d.ts +0 -8
  110. package/dist/enhancers/publicApi.d.ts +0 -5
  111. package/dist/pagination/pagination.d.ts +0 -88
  112. package/dist/pagination/types.d.ts +0 -10
  113. package/dist/spine/cfiLocator.d.ts +0 -340
  114. package/dist/spine/createSpine.d.ts +0 -31
  115. package/dist/spine/navigationResolver.d.ts +0 -48
  116. package/dist/spine/types.d.ts +0 -10
  117. package/dist/spineItem/frameItem/createFrame$.d.ts +0 -1
  118. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +0 -5
  119. package/dist/spineItem/frameItem/frameItem.d.ts +0 -48
  120. package/dist/spineItem/frameItem/loader.d.ts +0 -29
  121. package/dist/types/Spine.d.ts +0 -40
  122. package/dist/types/index.d.ts +0 -12
  123. package/dist/types/reader.d.ts +0 -44
  124. package/dist/viewportNavigator/manualViewportNavigator.d.ts +0 -96
  125. package/dist/viewportNavigator/panViewportNavigator.d.ts +0 -55
  126. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +0 -38
  127. package/dist/viewportNavigator/types.d.ts +0 -34
  128. package/dist/viewportNavigator/viewportNavigator.d.ts +0 -82
  129. /package/dist/enhancers/{pagination.test.d.ts → pagination/pagination.test.d.ts} +0 -0
@@ -1,31 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { Context } from '../context/Context';
3
- import { Pagination } from '../pagination/pagination';
4
- import { SpineItemManager } from '../spineItemManager';
5
- import { createLocationResolver as createSpineLocationResolver } from './locationResolver';
6
- import { createLocationResolver as createSpineItemLocationResolver } from '../spineItem/locationResolver';
7
- import { createCfiLocator } from './cfiLocator';
8
- import { Spine } from '../types/Spine';
9
- import { AdjustedNavigation, Navigation } from '../viewportNavigator/types';
10
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
11
- import { HookManager } from '../hooks/HookManager';
12
-
13
- export declare const createSpine: ({ element$, context, pagination, spineItemManager, spineItemLocator, spineLocator, cfiLocator, navigation$, navigationAdjusted$, currentNavigationPosition$, viewportState$, settings, hookManager, }: {
14
- element$: Observable<HTMLElement>;
15
- context: Context;
16
- pagination: Pagination;
17
- spineItemManager: SpineItemManager;
18
- spineItemLocator: ReturnType<typeof createSpineItemLocationResolver>;
19
- spineLocator: ReturnType<typeof createSpineLocationResolver>;
20
- cfiLocator: ReturnType<typeof createCfiLocator>;
21
- navigation$: Observable<Navigation>;
22
- navigationAdjusted$: Observable<AdjustedNavigation>;
23
- currentNavigationPosition$: Observable<{
24
- x: number;
25
- y: number;
26
- }>;
27
- viewportState$: Observable<`free` | `busy`>;
28
- settings: ReaderSettingsManager;
29
- hookManager: HookManager;
30
- }) => Spine;
31
- export { Spine };
@@ -1,48 +0,0 @@
1
- import { Context } from '../context/Context';
2
- import { SpineItemManager } from '../spineItemManager';
3
- import { SpineItem } from '../spineItem/createSpineItem';
4
- import { createLocationResolver } from './locationResolver';
5
- import { createCfiLocator } from './cfiLocator';
6
- import { SpinePosition, UnsafeSpinePosition } from './types';
7
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
8
-
9
- export type ViewportNavigationEntry = {
10
- x: number;
11
- y: number;
12
- spineItem?: SpineItem;
13
- };
14
- type ViewportPosition = {
15
- x: number;
16
- y: number;
17
- };
18
- export declare const createNavigationResolver: ({ context, spineItemManager, cfiLocator, locator, settings, }: {
19
- context: Context;
20
- spineItemManager: SpineItemManager;
21
- cfiLocator: ReturnType<typeof createCfiLocator>;
22
- locator: ReturnType<typeof createLocationResolver>;
23
- settings: ReaderSettingsManager;
24
- }) => {
25
- getNavigationForCfi: (cfi: string) => ViewportNavigationEntry;
26
- getNavigationForPage: (pageIndex: number, spineItem?: SpineItem) => ViewportNavigationEntry;
27
- getNavigationForLastPage: (spineItem: SpineItem) => ViewportNavigationEntry;
28
- getNavigationForSpineIndexOrId: (indexOrId: number | string) => ViewportNavigationEntry;
29
- getNavigationForRightPage: (position: SpinePosition) => ViewportNavigationEntry;
30
- getNavigationForLeftPage: (position: UnsafeSpinePosition) => SpinePosition;
31
- getNavigationForUrl: (url: string | URL) => (ViewportNavigationEntry & {
32
- url: URL;
33
- }) | undefined;
34
- getNavigationForAnchor: (anchor: string, spineItem: SpineItem) => ViewportNavigationEntry;
35
- getNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportNavigationEntry;
36
- getMostPredominantNavigationForPosition: (viewportPosition: ViewportPosition) => ViewportNavigationEntry;
37
- wrapPositionWithSafeEdge: ((position: SpinePosition) => {
38
- x: number;
39
- y: number;
40
- }) | ((position: SpinePosition) => ReturnType<(position: SpinePosition) => {
41
- x: number;
42
- y: number;
43
- }>);
44
- isNavigationGoingForwardFrom: (to: ViewportPosition, from: ViewportPosition) => boolean;
45
- areNavigationDifferent: (a: ViewportNavigationEntry, b: ViewportNavigationEntry) => boolean;
46
- arePositionsDifferent: (a: ViewportNavigationEntry, b: ViewportNavigationEntry) => boolean;
47
- };
48
- export {};
@@ -1,10 +0,0 @@
1
- export type SpinePosition = {
2
- x: number;
3
- y: number;
4
- __symbol?: `SpinePosition`;
5
- };
6
- export type UnsafeSpinePosition = {
7
- x: number;
8
- y: number;
9
- __symbol?: `UnsafeSpinePosition` | `SpinePosition`;
10
- };
@@ -1 +0,0 @@
1
- export declare const createFrame$: (() => import('rxjs').Observable<HTMLIFrameElement>) | (() => ReturnType<() => import('rxjs').Observable<HTMLIFrameElement>>);
@@ -1,5 +0,0 @@
1
- export declare const createFrameManipulator: (frameElement: HTMLIFrameElement) => {
2
- frame: HTMLIFrameElement;
3
- removeStyle: (id: string) => void;
4
- addStyle: (id: string, style: string, prepend?: boolean) => void;
5
- };
@@ -1,48 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { Manifest } from '../../types';
3
- import { Context } from '../../context/Context';
4
- import { createFrameManipulator } from './createFrameManipulator';
5
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
6
- import { HookManager } from '../../hooks/HookManager';
7
-
8
- export declare const createFrameItem: ({ item, parent, context, viewportState$, settings, hookManager, }: {
9
- parent: HTMLElement;
10
- item: Manifest[`spineItems`][number];
11
- context: Context;
12
- viewportState$: Observable<`free` | `busy`>;
13
- settings: ReaderSettingsManager;
14
- hookManager: HookManager;
15
- }) => {
16
- getIsLoaded: () => boolean;
17
- getIsReady: () => boolean;
18
- getViewportDimensions: () => {
19
- width: number;
20
- height: number;
21
- } | undefined;
22
- getFrameElement: () => HTMLIFrameElement | undefined;
23
- getHtmlFromResource: (response: Response) => Promise<string>;
24
- load: () => void;
25
- unload: () => void;
26
- staticLayout: (size: {
27
- width: number;
28
- height: number;
29
- }) => void;
30
- getManipulableFrame: () => ReturnType<typeof createFrameManipulator> | undefined;
31
- getReadingDirection: () => `ltr` | `rtl` | undefined;
32
- isUsingVerticalWriting: () => boolean;
33
- getWritingMode: () => `vertical-rl` | `horizontal-tb` | undefined;
34
- destroy: () => void;
35
- $: {
36
- unload$: Observable<void>;
37
- unloaded$: Observable<void>;
38
- loaded$: Observable<HTMLIFrameElement>;
39
- ready$: Observable<FontFaceSet | undefined>;
40
- isReady$: Observable<boolean>;
41
- contentLayoutChange$: Observable<{
42
- isFirstLayout: boolean;
43
- } | {
44
- isFirstLayout: boolean;
45
- }>;
46
- };
47
- };
48
- export type SpineItemFrame = ReturnType<typeof createFrameItem>;
@@ -1,29 +0,0 @@
1
- import { BehaviorSubject, Observable } from 'rxjs';
2
- import { Context } from '../../context/Context';
3
- import { Manifest } from '../../types';
4
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
- import { HookManager } from '../../hooks/HookManager';
6
-
7
- export declare const createLoader: ({ item, parent, context, viewportState$, settings, hookManager, }: {
8
- item: Manifest[`spineItems`][number];
9
- parent: HTMLElement;
10
- context: Context;
11
- settings: ReaderSettingsManager;
12
- viewportState$: Observable<`free` | `busy`>;
13
- hookManager: HookManager;
14
- }) => {
15
- load: () => void;
16
- unload: () => void;
17
- destroy: () => void;
18
- getComputedStyleAfterLoad: () => CSSStyleDeclaration | undefined;
19
- $: {
20
- load$: Observable<void>;
21
- unload$: Observable<void>;
22
- loaded$: Observable<HTMLIFrameElement>;
23
- isLoaded$: Observable<boolean>;
24
- isReady$: Observable<boolean>;
25
- ready$: Observable<FontFaceSet | undefined>;
26
- unloaded$: Observable<void>;
27
- frameElement$: BehaviorSubject<HTMLIFrameElement | undefined>;
28
- };
29
- };
@@ -1,40 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { SpineItem } from '../spineItem/createSpineItem';
3
- import { createSelection } from '../selection';
4
- import { createCfiLocator } from '../spine/cfiLocator';
5
- import { createLocationResolver } from '../spine/locationResolver';
6
- import { createLocationResolver as createSpineItemLocator } from '../spineItem/locationResolver';
7
- import { ViewportNavigationEntry } from '../spine/navigationResolver';
8
-
9
- type RequireLayout = boolean;
10
- type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0];
11
- type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0];
12
- type CfiLocator = ReturnType<typeof createCfiLocator>;
13
- type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
14
- type Locator = ReturnType<typeof createLocationResolver>;
15
- type Event = {
16
- type: `onSelectionChange`;
17
- data: ReturnType<typeof createSelection> | null;
18
- };
19
- export type Spine = {
20
- element$: Observable<HTMLElement>;
21
- getElement: () => HTMLElement | undefined;
22
- locator: Locator;
23
- spineItemLocator: SpineItemLocator;
24
- cfiLocator: CfiLocator;
25
- manipulateSpineItems: (cb: (payload: ManipulableSpineItemCallbackPayload & {
26
- index: number;
27
- }) => RequireLayout) => void;
28
- manipulateSpineItem: (id: string, cb: Parameters<SpineItem[`manipulateSpineItem`]>[0]) => void;
29
- destroy: () => void;
30
- isSelecting: () => boolean | undefined;
31
- getSelection: () => Selection | undefined;
32
- adjustPagination: (position: ViewportNavigationEntry) => Observable<`free` | `busy`>;
33
- $: {
34
- $: Observable<Event>;
35
- layout$: Observable<boolean>;
36
- spineItems$: Observable<SpineItem[]>;
37
- itemsBeforeDestroy$: Observable<void>;
38
- };
39
- };
40
- export {};
@@ -1,12 +0,0 @@
1
- import { Manifest } from '@prose-reader/shared';
2
-
3
- export type ViewportPosition = {
4
- x: number;
5
- y: number;
6
- };
7
- declare global {
8
- interface Window {
9
- __PROSE_READER_DEBUG?: boolean;
10
- }
11
- }
12
- export { Manifest };
@@ -1,44 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { Spine } from './Spine';
3
- import { Pagination } from '../pagination/pagination';
4
- import { Manifest } from '@prose-reader/shared';
5
- import { SpineItemManager } from '../spineItemManager';
6
- import { ViewportNavigator } from '../viewportNavigator/viewportNavigator';
7
- import { ComputedCoreSettings, CoreInputSettings } from '../settings/types';
8
- import { Context } from '../context/Context';
9
- import { HookManager } from '../hooks/HookManager';
10
- import { SettingsInterface } from '../settings/SettingsInterface';
11
-
12
- export type ContextSettings = Partial<CoreInputSettings>;
13
- export type LoadOptions = {
14
- cfi?: string | null;
15
- containerElement: HTMLElement;
16
- };
17
- export type ReaderInternal = {
18
- context: Context;
19
- spine: Spine;
20
- spineItemManager: SpineItemManager;
21
- viewportNavigator: ViewportNavigator;
22
- settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
23
- hookManager: HookManager;
24
- layout: () => void;
25
- load: (manifest: Manifest, loadOptions: LoadOptions) => void;
26
- destroy: () => void;
27
- pagination: Pagination;
28
- element$: Observable<HTMLElement>;
29
- $: {
30
- state$: Observable<{
31
- supportedPageTurnAnimation: NonNullable<ContextSettings[`pageTurnAnimation`]>[];
32
- supportedPageTurnMode: NonNullable<ContextSettings[`pageTurnMode`]>[];
33
- supportedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
34
- supportedComputedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
35
- }>;
36
- loadStatus$: Observable<"idle" | "loading" | "ready">;
37
- selection$: Observable<{
38
- toString: () => string;
39
- getAnchorCfi: () => string | undefined;
40
- getFocusCfi: () => string | undefined;
41
- } | null>;
42
- destroy$: Observable<void>;
43
- };
44
- };
@@ -1,96 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Context } from '../context/Context';
3
- import { SpineItemManager } from '../spineItemManager';
4
- import { createNavigationResolver, ViewportNavigationEntry } from '../spine/navigationResolver';
5
- import { createLocationResolver } from '../spine/locationResolver';
6
-
7
- export declare const createManualViewportNavigator: ({ navigator, spineItemManager, currentNavigationSubject$, locator, context, }: {
8
- context: Context;
9
- navigator: ReturnType<typeof createNavigationResolver>;
10
- currentNavigationSubject$: BehaviorSubject<ViewportNavigationEntry>;
11
- spineItemManager: SpineItemManager;
12
- locator: ReturnType<typeof createLocationResolver>;
13
- }) => {
14
- destroy: () => void;
15
- adjustReadingOffset: () => boolean;
16
- turnLeft: ({ allowSpineItemChange, }?: {
17
- allowSpineItemChange?: boolean;
18
- }) => void;
19
- turnRight: ({ allowSpineItemChange, }?: {
20
- allowSpineItemChange?: boolean;
21
- }) => void;
22
- goToCfi: (cfi: string, options?: {
23
- animate: boolean;
24
- }) => void;
25
- goToPageOfCurrentChapter: (pageIndex: number) => void;
26
- goToSpineItem: (indexOrId: number | string, options?: {
27
- animate: boolean;
28
- }) => void;
29
- goToUrl: (url: string | URL) => void;
30
- goToPage: (pageIndex: number) => void;
31
- $: {
32
- state$: import('rxjs').Observable<"start" | "end">;
33
- navigation$: import('rxjs').Observable<{
34
- animate: boolean;
35
- lastUserExpectedNavigation: {
36
- type: "navigate-from-anchor";
37
- data: string;
38
- };
39
- x: number;
40
- y: number;
41
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
42
- url: URL;
43
- } | {
44
- animate: boolean;
45
- lastUserExpectedNavigation: {
46
- type: "navigate-from-previous-item";
47
- };
48
- x: number;
49
- y: number;
50
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
51
- } | {
52
- lastUserExpectedNavigation: undefined;
53
- animate: boolean;
54
- x: number;
55
- y: number;
56
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
57
- } | {
58
- lastUserExpectedNavigation: {
59
- type: "navigate-from-next-item";
60
- };
61
- animate: boolean;
62
- x: number;
63
- y: number;
64
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
65
- } | {
66
- lastUserExpectedNavigation: {
67
- type: "navigate-from-previous-item";
68
- };
69
- animate: boolean;
70
- x: number;
71
- y: number;
72
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
73
- } | {
74
- lastUserExpectedNavigation: undefined;
75
- animate: boolean;
76
- x: number;
77
- y: number;
78
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
79
- } | {
80
- animate: boolean;
81
- lastUserExpectedNavigation: {
82
- type: "navigate-from-cfi";
83
- data: string;
84
- };
85
- x: number;
86
- y: number;
87
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
88
- } | {
89
- lastUserExpectedNavigation: undefined;
90
- animate: boolean;
91
- x: number;
92
- y: number;
93
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
94
- }>;
95
- };
96
- };
@@ -1,55 +0,0 @@
1
- import { BehaviorSubject, Subject } from 'rxjs';
2
- import { Context } from '../context/Context';
3
- import { SpineItemManager } from '../spineItemManager';
4
- import { createNavigationResolver, ViewportNavigationEntry } from '../spine/navigationResolver';
5
- import { createLocationResolver } from '../spine/locationResolver';
6
- import { ViewportPosition } from '../types';
7
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
8
-
9
- export declare const createPanViewportNavigator: ({ getCurrentViewportPosition, navigator, spineItemManager, locator, context, currentNavigationSubject$, settings, }: {
10
- context: Context;
11
- navigator: ReturnType<typeof createNavigationResolver>;
12
- currentNavigationSubject$: BehaviorSubject<ViewportNavigationEntry>;
13
- spineItemManager: SpineItemManager;
14
- locator: ReturnType<typeof createLocationResolver>;
15
- getCurrentViewportPosition: () => ViewportPosition;
16
- settings: ReaderSettingsManager;
17
- }) => {
18
- moveTo: ((delta: {
19
- x: number;
20
- y: number;
21
- } | undefined, { final, start }?: {
22
- start?: boolean;
23
- final?: boolean;
24
- }) => void) | ((delta: {
25
- x: number;
26
- y: number;
27
- } | undefined, args_1?: {
28
- start?: boolean;
29
- final?: boolean;
30
- } | undefined) => ReturnType<(delta: {
31
- x: number;
32
- y: number;
33
- } | undefined, { final, start }?: {
34
- start?: boolean;
35
- final?: boolean;
36
- }) => void>);
37
- destroy: () => void;
38
- adjustReadingOffset: () => boolean;
39
- $: {
40
- moveToSubject$: Subject<{
41
- position: ViewportNavigationEntry;
42
- }>;
43
- state$: import('rxjs').Observable<"start" | "end">;
44
- navigation$: import('rxjs').Observable<{
45
- lastUserExpectedNavigation: {
46
- type: "navigate-from-next-item";
47
- } | {
48
- type: "navigate-from-previous-item";
49
- } | undefined;
50
- x: number;
51
- y: number;
52
- spineItem?: import('../spineItem/createSpineItem').SpineItem;
53
- }>;
54
- };
55
- };
@@ -1,38 +0,0 @@
1
- import { BehaviorSubject, Observable } from 'rxjs';
2
- import { Context } from '../context/Context';
3
- import { Spine } from '../spine/createSpine';
4
- import { createNavigationResolver, ViewportNavigationEntry } from '../spine/navigationResolver';
5
- import { SpineItemManager } from '../spineItemManager';
6
- import { ViewportPosition } from '../types';
7
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
8
-
9
- type ScaledDownPosition = ViewportPosition;
10
- export declare const createScrollViewportNavigator: ({ context, element$, navigator, currentNavigationSubject$, settings, spine, }: {
11
- context: Context;
12
- settings: ReaderSettingsManager;
13
- element$: BehaviorSubject<HTMLElement>;
14
- navigator: ReturnType<typeof createNavigationResolver>;
15
- currentNavigationSubject$: BehaviorSubject<ViewportNavigationEntry>;
16
- spine: Spine;
17
- spineItemManager: SpineItemManager;
18
- }) => {
19
- destroy: () => void;
20
- adjustReadingOffset: ({ x, y }: {
21
- x: number;
22
- y: number;
23
- }) => boolean;
24
- getNavigationForPosition: (position: ScaledDownPosition) => ViewportNavigationEntry;
25
- getCurrentViewportPosition: () => {
26
- x: number;
27
- y: number;
28
- };
29
- $: {
30
- state$: Observable<"start" | "end">;
31
- navigation$: Observable<{
32
- position: ViewportNavigationEntry;
33
- animate: boolean;
34
- lastUserExpectedNavigation: undefined;
35
- }>;
36
- };
37
- };
38
- export {};
@@ -1,34 +0,0 @@
1
- import { SpineItem } from '../spineItem/createSpineItem';
2
-
3
- export type LastUserExpectedNavigation = undefined | {
4
- type: `navigate-from-previous-item`;
5
- } | {
6
- type: `navigate-from-next-item`;
7
- } | {
8
- type: `navigate-from-cfi`;
9
- data: string;
10
- } | {
11
- type: `navigate-from-anchor`;
12
- data: string;
13
- };
14
- export type Navigation = {
15
- position: {
16
- x: number;
17
- y: number;
18
- spineItem?: SpineItem | undefined;
19
- };
20
- triggeredBy: `scroll` | `manual` | `adjust`;
21
- animation: false | `turn` | `snap`;
22
- lastUserExpectedNavigation: LastUserExpectedNavigation;
23
- };
24
- export type AdjustedNavigation = {
25
- previousNavigationPosition: {
26
- x: number;
27
- y: number;
28
- };
29
- adjustedSpinePosition: {
30
- x: number;
31
- y: number;
32
- };
33
- areDifferent: boolean;
34
- };
@@ -1,82 +0,0 @@
1
- import { Context } from '../context/Context';
2
- import { Pagination } from '../pagination/pagination';
3
- import { SpineItemManager } from '../spineItemManager';
4
- import { createLocationResolver } from '../spine/locationResolver';
5
- import { ViewportNavigationEntry } from '../spine/navigationResolver';
6
- import { BehaviorSubject, Observable } from 'rxjs';
7
- import { createCfiLocator } from '../spine/cfiLocator';
8
- import { LastUserExpectedNavigation, Navigation } from './types';
9
- import { Spine } from '../spine/createSpine';
10
- import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
11
- import { HookManager } from '../hooks/HookManager';
12
-
13
- export declare const createViewportNavigator: ({ spineItemManager, context, pagination, parentElement$, cfiLocator, spineLocator, hookManager, spine, settings, }: {
14
- spineItemManager: SpineItemManager;
15
- pagination: Pagination;
16
- context: Context;
17
- parentElement$: BehaviorSubject<HTMLElement | undefined>;
18
- cfiLocator: ReturnType<typeof createCfiLocator>;
19
- spineLocator: ReturnType<typeof createLocationResolver>;
20
- hookManager: HookManager;
21
- spine: Spine;
22
- settings: ReaderSettingsManager;
23
- }) => {
24
- destroy: () => void;
25
- layout: () => void;
26
- getCurrentNavigationPosition: () => ViewportNavigationEntry;
27
- getCurrentViewportPosition: (() => {
28
- x: number;
29
- y: number;
30
- }) | (() => ReturnType<() => {
31
- x: number;
32
- y: number;
33
- }>);
34
- turnLeft: ({ allowSpineItemChange, }?: {
35
- allowSpineItemChange?: boolean;
36
- }) => void;
37
- turnRight: ({ allowSpineItemChange, }?: {
38
- allowSpineItemChange?: boolean;
39
- }) => void;
40
- goToPage: (pageIndex: number) => void;
41
- goToSpineItem: (indexOrId: number | string, options?: {
42
- animate: boolean;
43
- }) => void;
44
- goToUrl: (url: string | URL) => void;
45
- goToCfi: (cfi: string, options?: {
46
- animate: boolean;
47
- }) => void;
48
- goToPageOfCurrentChapter: (pageIndex: number) => void;
49
- moveTo: ((delta: {
50
- x: number;
51
- y: number;
52
- } | undefined, { final, start }?: {
53
- start?: boolean;
54
- final?: boolean;
55
- }) => void) | ((delta: {
56
- x: number;
57
- y: number;
58
- } | undefined, args_1?: {
59
- start?: boolean;
60
- final?: boolean;
61
- } | undefined) => ReturnType<(delta: {
62
- x: number;
63
- y: number;
64
- } | undefined, { final, start }?: {
65
- start?: boolean;
66
- final?: boolean;
67
- }) => void>);
68
- getLastUserExpectedNavigation: () => LastUserExpectedNavigation;
69
- element$: BehaviorSubject<HTMLElement>;
70
- getElement: () => HTMLElement;
71
- $: {
72
- state$: Observable<"free" | "busy">;
73
- navigation$: Observable<Navigation>;
74
- navigationAdjustedAfterLayout$: Observable<{
75
- previousNavigationPosition: ViewportNavigationEntry;
76
- adjustedSpinePosition: ViewportNavigationEntry;
77
- areDifferent: boolean;
78
- }>;
79
- currentNavigationPosition$: Observable<ViewportNavigationEntry>;
80
- };
81
- };
82
- export type ViewportNavigator = ReturnType<typeof createViewportNavigator>;