@prose-reader/core 1.56.0 → 1.58.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 (100) hide show
  1. package/dist/cfi.d.ts +74 -0
  2. package/dist/constants.d.ts +6 -0
  3. package/dist/context/Context.d.ts +63 -0
  4. package/dist/context/isUsingSpreadMode.d.ts +10 -0
  5. package/dist/createReaderWithEnhancer.d.ts +271 -0
  6. package/dist/enhancers/accessibility.d.ts +3 -0
  7. package/dist/enhancers/chrome.d.ts +3 -0
  8. package/dist/enhancers/events/createIframeEventBridgeElement.d.ts +1 -0
  9. package/dist/enhancers/events/events.d.ts +8 -0
  10. package/dist/enhancers/events/normalizeEventForViewport.d.ts +7 -0
  11. package/dist/enhancers/firefox.d.ts +3 -0
  12. package/dist/enhancers/fonts.d.ts +19 -0
  13. package/dist/enhancers/hotkeys.d.ts +3 -0
  14. package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +4 -0
  15. package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +3 -0
  16. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +10 -0
  17. package/dist/enhancers/layoutEnhancer/types.d.ts +8 -0
  18. package/dist/enhancers/links.d.ts +14 -0
  19. package/dist/enhancers/loadingEnhancer.d.ts +24 -0
  20. package/dist/enhancers/media.d.ts +3 -0
  21. package/dist/enhancers/navigation/navigation.d.ts +9 -0
  22. package/dist/enhancers/navigation/navigator.d.ts +8 -0
  23. package/dist/enhancers/navigation/state.d.ts +12 -0
  24. package/dist/enhancers/pagination/chapters.d.ts +24 -0
  25. package/dist/enhancers/pagination/constants.d.ts +1 -0
  26. package/dist/enhancers/pagination/enhancer.d.ts +14 -0
  27. package/dist/enhancers/pagination/pagination.d.ts +10 -0
  28. package/dist/enhancers/pagination/spine.d.ts +13 -0
  29. package/dist/enhancers/pagination/types.d.ts +19 -0
  30. package/dist/enhancers/pagination.test.d.ts +1 -0
  31. package/dist/enhancers/progression.d.ts +16 -0
  32. package/dist/enhancers/publicApi.d.ts +5 -0
  33. package/dist/enhancers/resources/index.d.ts +3 -0
  34. package/dist/enhancers/resources/indexedDB.d.ts +6 -0
  35. package/dist/enhancers/resources/resourcesManager.d.ts +7 -0
  36. package/dist/enhancers/theme.d.ts +32 -0
  37. package/dist/enhancers/types/enhancer.d.ts +9 -0
  38. package/dist/enhancers/utils.d.ts +7 -0
  39. package/dist/enhancers/webkit.d.ts +3 -0
  40. package/dist/enhancers/zoom/elementZoomer.d.ts +19 -0
  41. package/dist/enhancers/zoom/index.d.ts +4 -0
  42. package/dist/enhancers/zoom/types.d.ts +23 -0
  43. package/dist/enhancers/zoom/viewportZoomer.d.ts +19 -0
  44. package/dist/frames.d.ts +5 -0
  45. package/dist/hooks/HookManager.d.ts +10 -0
  46. package/dist/hooks/types.d.ts +64 -0
  47. package/dist/index.d.ts +9 -4324
  48. package/dist/index.js +1032 -1107
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.umd.cjs +1032 -1107
  51. package/dist/index.umd.cjs.map +1 -1
  52. package/dist/manifest/areAllItemsPrePaginated.d.ts +3 -0
  53. package/dist/manifest/isFullyPrePaginated.d.ts +3 -0
  54. package/dist/pagination/pagination.d.ts +88 -0
  55. package/dist/pagination/types.d.ts +10 -0
  56. package/dist/reader.d.ts +8 -0
  57. package/dist/report.d.ts +26 -0
  58. package/dist/selection.d.ts +7 -0
  59. package/dist/settings/SettingsManager.d.ts +14 -0
  60. package/dist/settings/defaultSettings.d.ts +3 -0
  61. package/dist/settings/getComputedSettings.d.ts +4 -0
  62. package/dist/settings/types.d.ts +19 -0
  63. package/dist/spine/cfiLocator.d.ts +340 -0
  64. package/dist/spine/createSpine.d.ts +31 -0
  65. package/dist/spine/locationResolver.d.ts +636 -0
  66. package/dist/spine/navigationResolver.d.ts +48 -0
  67. package/dist/spine/types.d.ts +10 -0
  68. package/dist/spineItem/commonSpineItem.d.ts +165 -0
  69. package/dist/spineItem/createSpineItem.d.ts +167 -0
  70. package/dist/spineItem/frameItem/createFrame$.d.ts +1 -0
  71. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +5 -0
  72. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +3 -0
  73. package/dist/spineItem/frameItem/frameItem.d.ts +49 -0
  74. package/dist/spineItem/frameItem/loader.d.ts +30 -0
  75. package/dist/spineItem/locationResolver.d.ts +24 -0
  76. package/dist/spineItem/navigationResolver.d.ts +16 -0
  77. package/dist/spineItem/prePaginatedSpineItem.d.ts +166 -0
  78. package/dist/spineItem/reflowableSpineItem.d.ts +165 -0
  79. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +1 -0
  80. package/dist/spineItem/trackers.d.ts +34 -0
  81. package/dist/spineItem/types.d.ts +19 -0
  82. package/dist/spineItemManager.d.ts +505 -0
  83. package/dist/types/Spine.d.ts +40 -0
  84. package/dist/types/index.d.ts +12 -0
  85. package/dist/types/reader.d.ts +44 -0
  86. package/dist/utils/compose.d.ts +8 -0
  87. package/dist/utils/dom.d.ts +19 -0
  88. package/dist/utils/isDefined.d.ts +1 -0
  89. package/dist/utils/layout.d.ts +7 -0
  90. package/dist/utils/layout.test.d.ts +1 -0
  91. package/dist/utils/manifest.d.ts +3 -0
  92. package/dist/utils/objects.d.ts +6 -0
  93. package/dist/utils/objects.test.d.ts +1 -0
  94. package/dist/utils/rxjs.d.ts +5 -0
  95. package/dist/viewportNavigator/manualViewportNavigator.d.ts +96 -0
  96. package/dist/viewportNavigator/panViewportNavigator.d.ts +55 -0
  97. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +38 -0
  98. package/dist/viewportNavigator/types.d.ts +34 -0
  99. package/dist/viewportNavigator/viewportNavigator.d.ts +82 -0
  100. package/package.json +3 -3
@@ -0,0 +1,96 @@
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
+ };
@@ -0,0 +1,55 @@
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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
+ };
@@ -0,0 +1,38 @@
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 { SettingsManager } from '../settings/SettingsManager';
8
+
9
+ type ScaledDownPosition = ViewportPosition;
10
+ export declare const createScrollViewportNavigator: ({ context, element$, navigator, currentNavigationSubject$, settings, spine, }: {
11
+ context: Context;
12
+ settings: SettingsManager;
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 {};
@@ -0,0 +1,34 @@
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
+ };
@@ -0,0 +1,82 @@
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 { SettingsManager } from '../settings/SettingsManager';
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: SettingsManager;
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>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.56.0",
3
+ "version": "1.58.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "tsc": "tsc"
26
26
  },
27
27
  "dependencies": {
28
- "@prose-reader/shared": "^1.56.0"
28
+ "@prose-reader/shared": "^1.58.0"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "rxjs": "*"
@@ -33,5 +33,5 @@
33
33
  "devDependencies": {
34
34
  "jsdom": "^24.0.0"
35
35
  },
36
- "gitHead": "9ef8778bb817cd4733b1865134eb58e621bf07ca"
36
+ "gitHead": "c7f234ad646ac19da49d191e4e12e6d0ca1ced55"
37
37
  }