@prose-reader/core 0.0.41 → 0.0.44

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 (30) hide show
  1. package/dist/createReaderWithEnhancer.d.ts +166 -23
  2. package/dist/enhancers/zoom/elementZoomer.d.ts +18 -0
  3. package/dist/enhancers/zoom/index.d.ts +2 -0
  4. package/dist/enhancers/zoom/types.d.ts +26 -0
  5. package/dist/enhancers/zoom/viewportZoomer.d.ts +18 -0
  6. package/dist/index.js +1 -1
  7. package/dist/reader.d.ts +1 -1
  8. package/dist/settings.d.ts +1 -0
  9. package/dist/spine/cfiLocator.d.ts +1 -1
  10. package/dist/spine/createSpine.d.ts +17 -3
  11. package/dist/spine/locationResolver.d.ts +2 -2
  12. package/dist/spineItem/commonSpineItem.d.ts +1 -1
  13. package/dist/spineItem/createSpineItem.d.ts +2 -2
  14. package/dist/spineItem/prePaginatedSpineItem.d.ts +1 -1
  15. package/dist/spineItem/reflowableSpineItem.d.ts +1 -1
  16. package/dist/spineItemManager.d.ts +1 -1
  17. package/dist/types/Hook.d.ts +3 -0
  18. package/dist/types/Reader.d.ts +14 -11
  19. package/dist/types/Spine.d.ts +2 -4
  20. package/dist/utils/layout.d.ts +7 -0
  21. package/dist/utils/layout.test.d.ts +1 -0
  22. package/dist/{spine/viewportNavigator → viewportNavigator}/manualViewportNavigator.d.ts +12 -12
  23. package/dist/{spine/viewportNavigator → viewportNavigator}/panViewportNavigator.d.ts +6 -6
  24. package/dist/{spine/viewportNavigator → viewportNavigator}/scrollViewportNavigator.d.ts +16 -4
  25. package/dist/viewportNavigator/types.d.ts +33 -0
  26. package/dist/{spine/viewportNavigator → viewportNavigator}/viewportNavigator.d.ts +41 -32
  27. package/package.json +7 -7
  28. package/dist/enhancers/zoom.d.ts +0 -16
  29. package/dist/utils/contentType.d.ts +0 -2
  30. package/dist/utils/url.d.ts +0 -1
@@ -5,6 +5,7 @@ declare const withPublicApiOnly: <Api extends {
5
5
  context: any;
6
6
  registerHook: any;
7
7
  spine: any;
8
+ viewportNavigator: any;
8
9
  manipulateSpineItems: any;
9
10
  manipulateSpineItem: any;
10
11
  manipulateContainer: any;
@@ -115,6 +116,81 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
115
116
  context: import("./context").Context;
116
117
  registerHook: import("./types/Hook").RegisterHook;
117
118
  spine: import("./types/Spine").Spine;
119
+ viewportNavigator: {
120
+ destroy: () => void;
121
+ layout: () => void;
122
+ getCurrentNavigationPosition: () => {
123
+ x: number;
124
+ y: number;
125
+ };
126
+ getCurrentViewportPosition: (() => {
127
+ x: number;
128
+ y: number;
129
+ }) | (() => {
130
+ x: number;
131
+ y: number;
132
+ });
133
+ turnLeft: ({ allowSpineItemChange }?: {
134
+ allowSpineItemChange?: boolean | undefined;
135
+ }) => void;
136
+ turnRight: ({ allowSpineItemChange }?: {
137
+ allowSpineItemChange?: boolean | undefined;
138
+ }) => void;
139
+ goToPage: (pageIndex: number) => void;
140
+ goToSpineItem: (indexOrId: string | number, options?: {
141
+ animate: boolean;
142
+ }) => void;
143
+ goToUrl: (url: string | URL) => void;
144
+ goToCfi: (cfi: string, options?: {
145
+ animate: boolean;
146
+ }) => void;
147
+ goToPageOfCurrentChapter: (pageIndex: number) => void;
148
+ adjustNavigation: (spineItem: import("./spineItem/createSpineItem").SpineItem) => import("rxjs").Observable<{
149
+ previousNavigationPosition: {
150
+ x: number;
151
+ y: number;
152
+ };
153
+ adjustedSpinePosition: {
154
+ x: number;
155
+ y: number;
156
+ };
157
+ areDifferent: boolean;
158
+ }>;
159
+ moveTo: ((delta: {
160
+ x: number;
161
+ y: number;
162
+ } | undefined, { final, start }?: {
163
+ start?: boolean | undefined;
164
+ final?: boolean | undefined;
165
+ }) => void) | ((args_0: {
166
+ x: number;
167
+ y: number;
168
+ } | undefined, args_1?: {
169
+ start?: boolean | undefined;
170
+ final?: boolean | undefined;
171
+ } | undefined) => void);
172
+ getLastUserExpectedNavigation: () => import("./viewportNavigator/types").LastUserExpectedNavigation;
173
+ element: HTMLElement;
174
+ $: {
175
+ state$: import("rxjs").Observable<"free" | "busy">;
176
+ navigation$: import("rxjs").Observable<import("./viewportNavigator/types").Navigation>;
177
+ navigationAdjustedAfterLayout$: import("rxjs").Observable<{
178
+ previousNavigationPosition: {
179
+ x: number;
180
+ y: number;
181
+ };
182
+ adjustedSpinePosition: {
183
+ x: number;
184
+ y: number;
185
+ };
186
+ areDifferent: boolean;
187
+ }>;
188
+ currentNavigationPosition$: import("rxjs").Observable<{
189
+ x: number;
190
+ y: number;
191
+ }>;
192
+ };
193
+ };
118
194
  manipulateSpineItems: (cb: (payload: ({
119
195
  container: HTMLElement;
120
196
  item: {
@@ -373,7 +449,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
373
449
  computedWidthScale: number;
374
450
  viewportDimensions?: undefined;
375
451
  };
376
- isImageType: () => boolean | undefined;
452
+ isImageType: () => boolean;
377
453
  isReady: () => boolean;
378
454
  destroy: () => void;
379
455
  isUsingVerticalWriting: () => boolean | undefined;
@@ -545,7 +621,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
545
621
  computedWidthScale: number;
546
622
  viewportDimensions?: undefined;
547
623
  };
548
- isImageType: () => boolean | undefined;
624
+ isImageType: () => boolean;
549
625
  isReady: () => boolean;
550
626
  destroy: () => void;
551
627
  isUsingVerticalWriting: () => boolean | undefined;
@@ -638,7 +714,10 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
638
714
  };
639
715
  } | undefined;
640
716
  };
641
- getCurrentNavigationPosition: () => import("./spine/navigationResolver").ViewportNavigationEntry;
717
+ getCurrentNavigationPosition: () => {
718
+ x: number;
719
+ y: number;
720
+ };
642
721
  getCurrentViewportPosition: (() => {
643
722
  x: number;
644
723
  y: number;
@@ -732,7 +811,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
732
811
  y: number;
733
812
  }, currentItem: import("./spineItem/createSpineItem").SpineItem) => number;
734
813
  };
735
- }, "context" | "registerHook" | "spine" | "manipulateSpineItems" | "manipulateSpineItem" | "manipulateContainer" | "moveTo" | "turnLeft" | "turnRight" | "goToPageOfCurrentChapter" | "goToPage" | "goToUrl" | "goToCfi" | "goToSpineItem" | "getFocusedSpineItemIndex" | "getSpineItem" | "getSpineItems" | "getAbsolutePositionOf" | "getSelection" | "isSelecting" | "normalizeEventForViewport" | "getCfiMetaInformation" | "resolveCfi" | "generateCfi" | "locator" | "getCurrentNavigationPosition" | "getCurrentViewportPosition" | "layout" | "load" | "destroy" | "setSettings" | "$"> & {
814
+ }, "context" | "registerHook" | "spine" | "viewportNavigator" | "manipulateSpineItems" | "manipulateSpineItem" | "manipulateContainer" | "moveTo" | "turnLeft" | "turnRight" | "goToPageOfCurrentChapter" | "goToPage" | "goToUrl" | "goToCfi" | "goToSpineItem" | "getFocusedSpineItemIndex" | "getSpineItem" | "getSpineItems" | "getAbsolutePositionOf" | "getSelection" | "isSelecting" | "normalizeEventForViewport" | "getCfiMetaInformation" | "resolveCfi" | "generateCfi" | "locator" | "getCurrentNavigationPosition" | "getCurrentViewportPosition" | "layout" | "load" | "destroy" | "setSettings" | "$"> & {
736
815
  __API?: {
737
816
  progression: {
738
817
  getPercentageEstimate: (context: import("./context").Context, currentSpineIndex: number, numberOfPages: number, pageIndex: number, currentPosition: {
@@ -759,21 +838,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
759
838
  }, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, Enhancer<{}, {
760
839
  goToLeftSpineItem: () => void;
761
840
  goToRightSpineItem: () => void;
762
- }, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, Enhancer<{}, {}, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, Enhancer<{}, {}, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, Enhancer<{}, {
763
- zoom: {
764
- enter: (imgElement: HTMLImageElement) => void;
765
- exit: () => void;
766
- move: (position: {
767
- x: number;
768
- y: number;
769
- } | undefined, details: {
770
- isFirst: boolean;
771
- isLast: boolean;
772
- }) => void;
773
- isEnabled: () => boolean;
774
- scale: (scale: number) => void;
775
- };
776
- }, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, import("./enhancers/layoutEnhancer/types").LayoutEnhancer, Enhancer<{}, {
841
+ }, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, Enhancer<{}, {}, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, Enhancer<{}, {}, {}, {}, (createReader: (options: import("./reader").CreateReaderOptions) => ReaderPublicApi) => (options: import("./reader").CreateReaderOptions) => ReaderPublicApi, ReaderPublicApi>, import("./enhancers/zoom/types").ZoomEnhancer, import("./enhancers/layoutEnhancer/types").LayoutEnhancer, Enhancer<{}, {
777
842
  utils: {
778
843
  isOrIsWithinValidLink: (target: EventTarget | null) => boolean;
779
844
  };
@@ -835,6 +900,81 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
835
900
  context: import("./context").Context;
836
901
  registerHook: import("./types/Hook").RegisterHook;
837
902
  spine: import("./types/Spine").Spine;
903
+ viewportNavigator: {
904
+ destroy: () => void;
905
+ layout: () => void;
906
+ getCurrentNavigationPosition: () => {
907
+ x: number;
908
+ y: number;
909
+ };
910
+ getCurrentViewportPosition: (() => {
911
+ x: number;
912
+ y: number;
913
+ }) | (() => {
914
+ x: number;
915
+ y: number;
916
+ });
917
+ turnLeft: ({ allowSpineItemChange }?: {
918
+ allowSpineItemChange?: boolean | undefined;
919
+ }) => void;
920
+ turnRight: ({ allowSpineItemChange }?: {
921
+ allowSpineItemChange?: boolean | undefined;
922
+ }) => void;
923
+ goToPage: (pageIndex: number) => void;
924
+ goToSpineItem: (indexOrId: string | number, options?: {
925
+ animate: boolean;
926
+ }) => void;
927
+ goToUrl: (url: string | URL) => void;
928
+ goToCfi: (cfi: string, options?: {
929
+ animate: boolean;
930
+ }) => void;
931
+ goToPageOfCurrentChapter: (pageIndex: number) => void;
932
+ adjustNavigation: (spineItem: import("./spineItem/createSpineItem").SpineItem) => import("rxjs").Observable<{
933
+ previousNavigationPosition: {
934
+ x: number;
935
+ y: number;
936
+ };
937
+ adjustedSpinePosition: {
938
+ x: number;
939
+ y: number;
940
+ };
941
+ areDifferent: boolean;
942
+ }>;
943
+ moveTo: ((delta: {
944
+ x: number;
945
+ y: number;
946
+ } | undefined, { final, start }?: {
947
+ start?: boolean | undefined;
948
+ final?: boolean | undefined;
949
+ }) => void) | ((args_0: {
950
+ x: number;
951
+ y: number;
952
+ } | undefined, args_1?: {
953
+ start?: boolean | undefined;
954
+ final?: boolean | undefined;
955
+ } | undefined) => void);
956
+ getLastUserExpectedNavigation: () => import("./viewportNavigator/types").LastUserExpectedNavigation;
957
+ element: HTMLElement;
958
+ $: {
959
+ state$: import("rxjs").Observable<"free" | "busy">;
960
+ navigation$: import("rxjs").Observable<import("./viewportNavigator/types").Navigation>;
961
+ navigationAdjustedAfterLayout$: import("rxjs").Observable<{
962
+ previousNavigationPosition: {
963
+ x: number;
964
+ y: number;
965
+ };
966
+ adjustedSpinePosition: {
967
+ x: number;
968
+ y: number;
969
+ };
970
+ areDifferent: boolean;
971
+ }>;
972
+ currentNavigationPosition$: import("rxjs").Observable<{
973
+ x: number;
974
+ y: number;
975
+ }>;
976
+ };
977
+ };
838
978
  manipulateSpineItems: (cb: (payload: ({
839
979
  container: HTMLElement;
840
980
  item: {
@@ -1093,7 +1233,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
1093
1233
  computedWidthScale: number;
1094
1234
  viewportDimensions?: undefined;
1095
1235
  };
1096
- isImageType: () => boolean | undefined;
1236
+ isImageType: () => boolean;
1097
1237
  isReady: () => boolean;
1098
1238
  destroy: () => void;
1099
1239
  isUsingVerticalWriting: () => boolean | undefined;
@@ -1265,7 +1405,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
1265
1405
  computedWidthScale: number;
1266
1406
  viewportDimensions?: undefined;
1267
1407
  };
1268
- isImageType: () => boolean | undefined;
1408
+ isImageType: () => boolean;
1269
1409
  isReady: () => boolean;
1270
1410
  destroy: () => void;
1271
1411
  isUsingVerticalWriting: () => boolean | undefined;
@@ -1358,7 +1498,10 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
1358
1498
  };
1359
1499
  } | undefined;
1360
1500
  };
1361
- getCurrentNavigationPosition: () => import("./spine/navigationResolver").ViewportNavigationEntry;
1501
+ getCurrentNavigationPosition: () => {
1502
+ x: number;
1503
+ y: number;
1504
+ };
1362
1505
  getCurrentViewportPosition: (() => {
1363
1506
  x: number;
1364
1507
  y: number;
@@ -1449,7 +1592,7 @@ declare const internalEnhancer: import("./enhancers/composeEnhancer").ComposeEnh
1449
1592
  theme$: import("rxjs").Observable<import("./enhancers/theme").Theme>;
1450
1593
  };
1451
1594
  };
1452
- }, "context" | "registerHook" | "spine" | "manipulateSpineItems" | "manipulateSpineItem" | "manipulateContainer" | "moveTo" | "turnLeft" | "turnRight" | "goToPageOfCurrentChapter" | "goToPage" | "goToUrl" | "goToCfi" | "goToSpineItem" | "getFocusedSpineItemIndex" | "getSpineItem" | "getSpineItems" | "getAbsolutePositionOf" | "getSelection" | "isSelecting" | "normalizeEventForViewport" | "getCfiMetaInformation" | "resolveCfi" | "generateCfi" | "locator" | "getCurrentNavigationPosition" | "getCurrentViewportPosition" | "layout" | "load" | "destroy" | "setSettings" | "$"> & {
1595
+ }, "context" | "registerHook" | "spine" | "viewportNavigator" | "manipulateSpineItems" | "manipulateSpineItem" | "manipulateContainer" | "moveTo" | "turnLeft" | "turnRight" | "goToPageOfCurrentChapter" | "goToPage" | "goToUrl" | "goToCfi" | "goToSpineItem" | "getFocusedSpineItemIndex" | "getSpineItem" | "getSpineItems" | "getAbsolutePositionOf" | "getSelection" | "isSelecting" | "normalizeEventForViewport" | "getCfiMetaInformation" | "resolveCfi" | "generateCfi" | "locator" | "getCurrentNavigationPosition" | "getCurrentViewportPosition" | "layout" | "load" | "destroy" | "setSettings" | "$"> & {
1453
1596
  __API?: {
1454
1597
  theme: {
1455
1598
  set: (theme: import("./enhancers/theme").Theme) => void;
@@ -0,0 +1,18 @@
1
+ import { ReaderInstance } from "./types";
2
+ export declare const createElementZoomer: (reader: ReaderInstance) => {
3
+ enter: (imgElement: HTMLImageElement) => void;
4
+ exit: () => void;
5
+ move: (delta: {
6
+ x: number;
7
+ y: number;
8
+ } | undefined, { isFirst, isLast }: {
9
+ isFirst: boolean;
10
+ isLast: boolean;
11
+ }) => void;
12
+ scale: (userScale: number) => void;
13
+ setCurrentScaleAsBase: () => void;
14
+ getScaleValue: () => number;
15
+ isZooming: () => boolean;
16
+ destroy: () => void;
17
+ isZooming$: import("rxjs").Observable<boolean>;
18
+ };
@@ -0,0 +1,2 @@
1
+ import { ZoomEnhancer } from "./types";
2
+ export declare const zoomEnhancer: ZoomEnhancer;
@@ -0,0 +1,26 @@
1
+ import { Observable } from "rxjs";
2
+ import { Enhancer } from "../types";
3
+ export declare type SettingsInput = {};
4
+ export declare type SettingsOutput = Required<SettingsInput>;
5
+ export declare type ZoomEnhancer = Enhancer<SettingsInput, {
6
+ zoom: {
7
+ enter: (imgElement?: HTMLImageElement) => void;
8
+ exit: () => void;
9
+ move: (position: {
10
+ x: number;
11
+ y: number;
12
+ } | undefined, details: {
13
+ isFirst: boolean;
14
+ isLast: boolean;
15
+ }) => void;
16
+ isZooming: () => boolean;
17
+ isUsingScrollableZoom: () => boolean;
18
+ getScaleValue: () => number;
19
+ scale: (scale: number) => void;
20
+ setCurrentScaleAsBase: () => void;
21
+ $: {
22
+ isZooming$: Observable<boolean>;
23
+ };
24
+ };
25
+ }, SettingsInput, SettingsOutput>;
26
+ export declare type ReaderInstance = ReturnType<Parameters<ZoomEnhancer>[0]>;
@@ -0,0 +1,18 @@
1
+ import { ReaderInstance } from "./types";
2
+ export declare const createViewportZoomer: (reader: ReaderInstance) => {
3
+ enter: () => void;
4
+ exit: () => void;
5
+ move: (_: {
6
+ x: number;
7
+ y: number;
8
+ } | undefined, __: {
9
+ isFirst: boolean;
10
+ isLast: boolean;
11
+ }) => void;
12
+ scale: (userScale: number) => void;
13
+ setCurrentScaleAsBase: () => void;
14
+ getScaleValue: () => number;
15
+ isZooming: () => boolean;
16
+ destroy: () => void;
17
+ isZooming$: import("rxjs").Observable<boolean>;
18
+ };