@prose-reader/core 1.98.0 → 1.100.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.
@@ -1,2 +1,2 @@
1
1
  import { SpineLocator } from '../../spine/locator/SpineLocator';
2
- export declare const normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E, locator: SpineLocator) => E;
2
+ export declare const normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E, iframeOriginalEvent: E, locator: SpineLocator) => E;
@@ -1,5 +1,6 @@
1
1
  import { Reader } from '../../../reader';
2
2
  import { ViewportPosition } from '../../../navigation/viewport/ViewportNavigator';
3
+ import { UserNavigationEntry } from '../../../navigation/UserNavigator';
3
4
  export declare class ManualNavigator {
4
5
  protected reader: Reader;
5
6
  movingLastDelta: {
@@ -18,7 +19,9 @@ export declare class ManualNavigator {
18
19
  goToCfi(cfi: string, options?: {
19
20
  animate: boolean;
20
21
  }): void;
21
- goToSpineItem(indexOrId: number | string): void;
22
+ goToSpineItem({ indexOrId, ...rest }: {
23
+ indexOrId: number | string;
24
+ } & Pick<UserNavigationEntry, "animation">): void;
22
25
  goToNextSpineItem(): void;
23
26
  goToPreviousSpineItem(): void;
24
27
  goToUrl(url: string | URL): void;
@@ -28,5 +31,8 @@ export declare class ManualNavigator {
28
31
  goToLeftSpineItem(): void;
29
32
  goToTopSpineItem(): void;
30
33
  goToBottomSpineItem(): void;
31
- goToPageOfSpineItem(pageIndex: number, spineItemId: string | number): void;
34
+ goToPageOfSpineItem({ pageIndex, spineItemId, ...rest }: {
35
+ pageIndex: number;
36
+ spineItemId: string | number;
37
+ } & Pick<UserNavigationEntry, "animation">): void;
32
38
  }
package/dist/index.js CHANGED
@@ -189,18 +189,18 @@ const hotkeysEnhancer = (next) => (options) => {
189
189
  map$1(([e, { pageTurnDirection }]) => {
190
190
  if (pageTurnDirection === "horizontal") {
191
191
  if (e.key === `ArrowRight`) {
192
- reader.navigation.turnRight();
192
+ return reader.navigation.turnRight();
193
193
  }
194
194
  if (e.key === `ArrowLeft`) {
195
- reader.navigation.turnLeft();
195
+ return reader.navigation.turnLeft();
196
196
  }
197
197
  }
198
198
  if (pageTurnDirection === "vertical") {
199
199
  if (e.key === `ArrowDown`) {
200
- reader.navigation.turnRight();
200
+ return reader.navigation.turnRight();
201
201
  }
202
202
  if (e.key === `ArrowUp`) {
203
- reader.navigation.turnLeft();
203
+ return reader.navigation.turnLeft();
204
204
  }
205
205
  }
206
206
  return e;
@@ -881,7 +881,10 @@ class ManualNavigator {
881
881
  cfi
882
882
  });
883
883
  }
884
- goToSpineItem(indexOrId) {
884
+ goToSpineItem({
885
+ indexOrId,
886
+ ...rest
887
+ }) {
885
888
  const spineItem = this.reader.spineItemsManager.get(indexOrId);
886
889
  if (spineItem === void 0) {
887
890
  Report.warn(
@@ -891,7 +894,8 @@ class ManualNavigator {
891
894
  return;
892
895
  }
893
896
  this.reader.navigation.navigate({
894
- spineItem: indexOrId
897
+ spineItem: indexOrId,
898
+ ...rest
895
899
  });
896
900
  }
897
901
  goToNextSpineItem() {
@@ -899,14 +903,14 @@ class ManualNavigator {
899
903
  position: this.reader.navigation.getNavigation().position,
900
904
  threshold: 0.5
901
905
  }) || {};
902
- this.goToSpineItem(endIndex + 1);
906
+ this.goToSpineItem({ indexOrId: endIndex + 1 });
903
907
  }
904
908
  goToPreviousSpineItem() {
905
909
  const { beginIndex = 0 } = this.reader.spine.locator.getVisibleSpineItemsFromPosition({
906
910
  position: this.reader.navigation.getNavigation().position,
907
911
  threshold: 0.5
908
912
  }) ?? {};
909
- this.goToSpineItem(beginIndex - 1);
913
+ this.goToSpineItem({ indexOrId: beginIndex - 1 });
910
914
  }
911
915
  goToUrl(url) {
912
916
  this.reader.navigation.navigate({
@@ -967,13 +971,18 @@ class ManualNavigator {
967
971
  }
968
972
  return this.goToNextSpineItem();
969
973
  }
970
- goToPageOfSpineItem(pageIndex, spineItemId) {
974
+ goToPageOfSpineItem({
975
+ pageIndex,
976
+ spineItemId,
977
+ ...rest
978
+ }) {
971
979
  const position = this.reader.navigation.navigationResolver.getNavigationForSpineItemPage({
972
980
  pageIndex,
973
981
  spineItemId
974
982
  });
975
983
  this.reader.navigation.navigate({
976
- position
984
+ position,
985
+ ...rest
977
986
  });
978
987
  }
979
988
  }
@@ -7941,23 +7950,10 @@ const defaultLoadingElementCreate = ({
7941
7950
  container.appendChild(detailsElement);
7942
7951
  return container;
7943
7952
  };
7944
- const __UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY = `__UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT`;
7945
- const attachOriginalFrameEventToDocumentEvent = (event, frameEvent) => {
7946
- Object.defineProperty(event, __UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY, {
7947
- value: frameEvent,
7948
- enumerable: true
7949
- });
7950
- };
7951
- const getOriginalFrameEventFromDocumentEvent = (event) => {
7952
- return event[__UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY];
7953
- };
7954
- const normalizeEventForViewport = (event, locator) => {
7953
+ const normalizeEventForViewport = (event, iframeOriginalEvent, locator) => {
7955
7954
  var _a;
7956
- const eventIsComingFromBridge = __UNSAFE_REFERENCE_ORIGINAL_IFRAME_EVENT_KEY in event;
7957
- const iframeOriginalEvent = getOriginalFrameEventFromDocumentEvent(event);
7958
7955
  const originalFrame = (_a = iframeOriginalEvent == null ? void 0 : iframeOriginalEvent.view) == null ? void 0 : _a.frameElement;
7959
- if (!eventIsComingFromBridge || !iframeOriginalEvent || !originalFrame)
7960
- return event;
7956
+ if (!iframeOriginalEvent || !originalFrame) return event;
7961
7957
  const spineItem = locator.getSpineItemFromIframe(originalFrame);
7962
7958
  if (!spineItem) return event;
7963
7959
  if (isPointerEvent(event)) {
@@ -8038,9 +8034,9 @@ const eventsEnhancer = (next) => (options) => {
8038
8034
  convertedEvent = new PointerEvent(e.type, e);
8039
8035
  }
8040
8036
  if (convertedEvent !== e) {
8041
- attachOriginalFrameEventToDocumentEvent(convertedEvent, e);
8042
8037
  const normalizedEvent = normalizeEventForViewport(
8043
8038
  convertedEvent,
8039
+ e,
8044
8040
  reader.spine.locator
8045
8041
  );
8046
8042
  (_a2 = reader.context.state.containerElement) == null ? void 0 : _a2.dispatchEvent(