@prose-reader/core 1.28.0 → 1.30.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 (75) hide show
  1. package/dist/cfi.d.ts +71 -101
  2. package/dist/constants.d.ts +6 -6
  3. package/dist/context.d.ts +43 -38
  4. package/dist/createReaderWithEnhancer.d.ts +5286 -6297
  5. package/dist/enhancers/accessibility.d.ts +4785 -5685
  6. package/dist/enhancers/chrome.d.ts +4785 -5685
  7. package/dist/enhancers/fonts.d.ts +4798 -5699
  8. package/dist/enhancers/hotkeys.d.ts +4785 -5685
  9. package/dist/enhancers/layoutEnhancer/createMovingSafePan$.d.ts +3 -3
  10. package/dist/enhancers/layoutEnhancer/fixReflowable.d.ts +2 -2
  11. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +4792 -5696
  12. package/dist/enhancers/layoutEnhancer/types.d.ts +6 -6
  13. package/dist/enhancers/links.d.ts +4794 -5694
  14. package/dist/enhancers/loadingEnhancer.d.ts +4810 -5707
  15. package/dist/enhancers/media.d.ts +4785 -5685
  16. package/dist/enhancers/navigation.d.ts +4788 -5688
  17. package/dist/enhancers/pagination.d.ts +5165 -6133
  18. package/dist/enhancers/progression.d.ts +4798 -5709
  19. package/dist/enhancers/resources/index.d.ts +4785 -5685
  20. package/dist/enhancers/resources/indexedDB.d.ts +5 -5
  21. package/dist/enhancers/resources/resourcesManager.d.ts +5 -8
  22. package/dist/enhancers/theme.d.ts +4811 -5717
  23. package/dist/enhancers/types/enhancer.d.ts +4789 -5689
  24. package/dist/enhancers/utils.d.ts +4789 -5689
  25. package/dist/enhancers/webkit.d.ts +4785 -5685
  26. package/dist/enhancers/zoom/elementZoomer.d.ts +17 -25
  27. package/dist/enhancers/zoom/index.d.ts +4786 -5686
  28. package/dist/enhancers/zoom/types.d.ts +21 -26
  29. package/dist/enhancers/zoom/viewportZoomer.d.ts +17 -22
  30. package/dist/frames.d.ts +5 -7
  31. package/dist/index.d.ts +8 -8
  32. package/dist/pagination.d.ts +64 -73
  33. package/dist/prose.js +4851 -5294
  34. package/dist/prose.js.map +1 -1
  35. package/dist/prose.umd.cjs +4975 -5457
  36. package/dist/prose.umd.cjs.map +1 -1
  37. package/dist/reader.d.ts +4791 -5692
  38. package/dist/report.d.ts +25 -49
  39. package/dist/selection.d.ts +6 -9
  40. package/dist/settings.d.ts +36 -38
  41. package/dist/spine/cfiLocator.d.ts +359 -438
  42. package/dist/spine/createSpine.d.ts +29 -43
  43. package/dist/spine/eventsHelper.d.ts +10 -13
  44. package/dist/spine/locationResolver.d.ts +682 -820
  45. package/dist/spine/navigationResolver.d.ts +42 -51
  46. package/dist/spine/types.d.ts +8 -8
  47. package/dist/spineItem/commonSpineItem.d.ts +169 -205
  48. package/dist/spineItem/createSpineItem.d.ts +178 -213
  49. package/dist/spineItem/frameItem/createFrame$.d.ts +1 -3
  50. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +4 -4
  51. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +2 -5
  52. package/dist/spineItem/frameItem/frameItem.d.ts +45 -54
  53. package/dist/spineItem/frameItem/loader.d.ts +26 -33
  54. package/dist/spineItem/locationResolver.d.ts +23 -35
  55. package/dist/spineItem/navigationResolver.d.ts +13 -11
  56. package/dist/spineItem/prePaginatedSpineItem.d.ts +177 -212
  57. package/dist/spineItem/reflowableSpineItem.d.ts +176 -204
  58. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +1 -1
  59. package/dist/spineItem/trackers.d.ts +31 -40
  60. package/dist/spineItem/types.d.ts +15 -12
  61. package/dist/spineItemManager.d.ts +532 -618
  62. package/dist/types/Hook.d.ts +69 -113
  63. package/dist/types/Spine.d.ts +37 -41
  64. package/dist/types/index.d.ts +8 -8
  65. package/dist/utils/dom.d.ts +18 -30
  66. package/dist/utils/layout.d.ts +7 -12
  67. package/dist/utils/manifest.d.ts +2 -2
  68. package/dist/utils/objects.d.ts +6 -12
  69. package/dist/utils/rxjs.d.ts +4 -9
  70. package/dist/viewportNavigator/manualViewportNavigator.d.ts +1367 -1624
  71. package/dist/viewportNavigator/panViewportNavigator.d.ts +214 -271
  72. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +34 -37
  73. package/dist/viewportNavigator/types.d.ts +31 -36
  74. package/dist/viewportNavigator/viewportNavigator.d.ts +70 -100
  75. package/package.json +3 -3
@@ -1,117 +1,73 @@
1
- import { Manifest } from "@prose-reader/shared"
2
- import { Observable } from "rxjs"
1
+ import { Manifest } from "@prose-reader/shared";
2
+ import { Observable } from "rxjs";
3
3
  type ItemOnLoadHook = {
4
- name: `item.onLoad`
5
- fn: (manipulableFrame: {
6
- frame: HTMLIFrameElement
7
- removeStyle: (id: string) => void
8
- item: Manifest[`spineItems`][number]
9
- addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void
10
- }) => (() => void) | Observable<unknown> | void
11
- }
12
- export type Hook =
13
- | ItemOnLoadHook
14
- | {
15
- name: `item.onBeforeContainerCreated`
16
- fn: (payload: HTMLElement) => HTMLElement
17
- }
18
- | {
19
- name: `item.onLayoutBeforeMeasurement`
20
- fn: (payload: {
4
+ name: `item.onLoad`;
5
+ fn: (manipulableFrame: {
6
+ frame: HTMLIFrameElement;
7
+ removeStyle: (id: string) => void;
8
+ item: Manifest[`spineItems`][number];
9
+ addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
10
+ }) => (() => void) | Observable<unknown> | void;
11
+ };
12
+ export type Hook = ItemOnLoadHook | {
13
+ name: `item.onBeforeContainerCreated`;
14
+ fn: (payload: HTMLElement) => HTMLElement;
15
+ } | {
16
+ name: `item.onLayoutBeforeMeasurement`;
17
+ fn: (payload: {
21
18
  frame: {
22
- getManipulableFrame: () =>
23
- | undefined
24
- | {
25
- removeStyle: (id: string) => void
26
- addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void
27
- }
28
- getViewportDimensions: () =>
29
- | {
30
- width: number
31
- height: number
32
- }
33
- | undefined
34
- isUsingVerticalWriting: () => boolean
35
- getIsReady: () => boolean
36
- }
37
- container: HTMLElement
38
- item: Manifest[`spineItems`][number]
39
- minimumWidth: number
40
- isImageType: () => boolean | undefined
41
- }) => void
42
- }
43
- | {
44
- name: `item.onAfterLayout`
45
- fn: (payload: {
46
- item: Manifest[`spineItems`][number]
47
- blankPagePosition: `before` | `after` | `none`
48
- minimumWidth: number
49
- }) => void
50
- }
51
- | {
52
- name: `item.onGetResource`
53
- fn: (
54
- fetchResource: (item: Manifest[`spineItems`][number]) => Promise<Response>
55
- ) => (item: Manifest[`spineItems`][number]) => Promise<Response>
56
- }
57
- | {
58
- name: `spine.onBeforeContainerCreated`
59
- fn: (payload: HTMLElement) => HTMLElement
60
- }
61
- | {
62
- name: `viewportNavigator.onBeforeContainerCreated`
63
- fn: (payload: HTMLElement) => HTMLElement
64
- }
65
- | {
66
- name: `onViewportOffsetAdjust`
67
- fn: () => void
68
- }
19
+ getManipulableFrame: () => undefined | {
20
+ removeStyle: (id: string) => void;
21
+ addStyle: (id: string, style: CSSStyleDeclaration[`cssText`]) => void;
22
+ };
23
+ getViewportDimensions: () => {
24
+ width: number;
25
+ height: number;
26
+ } | undefined;
27
+ isUsingVerticalWriting: () => boolean;
28
+ getIsReady: () => boolean;
29
+ };
30
+ container: HTMLElement;
31
+ item: Manifest[`spineItems`][number];
32
+ minimumWidth: number;
33
+ isImageType: () => boolean | undefined;
34
+ }) => void;
35
+ } | {
36
+ name: `item.onAfterLayout`;
37
+ fn: (payload: {
38
+ item: Manifest[`spineItems`][number];
39
+ blankPagePosition: `before` | `after` | `none`;
40
+ minimumWidth: number;
41
+ }) => void;
42
+ } | {
43
+ name: `item.onGetResource`;
44
+ fn: (fetchResource: (item: Manifest[`spineItems`][number]) => Promise<Response>) => (item: Manifest[`spineItems`][number]) => Promise<Response>;
45
+ } | {
46
+ name: `spine.onBeforeContainerCreated`;
47
+ fn: (payload: HTMLElement) => HTMLElement;
48
+ } | {
49
+ name: `viewportNavigator.onBeforeContainerCreated`;
50
+ fn: (payload: HTMLElement) => HTMLElement;
51
+ } | {
52
+ name: `onViewportOffsetAdjust`;
53
+ fn: () => void;
54
+ };
69
55
  export interface RegisterHook {
70
- (
71
- name: `item.onBeforeContainerCreated`,
72
- fn: Extract<
73
- Hook,
74
- {
75
- name: `item.onBeforeContainerCreated`
76
- }
77
- >[`fn`]
78
- ): void
79
- (
80
- name: `item.onGetResource`,
81
- fn: Extract<
82
- Hook,
83
- {
84
- name: `item.onGetResource`
85
- }
86
- >[`fn`]
87
- ): void
88
- (
89
- name: `item.onLayoutBeforeMeasurement`,
90
- fn: Extract<
91
- Hook,
92
- {
93
- name: `item.onLayoutBeforeMeasurement`
94
- }
95
- >[`fn`]
96
- ): void
97
- (
98
- name: `item.onAfterLayout`,
99
- fn: Extract<
100
- Hook,
101
- {
102
- name: `item.onAfterLayout`
103
- }
104
- >[`fn`]
105
- ): void
106
- (
107
- name: `onViewportOffsetAdjust`,
108
- fn: Extract<
109
- Hook,
110
- {
111
- name: `onViewportOffsetAdjust`
112
- }
113
- >[`fn`]
114
- ): void
115
- (name: `item.onLoad`, fn: ItemOnLoadHook["fn"]): void
56
+ (name: `item.onBeforeContainerCreated`, fn: Extract<Hook, {
57
+ name: `item.onBeforeContainerCreated`;
58
+ }>[`fn`]): void;
59
+ (name: `item.onGetResource`, fn: Extract<Hook, {
60
+ name: `item.onGetResource`;
61
+ }>[`fn`]): void;
62
+ (name: `item.onLayoutBeforeMeasurement`, fn: Extract<Hook, {
63
+ name: `item.onLayoutBeforeMeasurement`;
64
+ }>[`fn`]): void;
65
+ (name: `item.onAfterLayout`, fn: Extract<Hook, {
66
+ name: `item.onAfterLayout`;
67
+ }>[`fn`]): void;
68
+ (name: `onViewportOffsetAdjust`, fn: Extract<Hook, {
69
+ name: `onViewportOffsetAdjust`;
70
+ }>[`fn`]): void;
71
+ (name: `item.onLoad`, fn: ItemOnLoadHook["fn"]): void;
116
72
  }
117
- export {}
73
+ export {};
@@ -1,43 +1,39 @@
1
- import { Observable } from "rxjs"
2
- import { SpineItem } from "../spineItem/createSpineItem"
3
- import { createSelection } from "../selection"
4
- import { createCfiLocator } from "../spine/cfiLocator"
5
- import { createLocationResolver } from "../spine/locationResolver"
6
- import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver"
7
- import { ViewportNavigationEntry } from "../spine/navigationResolver"
8
- type RequireLayout = boolean
9
- type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0]
10
- type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0]
11
- type CfiLocator = ReturnType<typeof createCfiLocator>
12
- type SpineItemLocator = ReturnType<typeof createSpineItemLocator>
13
- type Locator = ReturnType<typeof createLocationResolver>
1
+ import { Observable } from "rxjs";
2
+ import { SpineItem } from "../spineItem/createSpineItem";
3
+ import { createSelection } from "../selection";
4
+ import { createCfiLocator } from "../spine/cfiLocator";
5
+ import { createLocationResolver } from "../spine/locationResolver";
6
+ import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver";
7
+ import { ViewportNavigationEntry } from "../spine/navigationResolver";
8
+ type RequireLayout = boolean;
9
+ type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0];
10
+ type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0];
11
+ type CfiLocator = ReturnType<typeof createCfiLocator>;
12
+ type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
13
+ type Locator = ReturnType<typeof createLocationResolver>;
14
14
  type Event = {
15
- type: `onSelectionChange`
16
- data: ReturnType<typeof createSelection> | null
17
- }
15
+ type: `onSelectionChange`;
16
+ data: ReturnType<typeof createSelection> | null;
17
+ };
18
18
  export type Spine = {
19
- element: HTMLElement
20
- locator: Locator
21
- spineItemLocator: SpineItemLocator
22
- cfiLocator: CfiLocator
23
- normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E) => E
24
- manipulateSpineItems: (
25
- cb: (
26
- payload: ManipulableSpineItemCallbackPayload & {
27
- index: number
28
- }
29
- ) => RequireLayout
30
- ) => void
31
- manipulateSpineItem: (id: string, cb: Parameters<SpineItem[`manipulateSpineItem`]>[0]) => void
32
- destroy: () => void
33
- isSelecting: () => boolean | undefined
34
- getSelection: () => Selection | undefined
35
- adjustPagination: (position: ViewportNavigationEntry) => Observable<`free` | `busy`>
36
- $: {
37
- $: Observable<Event>
38
- layout$: Observable<boolean>
39
- spineItems$: Observable<SpineItem[]>
40
- itemsBeforeDestroy$: Observable<void>
41
- }
42
- }
43
- export {}
19
+ element: HTMLElement;
20
+ locator: Locator;
21
+ spineItemLocator: SpineItemLocator;
22
+ cfiLocator: CfiLocator;
23
+ normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E) => E;
24
+ manipulateSpineItems: (cb: (payload: ManipulableSpineItemCallbackPayload & {
25
+ index: number;
26
+ }) => RequireLayout) => void;
27
+ manipulateSpineItem: (id: string, cb: Parameters<SpineItem[`manipulateSpineItem`]>[0]) => void;
28
+ destroy: () => void;
29
+ isSelecting: () => boolean | undefined;
30
+ getSelection: () => Selection | undefined;
31
+ adjustPagination: (position: ViewportNavigationEntry) => Observable<`free` | `busy`>;
32
+ $: {
33
+ $: Observable<Event>;
34
+ layout$: Observable<boolean>;
35
+ spineItems$: Observable<SpineItem[]>;
36
+ itemsBeforeDestroy$: Observable<void>;
37
+ };
38
+ };
39
+ export {};
@@ -1,11 +1,11 @@
1
- import type { Manifest } from "@prose-reader/shared"
1
+ import type { Manifest } from "@prose-reader/shared";
2
2
  export type ViewportPosition = {
3
- x: number
4
- y: number
5
- }
3
+ x: number;
4
+ y: number;
5
+ };
6
6
  declare global {
7
- interface Window {
8
- __PROSE_READER_DEBUG?: boolean
9
- }
7
+ interface Window {
8
+ __PROSE_READER_DEBUG?: boolean;
9
+ }
10
10
  }
11
- export { Manifest }
11
+ export { Manifest };
@@ -1,31 +1,19 @@
1
- export declare const isHtmlElement: (element?: Element | Node | null | EventTarget) => element is HTMLElement
1
+ export declare const isHtmlElement: (element?: Element | Node | null | EventTarget) => element is HTMLElement;
2
2
  type ViewPort = {
3
- left: number
4
- right: number
5
- top: number
6
- bottom: number
7
- }
8
- export declare const getFirstVisibleNodeForViewport:
9
- | ((
10
- documentOrElement: Document | Element,
11
- viewport: ViewPort
12
- ) =>
13
- | {
14
- node: Node
15
- offset: number
16
- }
17
- | undefined)
18
- | ((
19
- documentOrElement: Document | Element,
20
- viewport: ViewPort
21
- ) =>
22
- | {
23
- node: Node
24
- offset: number
25
- }
26
- | undefined)
27
- export declare const getRangeFromNode: (node: Node, offset: number) => Range | undefined
28
- export declare const isPointerEvent: (event: Event) => event is PointerEvent
29
- export declare const isMouseEvent: (event: Event) => event is MouseEvent
30
- export declare const isTouchEvent: (event: Event) => event is TouchEvent
31
- export {}
3
+ left: number;
4
+ right: number;
5
+ top: number;
6
+ bottom: number;
7
+ };
8
+ export declare const getFirstVisibleNodeForViewport: ((documentOrElement: Document | Element, viewport: ViewPort) => {
9
+ node: Node;
10
+ offset: number;
11
+ } | undefined) | ((documentOrElement: Document | Element, viewport: ViewPort) => {
12
+ node: Node;
13
+ offset: number;
14
+ } | undefined);
15
+ export declare const getRangeFromNode: (node: Node, offset: number) => Range | undefined;
16
+ export declare const isPointerEvent: (event: Event) => event is PointerEvent;
17
+ export declare const isMouseEvent: (event: Event) => event is MouseEvent;
18
+ export declare const isTouchEvent: (event: Event) => event is TouchEvent;
19
+ export {};
@@ -1,12 +1,7 @@
1
- export declare const getNewScaledOffset: ({
2
- newScale,
3
- oldScale,
4
- screenSize,
5
- scrollOffset,
6
- }: {
7
- screenSize: number
8
- pageSize: number
9
- scrollOffset: number
10
- newScale: number
11
- oldScale: number
12
- }) => number
1
+ export declare const getNewScaledOffset: ({ newScale, oldScale, screenSize, scrollOffset, }: {
2
+ screenSize: number;
3
+ pageSize: number;
4
+ scrollOffset: number;
5
+ newScale: number;
6
+ oldScale: number;
7
+ }) => number;
@@ -1,2 +1,2 @@
1
- import { Manifest } from "@prose-reader/shared"
2
- export declare const getCoverItem: (manifest: Manifest) => number
1
+ import { Manifest } from "@prose-reader/shared";
2
+ export declare const getCoverItem: (manifest: Manifest) => number;
@@ -1,12 +1,6 @@
1
- export declare const is: (x: any, y: any) => boolean
2
- export declare const isShallowEqual: <T = any, R = any>(
3
- objectA: T,
4
- objectB: R,
5
- options?:
6
- | {
7
- customEqual?: (<T_1>(a: T_1, b: T_1) => boolean) | undefined
8
- }
9
- | undefined
10
- ) => boolean
11
- export declare const groupBy: <T, K extends string | number | symbol>(list: T[], getKey: (item: T) => K) => Record<K, T[]>
12
- export declare const getBase64FromBlob: (data: Blob) => Promise<string>
1
+ export declare const is: (x: any, y: any) => boolean;
2
+ export declare const isShallowEqual: <T = any, R = any>(objectA: T, objectB: R, options?: {
3
+ customEqual?: (<T_1>(a: T_1, b: T_1) => boolean) | undefined;
4
+ } | undefined) => boolean;
5
+ export declare const groupBy: <T, K extends string | number | symbol>(list: T[], getKey: (item: T) => K) => Record<K, T[]>;
6
+ export declare const getBase64FromBlob: (data: Blob) => Promise<string>;
@@ -1,9 +1,4 @@
1
- import { OperatorFunction } from "rxjs"
2
- export declare const mapKeysTo: <
3
- R extends {
4
- [key: string]: any
5
- },
6
- K extends keyof R
7
- >(
8
- keys: K[]
9
- ) => OperatorFunction<R, Pick<R, K>>
1
+ import { OperatorFunction } from "rxjs";
2
+ export declare const mapKeysTo: <R extends {
3
+ [key: string]: any;
4
+ }, K extends keyof R>(keys: K[]) => OperatorFunction<R, Pick<R, K>>;