@prose-reader/core 1.239.0 → 1.240.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 (42) hide show
  1. package/dist/context/Context.d.ts +1 -21
  2. package/dist/createReaderWithEnhancer.d.ts +1 -2
  3. package/dist/enhancers/events/normalizeEventForViewport.d.ts +2 -2
  4. package/dist/enhancers/hotkeys.d.ts +1 -1
  5. package/dist/enhancers/layout/updateSpreadMode.d.ts +12 -0
  6. package/dist/enhancers/loading/createLoadingElement.d.ts +2 -2
  7. package/dist/enhancers/navigation/navigators/UserScrollNavigation.d.ts +12 -0
  8. package/dist/enhancers/navigation/resolvers/getNavigationForLeftOrTopPage.d.ts +7 -2
  9. package/dist/enhancers/navigation/resolvers/getNavigationForLeftSinglePage.d.ts +4 -4
  10. package/dist/enhancers/navigation/resolvers/getNavigationForRightOrBottomPage.d.ts +7 -2
  11. package/dist/enhancers/navigation/resolvers/getNavigationForRightSinglePage.d.ts +4 -4
  12. package/dist/index.js +1926 -1942
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.umd.cjs +38 -39
  15. package/dist/index.umd.cjs.map +1 -1
  16. package/dist/navigation/Navigator.d.ts +3 -3
  17. package/dist/navigation/controllers/ScrollNavigationController.d.ts +6 -1
  18. package/dist/navigation/resolvers/NavigationResolver.d.ts +4 -2
  19. package/dist/navigation/resolvers/getNavigationForPosition.d.ts +3 -3
  20. package/dist/navigation/resolvers/getNavigationForSpineItemPage.d.ts +5 -5
  21. package/dist/navigation/resolvers/getNavigationFromSpineItemPosition.d.ts +4 -4
  22. package/dist/navigation/tests/utils.d.ts +2 -2
  23. package/dist/reader.d.ts +1 -2
  24. package/dist/settings/ReaderSettingsManager.d.ts +1 -1
  25. package/dist/settings/computeSpreadMode.d.ts +5 -0
  26. package/dist/settings/types.d.ts +2 -1
  27. package/dist/spine/Spine.d.ts +1 -2
  28. package/dist/spine/SpineItemsObserver.d.ts +2 -3
  29. package/dist/spine/locator/SpineLocator.d.ts +2 -2
  30. package/dist/spineItem/SpineItem.d.ts +3 -1
  31. package/dist/spineItem/SpineItemLayout.d.ts +3 -1
  32. package/dist/spineItem/layout/getSpineItemPositionFromPageIndex.d.ts +3 -1
  33. package/dist/spineItem/locationResolver.d.ts +3 -1
  34. package/dist/spineItem/navigationResolver.d.ts +3 -1
  35. package/dist/spineItem/renderer/DocumentRenderer.d.ts +4 -0
  36. package/dist/types/index.d.ts +10 -0
  37. package/dist/utils/ReactiveEntity.d.ts +2 -1
  38. package/dist/viewport/Viewport.d.ts +14 -2
  39. package/package.json +4 -4
  40. package/dist/context/isUsingSpreadMode.d.ts +0 -9
  41. package/dist/navigation/UserScrollNavigation.d.ts +0 -19
  42. package/dist/spine/locator/getSpinePositionFromSpineItemPageIndex.d.ts +0 -13
@@ -1,40 +1,20 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
- import { Subject, Observable } from 'rxjs';
3
2
  import { ReactiveEntity } from '../utils/ReactiveEntity';
4
3
  import { BridgeEvent } from './BridgeEvent';
4
+ import { Observable } from 'rxjs';
5
5
  export type ContextState = {
6
6
  rootElement?: HTMLElement;
7
7
  manifest?: Manifest;
8
8
  hasVerticalWriting?: boolean;
9
- isUsingSpreadMode?: boolean;
10
9
  assumedRenditionLayout: "reflowable" | "pre-paginated";
11
10
  isFullyPrePaginated?: boolean;
12
- forceSinglePageMode?: boolean;
13
- calculatedInnerMargin: number;
14
- marginTop: number;
15
- marginBottom: number;
16
- visibleAreaRect: {
17
- width: number;
18
- height: number;
19
- x: number;
20
- y: number;
21
- };
22
11
  };
23
12
  export declare class Context extends ReactiveEntity<ContextState> {
24
13
  bridgeEvent: BridgeEvent;
25
- destroy$: Subject<void>;
26
- state$: Observable<ContextState>;
27
14
  manifest$: Observable<Manifest>;
28
- hasVerticalWriting$: Observable<boolean>;
29
- isUsingSpreadMode$: Observable<boolean | undefined>;
30
15
  constructor();
31
16
  update(newState: Partial<ContextState>): void;
32
17
  isRTL: () => boolean;
33
- get state(): ContextState;
34
18
  get manifest(): Manifest | undefined;
35
19
  get readingDirection(): "ltr" | "rtl" | undefined;
36
- getPageSize(): {
37
- width: number;
38
- height: number;
39
- };
40
20
  }
@@ -64,7 +64,7 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
64
64
  position: SpinePosition;
65
65
  spineItemId: string;
66
66
  } | undefined;
67
- getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "context" | "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator">) => SpinePosition;
67
+ getNavigationForSpineItemPage: (params: Omit<Parameters< getNavigationForSpineItemPage>[0], "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator" | "viewport">) => SpinePosition;
68
68
  getNavigationFromSpineItemPosition: (params: {
69
69
  spineItemPosition: SpineItemPosition;
70
70
  spineItem: SpineItem;
@@ -112,7 +112,6 @@ export declare const createReaderWithEnhancers: (options: Partial< CoreInputSett
112
112
  release: () => void;
113
113
  } | undefined>;
114
114
  viewport: Viewport;
115
- element$: Observable<HTMLElement | undefined>;
116
115
  viewportState$: Observable<"free" | "busy">;
117
116
  viewportFree$: Observable<"free">;
118
117
  state$: Observable<"idle" | "ready">;
@@ -1,3 +1,3 @@
1
- import { Context } from '../../context/Context';
2
1
  import { SpineLocator } from '../../spine/locator/SpineLocator';
3
- export declare const normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E, iframeOriginalEvent: E, locator: SpineLocator, context: Context) => E;
2
+ import { Viewport } from '../../viewport/Viewport';
3
+ export declare const normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E, iframeOriginalEvent: E, locator: SpineLocator, viewport: Viewport) => E;
@@ -1,3 +1,3 @@
1
- import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
2
1
  import { NavigationEnhancerOutput } from './navigation/types';
2
+ import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
3
3
  export declare const hotkeysEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer> & NavigationEnhancerOutput>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput;
@@ -0,0 +1,12 @@
1
+ import { Reader } from '../../reader';
2
+ import { Observable } from 'rxjs';
3
+ import { Manifest } from '@prose-reader/shared';
4
+ export declare const updateSpreadMode: (reader: Reader) => Observable<[Pick<{
5
+ element: HTMLElement;
6
+ pageSize: {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ width: number;
11
+ height: number;
12
+ }, "width" | "height">, Manifest | undefined]>;
@@ -1,6 +1,6 @@
1
1
  import { Manifest } from '@prose-reader/shared';
2
- import { Context } from '../../context/Context';
3
- export declare const createLoadingElementContainer: (containerElement: HTMLElement, context: Context) => HTMLDivElement;
2
+ import { Viewport } from '../../viewport/Viewport';
3
+ export declare const createLoadingElementContainer: (containerElement: HTMLElement, viewport: Viewport) => HTMLDivElement;
4
4
  export declare const defaultLoadingElementCreate: ({ container, item, }: {
5
5
  container: HTMLElement;
6
6
  item: Manifest[`spineItems`][number];
@@ -0,0 +1,12 @@
1
+ import { Subject, Observable } from 'rxjs';
2
+ import { ScrollNavigationController } from '../../../navigation/controllers/ScrollNavigationController';
3
+ import { Locker } from '../../../navigation/Locker';
4
+ import { UserNavigationEntry } from '../../../navigation/types';
5
+ import { DestroyableClass } from '../../../utils/DestroyableClass';
6
+ export declare class UserScrollNavigation extends DestroyableClass {
7
+ protected scrollNavigationController: ScrollNavigationController;
8
+ protected locker: Locker;
9
+ protected navigationSubject: Subject<UserNavigationEntry>;
10
+ navigation$: Observable<UserNavigationEntry>;
11
+ constructor(scrollNavigationController: ScrollNavigationController, locker: Locker);
12
+ }
@@ -1,11 +1,14 @@
1
1
  import { Context } from '../../../context/Context';
2
2
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
3
  import { DeprecatedViewportPosition } from '../../../navigation/types';
4
- import { SpineItemsManager } from '../../../spine/SpineItemsManager';
4
+ import { SettingsInterface } from '../../../settings/SettingsInterface';
5
+ import { ComputedCoreSettings, CoreInputSettings } from '../../../settings/types';
5
6
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
7
+ import { SpineItemsManager } from '../../../spine/SpineItemsManager';
6
8
  import { SpinePosition } from '../../../spine/types';
7
9
  import { SpineItem } from '../../../spineItem/SpineItem';
8
- export declare const getNavigationForLeftOrTopPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, }: {
10
+ import { Viewport } from '../../../viewport/Viewport';
11
+ export declare const getNavigationForLeftOrTopPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, viewport, settings, }: {
9
12
  position: DeprecatedViewportPosition | SpinePosition;
10
13
  spineItem: SpineItem;
11
14
  context: Context;
@@ -13,4 +16,6 @@ export declare const getNavigationForLeftOrTopPage: ({ position, spineItem, cont
13
16
  navigationResolver: NavigationResolver;
14
17
  spineLocator: SpineLocator;
15
18
  computedPageTurnDirection: "horizontal" | "vertical";
19
+ viewport: Viewport;
20
+ settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
16
21
  }) => DeprecatedViewportPosition;
@@ -1,14 +1,14 @@
1
- import { Context } from '../../../context/Context';
2
1
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
2
  import { DeprecatedViewportPosition } from '../../../navigation/types';
4
- import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
3
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
4
+ import { SpineItemsManager } from '../../../spine/SpineItemsManager';
6
5
  import { SpinePosition } from '../../../spine/types';
7
- export declare const getNavigationForLeftSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, context, }: {
6
+ import { Viewport } from '../../../viewport/Viewport';
7
+ export declare const getNavigationForLeftSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, viewport, }: {
8
8
  position: DeprecatedViewportPosition | SpinePosition;
9
9
  navigationResolver: NavigationResolver;
10
10
  computedPageTurnDirection: "horizontal" | "vertical";
11
11
  spineItemsManager: SpineItemsManager;
12
12
  spineLocator: SpineLocator;
13
- context: Context;
13
+ viewport: Viewport;
14
14
  }) => DeprecatedViewportPosition | SpinePosition;
@@ -1,11 +1,14 @@
1
1
  import { Context } from '../../../context/Context';
2
2
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
3
  import { DeprecatedViewportPosition } from '../../../navigation/types';
4
- import { SpineItemsManager } from '../../../spine/SpineItemsManager';
4
+ import { SettingsInterface } from '../../../settings/SettingsInterface';
5
+ import { ComputedCoreSettings, CoreInputSettings } from '../../../settings/types';
5
6
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
7
+ import { SpineItemsManager } from '../../../spine/SpineItemsManager';
6
8
  import { SpinePosition } from '../../../spine/types';
7
9
  import { SpineItem } from '../../../spineItem/SpineItem';
8
- export declare const getNavigationForRightOrBottomPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, }: {
10
+ import { Viewport } from '../../../viewport/Viewport';
11
+ export declare const getNavigationForRightOrBottomPage: ({ position, spineItem, context, navigationResolver, spineItemsManager, spineLocator, computedPageTurnDirection, viewport, settings, }: {
9
12
  position: DeprecatedViewportPosition | SpinePosition;
10
13
  spineItem: SpineItem;
11
14
  context: Context;
@@ -13,4 +16,6 @@ export declare const getNavigationForRightOrBottomPage: ({ position, spineItem,
13
16
  navigationResolver: NavigationResolver;
14
17
  spineLocator: SpineLocator;
15
18
  computedPageTurnDirection: "horizontal" | "vertical";
19
+ viewport: Viewport;
20
+ settings: SettingsInterface<CoreInputSettings, CoreInputSettings & ComputedCoreSettings>;
16
21
  }) => DeprecatedViewportPosition;
@@ -1,14 +1,14 @@
1
- import { Context } from '../../../context/Context';
2
1
  import { NavigationResolver } from '../../../navigation/resolvers/NavigationResolver';
3
2
  import { DeprecatedViewportPosition } from '../../../navigation/types';
4
- import { SpineItemsManager } from '../../../spine/SpineItemsManager';
5
3
  import { SpineLocator } from '../../../spine/locator/SpineLocator';
4
+ import { SpineItemsManager } from '../../../spine/SpineItemsManager';
6
5
  import { SpinePosition } from '../../../spine/types';
7
- export declare const getNavigationForRightSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, context, }: {
6
+ import { Viewport } from '../../../viewport/Viewport';
7
+ export declare const getNavigationForRightSinglePage: ({ position, navigationResolver, computedPageTurnDirection, spineItemsManager, spineLocator, viewport, }: {
8
8
  position: DeprecatedViewportPosition | SpinePosition;
9
9
  navigationResolver: NavigationResolver;
10
10
  computedPageTurnDirection: "horizontal" | "vertical";
11
11
  spineItemsManager: SpineItemsManager;
12
12
  spineLocator: SpineLocator;
13
- context: Context;
13
+ viewport: Viewport;
14
14
  }) => DeprecatedViewportPosition | SpinePosition;