@prose-reader/core 1.193.0 → 1.195.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,9 +1,9 @@
1
1
  import { Observable } from 'rxjs';
2
- import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
3
2
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
4
3
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
5
- import { NavigationResolver } from '../resolvers/NavigationResolver';
6
4
  import { SpineLocator } from '../../spine/locator/SpineLocator';
5
+ import { InternalNavigationEntry, InternalNavigationInput } from '../InternalNavigator';
6
+ import { NavigationResolver } from '../resolvers/NavigationResolver';
7
7
  type Navigation = {
8
8
  navigation: InternalNavigationEntry | InternalNavigationInput;
9
9
  };
@@ -1,8 +1,8 @@
1
1
  import { Context } from '../../context/Context';
2
+ import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
3
  import { SpineLocator } from '../../spine/locator/SpineLocator';
3
4
  import { SpineItem } from '../../spineItem/SpineItem';
4
5
  import { SpineItemNavigationResolver } from '../../spineItem/navigationResolver';
5
- import { SpineItemsManager } from '../../spine/SpineItemsManager';
6
6
  import { ViewportPosition } from '../viewport/ViewportNavigator';
7
7
  export declare const getNavigationForSpineItemPage: ({ pageIndex, spineItemsManager, spineItemId, context, spineLocator, spineItemNavigationResolver, }: {
8
8
  pageIndex: number;
@@ -1,7 +1,7 @@
1
1
  import { Context } from '../../context/Context';
2
- import { ViewportPosition } from '../viewport/ViewportNavigator';
3
- import { SpineLocator } from '../../spine/locator/SpineLocator';
4
2
  import { SpineItemsManager } from '../../spine/SpineItemsManager';
3
+ import { SpineLocator } from '../../spine/locator/SpineLocator';
4
+ import { ViewportPosition } from '../viewport/ViewportNavigator';
5
5
  export declare const getNavigationForUrl: ({ context, spineItemsManager, spineLocator, url, pageSizeWidth, visibleAreaRectWidth, }: {
6
6
  url: string | URL;
7
7
  spineItemsManager: SpineItemsManager;
@@ -1,13 +1,18 @@
1
+ import { SpineItem } from '../..';
1
2
  import { Context } from '../../context/Context';
3
+ import { HookManager } from '../../hooks/HookManager';
4
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
+ import { Spine } from '../../spine/Spine';
6
+ import { SpineItemsManager } from '../../spine/SpineItemsManager';
2
7
  import { InternalNavigator } from '../InternalNavigator';
3
8
  import { UserNavigator } from '../UserNavigator';
4
- import { Item, SpineItemsManagerMock } from './SpineItemsManagerMock';
5
- import { Spine } from '../../spine/Spine';
6
- export declare const generateItems: (size: number, number: number) => Item[];
9
+ export declare const generateItems: (size: number, number: number, context: Context, settings: ReaderSettingsManager, hookManager: HookManager) => SpineItem[];
7
10
  export declare const createNavigator: () => {
8
11
  internalNavigator: InternalNavigator;
9
12
  userNavigator: UserNavigator;
10
13
  context: Context;
11
- spineItemsManagerMock: SpineItemsManagerMock;
14
+ spineItemsManagerMock: SpineItemsManager;
12
15
  spine: Spine;
16
+ settings: ReaderSettingsManager;
17
+ hookManager: HookManager<import('../../hooks/types').CoreHook>;
13
18
  };
@@ -1,9 +1,9 @@
1
1
  import { Context } from '../context/Context';
2
- import { Pagination } from './Pagination';
2
+ import { Spine } from '../spine/Spine';
3
3
  import { SpineItemsManager } from '../spine/SpineItemsManager';
4
- import { DestroyableClass } from '../utils/DestroyableClass';
5
4
  import { createSpineItemLocator } from '../spineItem/locationResolver';
6
- import { Spine } from '../spine/Spine';
5
+ import { DestroyableClass } from '../utils/DestroyableClass';
6
+ import { Pagination } from './Pagination';
7
7
  export declare class PaginationController extends DestroyableClass {
8
8
  protected context: Context;
9
9
  protected pagination: Pagination;
package/dist/reader.d.ts CHANGED
@@ -103,7 +103,7 @@ export declare const createReader: (inputSettings: CreateReaderOptions) => {
103
103
  };
104
104
  settings: SettingsInterface<NonNullable<CoreInputSettings>, NonNullable<import('./settings/types').CoreOutputSettings | undefined>>;
105
105
  element$: import('rxjs').Observable<HTMLElement>;
106
- layout$: import('rxjs').Observable<import('./spine/SpineLayout').Layout>;
106
+ layout$: import('rxjs').Observable<import('./spine/SpineLayout').LayoutInfo>;
107
107
  layoutInfo$: import('rxjs').Observable<import('./spine/SpineLayout').LayoutInfo>;
108
108
  viewportState$: import('rxjs').Observable<"free" | "busy">;
109
109
  viewportFree$: import('rxjs').Observable<"free">;
@@ -25,14 +25,11 @@ export type LayoutInfo = {
25
25
  spineItemsPagesAbsolutePositions: LayoutPosition[][];
26
26
  pages: PageLayoutInformation[];
27
27
  };
28
- export type Layout = LayoutInfo & {
29
- hasChanged: boolean;
30
- };
28
+ export type Layout = LayoutInfo;
31
29
  export declare class SpineLayout extends DestroyableClass {
32
30
  protected spineItemsManager: SpineItemsManager;
33
31
  protected context: Context;
34
32
  protected settings: ReaderSettingsManager;
35
- protected itemLayoutInformation: LayoutPosition[];
36
33
  protected layoutSubject: Subject<unknown>;
37
34
  readonly layout$: Observable<Layout>;
38
35
  readonly info$: Observable<LayoutInfo>;
@@ -40,13 +37,13 @@ export declare class SpineLayout extends DestroyableClass {
40
37
  layout(): void;
41
38
  getAbsolutePositionOf(spineItemOrIndex: SpineItem | number | string | undefined): {
42
39
  left: number;
43
- right: number;
44
40
  top: number;
41
+ right: number;
45
42
  bottom: number;
46
- width: number;
47
- height: number;
48
43
  x: number;
49
44
  y: number;
45
+ width: number;
46
+ height: number;
50
47
  };
51
48
  destroy(): void;
52
49
  }
@@ -3,8 +3,7 @@ import { SpineItem } from '../..';
3
3
  import { Context } from '../../context/Context';
4
4
  import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
5
5
  import { SpineItemsManager } from '../SpineItemsManager';
6
- import { LayoutPosition } from '../SpineLayout';
7
- export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, spineItemsManager, isGloballyPrePaginated, settings, index, item, newItemLayoutInformation, }: {
6
+ export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, spineItemsManager, isGloballyPrePaginated, settings, index, item, }: {
8
7
  horizontalOffset: number;
9
8
  verticalOffset: number;
10
9
  context: Context;
@@ -13,7 +12,6 @@ export declare const layoutItem: ({ horizontalOffset, verticalOffset, context, s
13
12
  settings: ReaderSettingsManager;
14
13
  item: SpineItem;
15
14
  index: number;
16
- newItemLayoutInformation: LayoutPosition[];
17
15
  }) => Observable<{
18
16
  horizontalOffset: number;
19
17
  verticalOffset: number;
@@ -1,14 +1,14 @@
1
1
  import { Context } from '../../context/Context';
2
+ import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
3
+ import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
2
4
  import { SpineItem } from '../../spineItem/SpineItem';
3
5
  import { createSpineItemLocator } from '../../spineItem/locationResolver';
4
- import { SpineItemsManager } from '../SpineItemsManager';
5
6
  import { SafeSpineItemPosition, UnsafeSpineItemPosition } from '../../spineItem/types';
6
- import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager';
7
- import { ViewportPosition } from '../../navigation/viewport/ViewportNavigator';
8
- import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
7
+ import { SpineItemsManager } from '../SpineItemsManager';
9
8
  import { SpineLayout } from '../SpineLayout';
10
- import { getSpineInfoFromAbsolutePageIndex } from './getSpineInfoFromAbsolutePageIndex';
11
9
  import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPageIndex';
10
+ import { getSpineInfoFromAbsolutePageIndex } from './getSpineInfoFromAbsolutePageIndex';
11
+ import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition';
12
12
  export type SpineLocator = ReturnType<typeof createSpineLocator>;
13
13
  export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, }: {
14
14
  spineItemsManager: SpineItemsManager;
@@ -1,8 +1,9 @@
1
1
  import { Observable } from 'rxjs';
2
- import { DestroyableClass, Manifest } from '..';
2
+ import { Manifest } from '..';
3
3
  import { Context } from '../context/Context';
4
4
  import { HookManager } from '../hooks/HookManager';
5
5
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
6
+ import { DestroyableClass } from '../utils/DestroyableClass';
6
7
  import { SpineItemLayout } from './SpineItemLayout';
7
8
  import { DocumentRenderer } from './renderer/DocumentRenderer';
8
9
  import { ResourceHandler } from './resources/ResourceHandler';
@@ -26,20 +27,19 @@ export declare class SpineItem extends DestroyableClass {
26
27
  getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
27
28
  load: () => void;
28
29
  unload: () => void;
29
- getElementDimensions: () => {
30
- width: number;
31
- height: number;
32
- x: number;
33
- y: number;
34
- bottom: number;
35
- left: number;
36
- right: number;
37
- top: number;
38
- toJSON(): any;
39
- };
40
30
  destroy: () => void;
41
31
  get element(): HTMLElement;
42
32
  get readingDirection(): "rtl" | "ltr" | undefined;
33
+ get layoutPosition(): {
34
+ left: number;
35
+ top: number;
36
+ right: number;
37
+ bottom: number;
38
+ x: number;
39
+ y: number;
40
+ width: number;
41
+ height: number;
42
+ };
43
43
  isUsingVerticalWriting: () => boolean;
44
44
  get loaded$(): Observable<"loaded">;
45
45
  get unloaded$(): Observable<"idle">;
@@ -37,4 +37,14 @@ export declare class SpineItemLayout extends DestroyableClass {
37
37
  left?: number;
38
38
  top?: number;
39
39
  }) => void;
40
+ get layoutPosition(): {
41
+ left: number;
42
+ top: number;
43
+ right: number;
44
+ bottom: number;
45
+ x: number;
46
+ y: number;
47
+ width: number;
48
+ height: number;
49
+ };
40
50
  }
@@ -1,7 +1,7 @@
1
1
  import { Context } from '../context/Context';
2
- import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
3
2
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
3
  import { SpineItem } from './SpineItem';
4
+ import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
5
5
  export type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
6
6
  export declare const createSpineItemLocator: ({ context, settings, }: {
7
7
  context: Context;
@@ -1,7 +1,7 @@
1
1
  import { Context } from '../context/Context';
2
- import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
3
2
  import { ReaderSettingsManager } from '../settings/ReaderSettingsManager';
4
3
  import { SpineItem } from './SpineItem';
4
+ import { SafeSpineItemPosition, UnsafeSpineItemPosition } from './types';
5
5
  export type SpineItemNavigationResolver = ReturnType<typeof createNavigationResolver>;
6
6
  export declare const createNavigationResolver: ({ context, settings, }: {
7
7
  context: Context;
@@ -1,4 +1,4 @@
1
- export declare const isHtmlElement: (element?: Element | Node | null | EventTarget) => element is HTMLElement;
1
+ export declare const isHtmlElement: (element?: unknown) => element is HTMLElement;
2
2
  type ViewPort = {
3
3
  left: number;
4
4
  right: number;
@@ -19,4 +19,5 @@ export declare const isTouchEvent: (event: Event) => event is TouchEvent;
19
19
  export declare const noopElement: () => HTMLDivElement;
20
20
  export declare const getElementsWithAssets: (_document: Document | null | undefined) => Element[];
21
21
  export declare const revokeDocumentBlobs: (_document: Document | null | undefined) => void;
22
+ export declare function isHtmlTagElement<K extends keyof HTMLElementTagNameMap>(element: unknown, tagName: K): element is HTMLElementTagNameMap[K];
22
23
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/core",
3
- "version": "1.193.0",
3
+ "version": "1.195.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "tsc": "tsc"
24
24
  },
25
25
  "dependencies": {
26
- "@prose-reader/shared": "^1.193.0"
26
+ "@prose-reader/shared": "^1.195.0"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "rxjs": "*"
@@ -31,5 +31,5 @@
31
31
  "devDependencies": {
32
32
  "happy-dom": "^17.1.0"
33
33
  },
34
- "gitHead": "bf39ea1fa624308df2bedd76e41060b94e287fda"
34
+ "gitHead": "25b15357887d35277e9fdfe13893ee52ae960d84"
35
35
  }
@@ -1,14 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { EnhancerOptions, EnhancerOutput, RootEnhancer } from './types/enhancer';
3
- import { NavigationEnhancerOutput } from './navigation/types';
4
- type SubjectData = {
5
- event: `linkClicked`;
6
- data: HTMLAnchorElement;
7
- isNavigable: boolean;
8
- };
9
- export declare const linksEnhancer: <InheritOptions extends EnhancerOptions<RootEnhancer>, InheritOutput extends EnhancerOutput<RootEnhancer> & NavigationEnhancerOutput>(next: (options: InheritOptions) => InheritOutput) => (options: InheritOptions) => InheritOutput & {
10
- $: {
11
- links$: Observable<SubjectData>;
12
- };
13
- };
14
- export {};