@prose-reader/core 1.21.0 → 1.23.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 (35) hide show
  1. package/dist/context.d.ts +6 -1
  2. package/dist/createReaderWithEnhancer.d.ts +233 -805
  3. package/dist/enhancers/accessibility.d.ts +231 -805
  4. package/dist/enhancers/chrome.d.ts +231 -805
  5. package/dist/enhancers/cssFix.d.ts +6639 -0
  6. package/dist/enhancers/fonts.d.ts +233 -807
  7. package/dist/enhancers/hotkeys.d.ts +231 -805
  8. package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +231 -805
  9. package/dist/enhancers/links.d.ts +231 -805
  10. package/dist/enhancers/loadingEnhancer.d.ts +231 -805
  11. package/dist/enhancers/media.d.ts +231 -805
  12. package/dist/enhancers/navigation.d.ts +231 -805
  13. package/dist/enhancers/pagination.d.ts +233 -805
  14. package/dist/enhancers/progression.d.ts +231 -805
  15. package/dist/enhancers/resources/index.d.ts +231 -805
  16. package/dist/enhancers/theme.d.ts +231 -805
  17. package/dist/enhancers/types/enhancer.d.ts +231 -805
  18. package/dist/enhancers/utils.d.ts +231 -805
  19. package/dist/enhancers/webkit.d.ts +231 -805
  20. package/dist/enhancers/zoom/index.d.ts +231 -805
  21. package/dist/prose.js +300 -278
  22. package/dist/prose.js.map +1 -1
  23. package/dist/prose.umd.cjs +299 -277
  24. package/dist/prose.umd.cjs.map +1 -1
  25. package/dist/reader.d.ts +231 -805
  26. package/dist/spine/locationResolver.d.ts +7 -17
  27. package/dist/spine/navigationResolver.d.ts +5 -8
  28. package/dist/spine/types.d.ts +10 -0
  29. package/dist/spineItem/locationResolver.d.ts +3 -7
  30. package/dist/spineItem/navigationResolver.d.ts +7 -17
  31. package/dist/spineItem/types.d.ts +19 -0
  32. package/dist/spineItemManager.d.ts +6 -519
  33. package/dist/types/Hook.d.ts +6 -6
  34. package/dist/types/Spine.d.ts +1 -5
  35. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { Observable, ObservedValueOf } from "rxjs";
1
+ import { Observable, ObservedValueOf, Subject } from "rxjs";
2
2
  declare const FONT_WEIGHT: readonly [100, 200, 300, 400, 500, 600, 700, 800, 900];
3
3
  declare const FONT_JUSTIFICATION: readonly ["center", "left", "right", "justify"];
4
4
  type Options = {
@@ -476,7 +476,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
476
476
  isReady$: Observable<boolean>;
477
477
  };
478
478
  }[];
479
- getAbsolutePositionOf: ((spineItemOrIndex: number | {
479
+ getAbsolutePositionOf: (spineItemOrIndex: number | {
480
480
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
481
481
  blankPagePosition: "after" | "before" | "none";
482
482
  minimumWidth: number;
@@ -645,188 +645,13 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
645
645
  isReady$: Observable<boolean>;
646
646
  };
647
647
  }) => {
648
- leftStart: number;
649
- leftEnd: number;
650
- topStart: number;
651
- topEnd: number;
648
+ left: number;
649
+ right: number;
650
+ top: number;
651
+ bottom: number;
652
652
  width: number;
653
653
  height: number;
654
- }) | ((spineItemOrIndex: number | {
655
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
656
- blankPagePosition: "after" | "before" | "none";
657
- minimumWidth: number;
658
- spreadPosition: "none" | "right" | "left";
659
- }) => {
660
- width: number;
661
- height: number;
662
- };
663
- item: {
664
- id: string;
665
- href: string;
666
- renditionLayout: "reflowable" | "pre-paginated";
667
- progressionWeight: number;
668
- pageSpreadLeft: true | undefined;
669
- pageSpreadRight: true | undefined;
670
- mediaType?: string | undefined;
671
- };
672
- load: () => void;
673
- adjustPositionOfElement: ({ right, left, top }: {
674
- right?: number | undefined;
675
- left?: number | undefined;
676
- top?: number | undefined;
677
- }) => void;
678
- getElementDimensions: () => {
679
- width: number;
680
- height: number;
681
- };
682
- getHtmlFromResource: (response: Response) => Promise<string>;
683
- getResource: () => Promise<Response>;
684
- translateFramePositionIntoPage: (position: {
685
- clientX: number;
686
- clientY: number;
687
- }) => {
688
- clientX: number;
689
- clientY: number;
690
- };
691
- setLayoutDirty: () => void;
692
- injectStyle: (cssText: string) => void;
693
- loadContent: () => void;
694
- unloadContent: () => void;
695
- spineItemFrame: {
696
- getIsLoaded: () => boolean;
697
- getIsReady: () => boolean;
698
- getViewportDimensions: () => {
699
- width: number;
700
- height: number;
701
- } | undefined;
702
- getFrameElement: () => HTMLIFrameElement | undefined;
703
- getHtmlFromResource: (response: Response) => Promise<string>;
704
- load: () => void;
705
- unload: () => void;
706
- staticLayout: (size: {
707
- width: number;
708
- height: number;
709
- }) => void;
710
- getManipulableFrame: () => {
711
- frame: HTMLIFrameElement;
712
- removeStyle: (id: string) => void;
713
- addStyle: (id: string, style: string, prepend?: boolean) => void;
714
- } | undefined;
715
- getReadingDirection: () => "ltr" | "rtl" | undefined;
716
- isUsingVerticalWriting: () => boolean;
717
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
718
- destroy: () => void;
719
- $: {
720
- unload$: Observable<void>;
721
- unloaded$: Observable<void>;
722
- loaded$: Observable<HTMLIFrameElement>;
723
- ready$: Observable<FontFaceSet | undefined>;
724
- isReady$: Observable<boolean>;
725
- contentLayoutChange$: Observable<{
726
- isFirstLayout: boolean;
727
- } | {
728
- isFirstLayout: boolean;
729
- }>;
730
- };
731
- };
732
- element: HTMLElement;
733
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
734
- getViewPortInformation: () => {
735
- computedScale: number;
736
- computedWidthScale: number;
737
- viewportDimensions: {
738
- width: number;
739
- height: number;
740
- };
741
- } | undefined;
742
- isImageType: () => boolean;
743
- isReady: () => boolean;
744
- destroy: () => void;
745
- isUsingVerticalWriting: () => boolean | undefined;
746
- getReadingDirection: () => "ltr" | "rtl" | undefined;
747
- manipulateSpineItem: (cb: (options: {
748
- container: HTMLElement;
749
- item: {
750
- id: string;
751
- href: string;
752
- renditionLayout: "reflowable" | "pre-paginated";
753
- progressionWeight: number;
754
- pageSpreadLeft: true | undefined;
755
- pageSpreadRight: true | undefined;
756
- mediaType?: string | undefined;
757
- };
758
- overlayElement: HTMLDivElement;
759
- } & ({
760
- frame: HTMLIFrameElement;
761
- removeStyle: (id: string) => void;
762
- addStyle: (id: string, style: string, prepend?: boolean) => void;
763
- } | {
764
- frame: undefined;
765
- removeStyle: (id: string) => void;
766
- addStyle: (id: string, style: string) => void;
767
- })) => boolean) => boolean;
768
- executeOnLayoutBeforeMeasurementHook: (options: {
769
- minimumWidth: number;
770
- }) => void;
771
- selectionTracker: {
772
- track: (frameToTrack: HTMLIFrameElement) => void;
773
- destroy: () => void;
774
- isSelecting: () => boolean;
775
- getSelection: () => Selection | undefined;
776
- $: Observable<{
777
- event: "selectionchange";
778
- data: Selection | null;
779
- } | {
780
- event: "selectstart";
781
- data: Selection | null;
782
- } | {
783
- event: "selectend";
784
- data: Selection | null;
785
- }>;
786
- };
787
- fingerTracker: {
788
- track: (frame: HTMLIFrameElement) => void;
789
- getFingerPositionInIframe(): {
790
- x: number | undefined;
791
- y: number | undefined;
792
- } | undefined;
793
- destroy: () => void;
794
- $: Observable<{
795
- event: "fingermove";
796
- data: {
797
- x: number;
798
- y: number;
799
- };
800
- } | {
801
- event: "fingerout";
802
- data: undefined;
803
- }>;
804
- };
805
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
806
- columnHeight: number;
807
- columnWidth: number;
808
- width: number;
809
- };
810
- getDimensionsForPaginatedContent: () => {
811
- columnHeight: number;
812
- columnWidth: number;
813
- };
814
- $: {
815
- contentLayout$: Observable<{
816
- isFirstLayout: boolean;
817
- isReady: boolean;
818
- }>;
819
- loaded$: Observable<HTMLIFrameElement>;
820
- isReady$: Observable<boolean>;
821
- };
822
- }) => {
823
- leftStart: number;
824
- leftEnd: number;
825
- topStart: number;
826
- topEnd: number;
827
- width: number;
828
- height: number;
829
- });
654
+ };
830
655
  getSelection: () => Selection | undefined;
831
656
  isSelecting: () => boolean | undefined;
832
657
  normalizeEventForViewport: <E extends MouseEvent | TouchEvent | PointerEvent>(event: E) => E;
@@ -860,11 +685,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
860
685
  end: string;
861
686
  };
862
687
  locator: {
863
- getSpinePositionFromSpineItemPosition: (spineItemPosition: {
864
- x: number;
865
- y: number;
866
- outsideOfBoundaries?: boolean | undefined;
867
- }, spineItem: {
688
+ getSpinePositionFromSpineItemPosition: (spineItemPosition: import("../spineItem/types").SpineItemPosition | import("../spineItem/types").SpineItemNavigationPosition, spineItem: {
868
689
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
869
690
  blankPagePosition: "after" | "before" | "none";
870
691
  minimumWidth: number;
@@ -1032,10 +853,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
1032
853
  loaded$: Observable<HTMLIFrameElement>;
1033
854
  isReady$: Observable<boolean>;
1034
855
  };
1035
- }) => {
1036
- x: number;
1037
- y: number;
1038
- };
856
+ }) => import("../spine/types").SpinePosition;
1039
857
  getSpinePositionFromSpineItem: (spineItem: {
1040
858
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1041
859
  blankPagePosition: "after" | "before" | "none";
@@ -1204,10 +1022,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
1204
1022
  loaded$: Observable<HTMLIFrameElement>;
1205
1023
  isReady$: Observable<boolean>;
1206
1024
  };
1207
- }) => {
1208
- x: number;
1209
- y: number;
1210
- };
1025
+ }) => import("../spine/types").SpinePosition;
1211
1026
  getSpinePositionFromSpineItemAnchor: (anchor: string, spineItem: {
1212
1027
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1213
1028
  blankPagePosition: "after" | "before" | "none";
@@ -1376,14 +1191,8 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
1376
1191
  loaded$: Observable<HTMLIFrameElement>;
1377
1192
  isReady$: Observable<boolean>;
1378
1193
  };
1379
- }) => {
1380
- x: number;
1381
- y: number;
1382
- };
1383
- getSpineItemPositionFromSpinePosition: ((position: {
1384
- x: number;
1385
- y: number;
1386
- }, spineItem: {
1194
+ }) => import("../spine/types").SpinePosition;
1195
+ getSpineItemPositionFromSpinePosition: ((position: import("../spine/types").UnsafeSpinePosition, spineItem: {
1387
1196
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1388
1197
  blankPagePosition: "after" | "before" | "none";
1389
1198
  minimumWidth: number;
@@ -1551,14 +1360,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
1551
1360
  loaded$: Observable<HTMLIFrameElement>;
1552
1361
  isReady$: Observable<boolean>;
1553
1362
  };
1554
- }) => {
1555
- x: number;
1556
- y: number;
1557
- outsideOfBoundaries?: boolean | undefined;
1558
- }) | ((position: {
1559
- x: number;
1560
- y: number;
1561
- }, spineItem: {
1363
+ }) => import("../spineItem/types").UnsafeSpineItemPosition) | ((position: import("../spine/types").UnsafeSpinePosition, spineItem: {
1562
1364
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1563
1365
  blankPagePosition: "after" | "before" | "none";
1564
1366
  minimumWidth: number;
@@ -1726,15 +1528,8 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
1726
1528
  loaded$: Observable<HTMLIFrameElement>;
1727
1529
  isReady$: Observable<boolean>;
1728
1530
  };
1729
- }) => {
1730
- x: number;
1731
- y: number;
1732
- outsideOfBoundaries?: boolean | undefined;
1733
- });
1734
- getSpineItemFromPosition: ((position: {
1735
- x: number;
1736
- y: number;
1737
- }) => {
1531
+ }) => import("../spineItem/types").UnsafeSpineItemPosition);
1532
+ getSpineItemFromPosition: ((position: import("../spine/types").UnsafeSpinePosition) => {
1738
1533
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1739
1534
  blankPagePosition: "after" | "before" | "none";
1740
1535
  minimumWidth: number;
@@ -1902,10 +1697,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
1902
1697
  loaded$: Observable<HTMLIFrameElement>;
1903
1698
  isReady$: Observable<boolean>;
1904
1699
  };
1905
- } | undefined) | ((position: {
1906
- x: number;
1907
- y: number;
1908
- }) => {
1700
+ } | undefined) | ((position: import("../spine/types").UnsafeSpinePosition) => {
1909
1701
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
1910
1702
  blankPagePosition: "after" | "before" | "none";
1911
1703
  minimumWidth: number;
@@ -2412,22 +2204,11 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
2412
2204
  isReady$: Observable<boolean>;
2413
2205
  };
2414
2206
  }) => number | undefined;
2415
- getSpineItemsFromReadingOrderPosition: (position: {
2416
- x: number;
2417
- y: number;
2418
- }) => {
2419
- left: number;
2420
- right: number;
2207
+ getSpineItemsFromReadingOrderPosition: (position: import("../spine/types").SpinePosition) => {
2421
2208
  begin: number;
2422
- beginPosition: {
2423
- x: number;
2424
- y: number;
2425
- };
2209
+ beginPosition: import("../spine/types").SpinePosition;
2426
2210
  end: number;
2427
- endPosition: {
2428
- x: number;
2429
- y: number;
2430
- };
2211
+ endPosition: import("../spine/types").SpinePosition;
2431
2212
  } | undefined;
2432
2213
  };
2433
2214
  getCurrentNavigationPosition: () => import("../spine/navigationResolver").ViewportNavigationEntry;
@@ -2459,57 +2240,214 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
2459
2240
  endCfi: string | undefined;
2460
2241
  endSpineItemIndex: number | undefined;
2461
2242
  }>;
2462
- $: {
2463
- state$: Observable<{
2464
- supportedPageTurnAnimation: NonNullable<"none" | "fade" | "slide" | undefined>[];
2465
- supportedPageTurnMode: NonNullable<"controlled" | "scrollable" | undefined>[];
2466
- supportedPageTurnDirection: NonNullable<"vertical" | "horizontal" | undefined>[];
2467
- supportedComputedPageTurnDirection: NonNullable<"vertical" | "horizontal" | undefined>[];
2468
- }>;
2469
- ready$: Observable<void>;
2470
- selection$: Observable<{
2471
- toString: () => string;
2472
- getAnchorCfi: () => string | undefined;
2473
- getFocusCfi: () => string | undefined;
2474
- } | null>;
2475
- viewportState$: Observable<"free" | "busy">;
2476
- layout$: Observable<boolean>;
2477
- itemsCreated$: Observable<{
2478
- item: {
2479
- id: string;
2480
- href: string;
2481
- renditionLayout: "reflowable" | "pre-paginated";
2482
- progressionWeight: number;
2483
- pageSpreadLeft: true | undefined;
2484
- pageSpreadRight: true | undefined;
2485
- mediaType?: string | undefined;
2486
- };
2487
- element: HTMLElement;
2488
- }[]>;
2489
- itemsBeforeDestroy$: Observable<void>;
2490
- itemIsReady$: Observable<{
2491
- item: {
2492
- id: string;
2493
- href: string;
2494
- renditionLayout: "reflowable" | "pre-paginated";
2495
- progressionWeight: number;
2496
- pageSpreadLeft: true | undefined;
2497
- pageSpreadRight: true | undefined;
2498
- mediaType?: string | undefined;
2499
- };
2500
- isReady: boolean;
2501
- }>;
2502
- destroy$: import("rxjs").Subject<void>;
2503
- };
2504
- __debug: {
2505
- pagination: {
2506
- destroy: () => void;
2507
- updateBeginAndEnd: ((begin: {
2508
- spineItem: {
2509
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2510
- blankPagePosition: "after" | "before" | "none";
2511
- minimumWidth: number;
2512
- spreadPosition: "none" | "right" | "left";
2243
+ spineItems$: Observable<{
2244
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2245
+ blankPagePosition: "after" | "before" | "none";
2246
+ minimumWidth: number;
2247
+ spreadPosition: "none" | "right" | "left";
2248
+ }) => {
2249
+ width: number;
2250
+ height: number;
2251
+ };
2252
+ item: {
2253
+ id: string;
2254
+ href: string;
2255
+ renditionLayout: "reflowable" | "pre-paginated";
2256
+ progressionWeight: number;
2257
+ pageSpreadLeft: true | undefined;
2258
+ pageSpreadRight: true | undefined;
2259
+ mediaType?: string | undefined;
2260
+ };
2261
+ load: () => void;
2262
+ adjustPositionOfElement: ({ right, left, top }: {
2263
+ right?: number | undefined;
2264
+ left?: number | undefined;
2265
+ top?: number | undefined;
2266
+ }) => void;
2267
+ getElementDimensions: () => {
2268
+ width: number;
2269
+ height: number;
2270
+ };
2271
+ getHtmlFromResource: (response: Response) => Promise<string>;
2272
+ getResource: () => Promise<Response>;
2273
+ translateFramePositionIntoPage: (position: {
2274
+ clientX: number;
2275
+ clientY: number;
2276
+ }) => {
2277
+ clientX: number;
2278
+ clientY: number;
2279
+ };
2280
+ setLayoutDirty: () => void;
2281
+ injectStyle: (cssText: string) => void;
2282
+ loadContent: () => void;
2283
+ unloadContent: () => void;
2284
+ spineItemFrame: {
2285
+ getIsLoaded: () => boolean;
2286
+ getIsReady: () => boolean;
2287
+ getViewportDimensions: () => {
2288
+ width: number;
2289
+ height: number;
2290
+ } | undefined;
2291
+ getFrameElement: () => HTMLIFrameElement | undefined;
2292
+ getHtmlFromResource: (response: Response) => Promise<string>;
2293
+ load: () => void;
2294
+ unload: () => void;
2295
+ staticLayout: (size: {
2296
+ width: number;
2297
+ height: number;
2298
+ }) => void;
2299
+ getManipulableFrame: () => {
2300
+ frame: HTMLIFrameElement;
2301
+ removeStyle: (id: string) => void;
2302
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
2303
+ } | undefined;
2304
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
2305
+ isUsingVerticalWriting: () => boolean;
2306
+ getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
2307
+ destroy: () => void;
2308
+ $: {
2309
+ unload$: Observable<void>;
2310
+ unloaded$: Observable<void>;
2311
+ loaded$: Observable<HTMLIFrameElement>;
2312
+ ready$: Observable<FontFaceSet | undefined>;
2313
+ isReady$: Observable<boolean>;
2314
+ contentLayoutChange$: Observable<{
2315
+ isFirstLayout: boolean;
2316
+ } | {
2317
+ isFirstLayout: boolean;
2318
+ }>;
2319
+ };
2320
+ };
2321
+ element: HTMLElement;
2322
+ getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
2323
+ getViewPortInformation: () => {
2324
+ computedScale: number;
2325
+ computedWidthScale: number;
2326
+ viewportDimensions: {
2327
+ width: number;
2328
+ height: number;
2329
+ };
2330
+ } | undefined;
2331
+ isImageType: () => boolean;
2332
+ isReady: () => boolean;
2333
+ destroy: () => void;
2334
+ isUsingVerticalWriting: () => boolean | undefined;
2335
+ getReadingDirection: () => "ltr" | "rtl" | undefined;
2336
+ manipulateSpineItem: (cb: (options: {
2337
+ container: HTMLElement;
2338
+ item: {
2339
+ id: string;
2340
+ href: string;
2341
+ renditionLayout: "reflowable" | "pre-paginated";
2342
+ progressionWeight: number;
2343
+ pageSpreadLeft: true | undefined;
2344
+ pageSpreadRight: true | undefined;
2345
+ mediaType?: string | undefined;
2346
+ };
2347
+ overlayElement: HTMLDivElement;
2348
+ } & ({
2349
+ frame: HTMLIFrameElement;
2350
+ removeStyle: (id: string) => void;
2351
+ addStyle: (id: string, style: string, prepend?: boolean) => void;
2352
+ } | {
2353
+ frame: undefined;
2354
+ removeStyle: (id: string) => void;
2355
+ addStyle: (id: string, style: string) => void;
2356
+ })) => boolean) => boolean;
2357
+ executeOnLayoutBeforeMeasurementHook: (options: {
2358
+ minimumWidth: number;
2359
+ }) => void;
2360
+ selectionTracker: {
2361
+ track: (frameToTrack: HTMLIFrameElement) => void;
2362
+ destroy: () => void;
2363
+ isSelecting: () => boolean;
2364
+ getSelection: () => Selection | undefined;
2365
+ $: Observable<{
2366
+ event: "selectionchange";
2367
+ data: Selection | null;
2368
+ } | {
2369
+ event: "selectstart";
2370
+ data: Selection | null;
2371
+ } | {
2372
+ event: "selectend";
2373
+ data: Selection | null;
2374
+ }>;
2375
+ };
2376
+ fingerTracker: {
2377
+ track: (frame: HTMLIFrameElement) => void;
2378
+ getFingerPositionInIframe(): {
2379
+ x: number | undefined;
2380
+ y: number | undefined;
2381
+ } | undefined;
2382
+ destroy: () => void;
2383
+ $: Observable<{
2384
+ event: "fingermove";
2385
+ data: {
2386
+ x: number;
2387
+ y: number;
2388
+ };
2389
+ } | {
2390
+ event: "fingerout";
2391
+ data: undefined;
2392
+ }>;
2393
+ };
2394
+ getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
2395
+ columnHeight: number;
2396
+ columnWidth: number;
2397
+ width: number;
2398
+ };
2399
+ getDimensionsForPaginatedContent: () => {
2400
+ columnHeight: number;
2401
+ columnWidth: number;
2402
+ };
2403
+ $: {
2404
+ contentLayout$: Observable<{
2405
+ isFirstLayout: boolean;
2406
+ isReady: boolean;
2407
+ }>;
2408
+ loaded$: Observable<HTMLIFrameElement>;
2409
+ isReady$: Observable<boolean>;
2410
+ };
2411
+ }[]>;
2412
+ $: {
2413
+ state$: Observable<{
2414
+ supportedPageTurnAnimation: NonNullable<"none" | "fade" | "slide" | undefined>[];
2415
+ supportedPageTurnMode: NonNullable<"controlled" | "scrollable" | undefined>[];
2416
+ supportedPageTurnDirection: NonNullable<"vertical" | "horizontal" | undefined>[];
2417
+ supportedComputedPageTurnDirection: NonNullable<"vertical" | "horizontal" | undefined>[];
2418
+ }>;
2419
+ ready$: Observable<void>;
2420
+ selection$: Observable<{
2421
+ toString: () => string;
2422
+ getAnchorCfi: () => string | undefined;
2423
+ getFocusCfi: () => string | undefined;
2424
+ } | null>;
2425
+ viewportState$: Observable<"free" | "busy">;
2426
+ layout$: Observable<boolean>;
2427
+ itemsBeforeDestroy$: Observable<void>;
2428
+ itemIsReady$: Observable<{
2429
+ item: {
2430
+ id: string;
2431
+ href: string;
2432
+ renditionLayout: "reflowable" | "pre-paginated";
2433
+ progressionWeight: number;
2434
+ pageSpreadLeft: true | undefined;
2435
+ pageSpreadRight: true | undefined;
2436
+ mediaType?: string | undefined;
2437
+ };
2438
+ isReady: boolean;
2439
+ }>;
2440
+ destroy$: Subject<void>;
2441
+ };
2442
+ __debug: {
2443
+ pagination: {
2444
+ destroy: () => void;
2445
+ updateBeginAndEnd: ((begin: {
2446
+ spineItem: {
2447
+ layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
2448
+ blankPagePosition: "after" | "before" | "none";
2449
+ minimumWidth: number;
2450
+ spreadPosition: "none" | "right" | "left";
2513
2451
  }) => {
2514
2452
  width: number;
2515
2453
  height: number;
@@ -4255,7 +4193,7 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
4255
4193
  isReady$: Observable<boolean>;
4256
4194
  };
4257
4195
  }) => "after" | "before";
4258
- getAbsolutePositionOf: ((spineItemOrIndex: number | {
4196
+ getAbsolutePositionOf: (spineItemOrIndex: number | {
4259
4197
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
4260
4198
  blankPagePosition: "after" | "before" | "none";
4261
4199
  minimumWidth: number;
@@ -4424,525 +4362,13 @@ export declare const fontsEnhancer: <InheritOptions extends import("../reader").
4424
4362
  isReady$: Observable<boolean>;
4425
4363
  };
4426
4364
  }) => {
4427
- leftStart: number;
4428
- leftEnd: number;
4429
- topStart: number;
4430
- topEnd: number;
4365
+ left: number;
4366
+ right: number;
4367
+ top: number;
4368
+ bottom: number;
4431
4369
  width: number;
4432
4370
  height: number;
4433
- }) | ((spineItemOrIndex: number | {
4434
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
4435
- blankPagePosition: "after" | "before" | "none";
4436
- minimumWidth: number;
4437
- spreadPosition: "none" | "right" | "left";
4438
- }) => {
4439
- width: number;
4440
- height: number;
4441
- };
4442
- item: {
4443
- id: string;
4444
- href: string;
4445
- renditionLayout: "reflowable" | "pre-paginated";
4446
- progressionWeight: number;
4447
- pageSpreadLeft: true | undefined;
4448
- pageSpreadRight: true | undefined;
4449
- mediaType?: string | undefined;
4450
- };
4451
- load: () => void;
4452
- adjustPositionOfElement: ({ right, left, top }: {
4453
- right?: number | undefined;
4454
- left?: number | undefined;
4455
- top?: number | undefined;
4456
- }) => void;
4457
- getElementDimensions: () => {
4458
- width: number;
4459
- height: number;
4460
- };
4461
- getHtmlFromResource: (response: Response) => Promise<string>;
4462
- getResource: () => Promise<Response>;
4463
- translateFramePositionIntoPage: (position: {
4464
- clientX: number;
4465
- clientY: number;
4466
- }) => {
4467
- clientX: number;
4468
- clientY: number;
4469
- };
4470
- setLayoutDirty: () => void;
4471
- injectStyle: (cssText: string) => void;
4472
- loadContent: () => void;
4473
- unloadContent: () => void;
4474
- spineItemFrame: {
4475
- getIsLoaded: () => boolean;
4476
- getIsReady: () => boolean;
4477
- getViewportDimensions: () => {
4478
- width: number;
4479
- height: number;
4480
- } | undefined;
4481
- getFrameElement: () => HTMLIFrameElement | undefined;
4482
- getHtmlFromResource: (response: Response) => Promise<string>;
4483
- load: () => void;
4484
- unload: () => void;
4485
- staticLayout: (size: {
4486
- width: number;
4487
- height: number;
4488
- }) => void;
4489
- getManipulableFrame: () => {
4490
- frame: HTMLIFrameElement;
4491
- removeStyle: (id: string) => void;
4492
- addStyle: (id: string, style: string, prepend?: boolean) => void;
4493
- } | undefined;
4494
- getReadingDirection: () => "ltr" | "rtl" | undefined;
4495
- isUsingVerticalWriting: () => boolean;
4496
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
4497
- destroy: () => void;
4498
- $: {
4499
- unload$: Observable<void>;
4500
- unloaded$: Observable<void>;
4501
- loaded$: Observable<HTMLIFrameElement>;
4502
- ready$: Observable<FontFaceSet | undefined>;
4503
- isReady$: Observable<boolean>;
4504
- contentLayoutChange$: Observable<{
4505
- isFirstLayout: boolean;
4506
- } | {
4507
- isFirstLayout: boolean;
4508
- }>;
4509
- };
4510
- };
4511
- element: HTMLElement;
4512
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
4513
- getViewPortInformation: () => {
4514
- computedScale: number;
4515
- computedWidthScale: number;
4516
- viewportDimensions: {
4517
- width: number;
4518
- height: number;
4519
- };
4520
- } | undefined;
4521
- isImageType: () => boolean;
4522
- isReady: () => boolean;
4523
- destroy: () => void;
4524
- isUsingVerticalWriting: () => boolean | undefined;
4525
- getReadingDirection: () => "ltr" | "rtl" | undefined;
4526
- manipulateSpineItem: (cb: (options: {
4527
- container: HTMLElement;
4528
- item: {
4529
- id: string;
4530
- href: string;
4531
- renditionLayout: "reflowable" | "pre-paginated";
4532
- progressionWeight: number;
4533
- pageSpreadLeft: true | undefined;
4534
- pageSpreadRight: true | undefined;
4535
- mediaType?: string | undefined;
4536
- };
4537
- overlayElement: HTMLDivElement;
4538
- } & ({
4539
- frame: HTMLIFrameElement;
4540
- removeStyle: (id: string) => void;
4541
- addStyle: (id: string, style: string, prepend?: boolean) => void;
4542
- } | {
4543
- frame: undefined;
4544
- removeStyle: (id: string) => void;
4545
- addStyle: (id: string, style: string) => void;
4546
- })) => boolean) => boolean;
4547
- executeOnLayoutBeforeMeasurementHook: (options: {
4548
- minimumWidth: number;
4549
- }) => void;
4550
- selectionTracker: {
4551
- track: (frameToTrack: HTMLIFrameElement) => void;
4552
- destroy: () => void;
4553
- isSelecting: () => boolean;
4554
- getSelection: () => Selection | undefined;
4555
- $: Observable<{
4556
- event: "selectionchange";
4557
- data: Selection | null;
4558
- } | {
4559
- event: "selectstart";
4560
- data: Selection | null;
4561
- } | {
4562
- event: "selectend";
4563
- data: Selection | null;
4564
- }>;
4565
- };
4566
- fingerTracker: {
4567
- track: (frame: HTMLIFrameElement) => void;
4568
- getFingerPositionInIframe(): {
4569
- x: number | undefined;
4570
- y: number | undefined;
4571
- } | undefined;
4572
- destroy: () => void;
4573
- $: Observable<{
4574
- event: "fingermove";
4575
- data: {
4576
- x: number;
4577
- y: number;
4578
- };
4579
- } | {
4580
- event: "fingerout";
4581
- data: undefined;
4582
- }>;
4583
- };
4584
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
4585
- columnHeight: number;
4586
- columnWidth: number;
4587
- width: number;
4588
- };
4589
- getDimensionsForPaginatedContent: () => {
4590
- columnHeight: number;
4591
- columnWidth: number;
4592
- };
4593
- $: {
4594
- contentLayout$: Observable<{
4595
- isFirstLayout: boolean;
4596
- isReady: boolean;
4597
- }>;
4598
- loaded$: Observable<HTMLIFrameElement>;
4599
- isReady$: Observable<boolean>;
4600
- };
4601
- }) => {
4602
- leftStart: number;
4603
- leftEnd: number;
4604
- topStart: number;
4605
- topEnd: number;
4606
- width: number;
4607
- height: number;
4608
- });
4609
- getSpineItemAtPosition: ((position: import("../types").ViewportPosition) => {
4610
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
4611
- blankPagePosition: "after" | "before" | "none";
4612
- minimumWidth: number;
4613
- spreadPosition: "none" | "right" | "left";
4614
- }) => {
4615
- width: number;
4616
- height: number;
4617
- };
4618
- item: {
4619
- id: string;
4620
- href: string;
4621
- renditionLayout: "reflowable" | "pre-paginated";
4622
- progressionWeight: number;
4623
- pageSpreadLeft: true | undefined;
4624
- pageSpreadRight: true | undefined;
4625
- mediaType?: string | undefined;
4626
- };
4627
- load: () => void;
4628
- adjustPositionOfElement: ({ right, left, top }: {
4629
- right?: number | undefined;
4630
- left?: number | undefined;
4631
- top?: number | undefined;
4632
- }) => void;
4633
- getElementDimensions: () => {
4634
- width: number;
4635
- height: number;
4636
- };
4637
- getHtmlFromResource: (response: Response) => Promise<string>;
4638
- getResource: () => Promise<Response>;
4639
- translateFramePositionIntoPage: (position: {
4640
- clientX: number;
4641
- clientY: number;
4642
- }) => {
4643
- clientX: number;
4644
- clientY: number;
4645
- };
4646
- setLayoutDirty: () => void;
4647
- injectStyle: (cssText: string) => void;
4648
- loadContent: () => void;
4649
- unloadContent: () => void;
4650
- spineItemFrame: {
4651
- getIsLoaded: () => boolean;
4652
- getIsReady: () => boolean;
4653
- getViewportDimensions: () => {
4654
- width: number;
4655
- height: number;
4656
- } | undefined;
4657
- getFrameElement: () => HTMLIFrameElement | undefined;
4658
- getHtmlFromResource: (response: Response) => Promise<string>;
4659
- load: () => void;
4660
- unload: () => void;
4661
- staticLayout: (size: {
4662
- width: number;
4663
- height: number;
4664
- }) => void;
4665
- getManipulableFrame: () => {
4666
- frame: HTMLIFrameElement;
4667
- removeStyle: (id: string) => void;
4668
- addStyle: (id: string, style: string, prepend?: boolean) => void;
4669
- } | undefined;
4670
- getReadingDirection: () => "ltr" | "rtl" | undefined;
4671
- isUsingVerticalWriting: () => boolean;
4672
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
4673
- destroy: () => void;
4674
- $: {
4675
- unload$: Observable<void>;
4676
- unloaded$: Observable<void>;
4677
- loaded$: Observable<HTMLIFrameElement>;
4678
- ready$: Observable<FontFaceSet | undefined>;
4679
- isReady$: Observable<boolean>;
4680
- contentLayoutChange$: Observable<{
4681
- isFirstLayout: boolean;
4682
- } | {
4683
- isFirstLayout: boolean;
4684
- }>;
4685
- };
4686
- };
4687
- element: HTMLElement;
4688
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
4689
- getViewPortInformation: () => {
4690
- computedScale: number;
4691
- computedWidthScale: number;
4692
- viewportDimensions: {
4693
- width: number;
4694
- height: number;
4695
- };
4696
- } | undefined;
4697
- isImageType: () => boolean;
4698
- isReady: () => boolean;
4699
- destroy: () => void;
4700
- isUsingVerticalWriting: () => boolean | undefined;
4701
- getReadingDirection: () => "ltr" | "rtl" | undefined;
4702
- manipulateSpineItem: (cb: (options: {
4703
- container: HTMLElement;
4704
- item: {
4705
- id: string;
4706
- href: string;
4707
- renditionLayout: "reflowable" | "pre-paginated";
4708
- progressionWeight: number;
4709
- pageSpreadLeft: true | undefined;
4710
- pageSpreadRight: true | undefined;
4711
- mediaType?: string | undefined;
4712
- };
4713
- overlayElement: HTMLDivElement;
4714
- } & ({
4715
- frame: HTMLIFrameElement;
4716
- removeStyle: (id: string) => void;
4717
- addStyle: (id: string, style: string, prepend?: boolean) => void;
4718
- } | {
4719
- frame: undefined;
4720
- removeStyle: (id: string) => void;
4721
- addStyle: (id: string, style: string) => void;
4722
- })) => boolean) => boolean;
4723
- executeOnLayoutBeforeMeasurementHook: (options: {
4724
- minimumWidth: number;
4725
- }) => void;
4726
- selectionTracker: {
4727
- track: (frameToTrack: HTMLIFrameElement) => void;
4728
- destroy: () => void;
4729
- isSelecting: () => boolean;
4730
- getSelection: () => Selection | undefined;
4731
- $: Observable<{
4732
- event: "selectionchange";
4733
- data: Selection | null;
4734
- } | {
4735
- event: "selectstart";
4736
- data: Selection | null;
4737
- } | {
4738
- event: "selectend";
4739
- data: Selection | null;
4740
- }>;
4741
- };
4742
- fingerTracker: {
4743
- track: (frame: HTMLIFrameElement) => void;
4744
- getFingerPositionInIframe(): {
4745
- x: number | undefined;
4746
- y: number | undefined;
4747
- } | undefined;
4748
- destroy: () => void;
4749
- $: Observable<{
4750
- event: "fingermove";
4751
- data: {
4752
- x: number;
4753
- y: number;
4754
- };
4755
- } | {
4756
- event: "fingerout";
4757
- data: undefined;
4758
- }>;
4759
- };
4760
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
4761
- columnHeight: number;
4762
- columnWidth: number;
4763
- width: number;
4764
- };
4765
- getDimensionsForPaginatedContent: () => {
4766
- columnHeight: number;
4767
- columnWidth: number;
4768
- };
4769
- $: {
4770
- contentLayout$: Observable<{
4771
- isFirstLayout: boolean;
4772
- isReady: boolean;
4773
- }>;
4774
- loaded$: Observable<HTMLIFrameElement>;
4775
- isReady$: Observable<boolean>;
4776
- };
4777
- } | undefined) | ((position: import("../types").ViewportPosition) => {
4778
- layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
4779
- blankPagePosition: "after" | "before" | "none";
4780
- minimumWidth: number;
4781
- spreadPosition: "none" | "right" | "left";
4782
- }) => {
4783
- width: number;
4784
- height: number;
4785
- };
4786
- item: {
4787
- id: string;
4788
- href: string;
4789
- renditionLayout: "reflowable" | "pre-paginated";
4790
- progressionWeight: number;
4791
- pageSpreadLeft: true | undefined;
4792
- pageSpreadRight: true | undefined;
4793
- mediaType?: string | undefined;
4794
- };
4795
- load: () => void;
4796
- adjustPositionOfElement: ({ right, left, top }: {
4797
- right?: number | undefined;
4798
- left?: number | undefined;
4799
- top?: number | undefined;
4800
- }) => void;
4801
- getElementDimensions: () => {
4802
- width: number;
4803
- height: number;
4804
- };
4805
- getHtmlFromResource: (response: Response) => Promise<string>;
4806
- getResource: () => Promise<Response>;
4807
- translateFramePositionIntoPage: (position: {
4808
- clientX: number;
4809
- clientY: number;
4810
- }) => {
4811
- clientX: number;
4812
- clientY: number;
4813
- };
4814
- setLayoutDirty: () => void;
4815
- injectStyle: (cssText: string) => void;
4816
- loadContent: () => void;
4817
- unloadContent: () => void;
4818
- spineItemFrame: {
4819
- getIsLoaded: () => boolean;
4820
- getIsReady: () => boolean;
4821
- getViewportDimensions: () => {
4822
- width: number;
4823
- height: number;
4824
- } | undefined;
4825
- getFrameElement: () => HTMLIFrameElement | undefined;
4826
- getHtmlFromResource: (response: Response) => Promise<string>;
4827
- load: () => void;
4828
- unload: () => void;
4829
- staticLayout: (size: {
4830
- width: number;
4831
- height: number;
4832
- }) => void;
4833
- getManipulableFrame: () => {
4834
- frame: HTMLIFrameElement;
4835
- removeStyle: (id: string) => void;
4836
- addStyle: (id: string, style: string, prepend?: boolean) => void;
4837
- } | undefined;
4838
- getReadingDirection: () => "ltr" | "rtl" | undefined;
4839
- isUsingVerticalWriting: () => boolean;
4840
- getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
4841
- destroy: () => void;
4842
- $: {
4843
- unload$: Observable<void>;
4844
- unloaded$: Observable<void>;
4845
- loaded$: Observable<HTMLIFrameElement>;
4846
- ready$: Observable<FontFaceSet | undefined>;
4847
- isReady$: Observable<boolean>;
4848
- contentLayoutChange$: Observable<{
4849
- isFirstLayout: boolean;
4850
- } | {
4851
- isFirstLayout: boolean;
4852
- }>;
4853
- };
4854
- };
4855
- element: HTMLElement;
4856
- getBoundingRectOfElementFromSelector: (selector: string) => DOMRect | undefined;
4857
- getViewPortInformation: () => {
4858
- computedScale: number;
4859
- computedWidthScale: number;
4860
- viewportDimensions: {
4861
- width: number;
4862
- height: number;
4863
- };
4864
- } | undefined;
4865
- isImageType: () => boolean;
4866
- isReady: () => boolean;
4867
- destroy: () => void;
4868
- isUsingVerticalWriting: () => boolean | undefined;
4869
- getReadingDirection: () => "ltr" | "rtl" | undefined;
4870
- manipulateSpineItem: (cb: (options: {
4871
- container: HTMLElement;
4872
- item: {
4873
- id: string;
4874
- href: string;
4875
- renditionLayout: "reflowable" | "pre-paginated";
4876
- progressionWeight: number;
4877
- pageSpreadLeft: true | undefined;
4878
- pageSpreadRight: true | undefined;
4879
- mediaType?: string | undefined;
4880
- };
4881
- overlayElement: HTMLDivElement;
4882
- } & ({
4883
- frame: HTMLIFrameElement;
4884
- removeStyle: (id: string) => void;
4885
- addStyle: (id: string, style: string, prepend?: boolean) => void;
4886
- } | {
4887
- frame: undefined;
4888
- removeStyle: (id: string) => void;
4889
- addStyle: (id: string, style: string) => void;
4890
- })) => boolean) => boolean;
4891
- executeOnLayoutBeforeMeasurementHook: (options: {
4892
- minimumWidth: number;
4893
- }) => void;
4894
- selectionTracker: {
4895
- track: (frameToTrack: HTMLIFrameElement) => void;
4896
- destroy: () => void;
4897
- isSelecting: () => boolean;
4898
- getSelection: () => Selection | undefined;
4899
- $: Observable<{
4900
- event: "selectionchange";
4901
- data: Selection | null;
4902
- } | {
4903
- event: "selectstart";
4904
- data: Selection | null;
4905
- } | {
4906
- event: "selectend";
4907
- data: Selection | null;
4908
- }>;
4909
- };
4910
- fingerTracker: {
4911
- track: (frame: HTMLIFrameElement) => void;
4912
- getFingerPositionInIframe(): {
4913
- x: number | undefined;
4914
- y: number | undefined;
4915
- } | undefined;
4916
- destroy: () => void;
4917
- $: Observable<{
4918
- event: "fingermove";
4919
- data: {
4920
- x: number;
4921
- y: number;
4922
- };
4923
- } | {
4924
- event: "fingerout";
4925
- data: undefined;
4926
- }>;
4927
- };
4928
- getDimensionsForReflowableContent: (isUsingVerticalWriting: boolean, minimumWidth: number) => {
4929
- columnHeight: number;
4930
- columnWidth: number;
4931
- width: number;
4932
- };
4933
- getDimensionsForPaginatedContent: () => {
4934
- columnHeight: number;
4935
- columnWidth: number;
4936
- };
4937
- $: {
4938
- contentLayout$: Observable<{
4939
- isFirstLayout: boolean;
4940
- isReady: boolean;
4941
- }>;
4942
- loaded$: Observable<HTMLIFrameElement>;
4943
- isReady$: Observable<boolean>;
4944
- };
4945
- } | undefined);
4371
+ };
4946
4372
  getFocusedSpineItem: () => {
4947
4373
  layout: ({ blankPagePosition, minimumWidth, spreadPosition, }: {
4948
4374
  blankPagePosition: "after" | "before" | "none";