@prose-reader/core 1.125.0 → 1.127.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.
- package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +0 -6
- package/dist/index.d.ts +1 -0
- package/dist/index.js +36 -31
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +36 -31
- package/dist/index.umd.cjs.map +1 -1
- package/dist/settings/types.d.ts +2 -4
- package/dist/spineItem/DocumentRenderer.d.ts +18 -3
- package/package.json +3 -3
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import { Manifest } from '@prose-reader/shared';
|
|
2
|
-
import { Context } from '../../../context/Context';
|
|
3
|
-
import { ReaderSettingsManager } from '../../../settings/ReaderSettingsManager';
|
|
4
|
-
import { HookManager } from '../../../hooks/HookManager';
|
|
5
1
|
import { DocumentRenderer } from '../../../spineItem/DocumentRenderer';
|
|
6
|
-
import { ResourceHandler } from '../../../spineItem/ResourceHandler';
|
|
7
2
|
export declare class HtmlRenderer extends DocumentRenderer {
|
|
8
3
|
latestContentHeightWhenLoaded: number | undefined;
|
|
9
|
-
constructor(context: Context, settings: ReaderSettingsManager, hookManager: HookManager, item: Manifest[`spineItems`][number], containerElement: HTMLElement, resourcesHandler: ResourceHandler);
|
|
10
4
|
onCreateDocument(): import('rxjs').Observable<never>;
|
|
11
5
|
onLoadDocument(): import('rxjs').Observable<HTMLIFrameElement>;
|
|
12
6
|
onUnload(): import('rxjs').Observable<never>;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1515,7 +1515,9 @@ const themeEnhancer = (next) => (options) => {
|
|
|
1515
1515
|
};
|
|
1516
1516
|
reader.hookManager.register(`item.onDocumentLoad`, ({ itemId }) => {
|
|
1517
1517
|
const item = reader.spineItemsManager.get(itemId);
|
|
1518
|
-
item == null ? void 0 : item.
|
|
1518
|
+
if ((item == null ? void 0 : item.item.renditionLayout) !== "pre-paginated") {
|
|
1519
|
+
item == null ? void 0 : item.upsertCSS(`prose-reader-theme`, getStyle());
|
|
1520
|
+
}
|
|
1519
1521
|
});
|
|
1520
1522
|
reader.spineItemsManager.items$.pipe(
|
|
1521
1523
|
tap(
|
|
@@ -5168,16 +5170,9 @@ const generateCfiFromRange = ({
|
|
|
5168
5170
|
return { start: startCFI, end: endCFI };
|
|
5169
5171
|
};
|
|
5170
5172
|
class DocumentRenderer {
|
|
5171
|
-
constructor(
|
|
5172
|
-
this.context = context;
|
|
5173
|
-
this.settings = settings;
|
|
5174
|
-
this.hookManager = hookManager;
|
|
5175
|
-
this.item = item;
|
|
5176
|
-
this.containerElement = containerElement;
|
|
5177
|
-
this.resourcesHandler = resourcesHandler;
|
|
5178
|
-
this.stateSubject = new BehaviorSubject(`idle`);
|
|
5173
|
+
constructor(params) {
|
|
5179
5174
|
this.triggerSubject = new Subject();
|
|
5180
|
-
this.
|
|
5175
|
+
this.stateSubject = new BehaviorSubject(`idle`);
|
|
5181
5176
|
this.unload$ = this.triggerSubject.pipe(
|
|
5182
5177
|
withLatestFrom(this.stateSubject),
|
|
5183
5178
|
filter$1(
|
|
@@ -5194,9 +5189,16 @@ class DocumentRenderer {
|
|
|
5194
5189
|
map$1(() => void 0),
|
|
5195
5190
|
share()
|
|
5196
5191
|
);
|
|
5192
|
+
this.layers = [];
|
|
5197
5193
|
this.destroy$ = this.triggerSubject.pipe(
|
|
5198
5194
|
filter$1((trigger) => trigger === `destroy`)
|
|
5199
5195
|
);
|
|
5196
|
+
this.context = params.context;
|
|
5197
|
+
this.settings = params.settings;
|
|
5198
|
+
this.hookManager = params.hookManager;
|
|
5199
|
+
this.item = params.item;
|
|
5200
|
+
this.containerElement = params.containerElement;
|
|
5201
|
+
this.resourcesHandler = params.resourcesHandler;
|
|
5200
5202
|
this.load$.pipe(
|
|
5201
5203
|
switchMap(() => {
|
|
5202
5204
|
this.stateSubject.next(`loading`);
|
|
@@ -5409,16 +5411,17 @@ class SpineItem {
|
|
|
5409
5411
|
hookManager
|
|
5410
5412
|
);
|
|
5411
5413
|
parentElement.appendChild(this.containerElement);
|
|
5412
|
-
const
|
|
5414
|
+
const rendererFactory = (_b = (_a = this.settings.values).getRenderer) == null ? void 0 : _b.call(_a, item);
|
|
5413
5415
|
this.resourcesHandler = new ResourceHandler(item, this.settings);
|
|
5414
|
-
|
|
5416
|
+
const rendererParams = {
|
|
5415
5417
|
context,
|
|
5416
5418
|
settings,
|
|
5417
5419
|
hookManager,
|
|
5418
5420
|
item,
|
|
5419
|
-
this.containerElement,
|
|
5420
|
-
this.resourcesHandler
|
|
5421
|
-
|
|
5421
|
+
containerElement: this.containerElement,
|
|
5422
|
+
resourcesHandler: this.resourcesHandler
|
|
5423
|
+
};
|
|
5424
|
+
this.renderer = rendererFactory ? rendererFactory(rendererParams) : new DefaultRenderer(rendererParams);
|
|
5422
5425
|
const contentLayoutChange$ = merge(
|
|
5423
5426
|
this.unloaded$.pipe(map(() => ({ isFirstLayout: false }))),
|
|
5424
5427
|
this.ready$.pipe(map(() => ({ isFirstLayout: true })))
|
|
@@ -6879,13 +6882,13 @@ const mediaEnhancer = (next) => (options) => {
|
|
|
6879
6882
|
...options,
|
|
6880
6883
|
getRenderer(item) {
|
|
6881
6884
|
var _a;
|
|
6882
|
-
const
|
|
6885
|
+
const maybeFactory = (_a = options.getRenderer) == null ? void 0 : _a.call(options, item);
|
|
6883
6886
|
const mimeType = item.mediaType ?? detectMimeTypeFromName(item.href);
|
|
6884
6887
|
const isImageType = !!(mimeType == null ? void 0 : mimeType.startsWith(`image/`));
|
|
6885
|
-
if (!
|
|
6886
|
-
return ImageRenderer;
|
|
6888
|
+
if (!maybeFactory && isImageType) {
|
|
6889
|
+
return (props) => new ImageRenderer(props);
|
|
6887
6890
|
}
|
|
6888
|
-
return
|
|
6891
|
+
return maybeFactory;
|
|
6889
6892
|
}
|
|
6890
6893
|
});
|
|
6891
6894
|
const frameObserver = new IntersectionObserver(
|
|
@@ -7315,7 +7318,9 @@ const eventsEnhancer = (next) => (options) => {
|
|
|
7315
7318
|
`item.onDocumentLoad`,
|
|
7316
7319
|
({ destroy, layers, itemId }) => {
|
|
7317
7320
|
var _a;
|
|
7318
|
-
const frame = (_a = layers
|
|
7321
|
+
const frame = (_a = layers.find(
|
|
7322
|
+
(layer) => layer.element instanceof HTMLIFrameElement
|
|
7323
|
+
)) == null ? void 0 : _a.element;
|
|
7319
7324
|
if (!(frame instanceof HTMLIFrameElement)) return;
|
|
7320
7325
|
const item = reader.spineItemsManager.get(itemId);
|
|
7321
7326
|
if (!item) return;
|
|
@@ -7985,15 +7990,8 @@ const renderReflowable = ({
|
|
|
7985
7990
|
};
|
|
7986
7991
|
};
|
|
7987
7992
|
class HtmlRenderer extends DocumentRenderer {
|
|
7988
|
-
constructor(
|
|
7989
|
-
super(
|
|
7990
|
-
context,
|
|
7991
|
-
settings,
|
|
7992
|
-
hookManager,
|
|
7993
|
-
item,
|
|
7994
|
-
containerElement,
|
|
7995
|
-
resourcesHandler
|
|
7996
|
-
);
|
|
7993
|
+
constructor() {
|
|
7994
|
+
super(...arguments);
|
|
7997
7995
|
this.isImageType = () => {
|
|
7998
7996
|
const mimeType = this.item.mediaType ?? detectMimeTypeFromName(this.item.href);
|
|
7999
7997
|
return !!(mimeType == null ? void 0 : mimeType.startsWith(`image/`));
|
|
@@ -8112,8 +8110,8 @@ const htmlEnhancer = (next) => (options) => {
|
|
|
8112
8110
|
...options,
|
|
8113
8111
|
getRenderer(item) {
|
|
8114
8112
|
var _a;
|
|
8115
|
-
const
|
|
8116
|
-
return
|
|
8113
|
+
const maybeFactory = (_a = options.getRenderer) == null ? void 0 : _a.call(options, item);
|
|
8114
|
+
return maybeFactory ?? ((props) => new HtmlRenderer(props));
|
|
8117
8115
|
}
|
|
8118
8116
|
});
|
|
8119
8117
|
return reader;
|
|
@@ -8331,8 +8329,15 @@ export {
|
|
|
8331
8329
|
SettingsManager3 as SettingsManager,
|
|
8332
8330
|
SpineItem,
|
|
8333
8331
|
createReaderWithEnhancers as createReader,
|
|
8332
|
+
getAttributeValueFromString,
|
|
8333
|
+
getFrameViewportInfo,
|
|
8334
|
+
injectCSS,
|
|
8334
8335
|
isHtmlElement,
|
|
8335
8336
|
isShallowEqual2 as isShallowEqual,
|
|
8337
|
+
removeCSS,
|
|
8338
|
+
upsertCSS,
|
|
8339
|
+
waitForFrameLoad,
|
|
8340
|
+
waitForFrameReady,
|
|
8336
8341
|
waitForSwitch
|
|
8337
8342
|
};
|
|
8338
8343
|
//# sourceMappingURL=index.js.map
|