@prose-reader/core 1.12.0 → 1.14.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 (36) hide show
  1. package/dist/context.d.ts +3 -3
  2. package/dist/enhancers/fonts.d.ts +2 -2
  3. package/dist/enhancers/layoutEnhancer/types.d.ts +3 -3
  4. package/dist/enhancers/links.d.ts +1 -1
  5. package/dist/enhancers/loadingEnhancer.d.ts +4 -4
  6. package/dist/enhancers/pagination.d.ts +2 -2
  7. package/dist/enhancers/theme.d.ts +1 -1
  8. package/dist/enhancers/types/enhancer.d.ts +3 -3
  9. package/dist/enhancers/zoom/types.d.ts +1 -1
  10. package/dist/index.d.ts +2 -3
  11. package/dist/pagination.d.ts +2 -2
  12. package/dist/prose.js +6922 -4211
  13. package/dist/prose.js.map +1 -1
  14. package/dist/prose.umd.cjs +8047 -143
  15. package/dist/prose.umd.cjs.map +1 -1
  16. package/dist/reader.d.ts +4 -4
  17. package/dist/settings.d.ts +2 -2
  18. package/dist/spine/locationResolver.d.ts +2 -2
  19. package/dist/spine/navigationResolver.d.ts +3 -3
  20. package/dist/spineItem/createSpineItem.d.ts +1 -1
  21. package/dist/spineItem/frameItem/frameItem.d.ts +3 -6
  22. package/dist/spineItem/locationResolver.d.ts +1 -1
  23. package/dist/spineItem/navigationResolver.d.ts +1 -1
  24. package/dist/spineItemManager.d.ts +1 -1
  25. package/dist/types/Hook.d.ts +1 -1
  26. package/dist/types/Reader.d.ts +4 -4
  27. package/dist/types/Spine.d.ts +8 -8
  28. package/dist/types/index.d.ts +1 -1
  29. package/dist/utils/dom.d.ts +1 -1
  30. package/dist/viewportNavigator/manualViewportNavigator.d.ts +1 -4
  31. package/dist/viewportNavigator/panViewportNavigator.d.ts +1 -4
  32. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +1 -1
  33. package/dist/viewportNavigator/types.d.ts +3 -3
  34. package/dist/viewportNavigator/viewportNavigator.d.ts +5 -28
  35. package/package.json +3 -3
  36. package/dist/utils/compose.d.ts +0 -8
package/dist/reader.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { createContext as createBookContext } from "./context";
2
2
  import type { Reader } from "./types";
3
3
  import type { Hook } from "./types/Hook";
4
- declare type Context = ReturnType<typeof createBookContext>;
5
- declare type ContextSettings = Parameters<Context[`setSettings`]>[0];
6
- export declare type CreateReaderOptions = {
4
+ type Context = ReturnType<typeof createBookContext>;
5
+ type ContextSettings = Parameters<Context[`setSettings`]>[0];
6
+ export type CreateReaderOptions = {
7
7
  hooks?: Hook[];
8
8
  containerElement: HTMLElement;
9
9
  } & Pick<ContextSettings, `forceSinglePageMode` | `pageTurnAnimation` | `pageTurnDirection` | `pageTurnMode` | `navigationSnapThreshold` | `numberOfAdjacentSpineItemToPreLoad`>;
10
- export declare const createReader: ({ containerElement, hooks, ...settings }: CreateReaderOptions) => Reader;
10
+ export declare const createReader: ({ containerElement, hooks: initialHooks, ...settings }: CreateReaderOptions) => Reader;
11
11
  export { Reader };
@@ -1,5 +1,5 @@
1
1
  import { Manifest } from "./types";
2
- export declare type PublicSettings = {
2
+ export type PublicSettings = {
3
3
  forceSinglePageMode: boolean;
4
4
  pageTurnAnimation: `none` | `fade` | `slide`;
5
5
  pageTurnAnimationDuration: undefined | number;
@@ -8,7 +8,7 @@ export declare type PublicSettings = {
8
8
  navigationSnapThreshold: number;
9
9
  numberOfAdjacentSpineItemToPreLoad: number;
10
10
  };
11
- declare type InnerSettings = PublicSettings & {
11
+ type InnerSettings = PublicSettings & {
12
12
  computedPageTurnMode: PublicSettings[`pageTurnMode`];
13
13
  computedPageTurnDirection: PublicSettings[`pageTurnDirection`];
14
14
  computedPageTurnAnimation: PublicSettings[`pageTurnAnimation`];
@@ -2,11 +2,11 @@ import { Context } from "../context";
2
2
  import { SpineItem } from "../spineItem/createSpineItem";
3
3
  import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver";
4
4
  import { SpineItemManager } from "../spineItemManager";
5
- declare type SpinePosition = {
5
+ type SpinePosition = {
6
6
  x: number;
7
7
  y: number;
8
8
  };
9
- declare type SpineItemPosition = {
9
+ type SpineItemPosition = {
10
10
  x: number;
11
11
  y: number;
12
12
  outsideOfBoundaries?: boolean;
@@ -3,16 +3,16 @@ import { SpineItemManager } from "../spineItemManager";
3
3
  import { SpineItem } from "../spineItem/createSpineItem";
4
4
  import { createLocationResolver } from "./locationResolver";
5
5
  import { createCfiLocator } from "./cfiLocator";
6
- export declare type ViewportNavigationEntry = {
6
+ export type ViewportNavigationEntry = {
7
7
  x: number;
8
8
  y: number;
9
9
  spineItem?: SpineItem;
10
10
  };
11
- declare type ViewportPosition = {
11
+ type ViewportPosition = {
12
12
  x: number;
13
13
  y: number;
14
14
  };
15
- declare type SpineItemPosition = {
15
+ type SpineItemPosition = {
16
16
  x: number;
17
17
  y: number;
18
18
  };
@@ -178,4 +178,4 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
178
178
  isReady$: Observable<boolean>;
179
179
  };
180
180
  };
181
- export declare type SpineItem = ReturnType<typeof createSpineItem>;
181
+ export type SpineItem = ReturnType<typeof createSpineItem>;
@@ -2,6 +2,7 @@ import { Observable } from "rxjs";
2
2
  import { Manifest } from "../../types";
3
3
  import { Context } from "../../context";
4
4
  import { Hook } from "../../types/Hook";
5
+ import { createFrameManipulator } from "./createFrameManipulator";
5
6
  export declare const createFrameItem: ({ item, parent, fetchResource, context, hooks$, viewportState$, }: {
6
7
  parent: HTMLElement;
7
8
  item: Manifest[`spineItems`][number];
@@ -24,11 +25,7 @@ export declare const createFrameItem: ({ item, parent, fetchResource, context, h
24
25
  width: number;
25
26
  height: number;
26
27
  }) => void;
27
- getManipulableFrame: () => {
28
- frame: HTMLIFrameElement;
29
- removeStyle: (id: string) => void;
30
- addStyle: (id: string, style: string, prepend?: boolean) => void;
31
- } | undefined;
28
+ getManipulableFrame: () => ReturnType<typeof createFrameManipulator> | undefined;
32
29
  getReadingDirection: () => `ltr` | `rtl` | undefined;
33
30
  isUsingVerticalWriting: () => boolean;
34
31
  getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
@@ -46,4 +43,4 @@ export declare const createFrameItem: ({ item, parent, fetchResource, context, h
46
43
  }>;
47
44
  };
48
45
  };
49
- export declare type SpineItemFrame = ReturnType<typeof createFrameItem>;
46
+ export type SpineItemFrame = ReturnType<typeof createFrameItem>;
@@ -1,6 +1,6 @@
1
1
  import { Context } from "../context";
2
2
  import { SpineItem } from "./createSpineItem";
3
- declare type SpineItemPosition = {
3
+ type SpineItemPosition = {
4
4
  x: number;
5
5
  y: number;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import { SpineItem } from "./createSpineItem";
2
2
  import { Context } from "../context";
3
- declare type SpineItemPosition = {
3
+ type SpineItemPosition = {
4
4
  x: number;
5
5
  y: number;
6
6
  };
@@ -1060,4 +1060,4 @@ export declare const createSpineItemManager: ({ context }: {
1060
1060
  }>;
1061
1061
  };
1062
1062
  };
1063
- export declare type SpineItemManager = ReturnType<typeof createSpineItemManager>;
1063
+ export type SpineItemManager = ReturnType<typeof createSpineItemManager>;
@@ -1,6 +1,6 @@
1
1
  import { Manifest } from "@prose-reader/shared";
2
2
  import { Observable } from "rxjs";
3
- export declare type Hook = {
3
+ export type Hook = {
4
4
  name: `item.onLoad`;
5
5
  fn: (manipulableFrame: {
6
6
  frame: HTMLIFrameElement;
@@ -7,13 +7,13 @@ import { Pagination } from "../pagination";
7
7
  import { Observable } from "rxjs";
8
8
  import { createSelection } from "../selection";
9
9
  import { createViewportNavigator } from "../viewportNavigator/viewportNavigator";
10
- declare type ContextSettings = Parameters<Context[`setSettings`]>[0];
11
- declare type ViewportNavigator = ReturnType<typeof createViewportNavigator>;
12
- export declare type LoadOptions = {
10
+ type ContextSettings = Parameters<Context[`setSettings`]>[0];
11
+ type ViewportNavigator = ReturnType<typeof createViewportNavigator>;
12
+ export type LoadOptions = {
13
13
  cfi?: string;
14
14
  fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
15
15
  };
16
- export declare type Reader = {
16
+ export type Reader = {
17
17
  context: Context;
18
18
  registerHook: RegisterHook;
19
19
  spine: Spine;
@@ -6,17 +6,17 @@ import { createCfiLocator } from "../spine/cfiLocator";
6
6
  import { createLocationResolver } from "../spine/locationResolver";
7
7
  import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver";
8
8
  import { ViewportNavigationEntry } from "../spine/navigationResolver";
9
- declare type RequireLayout = boolean;
10
- declare type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0];
11
- declare type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0];
12
- declare type CfiLocator = ReturnType<typeof createCfiLocator>;
13
- declare type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
14
- declare type Locator = ReturnType<typeof createLocationResolver>;
15
- declare type Event = {
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
16
  type: `onSelectionChange`;
17
17
  data: ReturnType<typeof createSelection> | null;
18
18
  };
19
- export declare type Spine = {
19
+ export type Spine = {
20
20
  element: HTMLElement;
21
21
  locator: Locator;
22
22
  spineItemLocator: SpineItemLocator;
@@ -1,5 +1,5 @@
1
1
  import type { Manifest } from "@prose-reader/shared";
2
- export declare type ViewportPosition = {
2
+ export type ViewportPosition = {
3
3
  x: number;
4
4
  y: number;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  export declare const isHtmlElement: (element?: Element | Node | null | EventTarget) => element is HTMLElement;
2
- declare type ViewPort = {
2
+ type ViewPort = {
3
3
  left: number;
4
4
  right: number;
5
5
  top: number;
@@ -12,10 +12,7 @@ export declare const createManualViewportNavigator: ({ navigator, spineItemManag
12
12
  locator: ReturnType<typeof createLocationResolver>;
13
13
  }) => {
14
14
  destroy: () => void;
15
- adjustReadingOffset: (_: {
16
- x: number;
17
- y: number;
18
- }) => boolean;
15
+ adjustReadingOffset: () => boolean;
19
16
  turnLeft: ({ allowSpineItemChange }?: {
20
17
  allowSpineItemChange?: boolean | undefined;
21
18
  }) => void;
@@ -27,10 +27,7 @@ export declare const createPanViewportNavigator: ({ getCurrentViewportPosition,
27
27
  final?: boolean | undefined;
28
28
  } | undefined) => void);
29
29
  destroy: () => void;
30
- adjustReadingOffset: (_: {
31
- x: number;
32
- y: number;
33
- }) => boolean;
30
+ adjustReadingOffset: () => boolean;
34
31
  $: {
35
32
  moveToSubject$: Subject<{
36
33
  position: ViewportNavigationEntry;
@@ -4,7 +4,7 @@ import { Spine } from "../spine/createSpine";
4
4
  import { createNavigationResolver, ViewportNavigationEntry } from "../spine/navigationResolver";
5
5
  import { SpineItemManager } from "../spineItemManager";
6
6
  import { ViewportPosition } from "../types";
7
- declare type ScaledDownPosition = ViewportPosition;
7
+ type ScaledDownPosition = ViewportPosition;
8
8
  export declare const createScrollViewportNavigator: ({ context, element, navigator, currentNavigationSubject$, spine, }: {
9
9
  context: Context;
10
10
  element: HTMLElement;
@@ -1,5 +1,5 @@
1
1
  import { SpineItem } from "../spineItem/createSpineItem";
2
- export declare type LastUserExpectedNavigation = undefined | {
2
+ export type LastUserExpectedNavigation = undefined | {
3
3
  type: `navigate-from-previous-item`;
4
4
  } | {
5
5
  type: `navigate-from-next-item`;
@@ -10,7 +10,7 @@ export declare type LastUserExpectedNavigation = undefined | {
10
10
  type: `navigate-from-anchor`;
11
11
  data: string;
12
12
  };
13
- export declare type Navigation = {
13
+ export type Navigation = {
14
14
  position: {
15
15
  x: number;
16
16
  y: number;
@@ -20,7 +20,7 @@ export declare type Navigation = {
20
20
  animation: false | `turn` | `snap`;
21
21
  lastUserExpectedNavigation: LastUserExpectedNavigation;
22
22
  };
23
- export declare type AdjustedNavigation = {
23
+ export type AdjustedNavigation = {
24
24
  previousNavigationPosition: {
25
25
  x: number;
26
26
  y: number;
@@ -2,8 +2,8 @@ import { Context } from "../context";
2
2
  import { Pagination } from "../pagination";
3
3
  import { SpineItemManager } from "../spineItemManager";
4
4
  import { createLocationResolver } from "../spine/locationResolver";
5
+ import { ViewportNavigationEntry } from "../spine/navigationResolver";
5
6
  import { BehaviorSubject, Observable } from "rxjs";
6
- import { SpineItem } from "../spineItem/createSpineItem";
7
7
  import { createCfiLocator } from "../spine/cfiLocator";
8
8
  import { Hook } from "../types/Hook";
9
9
  import { LastUserExpectedNavigation, Navigation } from "./types";
@@ -20,10 +20,7 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
20
20
  }) => {
21
21
  destroy: () => void;
22
22
  layout: () => void;
23
- getCurrentNavigationPosition: () => {
24
- x: number;
25
- y: number;
26
- };
23
+ getCurrentNavigationPosition: () => ViewportNavigationEntry;
27
24
  getCurrentViewportPosition: (() => {
28
25
  x: number;
29
26
  y: number;
@@ -46,17 +43,6 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
46
43
  animate: boolean;
47
44
  }) => void;
48
45
  goToPageOfCurrentChapter: (pageIndex: number) => void;
49
- adjustNavigation: (spineItem: SpineItem) => Observable<{
50
- previousNavigationPosition: {
51
- x: number;
52
- y: number;
53
- };
54
- adjustedSpinePosition: {
55
- x: number;
56
- y: number;
57
- };
58
- areDifferent: boolean;
59
- }>;
60
46
  moveTo: ((delta: {
61
47
  x: number;
62
48
  y: number;
@@ -76,19 +62,10 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
76
62
  state$: Observable<"free" | "busy">;
77
63
  navigation$: Observable<Navigation>;
78
64
  navigationAdjustedAfterLayout$: Observable<{
79
- previousNavigationPosition: {
80
- x: number;
81
- y: number;
82
- };
83
- adjustedSpinePosition: {
84
- x: number;
85
- y: number;
86
- };
65
+ previousNavigationPosition: ViewportNavigationEntry;
66
+ adjustedSpinePosition: ViewportNavigationEntry;
87
67
  areDifferent: boolean;
88
68
  }>;
89
- currentNavigationPosition$: Observable<{
90
- x: number;
91
- y: number;
92
- }>;
69
+ currentNavigationPosition$: Observable<ViewportNavigationEntry>;
93
70
  };
94
71
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.12.0",
3
+ "version": "1.14.0",
4
4
  "type": "module",
5
5
  "main": "./dist/prose.umd.cjs",
6
6
  "module": "./dist/prose.js",
@@ -24,7 +24,7 @@
24
24
  "tsc": "tsc"
25
25
  },
26
26
  "dependencies": {
27
- "@prose-reader/shared": "^1.12.0"
27
+ "@prose-reader/shared": "^1.14.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "rxjs": "*"
@@ -38,5 +38,5 @@
38
38
  "webpack-bundle-analyzer": "^4.5.0",
39
39
  "webpack-cli": "^4.9.1"
40
40
  },
41
- "gitHead": "1f49da4b77625b7a7307c040a55ecf648f13776f"
41
+ "gitHead": "5db681ab0177ab822d8f3a183dcff3e118c70be5"
42
42
  }
@@ -1,8 +0,0 @@
1
- declare type Func<T extends any[], R> = (...a: T) => R;
2
- declare function compose<F extends Function>(f: F): F;
3
- declare function compose<A, T extends any[], R>(f1: (a: A) => R, f2: Func<T, A>): Func<T, R>;
4
- declare function compose<A, B, T extends any[], R>(f1: (b: B) => R, f2: (a: A) => B, f3: Func<T, A>): Func<T, R>;
5
- declare function compose<A, B, C, T extends any[], R>(f1: (c: C) => R, f2: (b: B) => C, f3: (a: A) => B, f4: Func<T, A>): Func<T, R>;
6
- declare function compose<R>(f1: (a: any) => R, ...funcs: Function[]): (...args: any[]) => R;
7
- declare function compose<R>(...funcs: Function[]): (...args: any[]) => R;
8
- export { compose };