@prose-reader/core 1.23.0 → 1.25.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 (74) hide show
  1. package/dist/cfi.d.ts +101 -71
  2. package/dist/constants.d.ts +6 -6
  3. package/dist/context.d.ts +38 -43
  4. package/dist/createReaderWithEnhancer.d.ts +6297 -5286
  5. package/dist/enhancers/accessibility.d.ts +5685 -4785
  6. package/dist/enhancers/chrome.d.ts +5685 -4785
  7. package/dist/enhancers/fonts.d.ts +5699 -4798
  8. package/dist/enhancers/hotkeys.d.ts +5685 -4785
  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 +5696 -4792
  12. package/dist/enhancers/layoutEnhancer/types.d.ts +6 -6
  13. package/dist/enhancers/links.d.ts +5694 -4794
  14. package/dist/enhancers/loadingEnhancer.d.ts +5707 -4810
  15. package/dist/enhancers/media.d.ts +5685 -4785
  16. package/dist/enhancers/navigation.d.ts +5688 -4788
  17. package/dist/enhancers/pagination.d.ts +6133 -5165
  18. package/dist/enhancers/progression.d.ts +5709 -4798
  19. package/dist/enhancers/resources/index.d.ts +5685 -4785
  20. package/dist/enhancers/resources/indexedDB.d.ts +5 -5
  21. package/dist/enhancers/resources/resourcesManager.d.ts +8 -5
  22. package/dist/enhancers/theme.d.ts +5717 -4811
  23. package/dist/enhancers/types/enhancer.d.ts +5689 -4789
  24. package/dist/enhancers/utils.d.ts +5689 -4789
  25. package/dist/enhancers/webkit.d.ts +5685 -4785
  26. package/dist/enhancers/zoom/elementZoomer.d.ts +25 -17
  27. package/dist/enhancers/zoom/index.d.ts +5686 -4786
  28. package/dist/enhancers/zoom/types.d.ts +26 -21
  29. package/dist/enhancers/zoom/viewportZoomer.d.ts +22 -17
  30. package/dist/frames.d.ts +7 -5
  31. package/dist/index.d.ts +8 -8
  32. package/dist/pagination.d.ts +73 -64
  33. package/dist/prose.js +5274 -4853
  34. package/dist/prose.umd.cjs +5429 -4969
  35. package/dist/reader.d.ts +5692 -4791
  36. package/dist/report.d.ts +49 -25
  37. package/dist/selection.d.ts +9 -6
  38. package/dist/settings.d.ts +38 -36
  39. package/dist/spine/cfiLocator.d.ts +438 -359
  40. package/dist/spine/createSpine.d.ts +43 -29
  41. package/dist/spine/eventsHelper.d.ts +13 -10
  42. package/dist/spine/locationResolver.d.ts +820 -682
  43. package/dist/spine/navigationResolver.d.ts +51 -42
  44. package/dist/spine/types.d.ts +8 -8
  45. package/dist/spineItem/commonSpineItem.d.ts +205 -169
  46. package/dist/spineItem/createSpineItem.d.ts +213 -178
  47. package/dist/spineItem/frameItem/createFrame$.d.ts +3 -1
  48. package/dist/spineItem/frameItem/createFrameManipulator.d.ts +4 -4
  49. package/dist/spineItem/frameItem/createHtmlPageFromResource.d.ts +5 -2
  50. package/dist/spineItem/frameItem/frameItem.d.ts +54 -45
  51. package/dist/spineItem/frameItem/loader.d.ts +33 -26
  52. package/dist/spineItem/locationResolver.d.ts +35 -23
  53. package/dist/spineItem/navigationResolver.d.ts +11 -13
  54. package/dist/spineItem/prePaginatedSpineItem.d.ts +212 -177
  55. package/dist/spineItem/reflowableSpineItem.d.ts +204 -176
  56. package/dist/spineItem/styles/getStyleForViewportDocument.d.ts +1 -1
  57. package/dist/spineItem/trackers.d.ts +40 -31
  58. package/dist/spineItem/types.d.ts +12 -15
  59. package/dist/spineItemManager.d.ts +618 -532
  60. package/dist/types/Hook.d.ts +113 -69
  61. package/dist/types/Spine.d.ts +41 -37
  62. package/dist/types/index.d.ts +8 -8
  63. package/dist/utils/dom.d.ts +30 -18
  64. package/dist/utils/layout.d.ts +12 -7
  65. package/dist/utils/manifest.d.ts +2 -2
  66. package/dist/utils/objects.d.ts +12 -6
  67. package/dist/utils/rxjs.d.ts +9 -4
  68. package/dist/viewportNavigator/manualViewportNavigator.d.ts +1624 -1367
  69. package/dist/viewportNavigator/panViewportNavigator.d.ts +271 -214
  70. package/dist/viewportNavigator/scrollViewportNavigator.d.ts +37 -34
  71. package/dist/viewportNavigator/types.d.ts +36 -31
  72. package/dist/viewportNavigator/viewportNavigator.d.ts +100 -70
  73. package/package.json +3 -3
  74. package/dist/enhancers/cssFix.d.ts +0 -6639
@@ -1,73 +1,117 @@
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 = ItemOnLoadHook | {
13
- name: `item.onBeforeContainerCreated`;
14
- fn: (payload: HTMLElement) => HTMLElement;
15
- } | {
16
- name: `item.onLayoutBeforeMeasurement`;
17
- 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 =
13
+ | ItemOnLoadHook
14
+ | {
15
+ name: `item.onBeforeContainerCreated`
16
+ fn: (payload: HTMLElement) => HTMLElement
17
+ }
18
+ | {
19
+ name: `item.onLayoutBeforeMeasurement`
20
+ fn: (payload: {
18
21
  frame: {
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
- };
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
+ }
55
69
  export interface RegisterHook {
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;
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
72
116
  }
73
- export {};
117
+ export {}
@@ -1,39 +1,43 @@
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: (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 {};
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 {}
@@ -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,19 +1,31 @@
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: ((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 {};
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 {}
@@ -1,7 +1,12 @@
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
+ 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,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,6 +1,12 @@
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
+ 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,4 +1,9 @@
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>>;
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>>