@prose-reader/core 1.323.0 → 1.325.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/context/Context.d.ts +5 -7
- package/dist/createReaderWithEnhancer.d.ts +9 -7
- package/dist/enhancers/html/renderer/HtmlRenderer.d.ts +1 -1
- package/dist/enhancers/html/renderer/reflowable/renderReflowable.d.ts +1 -1
- package/dist/enhancers/layout/spreadMode.d.ts +2 -2
- package/dist/enhancers/layout/updateSpreadMode.d.ts +1 -1
- package/dist/enhancers/navigation/index.d.ts +1 -1
- package/dist/enhancers/navigation/resolvers/getSpineItemPositionForLeftPage.d.ts +1 -1
- package/dist/enhancers/navigation/types.d.ts +0 -4
- package/dist/hooks/types.d.ts +2 -2
- package/dist/index.cjs +14 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +766 -857
- package/dist/index.js.map +1 -1
- package/dist/manifest/isFullyPrePaginated.d.ts +1 -1
- package/dist/navigation/controllers/ControlledNavigationController.d.ts +1 -0
- package/dist/navigation/controllers/ScrollNavigationController.d.ts +1 -0
- package/dist/pagination/index.d.ts +1 -1
- package/dist/reader.d.ts +9 -7
- package/dist/reader.test.d.ts +1 -0
- package/dist/settings/computeSpreadMode.d.ts +1 -1
- package/dist/spine/SpineItemsManager.d.ts +1 -0
- package/dist/spineItem/renderer/DefaultRenderer.d.ts +1 -1
- package/dist/spineItem/renderer/DocumentRenderer.d.ts +1 -1
- package/dist/tests/utils.d.ts +2 -0
- package/dist/utils/ReactiveEntity.d.ts +1 -0
- package/package.json +4 -4
- package/dist/enhancers/resources/index.d.ts +0 -2
- package/dist/enhancers/resources/indexedDB.d.ts +0 -6
- package/dist/enhancers/resources/resourcesManager.d.ts +0 -6
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Report as e, arrayEqual as t, detectMimeTypeFromName as n, getItemSpreadPosition as r, getParentPath as i, isShallowEqual as a, isShallowEqual as o, parseContentType as s, shallowMergeIfDefined as c } from "@prose-reader/shared";
|
|
2
|
-
import { BehaviorSubject as l, EMPTY as u, NEVER as d, Observable as f, ReplaySubject as p, Subject as m, animationFrameScheduler as h, auditTime as g, catchError as _, combineLatest as v, concatMap as ee, debounce as te, debounceTime as ne, defaultIfEmpty as re, defer as ie, delay as ae, distinctUntilChanged as y, endWith as oe, exhaustMap as se, filter as b, finalize as ce, first as x,
|
|
3
|
-
import {
|
|
4
|
-
import { generate as
|
|
5
|
-
var R = e.namespace("@prose-reader/core", void 0, { color: "#98cde7" }),
|
|
2
|
+
import { BehaviorSubject as l, EMPTY as u, NEVER as d, Observable as f, ReplaySubject as p, Subject as m, animationFrameScheduler as h, auditTime as g, catchError as _, combineLatest as v, concatMap as ee, debounce as te, debounceTime as ne, defaultIfEmpty as re, defer as ie, delay as ae, distinctUntilChanged as y, endWith as oe, exhaustMap as se, filter as b, finalize as ce, first as x, from as S, fromEvent as C, identity as le, lastValueFrom as ue, map as w, merge as T, mergeMap as E, of as D, scheduled as de, share as O, shareReplay as k, skip as fe, startWith as A, switchMap as j, switchScan as pe, take as me, takeUntil as M, tap as N, throttleTime as he, timeout as ge, timer as _e, withLatestFrom as P } from "rxjs";
|
|
3
|
+
import { debounceTime as ve, distinctUntilChanged as ye, filter as be, first as xe, map as Se, pairwise as Ce, share as we, shareReplay as Te, skip as Ee, startWith as De, switchMap as F, take as Oe, takeUntil as I, tap as L } from "rxjs/operators";
|
|
4
|
+
import { generate as ke, isIndirectionOnly as Ae, isParsedCfiRange as je, parse as Me, resolve as Ne } from "@prose-reader/cfi";
|
|
5
|
+
var R = e.namespace("@prose-reader/core", void 0, { color: "#98cde7" }), Pe = [
|
|
6
6
|
"pointercancel",
|
|
7
7
|
"pointerdown",
|
|
8
8
|
"pointerenter",
|
|
@@ -16,10 +16,10 @@ function z(e, t, n) {
|
|
|
16
16
|
let r = String(n);
|
|
17
17
|
e.getAttribute(t) !== r && e.setAttribute(t, r);
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function Fe(e, t) {
|
|
20
20
|
e.hasAttribute(t) && e.removeAttribute(t);
|
|
21
21
|
}
|
|
22
|
-
function
|
|
22
|
+
function Ie(e, t, n) {
|
|
23
23
|
e[t] !== n && (e[t] = n);
|
|
24
24
|
}
|
|
25
25
|
function B(e, t, n) {
|
|
@@ -28,22 +28,22 @@ function B(e, t, n) {
|
|
|
28
28
|
function V(e, t) {
|
|
29
29
|
e.getPropertyValue(t) !== "" && e.removeProperty(t);
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function Le(e, t, n) {
|
|
32
32
|
if ("caretPositionFromPoint" in e) return e.caretPositionFromPoint(t, n);
|
|
33
33
|
if ("caretRangeFromPoint" in e && e.caretRangeFromPoint !== void 0) return e.caretRangeFromPoint(t, n);
|
|
34
34
|
}
|
|
35
|
-
var
|
|
35
|
+
var Re = (e, t) => {
|
|
36
36
|
let n = "createRange" in e ? e : e.ownerDocument;
|
|
37
37
|
if (!n) return;
|
|
38
|
-
let r = "body" in e ?
|
|
38
|
+
let r = "body" in e ? ze(e.body, t) : ze(e, t);
|
|
39
39
|
if (r) {
|
|
40
40
|
let e, i = 0, a = n.createRange();
|
|
41
41
|
return Array.from(r.childNodes).some((r) => {
|
|
42
42
|
a.selectNodeContents(r);
|
|
43
|
-
let o =
|
|
43
|
+
let o = Ve(a.getClientRects(), t);
|
|
44
44
|
if (o) {
|
|
45
45
|
e = a.cloneRange();
|
|
46
|
-
let t =
|
|
46
|
+
let t = Le(n, Math.ceil(o.left), Math.ceil(o.top));
|
|
47
47
|
return t && "startContainer" in t && t.startContainer === e.startContainer && (i = t.startOffset), t && "offsetNode" in t && t.offsetNode === e.startContainer && (i = t.offset), !0;
|
|
48
48
|
}
|
|
49
49
|
return !1;
|
|
@@ -55,25 +55,25 @@ var Ve = (e, t) => {
|
|
|
55
55
|
offset: 0
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
},
|
|
59
|
-
let n =
|
|
58
|
+
}, ze = (e, t) => {
|
|
59
|
+
let n = Be(e.getBoundingClientRect(), t), r;
|
|
60
60
|
n !== "before" && n !== "after" && (r = e);
|
|
61
61
|
for (let n of e.children) {
|
|
62
|
-
let e =
|
|
62
|
+
let e = ze(n, t);
|
|
63
63
|
if (e) return e;
|
|
64
64
|
}
|
|
65
65
|
return r;
|
|
66
66
|
};
|
|
67
|
-
function
|
|
67
|
+
function Be(e, { left: t, right: n }) {
|
|
68
68
|
return e.left <= t && e.right <= t ? "before" : e.left <= t && e.right > t && e.right <= n ? "partially-before" : e.left <= n && e.right > n ? "partially-after" : e.left > n ? "after" : "within";
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function Ve(e, t) {
|
|
71
71
|
return Array.from(e).find((e) => {
|
|
72
|
-
let n =
|
|
72
|
+
let n = Be(e, t);
|
|
73
73
|
return n !== "before" && n !== "after";
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
var
|
|
76
|
+
var He = (e, t) => {
|
|
77
77
|
if (e.nodeType !== Node.CDATA_SECTION_NODE && e.nodeType !== Node.DOCUMENT_TYPE_NODE) {
|
|
78
78
|
let n = e.ownerDocument?.createRange();
|
|
79
79
|
n?.selectNodeContents(e);
|
|
@@ -84,7 +84,7 @@ var Ge = (e, t) => {
|
|
|
84
84
|
}
|
|
85
85
|
return n;
|
|
86
86
|
}
|
|
87
|
-
},
|
|
87
|
+
}, Ue = (e) => {
|
|
88
88
|
if (e?.target && (e?.target)?.ownerDocument?.defaultView) {
|
|
89
89
|
let t = (e?.target)?.ownerDocument?.defaultView;
|
|
90
90
|
if (t.PointerEvent && e instanceof t.PointerEvent) return !0;
|
|
@@ -93,9 +93,9 @@ var Ge = (e, t) => {
|
|
|
93
93
|
let t = e?.view;
|
|
94
94
|
if (t.PointerEvent && e instanceof t.PointerEvent) return !0;
|
|
95
95
|
}
|
|
96
|
-
return !!
|
|
97
|
-
},
|
|
98
|
-
if (
|
|
96
|
+
return !!Pe.includes(e.type);
|
|
97
|
+
}, We = (e) => {
|
|
98
|
+
if (Ue(e)) return !1;
|
|
99
99
|
if (e?.target && (e?.target)?.ownerDocument?.defaultView) {
|
|
100
100
|
let t = (e?.target)?.ownerDocument?.defaultView;
|
|
101
101
|
if (t.MouseEvent) return e instanceof t.MouseEvent;
|
|
@@ -105,7 +105,7 @@ var Ge = (e, t) => {
|
|
|
105
105
|
if (t.MouseEvent) return e instanceof t.MouseEvent;
|
|
106
106
|
}
|
|
107
107
|
return !1;
|
|
108
|
-
},
|
|
108
|
+
}, Ge = (e) => {
|
|
109
109
|
if (e?.target && (e?.target)?.ownerDocument?.defaultView) {
|
|
110
110
|
let t = (e?.target)?.ownerDocument?.defaultView;
|
|
111
111
|
if (t.TouchEvent) return e instanceof t.TouchEvent;
|
|
@@ -115,7 +115,7 @@ var Ge = (e, t) => {
|
|
|
115
115
|
if (t.TouchEvent) return e instanceof t.TouchEvent;
|
|
116
116
|
}
|
|
117
117
|
return !1;
|
|
118
|
-
},
|
|
118
|
+
}, Ke = () => document.createElement("div"), qe = (e) => {
|
|
119
119
|
let t = [
|
|
120
120
|
"img",
|
|
121
121
|
"video",
|
|
@@ -125,8 +125,8 @@ var Ge = (e, t) => {
|
|
|
125
125
|
"script"
|
|
126
126
|
].join(",");
|
|
127
127
|
return Array.from(e?.querySelectorAll(t) || []);
|
|
128
|
-
},
|
|
129
|
-
if (
|
|
128
|
+
}, Je = (e) => {
|
|
129
|
+
if (qe(e).forEach((t) => {
|
|
130
130
|
let n = t.getAttribute("src") || t.getAttribute("href");
|
|
131
131
|
n?.startsWith("blob:") && e?.defaultView?.URL.revokeObjectURL(n);
|
|
132
132
|
}), e) {
|
|
@@ -148,20 +148,20 @@ var Ge = (e, t) => {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
|
-
function
|
|
151
|
+
function Ye(e, t, n = []) {
|
|
152
152
|
if (typeof e != "object" || !e) return !1;
|
|
153
153
|
for (let n of t) if (!(n in e)) return !1;
|
|
154
154
|
for (let t of n) if (t in e && typeof e[t] != "function") return !1;
|
|
155
155
|
return !0;
|
|
156
156
|
}
|
|
157
|
-
function
|
|
158
|
-
return
|
|
157
|
+
function Xe(e) {
|
|
158
|
+
return Ye(e, ["nodeType"], []) && e.nodeType === Node.ELEMENT_NODE;
|
|
159
159
|
}
|
|
160
|
-
function
|
|
161
|
-
return
|
|
160
|
+
function Ze(e, t) {
|
|
161
|
+
return Xe(e) && e.tagName.toLowerCase() === t.toLowerCase();
|
|
162
162
|
}
|
|
163
|
-
function
|
|
164
|
-
return
|
|
163
|
+
function Qe(e) {
|
|
164
|
+
return Ye(e, [
|
|
165
165
|
"startContainer",
|
|
166
166
|
"endContainer",
|
|
167
167
|
"startOffset",
|
|
@@ -174,28 +174,28 @@ function tt(e) {
|
|
|
174
174
|
"selectNodeContents"
|
|
175
175
|
]);
|
|
176
176
|
}
|
|
177
|
-
var
|
|
177
|
+
var $e = (e, t, n, r) => {
|
|
178
178
|
let i = e.createElement("style");
|
|
179
179
|
return i.id = t, i.textContent = n, r ? e.head.prepend(i) : e.head.appendChild(i), () => {
|
|
180
|
-
|
|
180
|
+
et(e, t);
|
|
181
181
|
};
|
|
182
|
-
},
|
|
182
|
+
}, et = (e, t) => {
|
|
183
183
|
if (e?.head) {
|
|
184
184
|
let n = e.getElementById(t);
|
|
185
185
|
n && n.remove();
|
|
186
186
|
}
|
|
187
|
-
},
|
|
187
|
+
}, tt = (e, t) => {
|
|
188
188
|
let n = RegExp(`${t}\\s*=\\s*([^,\\s]+)`, "i");
|
|
189
189
|
return e.match(n)?.[1]?.trim().toLowerCase();
|
|
190
|
-
},
|
|
191
|
-
let n =
|
|
190
|
+
}, nt = (e, t) => {
|
|
191
|
+
let n = tt(e, t);
|
|
192
192
|
if (!n) return 0;
|
|
193
193
|
let r = Number.parseFloat(n);
|
|
194
194
|
return Number.isFinite(r) ? r : 0;
|
|
195
|
-
},
|
|
196
|
-
e?.contentDocument?.head &&
|
|
197
|
-
},
|
|
198
|
-
e?.contentDocument &&
|
|
195
|
+
}, rt = (e, t, n, r) => {
|
|
196
|
+
e?.contentDocument?.head && $e(e.contentDocument, t, n, r);
|
|
197
|
+
}, it = (e, t) => {
|
|
198
|
+
e?.contentDocument && et(e.contentDocument, t);
|
|
199
199
|
}, H = (e, t, n, r) => {
|
|
200
200
|
if (!e) return;
|
|
201
201
|
let i = e?.contentDocument?.getElementById(t);
|
|
@@ -203,14 +203,14 @@ var nt = (e, t, n, r) => {
|
|
|
203
203
|
i.textContent !== n && (i.textContent = n);
|
|
204
204
|
return;
|
|
205
205
|
}
|
|
206
|
-
|
|
207
|
-
},
|
|
206
|
+
rt(e, t, n, r);
|
|
207
|
+
}, at = (e) => {
|
|
208
208
|
if (e?.contentDocument) {
|
|
209
209
|
let t = e.contentDocument.querySelector("meta[name='viewport']");
|
|
210
210
|
if (t) {
|
|
211
211
|
let e = t.getAttribute("content");
|
|
212
212
|
if (e) {
|
|
213
|
-
let t =
|
|
213
|
+
let t = tt(e, "width"), n = tt(e, "height"), r = nt(e, "width"), i = nt(e, "height");
|
|
214
214
|
return r > 0 && i > 0 ? {
|
|
215
215
|
hasViewport: !0,
|
|
216
216
|
widthToken: t,
|
|
@@ -226,13 +226,13 @@ var nt = (e, t, n, r) => {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
return { hasViewport: !1 };
|
|
229
|
-
},
|
|
229
|
+
}, ot = (e) => e.pipe(j((e) => e.src === "about:blank" && e.contentDocument?.readyState === "complete" && e.contentDocument.body ? D(e) : C(e, "load").pipe(me(1), w(() => e)))), st = (e) => e.pipe(j((e) => {
|
|
230
230
|
let t = e?.contentDocument?.fonts.ready;
|
|
231
|
-
return t ? S(t).pipe(w(() => e)) :
|
|
232
|
-
})),
|
|
231
|
+
return t ? S(t).pipe(w(() => e)) : D(e);
|
|
232
|
+
})), ct = (e) => (t) => {
|
|
233
233
|
let n = e(t), r = new IntersectionObserver((e) => {
|
|
234
234
|
e.forEach((e) => {
|
|
235
|
-
e.isIntersecting ?
|
|
235
|
+
e.isIntersecting ? Fe(e.target, "tab-index") : z(e.target, "tab-index", "-1");
|
|
236
236
|
});
|
|
237
237
|
}, {}), i = /* @__PURE__ */ new Map();
|
|
238
238
|
return n.hookManager.register("item.onDocumentLoad", async ({ itemId: e }) => {
|
|
@@ -250,12 +250,12 @@ var nt = (e, t, n, r) => {
|
|
|
250
250
|
r.unobserve(e);
|
|
251
251
|
});
|
|
252
252
|
});
|
|
253
|
-
}), n.hookManager.register("item.onDocumentUnload",
|
|
253
|
+
}), n.hookManager.register("item.onDocumentUnload", ({ itemId: e }) => {
|
|
254
254
|
i.get(e)?.(), i.delete(e);
|
|
255
255
|
}), { ...n };
|
|
256
|
-
},
|
|
256
|
+
}, lt = (e) => (t) => {
|
|
257
257
|
let n = e(t);
|
|
258
|
-
return n.context.watch("rootElement").pipe(
|
|
258
|
+
return n.context.watch("rootElement").pipe(M(n.context.destroy$)).subscribe((e) => {
|
|
259
259
|
e && e.addEventListener("scroll", () => {
|
|
260
260
|
n.settings.values.computedPageTurnMode === "controlled" && e.scrollTo(0, 0);
|
|
261
261
|
});
|
|
@@ -263,19 +263,19 @@ var nt = (e, t, n, r) => {
|
|
|
263
263
|
let t = n.spineItemsManager.get(e)?.renderer.getDocumentFrame();
|
|
264
264
|
t && t.contentDocument?.body && z(t.contentDocument.body, "tabindex", "-1");
|
|
265
265
|
}), n;
|
|
266
|
-
},
|
|
266
|
+
}, ut = ({ position: e, frameElement: t }) => {
|
|
267
267
|
let n = t.getBoundingClientRect(), r = n.width / t.offsetWidth, i = n.height / t.offsetHeight, { left: a = 0, top: o = 0 } = n;
|
|
268
268
|
return {
|
|
269
269
|
clientX: e.clientX * r + a,
|
|
270
270
|
clientY: e.clientY * i + o
|
|
271
271
|
};
|
|
272
|
-
},
|
|
272
|
+
}, dt = (e, t, n, r) => {
|
|
273
273
|
let i = t?.view?.frameElement;
|
|
274
274
|
if (!t || !i) return e;
|
|
275
275
|
let a = n.getSpineItemFromIframe(i), o = i, { height: s, width: c } = r.pageSize;
|
|
276
276
|
if (!a || !(o instanceof HTMLIFrameElement)) return e;
|
|
277
|
-
if (
|
|
278
|
-
let { clientX: n, clientY: r } =
|
|
277
|
+
if (Ue(e)) {
|
|
278
|
+
let { clientX: n, clientY: r } = ut({
|
|
279
279
|
position: e,
|
|
280
280
|
frameElement: o,
|
|
281
281
|
pageHeight: s,
|
|
@@ -291,8 +291,8 @@ var nt = (e, t, n, r) => {
|
|
|
291
291
|
enumerable: !0
|
|
292
292
|
}), i;
|
|
293
293
|
}
|
|
294
|
-
if (
|
|
295
|
-
let { clientX: n, clientY: r } =
|
|
294
|
+
if (We(e)) {
|
|
295
|
+
let { clientX: n, clientY: r } = ut({
|
|
296
296
|
position: e,
|
|
297
297
|
frameElement: o,
|
|
298
298
|
pageHeight: s,
|
|
@@ -307,9 +307,9 @@ var nt = (e, t, n, r) => {
|
|
|
307
307
|
enumerable: !0
|
|
308
308
|
}), i;
|
|
309
309
|
}
|
|
310
|
-
if (
|
|
310
|
+
if (Ge(e)) {
|
|
311
311
|
let n = Array.from(e.touches).map((e) => {
|
|
312
|
-
let { clientX: t, clientY: n } =
|
|
312
|
+
let { clientX: t, clientY: n } = ut({
|
|
313
313
|
position: e,
|
|
314
314
|
frameElement: o,
|
|
315
315
|
pageHeight: s,
|
|
@@ -332,7 +332,7 @@ var nt = (e, t, n, r) => {
|
|
|
332
332
|
}), r;
|
|
333
333
|
}
|
|
334
334
|
return e;
|
|
335
|
-
},
|
|
335
|
+
}, ft = [
|
|
336
336
|
"pointercancel",
|
|
337
337
|
"pointerdown",
|
|
338
338
|
"pointerenter",
|
|
@@ -341,17 +341,17 @@ var nt = (e, t, n, r) => {
|
|
|
341
341
|
"pointerout",
|
|
342
342
|
"pointerover",
|
|
343
343
|
"pointerup"
|
|
344
|
-
],
|
|
344
|
+
], pt = (e) => (t) => {
|
|
345
345
|
let n = e(t), r = /* @__PURE__ */ new Map();
|
|
346
346
|
return n.hookManager.register("item.onDocumentLoad", async ({ itemId: e }) => {
|
|
347
347
|
r.get(e)?.(), r.delete(e);
|
|
348
348
|
let t = n.spineItemsManager.get(e), i = t?.renderer.getDocumentFrame();
|
|
349
349
|
if (!i || !t) return;
|
|
350
|
-
let a =
|
|
350
|
+
let a = ft.map((e) => {
|
|
351
351
|
let t = (e) => {
|
|
352
352
|
let t = e;
|
|
353
|
-
if (
|
|
354
|
-
let r =
|
|
353
|
+
if (Ue(e) && (t = new PointerEvent(e.type, e)), t !== e) {
|
|
354
|
+
let r = dt(t, e, n.spine.locator, n.viewport);
|
|
355
355
|
n.context.value.rootElement?.dispatchEvent(r);
|
|
356
356
|
}
|
|
357
357
|
};
|
|
@@ -364,21 +364,21 @@ var nt = (e, t, n, r) => {
|
|
|
364
364
|
e();
|
|
365
365
|
});
|
|
366
366
|
});
|
|
367
|
-
}), n.hookManager.register("item.onDocumentUnload",
|
|
367
|
+
}), n.hookManager.register("item.onDocumentUnload", ({ itemId: e }) => {
|
|
368
368
|
r.get(e)?.(), r.delete(e);
|
|
369
369
|
}), n;
|
|
370
|
-
},
|
|
370
|
+
}, mt = (e) => {
|
|
371
371
|
let t = new FileReader();
|
|
372
372
|
return new Promise((n) => {
|
|
373
373
|
t.addEventListener("load", () => {
|
|
374
374
|
n(t.result);
|
|
375
375
|
}, !1), t.readAsDataURL(e);
|
|
376
376
|
});
|
|
377
|
-
},
|
|
377
|
+
}, ht = (e, t) => Object.entries(e).reduce((e, [n, r]) => t.includes(n) ? {
|
|
378
378
|
...e,
|
|
379
379
|
[n]: r
|
|
380
|
-
} : e, {}),
|
|
381
|
-
function
|
|
380
|
+
} : e, {}), gt = (e) => Se((t) => ht(t, e)), _t = (e) => (t) => t.pipe(gt(e), ye(o));
|
|
381
|
+
function vt(e) {
|
|
382
382
|
return new f((t) => {
|
|
383
383
|
let n = new ResizeObserver((e) => {
|
|
384
384
|
t.next(e);
|
|
@@ -388,13 +388,13 @@ function xt(e) {
|
|
|
388
388
|
};
|
|
389
389
|
});
|
|
390
390
|
}
|
|
391
|
-
var
|
|
391
|
+
var yt = (e) => (t) => t.pipe(F((t) => e.pipe(xe(), Se(() => t)))), bt = (e) => {
|
|
392
392
|
let t, n = e.subscribe((e) => {
|
|
393
393
|
t = { result: e };
|
|
394
394
|
});
|
|
395
|
-
return () => (n.unsubscribe(), t ?
|
|
395
|
+
return () => (n.unsubscribe(), t ? D(t.result) : e);
|
|
396
396
|
};
|
|
397
|
-
function
|
|
397
|
+
function xt() {
|
|
398
398
|
return new f((e) => {
|
|
399
399
|
if (window.requestIdleCallback) {
|
|
400
400
|
let t = window.requestIdleCallback(() => {
|
|
@@ -408,16 +408,16 @@ function wt() {
|
|
|
408
408
|
return () => clearTimeout(t);
|
|
409
409
|
});
|
|
410
410
|
}
|
|
411
|
-
function
|
|
412
|
-
return ie(() =>
|
|
411
|
+
function St(e) {
|
|
412
|
+
return ie(() => xt().pipe(F(e)));
|
|
413
413
|
}
|
|
414
|
-
var
|
|
414
|
+
var Ct = (e, t) => new f((n) => {
|
|
415
415
|
let r = new MutationObserver((e) => {
|
|
416
416
|
n.next(e);
|
|
417
417
|
});
|
|
418
418
|
return r.observe(e, t), () => r.disconnect();
|
|
419
419
|
});
|
|
420
|
-
function
|
|
420
|
+
function wt(e, t) {
|
|
421
421
|
return new f((n) => {
|
|
422
422
|
let r = new IntersectionObserver((e) => {
|
|
423
423
|
n.next(e);
|
|
@@ -429,14 +429,14 @@ function Dt(e, t) {
|
|
|
429
429
|
}
|
|
430
430
|
//#endregion
|
|
431
431
|
//#region src/settings/SettingsManagerOverload.ts
|
|
432
|
-
var
|
|
432
|
+
var Tt = class {
|
|
433
433
|
constructor(e, t) {
|
|
434
434
|
this.settingsManager = t;
|
|
435
435
|
let n = c(this.getDefaultSettings(), e);
|
|
436
|
-
this.outputSettings = this.computeOutputSettings(n), this.inputSettings = c(this.getDefaultSettings(), e), this.outputSettingsUpdateSubject = new m(), this.values$ = v([this.settingsManager.values$, this.outputSettingsUpdateSubject.pipe(
|
|
436
|
+
this.outputSettings = this.computeOutputSettings(n), this.inputSettings = c(this.getDefaultSettings(), e), this.outputSettingsUpdateSubject = new m(), this.values$ = v([this.settingsManager.values$, this.outputSettingsUpdateSubject.pipe(De(this.outputSettings))]).pipe(Se(([e, t]) => ({
|
|
437
437
|
...e,
|
|
438
438
|
...t
|
|
439
|
-
})),
|
|
439
|
+
})), Te(1)), this.values$.subscribe();
|
|
440
440
|
}
|
|
441
441
|
_prepareUpdate(e) {
|
|
442
442
|
let t = this.getCleanedParentInputSettings(e), n = this.settingsManager._prepareUpdate(t), r = c(this.inputSettings, e), i = this.computeOutputSettings(r), a = this.hasSettingsChanged(i);
|
|
@@ -459,12 +459,12 @@ var Ot = class {
|
|
|
459
459
|
};
|
|
460
460
|
}
|
|
461
461
|
watch(e) {
|
|
462
|
-
return Array.isArray(e) ? this.values$.pipe(
|
|
462
|
+
return Array.isArray(e) ? this.values$.pipe(_t(e)) : this.values$.pipe(Se((t) => t[e]), ye(o));
|
|
463
463
|
}
|
|
464
464
|
destroy() {
|
|
465
465
|
this.outputSettingsUpdateSubject.complete();
|
|
466
466
|
}
|
|
467
|
-
},
|
|
467
|
+
}, Et = class extends Tt {
|
|
468
468
|
computeOutputSettings(e) {
|
|
469
469
|
return e;
|
|
470
470
|
}
|
|
@@ -483,8 +483,8 @@ var Ot = class {
|
|
|
483
483
|
fontJustification: "publisher"
|
|
484
484
|
};
|
|
485
485
|
}
|
|
486
|
-
},
|
|
487
|
-
let { fontScale: n, lineHeight: r, fontWeight: i, fontJustification: a } = t, o = new m(), s = e(t), c = new
|
|
486
|
+
}, Dt = (e) => (t) => {
|
|
487
|
+
let { fontScale: n, lineHeight: r, fontWeight: i, fontJustification: a } = t, o = new m(), s = e(t), c = new Et({
|
|
488
488
|
fontScale: n,
|
|
489
489
|
lineHeight: r,
|
|
490
490
|
fontWeight: i,
|
|
@@ -504,21 +504,21 @@ var Ot = class {
|
|
|
504
504
|
let e = t?.renderer.getDocumentFrame();
|
|
505
505
|
e && H(e, "prose-reader-fonts", l());
|
|
506
506
|
}
|
|
507
|
-
}), c.values$.pipe((e) => e.pipe(
|
|
507
|
+
}), c.values$.pipe((e) => e.pipe(Ce(), w(([e, t]) => t.fontScale !== e.fontScale || t.lineHeight !== e.lineHeight)), L((e) => {
|
|
508
508
|
s.spineItemsManager.items.forEach((e) => {
|
|
509
509
|
if (e.renditionLayout !== "pre-paginated") {
|
|
510
510
|
let t = e.renderer.getDocumentFrame();
|
|
511
511
|
t && H(t, "prose-reader-fonts", l());
|
|
512
512
|
}
|
|
513
513
|
}), e && s.layout();
|
|
514
|
-
}),
|
|
514
|
+
}), M(s.$.destroy$)).subscribe(), {
|
|
515
515
|
...s,
|
|
516
516
|
destroy: () => {
|
|
517
517
|
o.complete(), c.destroy(), s.destroy();
|
|
518
518
|
},
|
|
519
519
|
settings: c
|
|
520
520
|
};
|
|
521
|
-
},
|
|
521
|
+
}, Ot = (e) => (t) => {
|
|
522
522
|
let n = e(t), r = (e) => C(e, "keyup").pipe(w((e) => {
|
|
523
523
|
let { pageTurnDirection: t, computedPageTurnMode: r } = n.settings.values;
|
|
524
524
|
if (r === "scrollable") return e;
|
|
@@ -532,18 +532,18 @@ var Ot = class {
|
|
|
532
532
|
}
|
|
533
533
|
return e;
|
|
534
534
|
}));
|
|
535
|
-
return r(document).pipe(
|
|
535
|
+
return r(document).pipe(M(n.$.destroy$)).subscribe(), n.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => e.watch("isLoaded").pipe(j(() => {
|
|
536
536
|
let t = e.renderer.getDocumentFrame();
|
|
537
537
|
return t instanceof HTMLIFrameElement && t?.contentDocument ? r(t.contentDocument) : u;
|
|
538
|
-
}))))),
|
|
539
|
-
},
|
|
538
|
+
}))))), M(n.$.destroy$)).subscribe(), n;
|
|
539
|
+
}, kt = (e) => e.spine.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => e.watch("isLoaded").pipe(j(() => {
|
|
540
540
|
let t = e.renderer.getDocumentFrame();
|
|
541
541
|
return t?.contentDocument ? T(...Array.from(t.contentDocument.querySelectorAll("a")).map((e) => C(e, "click"))) : d;
|
|
542
|
-
}))))),
|
|
542
|
+
}))))), N((e) => {
|
|
543
543
|
e.preventDefault();
|
|
544
|
-
}),
|
|
544
|
+
}), O()), U = class extends f {
|
|
545
545
|
constructor(e) {
|
|
546
|
-
super((e) => this.stateSubject.pipe(
|
|
546
|
+
super((e) => this.stateSubject.pipe(M(this._destroy$)).subscribe(e)), this._destroy$ = new m(), this.isDestroyed = !1, this.destroy$ = this._destroy$.asObservable(), this.stateSubject = new l(e), this.state$ = this.stateSubject.asObservable();
|
|
547
547
|
}
|
|
548
548
|
next(e) {
|
|
549
549
|
this.stateSubject.next(e);
|
|
@@ -556,15 +556,15 @@ var Ot = class {
|
|
|
556
556
|
o(this.value, t) || this.stateSubject.next(t);
|
|
557
557
|
}
|
|
558
558
|
watch(e) {
|
|
559
|
-
return Array.isArray(e) ? this.stateSubject.pipe(
|
|
559
|
+
return Array.isArray(e) ? this.stateSubject.pipe(_t(e)) : this.stateSubject.pipe(w((t) => t[e]), y(o));
|
|
560
560
|
}
|
|
561
561
|
get value() {
|
|
562
562
|
return this.stateSubject.value;
|
|
563
563
|
}
|
|
564
564
|
destroy() {
|
|
565
|
-
this.stateSubject.complete(), this._destroy$.complete();
|
|
565
|
+
this.isDestroyed || (this.isDestroyed = !0, this.stateSubject.complete(), this._destroy$.next(), this._destroy$.complete());
|
|
566
566
|
}
|
|
567
|
-
},
|
|
567
|
+
}, At = class e extends U {
|
|
568
568
|
static {
|
|
569
569
|
this.DOCUMENT_CONTAINER_CLASS_NAME = "prose-reader-document-container";
|
|
570
570
|
}
|
|
@@ -575,13 +575,13 @@ var Ot = class {
|
|
|
575
575
|
documentContainer: void 0
|
|
576
576
|
}), this.triggerSubject = new m(), this.context = e.context, this.settings = e.settings, this.hookManager = e.hookManager, this.item = e.item, this.containerElement = e.containerElement, this.resourcesHandler = e.resourcesHandler, this.viewport = e.viewport;
|
|
577
577
|
let t = this.triggerSubject.pipe(b((e) => e.type === "unload")), n = this.triggerSubject.pipe(b((e) => e.type === "load"));
|
|
578
|
-
this.loaded$ = n.pipe(
|
|
578
|
+
this.loaded$ = n.pipe(E(() => this.value.state === "loaded" || this.value.state === "loading" ? u : (this.mergeCompare({
|
|
579
579
|
state: "loading",
|
|
580
580
|
error: void 0
|
|
581
|
-
}), this.onCreateDocument().pipe(x()).pipe(
|
|
581
|
+
}), this.onCreateDocument().pipe(x()).pipe(E((e) => (this.hookManager.execute("item.onDocumentCreated", {
|
|
582
582
|
itemId: this.item.id,
|
|
583
583
|
documentContainer: e
|
|
584
|
-
}), this.onLoadDocument().pipe(oe(null), x()).pipe(
|
|
584
|
+
}), this.onLoadDocument().pipe(oe(null), x()).pipe(yt(this.context.bridgeEvent.viewportFree$), j(() => this.hookManager.fromExecuteAsync("item.onDocumentLoad", this.item.id, {
|
|
585
585
|
itemId: this.item.id,
|
|
586
586
|
documentContainer: e
|
|
587
587
|
}))))), w(() => {
|
|
@@ -589,24 +589,32 @@ var Ot = class {
|
|
|
589
589
|
state: "loaded",
|
|
590
590
|
error: void 0
|
|
591
591
|
});
|
|
592
|
-
}),
|
|
592
|
+
}), M(t)))), O()), this.unloaded$ = t.pipe(E(() => this.value.state === "unloading" || this.value.state === "idle" ? u : (this.mergeCompare({
|
|
593
593
|
state: "unloading",
|
|
594
594
|
error: void 0
|
|
595
|
-
}), this.context.bridgeEvent.viewportFree$.pipe(x(),
|
|
595
|
+
}), this.context.bridgeEvent.viewportFree$.pipe(x(), w(() => {
|
|
596
596
|
let e = this.value.documentContainer;
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
597
|
+
if (e) try {
|
|
598
|
+
this.hookManager.execute("item.onDocumentUnload", {
|
|
599
|
+
itemId: this.item.id,
|
|
600
|
+
documentContainer: e
|
|
601
|
+
});
|
|
602
|
+
} catch (e) {
|
|
603
|
+
R.error("Error unloading document", e);
|
|
604
|
+
}
|
|
605
|
+
try {
|
|
606
|
+
this.onUnload();
|
|
607
|
+
} catch (e) {
|
|
608
|
+
R.error("Error unloading document", e);
|
|
609
|
+
}
|
|
602
610
|
this.mergeCompare({
|
|
603
611
|
state: "idle",
|
|
604
612
|
error: void 0
|
|
605
613
|
});
|
|
606
|
-
}),
|
|
614
|
+
}), M(n)))), O()), T(this.loaded$, this.unloaded$).pipe(_((e) => (this.mergeCompare({
|
|
607
615
|
state: "error",
|
|
608
616
|
error: e
|
|
609
|
-
}), u)),
|
|
617
|
+
}), u)), M(this.destroy$)).subscribe();
|
|
610
618
|
}
|
|
611
619
|
setDocumentContainer(t) {
|
|
612
620
|
t.classList.add(e.DOCUMENT_CONTAINER_CLASS_NAME), this.mergeCompare({ documentContainer: t });
|
|
@@ -637,13 +645,30 @@ var Ot = class {
|
|
|
637
645
|
};
|
|
638
646
|
}), ce(() => {
|
|
639
647
|
e.complete();
|
|
640
|
-
}), _((e) => (R.error(e),
|
|
648
|
+
}), _((e) => (R.error(e), D(void 0))));
|
|
641
649
|
}
|
|
642
650
|
layout(e) {
|
|
643
651
|
return this.onLayout(e);
|
|
644
652
|
}
|
|
645
653
|
destroy() {
|
|
646
|
-
|
|
654
|
+
if (this.isDestroyed) return;
|
|
655
|
+
let e = this.value.documentContainer;
|
|
656
|
+
if (e) {
|
|
657
|
+
try {
|
|
658
|
+
this.hookManager.execute("item.onDocumentUnload", {
|
|
659
|
+
itemId: this.item.id,
|
|
660
|
+
documentContainer: e
|
|
661
|
+
});
|
|
662
|
+
} catch (e) {
|
|
663
|
+
R.error("Error while executing unload hooks on destroy", e);
|
|
664
|
+
}
|
|
665
|
+
try {
|
|
666
|
+
this.onUnload();
|
|
667
|
+
} catch (e) {
|
|
668
|
+
R.error("Error while unloading document on destroy", e);
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
super.destroy();
|
|
647
672
|
}
|
|
648
673
|
get documentContainer() {
|
|
649
674
|
return this.value.documentContainer;
|
|
@@ -655,26 +680,26 @@ var Ot = class {
|
|
|
655
680
|
if (e) return e;
|
|
656
681
|
let t = this.getDocumentFrame();
|
|
657
682
|
if (t) {
|
|
658
|
-
let { hasViewport: e } =
|
|
683
|
+
let { hasViewport: e } = at(t);
|
|
659
684
|
if (e) return "pre-paginated";
|
|
660
685
|
}
|
|
661
|
-
return this.context.manifest
|
|
686
|
+
return this.context.manifest.renditionLayout ?? "reflowable";
|
|
662
687
|
}
|
|
663
|
-
},
|
|
688
|
+
}, jt = (e) => new URL(e.href), Mt = class {
|
|
664
689
|
constructor(e, t) {
|
|
665
690
|
this.item = e, this.settings = t;
|
|
666
691
|
}
|
|
667
692
|
async getResource() {
|
|
668
|
-
return await
|
|
693
|
+
return await ue(this.settings.values.getResource?.(this.item) ?? D(void 0)) ?? jt(this.item);
|
|
669
694
|
}
|
|
670
695
|
async fetchResource() {
|
|
671
696
|
let e = await this.getResource();
|
|
672
697
|
return e instanceof Response ? e : e instanceof URL ? fetch(e) : e;
|
|
673
698
|
}
|
|
674
|
-
},
|
|
699
|
+
}, Nt = (e, t) => {
|
|
675
700
|
let n = e.startsWith("file://"), r = n ? e.replace("file://", "http://") : e, i = new URL(t, r).toString();
|
|
676
701
|
return n ? i.replace("http://", "file://") : i;
|
|
677
|
-
},
|
|
702
|
+
}, Pt = async (e, t, n, r, i) => {
|
|
678
703
|
if (!e?.defaultView) return;
|
|
679
704
|
let a = t.sheet;
|
|
680
705
|
if (a) try {
|
|
@@ -688,9 +713,9 @@ var Ot = class {
|
|
|
688
713
|
if (t.startsWith("local(")) return t;
|
|
689
714
|
let a = t.match(/url\(['"]?([^'"]+)['"]?\)/);
|
|
690
715
|
if (!a) return t;
|
|
691
|
-
let o = a[1] ?? "", s = r.manifest
|
|
716
|
+
let o = a[1] ?? "", s = r.manifest.items.find(({ href: e }) => `${Nt(n, o).toLowerCase()}`.endsWith(`${e.toLowerCase()}`));
|
|
692
717
|
if (s) {
|
|
693
|
-
let n = new
|
|
718
|
+
let n = new Mt(s, i);
|
|
694
719
|
try {
|
|
695
720
|
let r = await n.getResource();
|
|
696
721
|
if (r instanceof Response) {
|
|
@@ -710,31 +735,31 @@ var Ot = class {
|
|
|
710
735
|
} catch (e) {
|
|
711
736
|
console.error("Could not access stylesheet rules:", e);
|
|
712
737
|
}
|
|
713
|
-
},
|
|
738
|
+
}, Ft = (e, t, n, r, i) => {
|
|
714
739
|
let a = t.getAttribute("src") || t.getAttribute("href");
|
|
715
|
-
if (!a) return
|
|
716
|
-
let o = r.manifest
|
|
717
|
-
return o ? S(new
|
|
718
|
-
if (!a) return
|
|
740
|
+
if (!a) return D(null);
|
|
741
|
+
let o = r.manifest.items.find(({ href: e }) => `${Nt(n, a).toLowerCase()}`.endsWith(`${e.toLowerCase()}`));
|
|
742
|
+
return o ? S(new Mt(o, i).getResource()).pipe(E((e) => e instanceof Response ? S(e.blob()) : D(void 0)), E((a) => {
|
|
743
|
+
if (!a) return D(null);
|
|
719
744
|
let o = e?.defaultView?.URL.createObjectURL(a) ?? "";
|
|
720
745
|
if (t.hasAttribute("src")) t.setAttribute("src", o);
|
|
721
746
|
else if (t.hasAttribute("href") && (t.setAttribute("href", o), e?.defaultView && t instanceof e.defaultView.HTMLLinkElement)) return new f((a) => {
|
|
722
747
|
t.onload = async () => {
|
|
723
748
|
try {
|
|
724
|
-
t.sheet && await
|
|
749
|
+
t.sheet && await Pt(e, t, n, r, i), a.next(), a.complete();
|
|
725
750
|
} catch (e) {
|
|
726
751
|
a.error(e);
|
|
727
752
|
}
|
|
728
753
|
}, t.onerror = a.error;
|
|
729
754
|
});
|
|
730
|
-
return
|
|
731
|
-
})) :
|
|
732
|
-
},
|
|
733
|
-
let a =
|
|
734
|
-
return s.length === 0 ?
|
|
735
|
-
})),
|
|
736
|
-
|
|
737
|
-
},
|
|
755
|
+
return D(null);
|
|
756
|
+
})) : D(null);
|
|
757
|
+
}, It = ({ settings: e, item: t, context: n }) => (r) => r.pipe(j((r) => {
|
|
758
|
+
let a = qe(r.contentDocument), o = i(t.href), s = a.map((t) => Ft(r.contentDocument, t, o, n, e));
|
|
759
|
+
return s.length === 0 ? D(r) : v(s).pipe(w(() => r));
|
|
760
|
+
})), Lt = (e) => {
|
|
761
|
+
Je(e?.contentDocument);
|
|
762
|
+
}, Rt = async (e, t) => {
|
|
738
763
|
if (typeof e == "string") return new Blob([e], { type: "text/html" });
|
|
739
764
|
let r = s(e.headers.get("Content-Type") || "") || n(t.href);
|
|
740
765
|
if ([
|
|
@@ -782,41 +807,41 @@ var Ot = class {
|
|
|
782
807
|
`], { type: "text/html" });
|
|
783
808
|
}
|
|
784
809
|
return await e.blob();
|
|
785
|
-
},
|
|
810
|
+
}, zt = [
|
|
786
811
|
".txt",
|
|
787
812
|
".jpg",
|
|
788
813
|
".jpeg",
|
|
789
814
|
".png",
|
|
790
815
|
".webp"
|
|
791
|
-
],
|
|
816
|
+
], Bt = [
|
|
792
817
|
"text/plain",
|
|
793
818
|
"image/jpg",
|
|
794
819
|
"image/jpeg",
|
|
795
820
|
"image/png",
|
|
796
821
|
"image/webp"
|
|
797
|
-
],
|
|
822
|
+
], Vt = (e) => {
|
|
798
823
|
let t = e?.getAttribute("src");
|
|
799
824
|
t?.startsWith("blob:") && URL.revokeObjectURL(t);
|
|
800
|
-
},
|
|
825
|
+
}, Ht = ({ item: e, resourcesHandler: t }) => {
|
|
801
826
|
let n = (e, t) => {
|
|
802
|
-
|
|
827
|
+
Vt(e);
|
|
803
828
|
let n = URL.createObjectURL(t);
|
|
804
829
|
e.setAttribute("src", n);
|
|
805
830
|
};
|
|
806
|
-
return (r) => r.pipe(
|
|
807
|
-
let a =
|
|
808
|
-
return i instanceof URL && e.href.startsWith(window.location.origin) && !a ? (
|
|
831
|
+
return (r) => r.pipe(j((r) => S(t.getResource()).pipe(j((i) => {
|
|
832
|
+
let a = zt.some((t) => e.href.endsWith(t)) || e.mediaType && Bt.includes(e.mediaType);
|
|
833
|
+
return i instanceof URL && e.href.startsWith(window.location.origin) && !a ? (Vt(r), r?.setAttribute("src", i.href), D(r)) : (i instanceof URL ? S(t.fetchResource()) : D(i)).pipe(j((t) => {
|
|
809
834
|
if (!(t instanceof Response)) throw Error("Invalid resource");
|
|
810
|
-
return
|
|
811
|
-
}),
|
|
835
|
+
return Rt(t, e);
|
|
836
|
+
}), N((e) => {
|
|
812
837
|
n(r, e);
|
|
813
|
-
}), w(() => r), _((t) => (R.error(`Error while trying to fetch or load resource for item ${e.id}`, i), R.error(t),
|
|
838
|
+
}), w(() => r), _((t) => (R.error(`Error while trying to fetch or load resource for item ${e.id}`, i), R.error(t), D(r))));
|
|
814
839
|
}))));
|
|
815
|
-
},
|
|
840
|
+
}, Ut = () => {
|
|
816
841
|
let e = document.createElement("iframe");
|
|
817
842
|
return e.frameBorder = "no", e.tabIndex = 0, e.setAttribute("sandbox", "\n allow-same-origin \n allow-scripts \n allow-top-navigation-to-custom-protocols\n"), e.style.cssText = "\n overflow: hidden;\n background-color: transparent;\n border: 0px none transparent;\n padding: 0px;\n", e.setAttribute("role", "main"), e;
|
|
818
|
-
},
|
|
819
|
-
let r =
|
|
843
|
+
}, Wt = "body{margin:0}html,body{width:100%;height:100%}html[data-prose-reader-html-renderer-has-viewport-dimensions=false] body{display:flex}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=left] body{justify-content:flex-end}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=right] body{justify-content:flex-start}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=none] body{justify-content:center}:not(html.prose-reader-html-renderer-touch-enabled),:not(html.prose-reader-html-renderer-touch-enabled) body{touch-action:none}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;display:flex}html[data-prose-reader-html-renderer-has-viewport-dimensions=false] img{object-fit:contain;max-width:100%;height:100%}", Gt = ({ pageHeight: e, pageWidth: t, frameElement: n }) => {
|
|
844
|
+
let r = at(n), i = r.width, a = r.height;
|
|
820
845
|
!i && r.widthToken === "device-width" && (i = t), !a && r.heightToken === "device-height" && (a = e), !a && (i || r.widthToken === "device-width") && (a = e), !i && (a || r.heightToken === "device-height") && (i = t);
|
|
821
846
|
let o = r.hasViewport && i && a ? {
|
|
822
847
|
...r,
|
|
@@ -831,17 +856,17 @@ var Ot = class {
|
|
|
831
856
|
viewportDimensions: o
|
|
832
857
|
};
|
|
833
858
|
}
|
|
834
|
-
},
|
|
859
|
+
}, Kt = /* @__PURE__ */ new WeakMap(), W = (e, t, n) => {
|
|
835
860
|
e.style.getPropertyValue(t) !== n && e.style.setProperty(t, n);
|
|
836
861
|
}, G = (e, t) => {
|
|
837
862
|
e.style.getPropertyValue(t) !== "" && e.style.removeProperty(t);
|
|
838
|
-
},
|
|
863
|
+
}, qt = (e, t) => {
|
|
839
864
|
let n = `${t.width}px`, r = `${t.height}px`;
|
|
840
865
|
e.style.width !== n && (e.style.width = n), e.style.height !== r && (e.style.height = r);
|
|
841
|
-
},
|
|
866
|
+
}, Jt = (e, t, n) => {
|
|
842
867
|
let r = e.contentDocument?.documentElement;
|
|
843
868
|
r && r.getAttribute(t) !== n && r.setAttribute(t, n);
|
|
844
|
-
},
|
|
869
|
+
}, Yt = ({ hasViewportDimensions: e, viewportWidth: t, viewportHeight: n, computedScale: r, spreadPosition: i, blankPagePosition: a, isRTL: o, pageWidth: s, pageHeight: c }) => [
|
|
845
870
|
e ? "1" : "0",
|
|
846
871
|
t ?? "",
|
|
847
872
|
n ?? "",
|
|
@@ -851,7 +876,7 @@ var Ot = class {
|
|
|
851
876
|
o ? "1" : "0",
|
|
852
877
|
s,
|
|
853
878
|
c
|
|
854
|
-
].join("|"),
|
|
879
|
+
].join("|"), Xt = ({ frameElement: e, viewportDimensions: t, computedScale: n, spreadPosition: r, blankPagePosition: i, isRTL: a, pageWidth: o }) => {
|
|
855
880
|
if (t) {
|
|
856
881
|
W(e, "position", "absolute"), W(e, "top", "50%"), i === "before" ? r === "left" ? (W(e, "left", a ? "0" : "50%"), G(e, "right")) : r === "right" ? (W(e, "right", a ? "50%" : "0"), G(e, "left")) : (W(e, "left", a ? "25%" : "75%"), G(e, "right")) : r === "left" ? (W(e, "right", "0"), G(e, "left")) : r === "right" ? (W(e, "left", "0"), G(e, "right")) : (W(e, "left", i === "after" ? a ? "75%" : "25%" : "50%"), G(e, "right"));
|
|
857
882
|
let t = r === "none" ? "-50%" : "0", o = i === "before" ? r === "left" ? "left" : r === "right" ? "right" : "center" : r === "right" ? "left" : r === "left" ? "right" : "center";
|
|
@@ -859,14 +884,14 @@ var Ot = class {
|
|
|
859
884
|
return;
|
|
860
885
|
}
|
|
861
886
|
i === "before" ? a ? W(e, "margin-right", `${o}px`) : W(e, "margin-left", `${o}px`) : (G(e, "margin-left"), G(e, "margin-right"));
|
|
862
|
-
},
|
|
887
|
+
}, Zt = ({ minPageSpread: e, blankPagePosition: t, spreadPosition: n, pageHeight: r, pageWidth: i, frameElement: a, isRTL: o }) => {
|
|
863
888
|
let s = e * i;
|
|
864
889
|
if (a?.contentDocument && a?.contentWindow) {
|
|
865
|
-
let { viewportDimensions: e, computedScale: c = 1 } =
|
|
890
|
+
let { viewportDimensions: e, computedScale: c = 1 } = Gt({
|
|
866
891
|
frameElement: a,
|
|
867
892
|
pageHeight: r,
|
|
868
893
|
pageWidth: i
|
|
869
|
-
}) ?? {}, l = !!e, u = i, d = r, f =
|
|
894
|
+
}) ?? {}, l = !!e, u = i, d = r, f = Yt({
|
|
870
895
|
hasViewportDimensions: l,
|
|
871
896
|
viewportWidth: e?.width,
|
|
872
897
|
viewportHeight: e?.height,
|
|
@@ -877,16 +902,16 @@ var Ot = class {
|
|
|
877
902
|
pageWidth: i,
|
|
878
903
|
pageHeight: r
|
|
879
904
|
});
|
|
880
|
-
return
|
|
905
|
+
return Kt.get(a) === f ? {
|
|
881
906
|
width: s,
|
|
882
907
|
height: d
|
|
883
|
-
} : (
|
|
908
|
+
} : (Kt.set(a, f), Jt(a, "data-prose-reader-html-renderer-has-viewport-dimensions", l.toString()), e ? qt(a, {
|
|
884
909
|
width: e.width ?? 1,
|
|
885
910
|
height: e.height ?? 1
|
|
886
|
-
}) :
|
|
911
|
+
}) : qt(a, {
|
|
887
912
|
width: u,
|
|
888
913
|
height: d
|
|
889
|
-
}),
|
|
914
|
+
}), Xt({
|
|
890
915
|
frameElement: a,
|
|
891
916
|
viewportDimensions: e,
|
|
892
917
|
computedScale: c,
|
|
@@ -903,7 +928,7 @@ var Ot = class {
|
|
|
903
928
|
width: s,
|
|
904
929
|
height: r
|
|
905
930
|
};
|
|
906
|
-
},
|
|
931
|
+
}, Qt = () => "\n body {\n margin: 0;\n }\n html {\n width: 100%;\n height: 100%;\n }\n body {\n width: 100%;\n height: 100%;\n margin: 0;\n }\n \n html, body {\n touch-action: none;\n }\n ", $t = ({ isScrollable: e, enableTouch: t }) => `
|
|
907
932
|
|
|
908
933
|
html, body {
|
|
909
934
|
width: 100%;
|
|
@@ -912,7 +937,7 @@ var Ot = class {
|
|
|
912
937
|
${t ? "" : "\n touch-action: none\n "}
|
|
913
938
|
}
|
|
914
939
|
${e ? "\n img {\n height: auto !important;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n \n width: 100%;\n \n display: block;\n }\n " : ""}
|
|
915
|
-
`,
|
|
940
|
+
`, en = ({ width: e, columnHeight: t, columnWidth: n }) => `
|
|
916
941
|
parsererror {
|
|
917
942
|
display: none !important;
|
|
918
943
|
}
|
|
@@ -976,48 +1001,48 @@ var Ot = class {
|
|
|
976
1001
|
td {
|
|
977
1002
|
max-width: ${n}px;
|
|
978
1003
|
}
|
|
979
|
-
`,
|
|
1004
|
+
`, tn = ({ isUsingVerticalWriting: e, minimumWidth: t, pageHeight: n, pageWidth: r }) => {
|
|
980
1005
|
let i = r - 0, a = n - 0, o = r - 0;
|
|
981
1006
|
return e && (o = t - 0, i = a), {
|
|
982
1007
|
columnHeight: a,
|
|
983
1008
|
columnWidth: i,
|
|
984
1009
|
width: o
|
|
985
1010
|
};
|
|
986
|
-
},
|
|
1011
|
+
}, nn = (e, t) => {
|
|
987
1012
|
B(e.style, "width", `${t.width}px`), B(e.style, "height", `${t.height}px`);
|
|
988
|
-
},
|
|
989
|
-
let d = a * t, f = r
|
|
1013
|
+
}, rn = ({ pageHeight: e, pageWidth: t, frameElement: n, manifest: r, renditionFlow: i, minPageSpread: a, isRTL: o, blankPagePosition: s, isImageType: c, enableTouch: l, isUsingVerticalWriting: u }) => {
|
|
1014
|
+
let d = a * t, f = r.renditionLayout === "reflowable" && i === "scrolled-continuous", p = f ? Math.min(400, e) : e;
|
|
990
1015
|
B(n.style, "width", `${t}px`), f ? V(n.style, "height") : B(n.style, "height", `${p}px`);
|
|
991
|
-
let { viewportDimensions: m, computedScale: h = 1 } =
|
|
1016
|
+
let { viewportDimensions: m, computedScale: h = 1 } = Gt({
|
|
992
1017
|
frameElement: n,
|
|
993
1018
|
pageHeight: p,
|
|
994
1019
|
pageWidth: t
|
|
995
|
-
}) ?? {}, g = r
|
|
1020
|
+
}) ?? {}, g = r.renditionLayout === "pre-paginated";
|
|
996
1021
|
if (n?.contentDocument && n?.contentWindow && n.contentDocument.body) {
|
|
997
1022
|
let e = t, r = p;
|
|
998
|
-
if (m?.hasViewport) H(n, "prose-reader-html-renderer-framce-css",
|
|
1023
|
+
if (m?.hasViewport) H(n, "prose-reader-html-renderer-framce-css", Qt()), nn(n, {
|
|
999
1024
|
width: m.width ?? 1,
|
|
1000
1025
|
height: m.height ?? 1
|
|
1001
1026
|
}), B(n.style, "position", "absolute"), B(n.style, "top", "50%"), B(n.style, "left", s === "before" ? o ? "25%" : "75%" : s === "after" ? o ? "75%" : "25%" : "50%"), B(n.style, "transform", `translate(-50%, -50%) scale(${h})`), B(n.style, "transform-origin", "center center");
|
|
1002
|
-
else if (H(n, "prose-reader-css", c ?
|
|
1027
|
+
else if (H(n, "prose-reader-css", c ? $t({
|
|
1003
1028
|
isScrollable: i === "scrolled-continuous",
|
|
1004
1029
|
enableTouch: l
|
|
1005
|
-
}) :
|
|
1030
|
+
}) : en(tn({
|
|
1006
1031
|
isUsingVerticalWriting: u,
|
|
1007
1032
|
minimumWidth: d,
|
|
1008
1033
|
pageHeight: p,
|
|
1009
1034
|
pageWidth: t
|
|
1010
|
-
})), !0), u) r = Math.ceil(n.contentDocument.documentElement.scrollHeight / p) * p,
|
|
1035
|
+
})), !0), u) r = Math.ceil(n.contentDocument.documentElement.scrollHeight / p) * p, nn(n, {
|
|
1011
1036
|
width: d,
|
|
1012
1037
|
height: r
|
|
1013
1038
|
});
|
|
1014
|
-
else if (i === "scrolled-continuous") r = n.contentDocument.body.scrollHeight,
|
|
1039
|
+
else if (i === "scrolled-continuous") r = n.contentDocument.body.scrollHeight, nn(n, {
|
|
1015
1040
|
width: d,
|
|
1016
1041
|
height: r
|
|
1017
1042
|
});
|
|
1018
1043
|
else {
|
|
1019
1044
|
let i = Math.ceil(n.contentDocument.documentElement.scrollWidth / t);
|
|
1020
|
-
e = g ? t : i * t,
|
|
1045
|
+
e = g ? t : i * t, nn(n, {
|
|
1021
1046
|
width: e,
|
|
1022
1047
|
height: r
|
|
1023
1048
|
});
|
|
@@ -1027,42 +1052,42 @@ var Ot = class {
|
|
|
1027
1052
|
height: r
|
|
1028
1053
|
};
|
|
1029
1054
|
}
|
|
1030
|
-
},
|
|
1055
|
+
}, an = class extends At {
|
|
1031
1056
|
constructor(...e) {
|
|
1032
|
-
super(...e), this.isPrePaginated = () => this.item.renditionLayout === "pre-paginated" || !this.item.renditionLayout && this.context.manifest
|
|
1057
|
+
super(...e), this.isPrePaginated = () => this.item.renditionLayout === "pre-paginated" || !this.item.renditionLayout && this.context.manifest.renditionLayout === "pre-paginated", this.isImageType = () => !!(this.item.mediaType ?? n(this.item.href))?.startsWith("image/");
|
|
1033
1058
|
}
|
|
1034
1059
|
onCreateDocument() {
|
|
1035
|
-
let e =
|
|
1036
|
-
return this.setDocumentContainer(e),
|
|
1060
|
+
let e = Ut();
|
|
1061
|
+
return this.setDocumentContainer(e), D(e);
|
|
1037
1062
|
}
|
|
1038
1063
|
onLoadDocument() {
|
|
1039
1064
|
let e = this.getFrameElement();
|
|
1040
1065
|
if (!e) throw Error("invalid frame");
|
|
1041
|
-
return
|
|
1066
|
+
return D(e).pipe(Ht({
|
|
1042
1067
|
item: this.item,
|
|
1043
1068
|
resourcesHandler: this.resourcesHandler,
|
|
1044
1069
|
settings: this.settings
|
|
1045
|
-
}),
|
|
1070
|
+
}), yt(this.context.bridgeEvent.viewportFree$), N((e) => {
|
|
1046
1071
|
this.prepareFrameForAttach(e), this.attach();
|
|
1047
|
-
}),
|
|
1048
|
-
this.isPrePaginated() ? H(e, "prose-reader-css",
|
|
1049
|
-
}),
|
|
1072
|
+
}), ot, N((e) => {
|
|
1073
|
+
this.isPrePaginated() ? H(e, "prose-reader-css", Wt) : this.isImageType();
|
|
1074
|
+
}), It({
|
|
1050
1075
|
context: this.context,
|
|
1051
1076
|
item: this.item,
|
|
1052
1077
|
settings: this.settings
|
|
1053
|
-
}),
|
|
1078
|
+
}), st, N((e) => {
|
|
1054
1079
|
this.revealFrameAfterReady(e);
|
|
1055
1080
|
}));
|
|
1056
1081
|
}
|
|
1057
1082
|
onUnload() {
|
|
1058
1083
|
let e = this.getFrameElement();
|
|
1059
|
-
|
|
1084
|
+
Lt(e), Vt(e), this.detach();
|
|
1060
1085
|
}
|
|
1061
1086
|
onLayout({ minPageSpread: e, blankPagePosition: t, spreadPosition: n }) {
|
|
1062
1087
|
let { width: r, height: i } = this.viewport.pageSize, a = this.getFrameElement();
|
|
1063
|
-
if (!a) return
|
|
1088
|
+
if (!a) return D(void 0);
|
|
1064
1089
|
let o = this.settings.values.computedPageTurnMode === "scrollable";
|
|
1065
|
-
if (a.contentDocument?.documentElement && (z(a.contentDocument.documentElement, "data-prose-reader-html-renderer-spread-position", n), o ? a.contentDocument?.documentElement.classList.add("prose-reader-html-renderer-touch-enabled") : a.contentDocument?.documentElement.classList.remove("prose-reader-html-renderer-touch-enabled")), this.isPrePaginated()) return
|
|
1090
|
+
if (a.contentDocument?.documentElement && (z(a.contentDocument.documentElement, "data-prose-reader-html-renderer-spread-position", n), o ? a.contentDocument?.documentElement.classList.add("prose-reader-html-renderer-touch-enabled") : a.contentDocument?.documentElement.classList.remove("prose-reader-html-renderer-touch-enabled")), this.isPrePaginated()) return D(Zt({
|
|
1066
1091
|
blankPagePosition: t,
|
|
1067
1092
|
frameElement: a,
|
|
1068
1093
|
isRTL: this.context.isRTL(),
|
|
@@ -1072,12 +1097,12 @@ var Ot = class {
|
|
|
1072
1097
|
spreadPosition: n
|
|
1073
1098
|
}));
|
|
1074
1099
|
let s = !!this.writingMode?.startsWith("vertical"), c = this.isImageType();
|
|
1075
|
-
return
|
|
1100
|
+
return D(rn({
|
|
1076
1101
|
pageHeight: i,
|
|
1077
1102
|
pageWidth: r,
|
|
1078
1103
|
frameElement: a,
|
|
1079
1104
|
manifest: this.context.manifest,
|
|
1080
|
-
renditionFlow: this.item.renditionFlow ?? this.context.manifest
|
|
1105
|
+
renditionFlow: this.item.renditionFlow ?? this.context.manifest.renditionFlow,
|
|
1081
1106
|
blankPagePosition: t,
|
|
1082
1107
|
isUsingVerticalWriting: s,
|
|
1083
1108
|
isRTL: this.context.isRTL(),
|
|
@@ -1087,7 +1112,7 @@ var Ot = class {
|
|
|
1087
1112
|
}));
|
|
1088
1113
|
}
|
|
1089
1114
|
onRenderHeadless() {
|
|
1090
|
-
return S(this.resourcesHandler.fetchResource()).pipe(
|
|
1115
|
+
return S(this.resourcesHandler.fetchResource()).pipe(j((e) => {
|
|
1091
1116
|
if (e instanceof Response) {
|
|
1092
1117
|
let t = e.headers.get("content-type") ?? "";
|
|
1093
1118
|
if ([
|
|
@@ -1097,7 +1122,7 @@ var Ot = class {
|
|
|
1097
1122
|
"text/xml"
|
|
1098
1123
|
].includes(t)) return S(e.text()).pipe(w((e) => new DOMParser().parseFromString(e, t)));
|
|
1099
1124
|
}
|
|
1100
|
-
return
|
|
1125
|
+
return D(void 0);
|
|
1101
1126
|
}));
|
|
1102
1127
|
}
|
|
1103
1128
|
getFrameElement() {
|
|
@@ -1130,14 +1155,14 @@ var Ot = class {
|
|
|
1130
1155
|
getDocumentFrame() {
|
|
1131
1156
|
return this.getFrameElement();
|
|
1132
1157
|
}
|
|
1133
|
-
},
|
|
1158
|
+
}, on = (e) => (t) => {
|
|
1134
1159
|
let n = e({
|
|
1135
1160
|
...t,
|
|
1136
1161
|
getRenderer(e) {
|
|
1137
|
-
return t.getRenderer?.(e) ?? ((e) => new
|
|
1162
|
+
return t.getRenderer?.(e) ?? ((e) => new an(e));
|
|
1138
1163
|
}
|
|
1139
|
-
}), r =
|
|
1140
|
-
return r.pipe(
|
|
1164
|
+
}), r = kt(n);
|
|
1165
|
+
return r.pipe(M(n.$.destroy$)).subscribe(), {
|
|
1141
1166
|
...n,
|
|
1142
1167
|
links$: r
|
|
1143
1168
|
};
|
|
@@ -1149,7 +1174,7 @@ function K(e) {
|
|
|
1149
1174
|
}
|
|
1150
1175
|
//#endregion
|
|
1151
1176
|
//#region src/spineItem/types.ts
|
|
1152
|
-
var
|
|
1177
|
+
var sn = class {
|
|
1153
1178
|
constructor(e) {
|
|
1154
1179
|
this.left = e.left, this.right = e.right, this.top = e.top, this.bottom = e.bottom, this.width = e.width, this.height = e.height, this.x = e.x, this.y = e.y;
|
|
1155
1180
|
}
|
|
@@ -1157,73 +1182,73 @@ var un = class {
|
|
|
1157
1182
|
constructor(e) {
|
|
1158
1183
|
this.__symbol = Symbol("SpineItemPosition"), this.x = e.x, this.y = e.y;
|
|
1159
1184
|
}
|
|
1160
|
-
},
|
|
1185
|
+
}, cn = class {
|
|
1161
1186
|
constructor(e) {
|
|
1162
1187
|
this.__symbol = Symbol("SpineItemPagePosition"), this.x = e.x, this.y = e.y;
|
|
1163
1188
|
}
|
|
1164
|
-
},
|
|
1189
|
+
}, ln = class extends sn {
|
|
1165
1190
|
constructor(...e) {
|
|
1166
1191
|
super(...e), this.__symbol = "SpineItemPageLayout";
|
|
1167
1192
|
}
|
|
1168
|
-
},
|
|
1193
|
+
}, un = class extends sn {
|
|
1169
1194
|
constructor(...e) {
|
|
1170
1195
|
super(...e), this.__symbol = "SpineItemSpineLayout";
|
|
1171
1196
|
}
|
|
1172
|
-
},
|
|
1197
|
+
}, dn = class extends sn {
|
|
1173
1198
|
constructor(...e) {
|
|
1174
1199
|
super(...e), this.__symbol = "SpineItemPageSpineLayout";
|
|
1175
1200
|
}
|
|
1176
|
-
},
|
|
1201
|
+
}, fn = class {
|
|
1177
1202
|
constructor(e) {
|
|
1178
1203
|
this.x = e.x, this.y = e.y;
|
|
1179
1204
|
}
|
|
1180
|
-
}, J = class e extends
|
|
1205
|
+
}, J = class e extends fn {
|
|
1181
1206
|
constructor(...e) {
|
|
1182
1207
|
super(...e), this.__symbol = "SpinePosition";
|
|
1183
1208
|
}
|
|
1184
1209
|
static from(t) {
|
|
1185
1210
|
return new e(t);
|
|
1186
1211
|
}
|
|
1187
|
-
}, Y = class e extends
|
|
1212
|
+
}, Y = class e extends fn {
|
|
1188
1213
|
constructor(...e) {
|
|
1189
1214
|
super(...e), this.__symbol = "UnboundSpinePosition";
|
|
1190
1215
|
}
|
|
1191
1216
|
static from(t) {
|
|
1192
1217
|
return new e(t);
|
|
1193
1218
|
}
|
|
1194
|
-
},
|
|
1219
|
+
}, pn = (e, t) => {
|
|
1195
1220
|
let n = t.getBoundingClientRect(), { x: r, y: i } = e, { left: a, top: o } = n, s = n.width / t.offsetWidth, c = n.height / t.offsetHeight, l = r - a, u = i - o;
|
|
1196
1221
|
return {
|
|
1197
1222
|
x: l / s,
|
|
1198
1223
|
y: u / c
|
|
1199
1224
|
};
|
|
1200
|
-
},
|
|
1225
|
+
}, mn = (e, t) => new Y(pn(e, t)), hn = (e) => ({ getSpinePositionFromClientPosition: (t) => e.spine.element ? mn(t, e.spine.element) : void 0 }), gn = (e) => {
|
|
1201
1226
|
let t, n = e.context.watch("rootElement").pipe(F((e) => e ? new f(() => (t = e.ownerDocument.createElement("div"), t.style.cssText = "\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n visibility: hidden;\n ", e.appendChild(t), () => {
|
|
1202
1227
|
t?.remove(), t = void 0;
|
|
1203
|
-
})) : d)), r = (e) =>
|
|
1228
|
+
})) : d)), r = (e) => de(e, h).pipe(L(() => {
|
|
1204
1229
|
t && B(t.style, "visibility", "hidden");
|
|
1205
1230
|
})), i = e.context.bridgeEvent.viewportBusy$.pipe(L(() => {
|
|
1206
1231
|
t && B(t.style, "visibility", "visible");
|
|
1207
|
-
})), a = r(e.viewportFree$).pipe(
|
|
1208
|
-
return T(n, e.settings.values$.pipe(
|
|
1209
|
-
},
|
|
1232
|
+
})), a = r(e.viewportFree$).pipe(Oe(1));
|
|
1233
|
+
return T(n, e.settings.values$.pipe(Se(() => e.settings.values.computedPageTurnMode), ye()).pipe(F((e) => e === "controlled" ? i.pipe(F(() => a)) : r(D(void 0))), I(e.$.destroy$)));
|
|
1234
|
+
}, _n = "@prose-reader/core", vn = 0, yn = 200, X = "prose-reader", bn = `${X}-style`, xn = `data-${X}-id`, Sn = `${X}-viewport`, Cn = `${X}-scroll-navigator`, wn = `${X}-spine-item`, Tn = `--${X}-absolute-viewport-width`, En = `--${X}-absolute-viewport-height`, Dn = `${X}-enhancer-loading`, On = `${Dn}-container`, kn = `${Dn}-logo`, An = `${Dn}-details`, jn = ({ container: e, item: t }) => {
|
|
1210
1235
|
let n = e.ownerDocument.createElement("div");
|
|
1211
|
-
n.classList.add(
|
|
1236
|
+
n.classList.add(On);
|
|
1212
1237
|
let r = n.ownerDocument.createElement("div");
|
|
1213
|
-
r.classList.add(
|
|
1238
|
+
r.classList.add(kn), r.innerText = "prose";
|
|
1214
1239
|
let i = n.ownerDocument.createElement("div");
|
|
1215
|
-
return i.classList.add(
|
|
1216
|
-
},
|
|
1217
|
-
B(e.style, "color",
|
|
1218
|
-
},
|
|
1240
|
+
return i.classList.add(An), i.setAttribute("data-details-element", "true"), i.innerText = `loading ${t.id}`, n.appendChild(r), n.appendChild(i), n;
|
|
1241
|
+
}, Mn = (e) => e === "sepia" ? "#939393" : "rgb(202, 202, 202)", Nn = ({ loadingElement: e, theme: t }) => {
|
|
1242
|
+
B(e.style, "color", Mn(t));
|
|
1243
|
+
}, Pn = (e) => {
|
|
1219
1244
|
let t = /* @__PURE__ */ new WeakMap();
|
|
1220
1245
|
return e.hookManager.register("item.onBeforeContainerAttach", ({ element: n, item: r }) => {
|
|
1221
1246
|
B(n.style, "z-index", "0");
|
|
1222
|
-
let i =
|
|
1247
|
+
let i = jn({
|
|
1223
1248
|
container: n,
|
|
1224
1249
|
item: r
|
|
1225
1250
|
});
|
|
1226
|
-
|
|
1251
|
+
Nn({
|
|
1227
1252
|
loadingElement: i,
|
|
1228
1253
|
theme: e.theme.get()
|
|
1229
1254
|
}), t.set(n, i), n.appendChild(i);
|
|
@@ -1232,31 +1257,31 @@ var un = class {
|
|
|
1232
1257
|
let i = t.get(e.containerElement);
|
|
1233
1258
|
if (!i) return;
|
|
1234
1259
|
let a = i.querySelector("[data-details-element]");
|
|
1235
|
-
a instanceof HTMLElement &&
|
|
1260
|
+
a instanceof HTMLElement && Ie(a, "innerText", r?.toString() ?? "Unknown error");
|
|
1236
1261
|
})), e.theme.$.theme$.pipe(L((n) => {
|
|
1237
1262
|
for (let r of e.spineItemsManager.items) {
|
|
1238
1263
|
let e = t.get(r.containerElement);
|
|
1239
|
-
e &&
|
|
1264
|
+
e && Nn({
|
|
1240
1265
|
loadingElement: e,
|
|
1241
1266
|
theme: n
|
|
1242
1267
|
});
|
|
1243
1268
|
}
|
|
1244
1269
|
})));
|
|
1245
|
-
},
|
|
1270
|
+
}, Fn = (e) => {
|
|
1246
1271
|
e.hookManager.register("item.onDocumentLoad", async ({ itemId: t }) => {
|
|
1247
1272
|
let n = e.spineItemsManager.get(t)?.renderer.getDocumentFrame();
|
|
1248
1273
|
n && z(n, "scrolling", "no");
|
|
1249
1274
|
});
|
|
1250
|
-
},
|
|
1275
|
+
}, In = (e) => {
|
|
1251
1276
|
e.hookManager.register("item.onAfterLayout", ({ item: t, blankPagePosition: n, minimumWidth: r }) => {
|
|
1252
1277
|
let i = e.spineItemsManager.get(t.id), a = i?.renderer.getDocumentFrame();
|
|
1253
1278
|
if (i?.renditionLayout !== "reflowable" || !(a instanceof HTMLIFrameElement)) return;
|
|
1254
|
-
let { hasViewport: o } =
|
|
1279
|
+
let { hasViewport: o } = at(a), { width: s } = e.viewport.pageSize, c = i?.renderer.getDocumentFrame();
|
|
1255
1280
|
o && n === "none" && s < r && c instanceof HTMLIFrameElement && B(c.style, "left", e.context.isRTL() ? "75%" : "25%");
|
|
1256
1281
|
});
|
|
1257
|
-
},
|
|
1282
|
+
}, Ln = (e) => e.spineItemsObserver.states$.pipe(N(({ item: e, isReady: t, isDirty: n }) => {
|
|
1258
1283
|
e.containerElement.dataset.isDirty = n.toString(), e.containerElement.dataset.isReady = t.toString();
|
|
1259
|
-
})),
|
|
1284
|
+
})), Rn = class extends Tt {
|
|
1260
1285
|
computeOutputSettings(e) {
|
|
1261
1286
|
return e;
|
|
1262
1287
|
}
|
|
@@ -1275,20 +1300,20 @@ var un = class {
|
|
|
1275
1300
|
layoutLayerTransition: !0
|
|
1276
1301
|
};
|
|
1277
1302
|
}
|
|
1278
|
-
},
|
|
1303
|
+
}, zn = ({ manifest: e, spreadMode: t }) => e.renditionFlow !== "scrolled-continuous" && t, Bn = (e) => e === void 0 || e === "auto" || e === "landscape" || e === "both", Vn = ({ manifest: e, viewport: t }) => {
|
|
1279
1304
|
let n = t.width > t.height;
|
|
1280
|
-
return !!(!n && e
|
|
1281
|
-
},
|
|
1305
|
+
return !!(!n && e.renditionSpread === "portrait" || n && Bn(e.renditionSpread));
|
|
1306
|
+
}, Hn = ({ manifest: e, viewport: t }) => zn({
|
|
1282
1307
|
manifest: e,
|
|
1283
|
-
spreadMode:
|
|
1308
|
+
spreadMode: Vn({
|
|
1284
1309
|
manifest: e,
|
|
1285
1310
|
viewport: t
|
|
1286
1311
|
})
|
|
1287
|
-
}),
|
|
1312
|
+
}), Un = (e) => v([e.viewport.watch(["width", "height"]), e.context.watch("manifest")]).pipe(N(([t, n]) => e.settings.update({ spreadMode: Vn({
|
|
1288
1313
|
manifest: n,
|
|
1289
1314
|
viewport: t
|
|
1290
|
-
}) }))),
|
|
1291
|
-
let { pageHorizontalMargin: r, pageVerticalMargin: i, layoutAutoResize: a, layoutLayerTransition: o } = t, s = e(t), c = new
|
|
1315
|
+
}) }))), Wn = (e) => (t) => {
|
|
1316
|
+
let { pageHorizontalMargin: r, pageVerticalMargin: i, layoutAutoResize: a, layoutLayerTransition: o } = t, s = e(t), c = new Rn({
|
|
1292
1317
|
pageHorizontalMargin: r,
|
|
1293
1318
|
pageVerticalMargin: i,
|
|
1294
1319
|
layoutAutoResize: a,
|
|
@@ -1328,26 +1353,26 @@ var un = class {
|
|
|
1328
1353
|
}
|
|
1329
1354
|
`);
|
|
1330
1355
|
}
|
|
1331
|
-
}),
|
|
1356
|
+
}), In(s), Fn(s), s.hookManager.register("item.onDocumentCreated", ({ documentContainer: e }) => {
|
|
1332
1357
|
B(e.style, "opacity", "0"), c.values.layoutLayerTransition && B(e.style, "transition", "opacity 800ms");
|
|
1333
1358
|
}), s.hookManager.register("item.onBeforeLayout", ({ item: e }) => {
|
|
1334
1359
|
let t = s.spineItemsManager.get(e.id)?.renderer.documentContainer;
|
|
1335
1360
|
s.settings.values.computedPageTurnMode !== "scrollable" && t && z(t, "tab-index", "0");
|
|
1336
1361
|
});
|
|
1337
|
-
let l = s.spineItemsObserver.states$.pipe(
|
|
1362
|
+
let l = s.spineItemsObserver.states$.pipe(be(({ isReady: e }) => e), L(({ item: e }) => {
|
|
1338
1363
|
let t = e.renderer.documentContainer;
|
|
1339
1364
|
t && B(t.style, "opacity", "1");
|
|
1340
|
-
})), u = c.values$.pipe(
|
|
1365
|
+
})), u = c.values$.pipe(be(({ layoutAutoResize: e }) => e === "container"), F(() => s.context.watch("rootElement")), be(K), F((e) => vt(e)), ve(100), be(K), L(() => {
|
|
1341
1366
|
s?.layout();
|
|
1342
|
-
})), d =
|
|
1343
|
-
c.watch(["pageHorizontalMargin", "pageVerticalMargin"]).pipe(
|
|
1367
|
+
})), d = gn(s);
|
|
1368
|
+
c.watch(["pageHorizontalMargin", "pageVerticalMargin"]).pipe(Ee(1), L(() => {
|
|
1344
1369
|
s.layout();
|
|
1345
1370
|
}), I(s.$.destroy$)).subscribe();
|
|
1346
|
-
let f = s.spine.pages.pipe(
|
|
1371
|
+
let f = s.spine.pages.pipe(Te({
|
|
1347
1372
|
refCount: !0,
|
|
1348
1373
|
bufferSize: 1
|
|
1349
1374
|
}));
|
|
1350
|
-
return T(l, d, u, f,
|
|
1375
|
+
return T(l, d, u, f, Ln(s), Un(s), Pn(s)).pipe(I(s.$.destroy$)).subscribe(), {
|
|
1351
1376
|
...s,
|
|
1352
1377
|
destroy: () => {
|
|
1353
1378
|
c.destroy(), s.destroy();
|
|
@@ -1355,9 +1380,9 @@ var un = class {
|
|
|
1355
1380
|
settings: c,
|
|
1356
1381
|
layout$: s.spine.layout$,
|
|
1357
1382
|
layoutInfo$: f,
|
|
1358
|
-
coordinates:
|
|
1383
|
+
coordinates: hn(s)
|
|
1359
1384
|
};
|
|
1360
|
-
},
|
|
1385
|
+
}, Gn = (e) => (t) => {
|
|
1361
1386
|
let n = e(t), r = new IntersectionObserver((e) => {
|
|
1362
1387
|
e.forEach((e) => {
|
|
1363
1388
|
let t = e.target, n = Array.from(t.contentDocument?.body.getElementsByTagName("audio") || []);
|
|
@@ -1386,7 +1411,7 @@ var un = class {
|
|
|
1386
1411
|
e();
|
|
1387
1412
|
});
|
|
1388
1413
|
});
|
|
1389
|
-
}), n.hookManager.register("item.onDocumentUnload",
|
|
1414
|
+
}), n.hookManager.register("item.onDocumentUnload", ({ itemId: e }) => {
|
|
1390
1415
|
a.get(e)?.(), a.delete(e);
|
|
1391
1416
|
});
|
|
1392
1417
|
let o = () => {
|
|
@@ -1396,14 +1421,14 @@ var un = class {
|
|
|
1396
1421
|
...n,
|
|
1397
1422
|
destroy: o
|
|
1398
1423
|
};
|
|
1399
|
-
},
|
|
1424
|
+
}, Kn = (e) => (t) => t.pipe(j((t) => e.pipe(b((e) => e === "free"), x(), w(() => t)))), qn = ({ navigation$: e, navigationState$: t }) => e.pipe(Kn(t)), Jn = (e) => qn(e).pipe(fe(1)), Yn = (e) => (t) => t.pipe(M(Jn(e))), Xn = (e) => e.navigation.navigation$.pipe(b((e) => e.triggeredBy === "user"), Kn(e.navigation.navigationState$), w((t) => {
|
|
1400
1425
|
let n = t.requestedPosition, r = t.requestedVisibleArea;
|
|
1401
1426
|
return n && r ? e.navigation.navigationResolver.getBoundaryForPosition(n, r) : void 0;
|
|
1402
|
-
}), b((e) => e !== void 0), w((e) => ({ boundary: e })),
|
|
1403
|
-
if (!
|
|
1427
|
+
}), b((e) => e !== void 0), w((e) => ({ boundary: e })), O()), Zn = (e, t) => e.links$.pipe(N((n) => {
|
|
1428
|
+
if (!Ze(n.target, "a") || n.type !== "click") return;
|
|
1404
1429
|
let r = new URL(n.target.href), i = `${r.origin}${r.pathname}`;
|
|
1405
|
-
e.context.manifest
|
|
1406
|
-
})), Z = R.namespace("navigation"),
|
|
1430
|
+
e.context.manifest.spineItems.some((e) => e.href === i) && t.goToUrl(r);
|
|
1431
|
+
})), Z = R.namespace("navigation"), Qn = ({ position: e, spineItem: t, pageHeight: n, pageWidth: r, spineItemLocator: i }) => {
|
|
1407
1432
|
let a = new q({
|
|
1408
1433
|
x: e.x - r,
|
|
1409
1434
|
y: e.y
|
|
@@ -1412,10 +1437,10 @@ var un = class {
|
|
|
1412
1437
|
x: e.x,
|
|
1413
1438
|
y: e.y + n
|
|
1414
1439
|
})), i.getSpineItemClosestPositionFromUnsafePosition(a, t);
|
|
1415
|
-
},
|
|
1440
|
+
}, $n = ({ position: e, navigationResolver: t, computedPageTurnDirection: n, spineItemsManager: r, spineLocator: i, viewport: a }) => {
|
|
1416
1441
|
let o = n, s = i.getSpineItemFromPosition(e) || r.get(0), c = e;
|
|
1417
1442
|
if (!s) return c;
|
|
1418
|
-
let l = i.getSpineItemPositionFromSpinePosition(e, s), u =
|
|
1443
|
+
let l = i.getSpineItemPositionFromSpinePosition(e, s), u = Qn({
|
|
1419
1444
|
position: l,
|
|
1420
1445
|
spineItem: s,
|
|
1421
1446
|
pageHeight: a.pageSize.height,
|
|
@@ -1432,12 +1457,12 @@ var un = class {
|
|
|
1432
1457
|
y: e.y - a.pageSize.height,
|
|
1433
1458
|
x: 0
|
|
1434
1459
|
});
|
|
1435
|
-
},
|
|
1460
|
+
}, er = ({ position: e, spineItem: t, context: n, navigationResolver: r, spineItemsManager: i, spineLocator: a, computedPageTurnDirection: o, viewport: s, settings: c }) => {
|
|
1436
1461
|
if (c.values.computedPageTurnMode === "scrollable" && o === "vertical") return new Y({
|
|
1437
1462
|
x: e.x,
|
|
1438
1463
|
y: e.y - s.pageSize.height
|
|
1439
1464
|
});
|
|
1440
|
-
let l =
|
|
1465
|
+
let l = $n({
|
|
1441
1466
|
position: e,
|
|
1442
1467
|
viewport: s,
|
|
1443
1468
|
navigationResolver: r,
|
|
@@ -1455,7 +1480,7 @@ var un = class {
|
|
|
1455
1480
|
y: l.y
|
|
1456
1481
|
}));
|
|
1457
1482
|
if (o === "vertical" && e.y !== l.y) return r.getAdjustedPositionForSpread(l);
|
|
1458
|
-
let c =
|
|
1483
|
+
let c = $n({
|
|
1459
1484
|
position: l,
|
|
1460
1485
|
viewport: s,
|
|
1461
1486
|
navigationResolver: r,
|
|
@@ -1466,7 +1491,7 @@ var un = class {
|
|
|
1466
1491
|
return r.getAdjustedPositionForSpread(c);
|
|
1467
1492
|
}
|
|
1468
1493
|
return r.getAdjustedPositionForSpread(l);
|
|
1469
|
-
},
|
|
1494
|
+
}, tr = ({ position: e, spineItem: t, pageHeight: n, pageWidth: r, spineItemLocator: i }) => {
|
|
1470
1495
|
let a = new q({
|
|
1471
1496
|
x: e.x + r,
|
|
1472
1497
|
y: e.y
|
|
@@ -1475,10 +1500,10 @@ var un = class {
|
|
|
1475
1500
|
x: e.x,
|
|
1476
1501
|
y: e.y - n
|
|
1477
1502
|
})), i.getSpineItemClosestPositionFromUnsafePosition(a, t);
|
|
1478
|
-
},
|
|
1503
|
+
}, nr = ({ position: e, navigationResolver: t, computedPageTurnDirection: n, spineItemsManager: r, spineLocator: i, viewport: a }) => {
|
|
1479
1504
|
let o = n, s = i.getSpineItemFromPosition(e) || r.get(0), c = e;
|
|
1480
1505
|
if (!s) return c;
|
|
1481
|
-
let l = i.getSpineItemPositionFromSpinePosition(e, s), u =
|
|
1506
|
+
let l = i.getSpineItemPositionFromSpinePosition(e, s), u = tr({
|
|
1482
1507
|
position: l,
|
|
1483
1508
|
spineItem: s,
|
|
1484
1509
|
pageHeight: a.pageSize.height,
|
|
@@ -1495,12 +1520,12 @@ var un = class {
|
|
|
1495
1520
|
y: e.y + a.pageSize.height,
|
|
1496
1521
|
x: 0
|
|
1497
1522
|
});
|
|
1498
|
-
},
|
|
1523
|
+
}, rr = ({ position: e, spineItem: t, context: n, navigationResolver: r, spineItemsManager: i, spineLocator: a, computedPageTurnDirection: o, viewport: s, settings: c }) => {
|
|
1499
1524
|
if (c.values.computedPageTurnMode === "scrollable" && o === "vertical") return new Y({
|
|
1500
1525
|
x: e.x,
|
|
1501
1526
|
y: e.y + s.pageSize.height
|
|
1502
1527
|
});
|
|
1503
|
-
let l =
|
|
1528
|
+
let l = nr({
|
|
1504
1529
|
position: e,
|
|
1505
1530
|
viewport: s,
|
|
1506
1531
|
navigationResolver: r,
|
|
@@ -1518,7 +1543,7 @@ var un = class {
|
|
|
1518
1543
|
y: l.y
|
|
1519
1544
|
}));
|
|
1520
1545
|
if (o === "vertical" && e.y !== l.y) return r.getAdjustedPositionForSpread(l);
|
|
1521
|
-
let c =
|
|
1546
|
+
let c = nr({
|
|
1522
1547
|
position: l,
|
|
1523
1548
|
viewport: s,
|
|
1524
1549
|
navigationResolver: r,
|
|
@@ -1529,7 +1554,7 @@ var un = class {
|
|
|
1529
1554
|
return r.getAdjustedPositionForSpread(c);
|
|
1530
1555
|
}
|
|
1531
1556
|
return r.getAdjustedPositionForSpread(l);
|
|
1532
|
-
},
|
|
1557
|
+
}, ir = class {
|
|
1533
1558
|
constructor(e) {
|
|
1534
1559
|
this.reader = e, this.movingLastDelta = {
|
|
1535
1560
|
x: 0,
|
|
@@ -1554,7 +1579,7 @@ var un = class {
|
|
|
1554
1579
|
turnRightOrBottom() {
|
|
1555
1580
|
let e = this.reader.navigation.getNavigation(), t = this.reader.spineItemsManager.get(e.spineItem);
|
|
1556
1581
|
if (!t) return;
|
|
1557
|
-
let n =
|
|
1582
|
+
let n = rr({
|
|
1558
1583
|
context: this.reader.context,
|
|
1559
1584
|
navigationResolver: this.reader.navigation.navigationResolver,
|
|
1560
1585
|
position: e.position,
|
|
@@ -1570,7 +1595,7 @@ var un = class {
|
|
|
1570
1595
|
turnLeftOrTop() {
|
|
1571
1596
|
let e = this.reader.navigation.getNavigation(), t = this.reader.spineItemsManager.get(e.spineItem);
|
|
1572
1597
|
if (!t) return;
|
|
1573
|
-
let n =
|
|
1598
|
+
let n = er({
|
|
1574
1599
|
context: this.reader.context,
|
|
1575
1600
|
navigationResolver: this.reader.navigation.navigationResolver,
|
|
1576
1601
|
position: e.position,
|
|
@@ -1692,7 +1717,7 @@ var un = class {
|
|
|
1692
1717
|
});
|
|
1693
1718
|
}
|
|
1694
1719
|
}
|
|
1695
|
-
},
|
|
1720
|
+
}, ar = class extends U {
|
|
1696
1721
|
constructor(e) {
|
|
1697
1722
|
super({
|
|
1698
1723
|
lastDelta: {
|
|
@@ -1750,11 +1775,11 @@ var un = class {
|
|
|
1750
1775
|
destroy() {
|
|
1751
1776
|
this.isDestroyed || (this.isDestroyed = !0, this.destroySubject.next(), this.destroySubject.complete());
|
|
1752
1777
|
}
|
|
1753
|
-
},
|
|
1778
|
+
}, or = 500, sr = class extends Q {
|
|
1754
1779
|
constructor(e, t) {
|
|
1755
1780
|
super(), this.scrollNavigationController = e, this.lock = t, this.navigationSubject = new m(), this.navigation$ = this.navigationSubject.asObservable(), T(this.scrollNavigationController.userScroll$.pipe(se((e) => {
|
|
1756
1781
|
let t = this.lock();
|
|
1757
|
-
return T(this.scrollNavigationController.userScroll$,
|
|
1782
|
+
return T(this.scrollNavigationController.userScroll$, D(e)).pipe(ne(or, h), x(), N(() => {
|
|
1758
1783
|
let e = this.scrollNavigationController.fromScrollPosition(this.scrollNavigationController.scrollPosition);
|
|
1759
1784
|
this.navigationSubject.next({
|
|
1760
1785
|
animation: !1,
|
|
@@ -1764,48 +1789,47 @@ var un = class {
|
|
|
1764
1789
|
}), ce(() => {
|
|
1765
1790
|
t();
|
|
1766
1791
|
}));
|
|
1767
|
-
}))).pipe(
|
|
1792
|
+
}))).pipe(M(this.destroy$)).subscribe();
|
|
1768
1793
|
}
|
|
1769
|
-
},
|
|
1770
|
-
let i =
|
|
1794
|
+
}, cr = (e) => e.pagination.state$.pipe(P(e.settings.values$), w(([t, { computedPageTurnDirection: n }]) => {
|
|
1795
|
+
let { spineItems: r, readingDirection: i } = e.context.manifest, a = r.length ?? 0, o = t.beginSpineItemIndex === 0, s = t.endSpineItemIndex === Math.max(a - 1, 0), c = t.endSpineItemIndex === Math.max(a - 1, 0), l = t.beginSpineItemIndex === 0, u = t.beginPageIndexInSpineItem === 0, d = t.endPageIndexInSpineItem === t.endNumberOfPagesInSpineItem - 1;
|
|
1771
1796
|
return {
|
|
1772
|
-
canTurnLeft:
|
|
1773
|
-
canTurnRight:
|
|
1774
|
-
canGoTopSpineItem:
|
|
1775
|
-
canGoBottomSpineItem:
|
|
1776
|
-
canGoLeftSpineItem:
|
|
1777
|
-
canGoRightSpineItem:
|
|
1797
|
+
canTurnLeft: n !== "vertical" && !u,
|
|
1798
|
+
canTurnRight: n !== "vertical" && !d,
|
|
1799
|
+
canGoTopSpineItem: n === "vertical" && !o,
|
|
1800
|
+
canGoBottomSpineItem: n === "vertical" && !s,
|
|
1801
|
+
canGoLeftSpineItem: n !== "vertical" && (i === "ltr" && !o || i === "rtl" && !c),
|
|
1802
|
+
canGoRightSpineItem: n !== "vertical" && (i === "ltr" && !s || i === "rtl" && !l)
|
|
1778
1803
|
};
|
|
1779
|
-
}), y(a)),
|
|
1804
|
+
}), y(a)), lr = ({ reader: e, duration: t }) => (n) => {
|
|
1780
1805
|
let r, i = () => {
|
|
1781
1806
|
r?.(), r = void 0;
|
|
1782
1807
|
};
|
|
1783
|
-
return n.pipe(
|
|
1808
|
+
return n.pipe(N(() => {
|
|
1784
1809
|
r ||= e?.navigation.lock();
|
|
1785
|
-
}),
|
|
1810
|
+
}), he(t, void 0, {
|
|
1786
1811
|
trailing: !0,
|
|
1787
1812
|
leading: !0
|
|
1788
|
-
}),
|
|
1789
|
-
},
|
|
1790
|
-
let n = e(t), r =
|
|
1791
|
-
T(
|
|
1813
|
+
}), N(i), ce(i));
|
|
1814
|
+
}, ur = (e) => (t) => {
|
|
1815
|
+
let n = e(t), r = cr(n), i = Xn(n), a = new ir(n), o = new ar(n), s = new sr(n.navigation.scrollNavigationController, n.navigation.lock);
|
|
1816
|
+
T(Zn(n, a), s.navigation$.pipe(N((e) => {
|
|
1792
1817
|
n.navigation.navigate(e);
|
|
1793
|
-
}))).pipe(
|
|
1818
|
+
}))).pipe(M(n.$.destroy$)).subscribe();
|
|
1794
1819
|
let c = (e) => {
|
|
1795
|
-
|
|
1796
|
-
n.load(r), t && a.goToCfi(t, { animate: !1 });
|
|
1820
|
+
n.mount(e), t.cfi && a.goToCfi(t.cfi, { animate: !1 });
|
|
1797
1821
|
}, l = () => {
|
|
1798
1822
|
s.destroy(), n.destroy();
|
|
1799
1823
|
};
|
|
1800
1824
|
return {
|
|
1801
1825
|
...n,
|
|
1802
|
-
|
|
1826
|
+
mount: c,
|
|
1803
1827
|
destroy: l,
|
|
1804
1828
|
navigation: {
|
|
1805
1829
|
...n.navigation,
|
|
1806
1830
|
state$: r,
|
|
1807
1831
|
outOfSpineBoundary$: i,
|
|
1808
|
-
throttleLock: ({ duration: e, trigger: t }) => t.pipe(
|
|
1832
|
+
throttleLock: ({ duration: e, trigger: t }) => t.pipe(lr({
|
|
1809
1833
|
duration: e,
|
|
1810
1834
|
reader: n
|
|
1811
1835
|
})),
|
|
@@ -1831,7 +1855,7 @@ var un = class {
|
|
|
1831
1855
|
goToAbsolutePageIndex: a.goToAbsolutePageIndex.bind(a)
|
|
1832
1856
|
}
|
|
1833
1857
|
};
|
|
1834
|
-
},
|
|
1858
|
+
}, dr = (e, t) => {
|
|
1835
1859
|
if ("cfi" in t) {
|
|
1836
1860
|
let { itemIndex: n, ...r } = e.cfi.parseCfi(t.cfi);
|
|
1837
1861
|
return {
|
|
@@ -1850,9 +1874,9 @@ var un = class {
|
|
|
1850
1874
|
itemIndex: n.index,
|
|
1851
1875
|
node: null
|
|
1852
1876
|
};
|
|
1853
|
-
},
|
|
1877
|
+
}, fr = (e, t) => {
|
|
1854
1878
|
let n = e?.itemPageIndex, { itemIndex: r, ...i } = t.cfi.parseCfi(e.cfi), a = t.spineItemsManager.get(r);
|
|
1855
|
-
return a ?
|
|
1879
|
+
return a ? xt().pipe(P(a.isReady$), w(([, o]) => {
|
|
1856
1880
|
let { node: s = null, offset: c, range: l } = o ? t.cfi.resolveCfi({ cfi: e.cfi }) : {};
|
|
1857
1881
|
a.renditionLayout !== "pre-paginated" && s && (n = t.spine.locator.spineItemLocator.getSpineItemPageIndexFromNode(s, c ?? 0, a) ?? n);
|
|
1858
1882
|
let u = e?.absolutePageIndex;
|
|
@@ -1869,12 +1893,12 @@ var un = class {
|
|
|
1869
1893
|
absolutePageIndex: u,
|
|
1870
1894
|
itemPageIndex: n
|
|
1871
1895
|
};
|
|
1872
|
-
})) :
|
|
1896
|
+
})) : D({
|
|
1873
1897
|
...e,
|
|
1874
1898
|
itemIndex: r,
|
|
1875
1899
|
...i
|
|
1876
1900
|
});
|
|
1877
|
-
},
|
|
1901
|
+
}, pr = class {
|
|
1878
1902
|
constructor(e) {
|
|
1879
1903
|
this.reader = e, this.locatorsByKey = /* @__PURE__ */ new Map(), this.deregisterMemoizedStream = (e) => {
|
|
1880
1904
|
let t = this.locatorsByKey.get(e);
|
|
@@ -1882,9 +1906,9 @@ var un = class {
|
|
|
1882
1906
|
}, this.locate = (e, t) => {
|
|
1883
1907
|
let n = {
|
|
1884
1908
|
resource: e,
|
|
1885
|
-
meta:
|
|
1909
|
+
meta: dr(this.reader, e)
|
|
1886
1910
|
};
|
|
1887
|
-
return
|
|
1911
|
+
return St(() => {
|
|
1888
1912
|
let r = this.reader.spineItemsManager.get(n.meta.itemIndex ?? 0), i = r?.renditionLayout === "reflowable", a = t.mode === "shallow" || !i || !r ? () => {} : this.reader.spine.spineItemsLoader.forceOpen([r.index]), o = "cfi" in e ? e.cfi : void 0, s = o ? this.locatorsByKey.get(o) : void 0, c = (e) => e.pipe(ce(() => {
|
|
1889
1913
|
o && this.deregisterMemoizedStream(o), setTimeout(() => {
|
|
1890
1914
|
a();
|
|
@@ -1894,10 +1918,10 @@ var un = class {
|
|
|
1894
1918
|
resource: e,
|
|
1895
1919
|
meta: t
|
|
1896
1920
|
}))));
|
|
1897
|
-
let l = this.reader.spine.layout$.pipe(ne(10),
|
|
1921
|
+
let l = this.reader.spine.layout$.pipe(ne(10), A(n), pe((e) => fr(e.meta, this.reader).pipe(w((t) => ({
|
|
1898
1922
|
...e,
|
|
1899
1923
|
meta: t
|
|
1900
|
-
}))), n),
|
|
1924
|
+
}))), n), k({
|
|
1901
1925
|
refCount: !0,
|
|
1902
1926
|
bufferSize: 1
|
|
1903
1927
|
}));
|
|
@@ -1909,9 +1933,9 @@ var un = class {
|
|
|
1909
1933
|
};
|
|
1910
1934
|
}
|
|
1911
1935
|
locateResource(e, t) {
|
|
1912
|
-
return Array.isArray(e) ?
|
|
1936
|
+
return Array.isArray(e) ? St(() => v(e.map((e) => this.locate(e, t ?? {}))).pipe(re([]))) : this.locate(e, t ?? {});
|
|
1913
1937
|
}
|
|
1914
|
-
},
|
|
1938
|
+
}, mr = R.namespace("spine"), hr = ({ position: e, pageSize: t }) => new dn({
|
|
1915
1939
|
...e,
|
|
1916
1940
|
left: e.x,
|
|
1917
1941
|
top: e.y,
|
|
@@ -1919,7 +1943,7 @@ var un = class {
|
|
|
1919
1943
|
height: t.height,
|
|
1920
1944
|
bottom: e.y + t.height,
|
|
1921
1945
|
right: e.x + t.width
|
|
1922
|
-
}),
|
|
1946
|
+
}), gr = 10, _r = (e) => {
|
|
1923
1947
|
let { spineItem: t, ...n } = e;
|
|
1924
1948
|
if (!e.spineItem.value.isLoaded) return {
|
|
1925
1949
|
...n,
|
|
@@ -1931,9 +1955,9 @@ var un = class {
|
|
|
1931
1955
|
firstVisibleNode: void 0
|
|
1932
1956
|
} : {
|
|
1933
1957
|
...n,
|
|
1934
|
-
firstVisibleNode:
|
|
1958
|
+
firstVisibleNode: Re(r, e.layout)
|
|
1935
1959
|
};
|
|
1936
|
-
},
|
|
1960
|
+
}, vr = (e) => new f((t) => {
|
|
1937
1961
|
if (e.length === 0) {
|
|
1938
1962
|
t.next([]), t.complete();
|
|
1939
1963
|
return;
|
|
@@ -1943,13 +1967,13 @@ var un = class {
|
|
|
1943
1967
|
}, o = () => {
|
|
1944
1968
|
n = void 0;
|
|
1945
1969
|
let a = 0;
|
|
1946
|
-
for (; r < e.length && a <
|
|
1970
|
+
for (; r < e.length && a < gr;) {
|
|
1947
1971
|
let t = e[r];
|
|
1948
1972
|
if (!t) {
|
|
1949
1973
|
r = e.length;
|
|
1950
1974
|
break;
|
|
1951
1975
|
}
|
|
1952
|
-
i[r] =
|
|
1976
|
+
i[r] = _r(t), r += 1, a += 1;
|
|
1953
1977
|
}
|
|
1954
1978
|
if (r >= e.length) {
|
|
1955
1979
|
t.next(i), t.complete();
|
|
@@ -1962,9 +1986,9 @@ var un = class {
|
|
|
1962
1986
|
return s(), () => {
|
|
1963
1987
|
a();
|
|
1964
1988
|
};
|
|
1965
|
-
}),
|
|
1989
|
+
}), yr = class e extends U {
|
|
1966
1990
|
constructor(t, n, r, i, a, o) {
|
|
1967
|
-
super({ pages: [] }), this.spineLayout = t, this.spineItemsManager = n, this.spineItemLocator = r, this.context = i, this.locator = a, this.viewport = o, this.fromSpineItemPageIndex = (t, n) => e.fromSpineItemPageIndex(this.value, t, n), this.fromNextPageWithinSameSpineItem = (t) => e.fromNextPageWithinSameSpineItem(this.value, t), this.fromAbsolutePageIndex = (t) => e.fromAbsolutePageIndex(this.value, t), this.observeFromAbsolutePageIndex = (e) => this.pipe(w(() => this.fromAbsolutePageIndex(e))), this.layout$ = t.layout$.pipe(
|
|
1991
|
+
super({ pages: [] }), this.spineLayout = t, this.spineItemsManager = n, this.spineItemLocator = r, this.context = i, this.locator = a, this.viewport = o, this.fromSpineItemPageIndex = (t, n) => e.fromSpineItemPageIndex(this.value, t, n), this.fromNextPageWithinSameSpineItem = (t) => e.fromNextPageWithinSameSpineItem(this.value, t), this.fromAbsolutePageIndex = (t) => e.fromAbsolutePageIndex(this.value, t), this.observeFromAbsolutePageIndex = (e) => this.pipe(w(() => this.fromAbsolutePageIndex(e))), this.layout$ = t.layout$.pipe(P(o), j(([, { pageSize: e }]) => vr(n.items.reduce((t, n, i) => {
|
|
1968
1992
|
for (let o = 0; o < n.numberOfPages; o += 1) {
|
|
1969
1993
|
let s = r.getSpineItemPositionFromPageIndex({
|
|
1970
1994
|
spineItem: n,
|
|
@@ -1974,11 +1998,11 @@ var un = class {
|
|
|
1974
1998
|
spineItemPosition: s
|
|
1975
1999
|
}), l = t.length;
|
|
1976
2000
|
t.push({
|
|
1977
|
-
absoluteLayout:
|
|
2001
|
+
absoluteLayout: hr({
|
|
1978
2002
|
pageSize: e,
|
|
1979
2003
|
position: c
|
|
1980
2004
|
}),
|
|
1981
|
-
layout: new
|
|
2005
|
+
layout: new ln({
|
|
1982
2006
|
left: s.x,
|
|
1983
2007
|
right: s.x + e.width,
|
|
1984
2008
|
top: s.y,
|
|
@@ -1995,7 +2019,7 @@ var un = class {
|
|
|
1995
2019
|
});
|
|
1996
2020
|
}
|
|
1997
2021
|
return t;
|
|
1998
|
-
}, []))), w((e) => (
|
|
2022
|
+
}, []))), w((e) => (mr.info("Pages layout", e), { pages: e })), O()), this.layout$.pipe(M(this.destroy$)).subscribe(this.next.bind(this));
|
|
1999
2023
|
}
|
|
2000
2024
|
static {
|
|
2001
2025
|
this.fromSpineItemPageIndex = (e, t, n) => {
|
|
@@ -2009,20 +2033,20 @@ var un = class {
|
|
|
2009
2033
|
static {
|
|
2010
2034
|
this.fromAbsolutePageIndex = (e, t) => e.pages.find((e) => e.absolutePageIndex === t);
|
|
2011
2035
|
}
|
|
2012
|
-
},
|
|
2036
|
+
}, br = (e) => {
|
|
2013
2037
|
let t = e.indexOf("#");
|
|
2014
2038
|
return t >= 0 ? e.substring(0, t) : e;
|
|
2015
|
-
},
|
|
2039
|
+
}, xr = (e) => {
|
|
2016
2040
|
if (!e) return;
|
|
2017
2041
|
let t = e.indexOf("#");
|
|
2018
2042
|
if (!(t < 0)) return e.substring(t + 1) || void 0;
|
|
2019
|
-
},
|
|
2043
|
+
}, Sr = (e) => {
|
|
2020
2044
|
try {
|
|
2021
2045
|
return decodeURIComponent(e);
|
|
2022
2046
|
} catch {
|
|
2023
2047
|
return e;
|
|
2024
2048
|
}
|
|
2025
|
-
},
|
|
2049
|
+
}, Cr = (e, t = []) => e.flatMap((e) => {
|
|
2026
2050
|
let n = [...t, {
|
|
2027
2051
|
title: e.title,
|
|
2028
2052
|
path: e.path
|
|
@@ -2030,24 +2054,24 @@ var un = class {
|
|
|
2030
2054
|
return [{
|
|
2031
2055
|
chain: n,
|
|
2032
2056
|
href: e.href || e.path,
|
|
2033
|
-
anchorId:
|
|
2034
|
-
}, ...
|
|
2035
|
-
}),
|
|
2057
|
+
anchorId: xr(e.href) ?? xr(e.path)
|
|
2058
|
+
}, ...Cr(e.contents, n)];
|
|
2059
|
+
}), wr = (e) => {
|
|
2036
2060
|
let t = /* @__PURE__ */ new Map();
|
|
2037
2061
|
return e.spineItems.forEach((e, n) => {
|
|
2038
2062
|
t.has(e.href) || t.set(e.href, n);
|
|
2039
2063
|
}), t;
|
|
2040
|
-
},
|
|
2041
|
-
let n =
|
|
2042
|
-
return
|
|
2043
|
-
let t =
|
|
2064
|
+
}, Tr = (e, t) => {
|
|
2065
|
+
let n = wr(t);
|
|
2066
|
+
return Cr(e).map((e) => {
|
|
2067
|
+
let t = br(e.href), r = n.get(t) ?? -1;
|
|
2044
2068
|
return {
|
|
2045
2069
|
...e,
|
|
2046
2070
|
hrefWithoutAnchor: t,
|
|
2047
2071
|
spineItemIndex: r
|
|
2048
2072
|
};
|
|
2049
2073
|
});
|
|
2050
|
-
},
|
|
2074
|
+
}, Er = ({ manifest: e, tocIndex: t }) => {
|
|
2051
2075
|
let n = /* @__PURE__ */ new Map();
|
|
2052
2076
|
t.forEach((e, t) => {
|
|
2053
2077
|
let r = n.get(e.hrefWithoutAnchor);
|
|
@@ -2060,19 +2084,19 @@ var un = class {
|
|
|
2060
2084
|
let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
2061
2085
|
for (let a of e.spineItems) {
|
|
2062
2086
|
if (r.has(a.href)) continue;
|
|
2063
|
-
let e =
|
|
2087
|
+
let e = br(a.href), o = i.get(e);
|
|
2064
2088
|
if (!o) {
|
|
2065
2089
|
let r = [];
|
|
2066
|
-
for (let [t, i] of n)
|
|
2090
|
+
for (let [t, i] of n) Dr(e, t) && r.push(...i);
|
|
2067
2091
|
r.sort((e, t) => e - t), o = r.map((e) => t[e]), i.set(e, o);
|
|
2068
2092
|
}
|
|
2069
2093
|
r.set(a.href, o);
|
|
2070
2094
|
}
|
|
2071
2095
|
return r;
|
|
2072
|
-
},
|
|
2096
|
+
}, Dr = (e, t) => e === t || e.endsWith(t) || t.endsWith(e), Or = (e, t) => {
|
|
2073
2097
|
let n = e.endsWith(t), r = e.substring(0, e.lastIndexOf("/")), i = t.substring(0, t.lastIndexOf("/")), a = r !== "" && r.endsWith(i);
|
|
2074
2098
|
return n || a;
|
|
2075
|
-
},
|
|
2099
|
+
}, kr = (e) => {
|
|
2076
2100
|
let [t, ...n] = e;
|
|
2077
2101
|
if (!t) return;
|
|
2078
2102
|
let r = {
|
|
@@ -2087,7 +2111,7 @@ var un = class {
|
|
|
2087
2111
|
i.subChapter = t, i = t;
|
|
2088
2112
|
}
|
|
2089
2113
|
return r;
|
|
2090
|
-
},
|
|
2114
|
+
}, Ar = ({ doc: e, node: t, offset: n }) => {
|
|
2091
2115
|
let r = e.createRange();
|
|
2092
2116
|
if (t.nodeType === Node.TEXT_NODE || t.nodeType === Node.CDATA_SECTION_NODE || t.nodeType === Node.COMMENT_NODE) {
|
|
2093
2117
|
let e = t, i = Math.max(0, Math.min(n, e.length));
|
|
@@ -2097,18 +2121,18 @@ var un = class {
|
|
|
2097
2121
|
r.setStart(t, i);
|
|
2098
2122
|
}
|
|
2099
2123
|
return r.collapse(!0), r;
|
|
2100
|
-
},
|
|
2124
|
+
}, jr = ({ rangeToTest: e, upperBoundRange: t }) => e.compareBoundaryPoints(Range.START_TO_START, t) < 0, Mr = (e) => {
|
|
2101
2125
|
let t = e.createRange(), n = e.body ?? e.documentElement;
|
|
2102
2126
|
if (n) return t.selectNodeContents(n), t.collapse(!1), t;
|
|
2103
|
-
},
|
|
2127
|
+
}, Nr = ({ anchorNode: e, nextPageNode: t }) => e === t || e.contains(t), Pr = ({ node: e, offset: t, candidates: n, spineItem: r, nextPageEntry: i }) => {
|
|
2104
2128
|
if (!e || t === void 0 || !r || n.length === 0) return;
|
|
2105
2129
|
let a = r.renderer.getDocumentFrame()?.contentDocument;
|
|
2106
2130
|
if (!a || e.ownerDocument !== a) return;
|
|
2107
|
-
let o = i?.firstVisibleNode?.node, s = i?.firstVisibleNode?.offset, c = i ? o !== void 0 && s !== void 0 && o.ownerDocument === a ?
|
|
2131
|
+
let o = i?.firstVisibleNode?.node, s = i?.firstVisibleNode?.offset, c = i ? o !== void 0 && s !== void 0 && o.ownerDocument === a ? Ar({
|
|
2108
2132
|
doc: a,
|
|
2109
2133
|
node: o,
|
|
2110
2134
|
offset: s
|
|
2111
|
-
}) : void 0 :
|
|
2135
|
+
}) : void 0 : Mr(a);
|
|
2112
2136
|
if (!c) return;
|
|
2113
2137
|
let l = i !== void 0 && o !== void 0 && o.ownerDocument === a, u, d, f;
|
|
2114
2138
|
for (let e of n) {
|
|
@@ -2116,56 +2140,53 @@ var un = class {
|
|
|
2116
2140
|
f = e.chain;
|
|
2117
2141
|
continue;
|
|
2118
2142
|
}
|
|
2119
|
-
let t = a.getElementById(
|
|
2120
|
-
if (!t || l &&
|
|
2143
|
+
let t = a.getElementById(Sr(e.anchorId));
|
|
2144
|
+
if (!t || l && Nr({
|
|
2121
2145
|
anchorNode: t,
|
|
2122
2146
|
nextPageNode: o
|
|
2123
2147
|
})) continue;
|
|
2124
2148
|
let n = a.createRange();
|
|
2125
|
-
n.setStartBefore(t), n.collapse(!0),
|
|
2149
|
+
n.setStartBefore(t), n.collapse(!0), jr({
|
|
2126
2150
|
rangeToTest: n,
|
|
2127
2151
|
upperBoundRange: c
|
|
2128
2152
|
}) && (!d || n.compareBoundaryPoints(Range.START_TO_START, d) > 0) && (u = e.chain, d = n);
|
|
2129
2153
|
}
|
|
2130
2154
|
let p = u ?? f;
|
|
2131
|
-
return p ?
|
|
2132
|
-
},
|
|
2155
|
+
return p ? kr(p) : void 0;
|
|
2156
|
+
}, Fr = ({ candidate: e, hrefHasAnchor: t }) => {
|
|
2133
2157
|
if (t || !e.anchorId) return !1;
|
|
2134
2158
|
let n = e.chain[e.chain.length - 1], r = e.chain[e.chain.length - 2];
|
|
2135
|
-
return !n || !r ? !1 :
|
|
2136
|
-
},
|
|
2137
|
-
let r =
|
|
2138
|
-
for (let e of t)
|
|
2159
|
+
return !n || !r ? !1 : br(n.path) === br(r.path);
|
|
2160
|
+
}, Ir = ({ href: e, tocIndex: t, manifest: n }) => {
|
|
2161
|
+
let r = br(e), i = e.includes("#"), a = n.spineItems.findIndex((e) => e.href === r), o;
|
|
2162
|
+
for (let e of t) Or(r, e.hrefWithoutAnchor) && (a < e.spineItemIndex || Fr({
|
|
2139
2163
|
candidate: e,
|
|
2140
2164
|
hrefHasAnchor: i
|
|
2141
2165
|
}) || (o = e.chain));
|
|
2142
2166
|
return o;
|
|
2143
|
-
},
|
|
2144
|
-
let { href: r } = n, i =
|
|
2167
|
+
}, Lr = (e, t, n) => {
|
|
2168
|
+
let { href: r } = n, i = Ir({
|
|
2145
2169
|
href: r,
|
|
2146
2170
|
tocIndex: t,
|
|
2147
2171
|
manifest: e
|
|
2148
2172
|
});
|
|
2149
|
-
return i ?
|
|
2150
|
-
},
|
|
2173
|
+
return i ? kr(i) : void 0;
|
|
2174
|
+
}, Rr = (e, t) => e ? e.spineItems.reduce((n, r) => (n[r.id] = Lr(e, t, r), n), {}) : {}, zr = (e, t, n) => e + t * n, Br = (e, t, n) => {
|
|
2151
2175
|
let { height: r, width: i } = n.layoutInfo, { top: a, left: o } = e.spine.getSpineItemSpineLayoutInfo(n);
|
|
2152
2176
|
return e.settings.values.computedPageTurnDirection === "vertical" ? Math.max(0, Math.min(1, (t.y - a + e.viewport.absoluteViewport.height) / r)) : Math.max(0, Math.min(1, (t.x - o + e.viewport.absoluteViewport.width) / i));
|
|
2153
|
-
},
|
|
2177
|
+
}, Vr = (e, t, n, r, i, a) => i.isReady$.pipe(x(), P(e.layoutInfo$), w(([o, s]) => {
|
|
2154
2178
|
let c = a.renditionLayout === "pre-paginated", l = a.spineItems.length || 0, u = a.spineItems.slice(0, t).reduce((e, t) => e + (t.progressionWeight ?? 0), 0) || 0, d = e.spineItemsManager.getSpineItemIndex(i) ?? 0, f = a.spineItems.length ?? 0, p = s.pages.filter((e) => e.itemIndex === d).length ?? 0, m = a.spineItems[t]?.progressionWeight ?? (d + 1) / f, h = (n + 1) * (m / p);
|
|
2155
2179
|
!c && i.renditionLayout === "reflowable" && !o && (h = 0);
|
|
2156
2180
|
let g = u + h;
|
|
2157
|
-
return a.renditionFlow === "scrolled-continuous" && (h = o ?
|
|
2158
|
-
})),
|
|
2159
|
-
|
|
2160
|
-
chaptersInfo: {}
|
|
2161
|
-
}, Kr = ({ beginItem: e, endItem: t, paginationInfo: n, chaptersData: r, pagesState: i }) => {
|
|
2162
|
-
let a = e && n.beginPageIndexInSpineItem !== void 0 ? Sr.fromSpineItemPageIndex(i, e.index, n.beginPageIndexInSpineItem) : void 0, o = a ? Sr.fromNextPageWithinSameSpineItem(i, a) : void 0, s = t && n.endPageIndexInSpineItem !== void 0 ? Sr.fromSpineItemPageIndex(i, t.index, n.endPageIndexInSpineItem) : void 0, c = s ? Sr.fromNextPageWithinSameSpineItem(i, s) : void 0, l = e ? Lr({
|
|
2181
|
+
return a.renditionFlow === "scrolled-continuous" && (h = o ? Br(e, r, i) : 0, g = zr(u, m, h)), t === l - 1 && n === p - 1 && g > .99 ? 1 : g;
|
|
2182
|
+
})), Hr = ({ beginItem: e, endItem: t, paginationInfo: n, chaptersData: r, pagesState: i }) => {
|
|
2183
|
+
let a = e && n.beginPageIndexInSpineItem !== void 0 ? yr.fromSpineItemPageIndex(i, e.index, n.beginPageIndexInSpineItem) : void 0, o = a ? yr.fromNextPageWithinSameSpineItem(i, a) : void 0, s = t && n.endPageIndexInSpineItem !== void 0 ? yr.fromSpineItemPageIndex(i, t.index, n.endPageIndexInSpineItem) : void 0, c = s ? yr.fromNextPageWithinSameSpineItem(i, s) : void 0, l = e ? Pr({
|
|
2163
2184
|
node: a?.firstVisibleNode?.node,
|
|
2164
2185
|
offset: a?.firstVisibleNode?.offset,
|
|
2165
2186
|
candidates: r.tocCandidatesBySpineHref.get(e.item.href) ?? [],
|
|
2166
2187
|
spineItem: e,
|
|
2167
2188
|
nextPageEntry: o
|
|
2168
|
-
}) : void 0, u = t ?
|
|
2189
|
+
}) : void 0, u = t ? Pr({
|
|
2169
2190
|
node: s?.firstVisibleNode?.node,
|
|
2170
2191
|
offset: s?.firstVisibleNode?.offset,
|
|
2171
2192
|
candidates: r.tocCandidatesBySpineHref.get(t.item.href) ?? [],
|
|
@@ -2180,77 +2201,75 @@ var un = class {
|
|
|
2180
2201
|
endSpineItemReadingDirection: t?.readingDirection,
|
|
2181
2202
|
endAbsolutePageIndex: s?.absolutePageIndex
|
|
2182
2203
|
};
|
|
2183
|
-
},
|
|
2204
|
+
}, Ur = ({ items: e, pagesState: t }) => {
|
|
2184
2205
|
let n = e.map(() => 0);
|
|
2185
2206
|
for (let e of t.pages) n[e.itemIndex] = (n[e.itemIndex] ?? 0) + 1;
|
|
2186
2207
|
return {
|
|
2187
2208
|
numberOfPagesPerItems: n,
|
|
2188
2209
|
numberOfTotalPages: t.pages.length
|
|
2189
2210
|
};
|
|
2190
|
-
},
|
|
2211
|
+
}, Wr = (e, t) => e.numberOfTotalPages !== t.numberOfTotalPages || e.numberOfPagesPerItems.length !== t.numberOfPagesPerItems.length ? !1 : e.numberOfPagesPerItems.every((e, n) => e === t.numberOfPagesPerItems[n]), Gr = ({ reader: e, paginationInfo: t, navigationPosition: n, manifest: r }) => {
|
|
2191
2212
|
let i = e.spineItemsManager.get(t.endSpineItemIndex);
|
|
2192
|
-
return i ?
|
|
2193
|
-
},
|
|
2194
|
-
|
|
2195
|
-
let t = Or(e.nav?.toc ?? [], e);
|
|
2213
|
+
return i ? Vr(e, t.endSpineItemIndex ?? 0, t.endPageIndexInSpineItem || 0, n, i, r) : D(0);
|
|
2214
|
+
}, Kr = (e) => D(e.context.manifest).pipe(w((e) => {
|
|
2215
|
+
let t = Tr(e.nav?.toc ?? [], e);
|
|
2196
2216
|
return {
|
|
2197
|
-
tocCandidatesBySpineHref:
|
|
2217
|
+
tocCandidatesBySpineHref: Er({
|
|
2198
2218
|
manifest: e,
|
|
2199
2219
|
tocIndex: t
|
|
2200
2220
|
}),
|
|
2201
|
-
chaptersInfo:
|
|
2221
|
+
chaptersInfo: Rr(e, t)
|
|
2202
2222
|
};
|
|
2203
|
-
})),
|
|
2223
|
+
})), qr = (e) => ({
|
|
2204
2224
|
beginSpineItemIndex: e.beginSpineItemIndex,
|
|
2205
2225
|
beginPageIndexInSpineItem: e.beginPageIndexInSpineItem,
|
|
2206
2226
|
endSpineItemIndex: e.endSpineItemIndex,
|
|
2207
2227
|
endPageIndexInSpineItem: e.endPageIndexInSpineItem
|
|
2208
|
-
}),
|
|
2209
|
-
let t = e.pagination.state$, n = e.spine.pages.layout$, r =
|
|
2228
|
+
}), Jr = (e) => {
|
|
2229
|
+
let t = e.pagination.state$, n = e.spine.pages.layout$, r = Kr(e).pipe(k({
|
|
2210
2230
|
bufferSize: 1,
|
|
2211
2231
|
refCount: !0
|
|
2212
2232
|
})), i = v([
|
|
2213
|
-
t.pipe(w(
|
|
2233
|
+
t.pipe(w(qr), y(o)),
|
|
2214
2234
|
r,
|
|
2215
2235
|
n
|
|
2216
|
-
]).pipe(w(([t, n, r]) =>
|
|
2236
|
+
]).pipe(w(([t, n, r]) => Hr({
|
|
2217
2237
|
beginItem: e.spineItemsManager.get(t.beginSpineItemIndex),
|
|
2218
2238
|
endItem: e.spineItemsManager.get(t.endSpineItemIndex),
|
|
2219
2239
|
paginationInfo: t,
|
|
2220
2240
|
chaptersData: n,
|
|
2221
2241
|
pagesState: r
|
|
2222
|
-
})),
|
|
2242
|
+
})), k({
|
|
2223
2243
|
bufferSize: 1,
|
|
2224
2244
|
refCount: !0
|
|
2225
2245
|
})), a = v([
|
|
2226
2246
|
t,
|
|
2227
2247
|
e.settings.watch(["computedSpreadMode"]).pipe(w((e) => e.computedSpreadMode ?? !1), y()),
|
|
2228
2248
|
i,
|
|
2229
|
-
v([n, e.spineItemsManager.items$]).pipe(w(([e, t]) =>
|
|
2249
|
+
v([n, e.spineItemsManager.items$]).pipe(w(([e, t]) => Ur({
|
|
2230
2250
|
items: t,
|
|
2231
2251
|
pagesState: e
|
|
2232
|
-
})), y(
|
|
2252
|
+
})), y(Wr))
|
|
2233
2253
|
]).pipe(w(([e, t, n, r]) => ({
|
|
2234
2254
|
...e,
|
|
2235
2255
|
...n,
|
|
2236
2256
|
isUsingSpread: t,
|
|
2237
2257
|
...r
|
|
2238
|
-
}))), s =
|
|
2258
|
+
}))), s = qn(e.navigation).pipe(w(({ position: e }) => e), y(o));
|
|
2239
2259
|
return v([a, v([
|
|
2240
2260
|
t,
|
|
2241
2261
|
e.layout$,
|
|
2242
|
-
s
|
|
2243
|
-
|
|
2244
|
-
]).pipe(A(([t, n, r, i]) => Yr({
|
|
2262
|
+
s
|
|
2263
|
+
]).pipe(j(([t, n, r]) => Gr({
|
|
2245
2264
|
reader: e,
|
|
2246
2265
|
paginationInfo: t,
|
|
2247
2266
|
navigationPosition: r,
|
|
2248
|
-
manifest:
|
|
2267
|
+
manifest: e.context.manifest
|
|
2249
2268
|
})), w((e) => ({ percentageEstimateOfBook: e })))]).pipe(w(([e, t]) => ({
|
|
2250
2269
|
...e,
|
|
2251
2270
|
...t
|
|
2252
2271
|
})), y(o), g(5));
|
|
2253
|
-
},
|
|
2272
|
+
}, Yr = (e) => (t) => {
|
|
2254
2273
|
let n = e(t), r = new l({
|
|
2255
2274
|
...n.pagination.state,
|
|
2256
2275
|
beginChapterInfo: void 0,
|
|
@@ -2266,7 +2285,7 @@ var un = class {
|
|
|
2266
2285
|
endChapterInfo: void 0,
|
|
2267
2286
|
endSpineItemReadingDirection: void 0,
|
|
2268
2287
|
percentageEstimateOfBook: 0
|
|
2269
|
-
}), i = new
|
|
2288
|
+
}), i = new pr(n), a = Jr(n).pipe(N((e) => R.log("Pagination", e))).subscribe(r);
|
|
2270
2289
|
return {
|
|
2271
2290
|
...n,
|
|
2272
2291
|
locateResource: i.locateResource.bind(i),
|
|
@@ -2283,109 +2302,7 @@ var un = class {
|
|
|
2283
2302
|
}
|
|
2284
2303
|
}
|
|
2285
2304
|
};
|
|
2286
|
-
},
|
|
2287
|
-
put: (t, n) => new Promise((r, i) => {
|
|
2288
|
-
let a = e.transaction(["store"], "readwrite");
|
|
2289
|
-
a.onerror = (e) => {
|
|
2290
|
-
i(e);
|
|
2291
|
-
}, a.oncomplete = () => {
|
|
2292
|
-
r();
|
|
2293
|
-
};
|
|
2294
|
-
let o = a.objectStore("store").put(n, t);
|
|
2295
|
-
o.onsuccess = () => {
|
|
2296
|
-
r();
|
|
2297
|
-
}, o.onerror = (e) => {
|
|
2298
|
-
i(e);
|
|
2299
|
-
};
|
|
2300
|
-
}),
|
|
2301
|
-
keys: () => new Promise((t, n) => {
|
|
2302
|
-
let r = e.transaction(["store"], "readonly");
|
|
2303
|
-
r.onerror = (e) => {
|
|
2304
|
-
n(e);
|
|
2305
|
-
};
|
|
2306
|
-
let i = r.objectStore("store").openKeyCursor(), a = [];
|
|
2307
|
-
i.onsuccess = () => {
|
|
2308
|
-
let e = i.result;
|
|
2309
|
-
if (!e) {
|
|
2310
|
-
t(a);
|
|
2311
|
-
return;
|
|
2312
|
-
}
|
|
2313
|
-
a.push(e.key), e.continue();
|
|
2314
|
-
}, i.onerror = () => {
|
|
2315
|
-
n(i.error);
|
|
2316
|
-
};
|
|
2317
|
-
}),
|
|
2318
|
-
get: (t) => new Promise((n, r) => {
|
|
2319
|
-
let i = e.transaction(["store"], "readwrite"), a = i.objectStore("store").get(t);
|
|
2320
|
-
a.onsuccess = () => {
|
|
2321
|
-
let e = a.result;
|
|
2322
|
-
e === void 0 && (e = null), n(e);
|
|
2323
|
-
}, i.onerror = () => {
|
|
2324
|
-
r(a.error);
|
|
2325
|
-
};
|
|
2326
|
-
}),
|
|
2327
|
-
remove: (t) => new Promise((n, r) => {
|
|
2328
|
-
let i = e.transaction(["store"], "readwrite"), a = i.objectStore("store").delete(t);
|
|
2329
|
-
i.onerror = () => {
|
|
2330
|
-
r(a.error);
|
|
2331
|
-
}, i.oncomplete = () => {
|
|
2332
|
-
n();
|
|
2333
|
-
}, i.onabort = () => {
|
|
2334
|
-
r(a.error ? a.error : a.transaction?.error);
|
|
2335
|
-
};
|
|
2336
|
-
})
|
|
2337
|
-
}), ti = async (e) => new Promise((t, n) => {
|
|
2338
|
-
let r = window.indexedDB.open(e);
|
|
2339
|
-
r.onerror = (e) => {
|
|
2340
|
-
n(e);
|
|
2341
|
-
}, r.onsuccess = () => {
|
|
2342
|
-
t(ei(r.result));
|
|
2343
|
-
}, r.onupgradeneeded = () => {
|
|
2344
|
-
r.result.createObjectStore("store");
|
|
2345
|
-
};
|
|
2346
|
-
}), ni = (e) => {
|
|
2347
|
-
let t = Date.now().toString(), n = new m(), r = (t) => {
|
|
2348
|
-
if (typeof t == "string" || typeof t == "object") {
|
|
2349
|
-
let n = typeof t == "object" ? t.id : t;
|
|
2350
|
-
return e.manifest?.spineItems.find((e) => e.id === n);
|
|
2351
|
-
}
|
|
2352
|
-
return e.manifest?.spineItems[t];
|
|
2353
|
-
}, i = async (e, n) => {
|
|
2354
|
-
let i = r(e);
|
|
2355
|
-
if (!i) return new Response("Item not found", { status: 404 });
|
|
2356
|
-
let o = await (await ti("prose-reader")).get(`${t}_${i.id}`);
|
|
2357
|
-
if (o) return new Response(o, { status: 200 });
|
|
2358
|
-
let s = n && await n(i) || await fetch(i.href);
|
|
2359
|
-
return a(i, s.clone()), s;
|
|
2360
|
-
}, a = (e, t) => {
|
|
2361
|
-
n.next({
|
|
2362
|
-
id: e,
|
|
2363
|
-
data: t
|
|
2364
|
-
});
|
|
2365
|
-
};
|
|
2366
|
-
return n.asObservable().pipe(Te(({ id: e, data: n }) => {
|
|
2367
|
-
let i = r(e);
|
|
2368
|
-
return i ? S(le([ti("prose-reader"), S(n.blob())])).pipe(F(([e, n]) => S(e.put(`${t}_${i.id}`, n))), be((e) => (R.error(e), u))) : u;
|
|
2369
|
-
}), I(e.destroy$)).subscribe(), T(e.manifest$.pipe(L(() => {
|
|
2370
|
-
t = Date.now().toString();
|
|
2371
|
-
}))).pipe(F(() => (R.debug("Cleanup up old cache..."), S(ti("prose-reader")).pipe(F((e) => S(e.keys()).pipe(P((e) => e.filter((e) => !e.toString().startsWith(t))), F((t) => {
|
|
2372
|
-
let n = t.map((t) => e.remove(t));
|
|
2373
|
-
return S(Promise.all(n));
|
|
2374
|
-
}))), be((e) => (R.error(e), u))))), I(e.destroy$)).subscribe(), {
|
|
2375
|
-
get: i,
|
|
2376
|
-
destroy: () => {
|
|
2377
|
-
n.complete();
|
|
2378
|
-
}
|
|
2379
|
-
};
|
|
2380
|
-
}, ri = (e) => (t) => {
|
|
2381
|
-
let n = e(t), r = ni(n.context), i = () => {
|
|
2382
|
-
r.destroy(), n.destroy();
|
|
2383
|
-
};
|
|
2384
|
-
return {
|
|
2385
|
-
...n,
|
|
2386
|
-
destroy: i
|
|
2387
|
-
};
|
|
2388
|
-
}, ii = (e, t) => {
|
|
2305
|
+
}, Xr = (e, t) => {
|
|
2389
2306
|
let n = e.node.ownerDocument?.createRange(), r = e.node.compareDocumentPosition(t.node);
|
|
2390
2307
|
if (n) {
|
|
2391
2308
|
try {
|
|
@@ -2403,10 +2320,10 @@ var un = class {
|
|
|
2403
2320
|
}
|
|
2404
2321
|
return n;
|
|
2405
2322
|
}
|
|
2406
|
-
},
|
|
2323
|
+
}, Zr = ({ selection: e, spineItem: t }) => {
|
|
2407
2324
|
let { anchorNode: n, anchorOffset: r, focusNode: i, focusOffset: a } = e;
|
|
2408
2325
|
if (!(!n || !i)) try {
|
|
2409
|
-
return
|
|
2326
|
+
return Xr({
|
|
2410
2327
|
node: n,
|
|
2411
2328
|
offset: r
|
|
2412
2329
|
}, {
|
|
@@ -2420,26 +2337,26 @@ var un = class {
|
|
|
2420
2337
|
});
|
|
2421
2338
|
return;
|
|
2422
2339
|
}
|
|
2423
|
-
},
|
|
2340
|
+
}, Qr = class extends Q {
|
|
2424
2341
|
constructor(e) {
|
|
2425
2342
|
super();
|
|
2426
2343
|
let t = e.contentDocument || e.contentWindow?.document;
|
|
2427
2344
|
if (!t) this.selectionChange$ = d, this.selectionOver$ = d;
|
|
2428
2345
|
else {
|
|
2429
|
-
let n =
|
|
2346
|
+
let n = Ct(t.body, {
|
|
2430
2347
|
childList: !0,
|
|
2431
2348
|
subtree: !0
|
|
2432
|
-
}).pipe(b((e) => !!e.find((e) => e.type === "childList" && e.removedNodes.length))), r = e.parentElement ?
|
|
2433
|
-
this.selectionChange$ = T(C(t, "selectionchange"), n).pipe(w(() => t.getSelection()),
|
|
2349
|
+
}).pipe(b((e) => !!e.find((e) => e.type === "childList" && e.removedNodes.length))), r = e.parentElement ? Ct(e.parentElement, { childList: !0 }).pipe(b((t) => !!t.find((t) => Array.from(t.removedNodes).includes(e)))) : D(null);
|
|
2350
|
+
this.selectionChange$ = T(C(t, "selectionchange"), n).pipe(w(() => t.getSelection()), M(T(r, this.destroy$)), oe(null)), this.selectionOver$ = C(t, "pointerdown").pipe(j(() => T(C(t, "pointerup"), C(t, "pointercancel"), C(t, "contextmenu")).pipe(x(), ae(0), w((e) => {
|
|
2434
2351
|
let n = t.getSelection();
|
|
2435
2352
|
return n && !n.isCollapsed ? [e, n] : void 0;
|
|
2436
|
-
}), b(K))),
|
|
2353
|
+
}), b(K))), M(T(r, this.destroy$)));
|
|
2437
2354
|
}
|
|
2438
2355
|
}
|
|
2439
|
-
},
|
|
2356
|
+
}, $r = (e) => e.watch("isLoaded").pipe(j(() => {
|
|
2440
2357
|
let t = e.renderer.getDocumentFrame(), n = t?.contentDocument || t?.contentWindow?.document;
|
|
2441
2358
|
if (!t || !n) return d;
|
|
2442
|
-
let r = new
|
|
2359
|
+
let r = new Qr(t);
|
|
2443
2360
|
return T(r.selectionChange$.pipe(w((e) => {
|
|
2444
2361
|
if (e?.toString()) return {
|
|
2445
2362
|
type: "change",
|
|
@@ -2449,28 +2366,28 @@ var un = class {
|
|
|
2449
2366
|
type: "over",
|
|
2450
2367
|
event: e,
|
|
2451
2368
|
selection: t
|
|
2452
|
-
})))).pipe(
|
|
2369
|
+
})))).pipe(M(e.unloaded$), oe(void 0), ce(() => {
|
|
2453
2370
|
r.destroy();
|
|
2454
2371
|
}));
|
|
2455
|
-
}), y()),
|
|
2456
|
-
let n = e(t), r, i = n.spineItemsManager.items$.pipe(
|
|
2372
|
+
}), y()), ei = (e) => (t) => {
|
|
2373
|
+
let n = e(t), r, i = n.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => {
|
|
2457
2374
|
let t = n.spineItemsManager.getSpineItemIndex(e) ?? 0;
|
|
2458
|
-
return
|
|
2375
|
+
return $r(e).pipe(w((e) => {
|
|
2459
2376
|
if (e) return {
|
|
2460
2377
|
...e,
|
|
2461
2378
|
itemIndex: t
|
|
2462
2379
|
};
|
|
2463
2380
|
}));
|
|
2464
|
-
}))),
|
|
2381
|
+
}))), A(void 0), y(), N((e) => {
|
|
2465
2382
|
r = e;
|
|
2466
|
-
}),
|
|
2383
|
+
}), k({
|
|
2467
2384
|
refCount: !0,
|
|
2468
2385
|
bufferSize: 1
|
|
2469
|
-
})), a = i, o = i.pipe(w((e) => !!e), y(), b((e) => e),
|
|
2386
|
+
})), a = i, o = i.pipe(w((e) => !!e), y(), b((e) => e), O()), s = o.pipe(j(() => a), y(), b((e) => !e), O()), c = i.pipe(b((e) => e?.type === "over"), O()), l = n.context.watch("rootElement").pipe(b(K), j((e) => C(e, "pointerdown")), P(a), w(([, e]) => e), A(void 0), k({
|
|
2470
2387
|
refCount: !0,
|
|
2471
2388
|
bufferSize: 1
|
|
2472
2389
|
}));
|
|
2473
|
-
return T(a, l).pipe(
|
|
2390
|
+
return T(a, l).pipe(M(n.$.destroy$)).subscribe(), {
|
|
2474
2391
|
...n,
|
|
2475
2392
|
selection: {
|
|
2476
2393
|
selection$: a,
|
|
@@ -2479,10 +2396,10 @@ var un = class {
|
|
|
2479
2396
|
selectionOver$: c,
|
|
2480
2397
|
lastSelectionOnPointerdown$: l,
|
|
2481
2398
|
getSelection: () => r,
|
|
2482
|
-
createOrderedRangeFromSelection:
|
|
2399
|
+
createOrderedRangeFromSelection: Zr
|
|
2483
2400
|
}
|
|
2484
2401
|
};
|
|
2485
|
-
},
|
|
2402
|
+
}, ti = [
|
|
2486
2403
|
{
|
|
2487
2404
|
name: "bright",
|
|
2488
2405
|
backgroundColor: "white"
|
|
@@ -2497,9 +2414,9 @@ var un = class {
|
|
|
2497
2414
|
backgroundColor: "#191717",
|
|
2498
2415
|
foregroundColor: "#f1ebeb"
|
|
2499
2416
|
}
|
|
2500
|
-
],
|
|
2417
|
+
], ni = (e) => (t) => {
|
|
2501
2418
|
let n = e(t), r = new l(t.theme ?? "bright"), i = () => {
|
|
2502
|
-
let e =
|
|
2419
|
+
let e = ti.find((e) => e.name === r.value);
|
|
2503
2420
|
return `
|
|
2504
2421
|
body {
|
|
2505
2422
|
${e === void 0 ? "" : `background-color: ${e.backgroundColor} !important;`}
|
|
@@ -2512,7 +2429,7 @@ var un = class {
|
|
|
2512
2429
|
` : ""}
|
|
2513
2430
|
`;
|
|
2514
2431
|
}, a = ({ container: e }) => {
|
|
2515
|
-
let t =
|
|
2432
|
+
let t = ti.find((e) => e.name === r.value);
|
|
2516
2433
|
return t && B(e.style, "background-color", t.backgroundColor), () => {};
|
|
2517
2434
|
}, o = () => {
|
|
2518
2435
|
n.spineItemsManager.items.forEach((e) => {
|
|
@@ -2538,10 +2455,10 @@ var un = class {
|
|
|
2538
2455
|
$: { theme$: r.asObservable() }
|
|
2539
2456
|
}
|
|
2540
2457
|
};
|
|
2541
|
-
},
|
|
2542
|
-
let n = e(t), r = (e) => !!(
|
|
2458
|
+
}, ri = (e) => (t) => {
|
|
2459
|
+
let n = e(t), r = (e) => !!(Xe(e) && (e.nodeName === "a" ? e : e.closest("a"))?.getAttribute("href")), i = (e, t, r) => {
|
|
2543
2460
|
let i = r.replace("${id}", n.id);
|
|
2544
|
-
return
|
|
2461
|
+
return $e(e, `${t}-${n.id}`, i);
|
|
2545
2462
|
};
|
|
2546
2463
|
return {
|
|
2547
2464
|
...n,
|
|
@@ -2552,7 +2469,7 @@ var un = class {
|
|
|
2552
2469
|
};
|
|
2553
2470
|
};
|
|
2554
2471
|
navigator.userAgent.indexOf("") > -1 && navigator.userAgent.indexOf("Chrome");
|
|
2555
|
-
var
|
|
2472
|
+
var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
2556
2473
|
let { clientWidth: r, clientHeight: i } = n.value.element, a = {
|
|
2557
2474
|
maxX: 0,
|
|
2558
2475
|
minX: r * (1 - t),
|
|
@@ -2563,25 +2480,25 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2563
2480
|
x: Math.min(Math.max(e.x, a.minX), a.maxX),
|
|
2564
2481
|
y: Math.min(Math.max(e.y, a.minY), a.maxY)
|
|
2565
2482
|
};
|
|
2566
|
-
},
|
|
2483
|
+
}, oi = (e, t, n) => {
|
|
2567
2484
|
B(n.style, "transform-origin", "0 0");
|
|
2568
2485
|
let r = `translate3d(${t.x}px, ${t.y}px, 0px)`, i = `scale(${e})`;
|
|
2569
2486
|
B(n.style, "transform", `${r} ${i}`);
|
|
2570
|
-
},
|
|
2487
|
+
}, si = (e, t, n, r) => {
|
|
2571
2488
|
let i = t / e, a = n.clientWidth, o = n.clientHeight, s = a / 2 - r.x, c = o / 2 - r.y;
|
|
2572
2489
|
return {
|
|
2573
2490
|
x: r.x + s * (1 - i),
|
|
2574
2491
|
y: r.y + c * (1 - i)
|
|
2575
2492
|
};
|
|
2576
|
-
},
|
|
2493
|
+
}, ci = class {
|
|
2577
2494
|
constructor(e) {
|
|
2578
2495
|
this.x = e.x, this.y = e.y;
|
|
2579
2496
|
}
|
|
2580
|
-
},
|
|
2497
|
+
}, li = class extends ci {}, ui = class extends ci {
|
|
2581
2498
|
constructor(...e) {
|
|
2582
2499
|
super(...e), this.__symbol = Symbol("UnboundScrollPosition");
|
|
2583
2500
|
}
|
|
2584
|
-
},
|
|
2501
|
+
}, di = class extends U {
|
|
2585
2502
|
constructor(e, t, n, r, i) {
|
|
2586
2503
|
super({ element: void 0 }), this.viewport = e, this.settings = t, this.hookManager = n, this.spine = r, this.context = i, this.navigateSubject = new m(), this.scrollingSubject = new l(!1), this.applyNavigationPosition = ({ position: e }) => {
|
|
2587
2504
|
let t = this.value.element;
|
|
@@ -2591,24 +2508,27 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2591
2508
|
left: n.x,
|
|
2592
2509
|
top: n.y,
|
|
2593
2510
|
behavior: "instant"
|
|
2594
|
-
}),
|
|
2511
|
+
}), _e(1).pipe(N(() => {
|
|
2595
2512
|
this.scrollingSubject.next(!1);
|
|
2596
|
-
}),
|
|
2513
|
+
}), M(T(this.scrollingSubject.pipe(fe(1)), this.destroy$))).subscribe(), this.hookManager.execute("onViewportOffsetAdjust", void 0));
|
|
2597
2514
|
}, this.isActive = () => this.settings.values.computedPageTurnMode === "scrollable", this.getNavigationVisibleArea = () => this.viewport.relativeViewport;
|
|
2598
|
-
let a = this.context.pipe(
|
|
2515
|
+
let a = this.context.pipe(_t(["rootElement"]), N(({ rootElement: e }) => {
|
|
2599
2516
|
if (!e) return;
|
|
2600
2517
|
let t = document.createElement("div");
|
|
2601
|
-
t.setAttribute(`data-${
|
|
2602
|
-
})), o = v([t.watch(["computedPageTurnMode"]), this.watch("element")]).pipe(
|
|
2518
|
+
t.setAttribute(`data-${Cn}`, ""), t.appendChild(this.viewport.value.element), e.appendChild(t), this.update({ element: t });
|
|
2519
|
+
})), o = v([t.watch(["computedPageTurnMode"]), this.watch("element")]).pipe(N(([{ computedPageTurnMode: e }, t]) => {
|
|
2603
2520
|
t && (e === "scrollable" ? B(t.style, "display", "block") : B(t.style, "display", "contents"));
|
|
2604
|
-
})), s = this.navigateSubject.pipe(
|
|
2521
|
+
})), s = this.navigateSubject.pipe(N(this.applyNavigationPosition));
|
|
2605
2522
|
this.isNavigating$ = this.scrollingSubject.asObservable();
|
|
2606
|
-
let c = v([T(r.element$.pipe(b(K),
|
|
2607
|
-
this.userScroll$ = this.watch("element").pipe(b(K),
|
|
2523
|
+
let c = v([T(r.element$.pipe(b(K), j((e) => vt(e))), r.element$.pipe(b(K), j((e) => C(e, "scroll"))), r.spineItemsObserver.itemResize$).pipe(j(() => _e(10).pipe(w(() => !1), A(!0))), y(), A(!1)), this.isNavigating$]).pipe(w(([e, t]) => e || t), k(1));
|
|
2524
|
+
this.userScroll$ = this.watch("element").pipe(b(K), j((e) => t.watch(["computedPageTurnMode"]).pipe(j(({ computedPageTurnMode: t }) => t === "controlled" ? d : C(e, "scroll").pipe(P(c), b(([, e]) => !e), w(([e]) => e))))), O()), T(a, o, s).pipe(M(this.destroy$)).subscribe();
|
|
2608
2525
|
}
|
|
2609
2526
|
update(e) {
|
|
2610
2527
|
this.mergeCompare(e);
|
|
2611
2528
|
}
|
|
2529
|
+
destroy() {
|
|
2530
|
+
super.destroy(), this.value.element?.remove();
|
|
2531
|
+
}
|
|
2612
2532
|
navigate(e) {
|
|
2613
2533
|
this.navigateSubject.next(e);
|
|
2614
2534
|
}
|
|
@@ -2621,30 +2541,30 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2621
2541
|
}
|
|
2622
2542
|
fromSpinePosition(e) {
|
|
2623
2543
|
let t = this.viewport.scaleFactor;
|
|
2624
|
-
return new
|
|
2544
|
+
return new li({
|
|
2625
2545
|
x: e.x * t,
|
|
2626
2546
|
y: e.y * t
|
|
2627
2547
|
});
|
|
2628
2548
|
}
|
|
2629
2549
|
get scrollPosition() {
|
|
2630
2550
|
let e = this.value.element;
|
|
2631
|
-
return new
|
|
2551
|
+
return new li({
|
|
2632
2552
|
x: e?.scrollLeft ?? 0,
|
|
2633
2553
|
y: e?.scrollTop ?? 0
|
|
2634
2554
|
});
|
|
2635
2555
|
}
|
|
2636
|
-
},
|
|
2556
|
+
}, fi = (e, t, n, r, i) => {
|
|
2637
2557
|
let a = e.clientWidth, o = e.clientHeight, s = e.scrollLeft, c = e.scrollTop, l = s + a / 2 - r, u = c + o / 2 - i, d = n / t, f = l * d, p = u * d;
|
|
2638
|
-
return new
|
|
2558
|
+
return new ui({
|
|
2639
2559
|
x: f - a / 2 + r,
|
|
2640
2560
|
y: p - o / 2 + i
|
|
2641
2561
|
});
|
|
2642
|
-
},
|
|
2643
|
-
let n = t.viewport, r = t.navigation.scrollNavigationController, i = n.value.element, a = r.value.element, o = r.value.element, s = Math.round(n.scaleFactor * 100) / 100, c = i.offsetLeft, l = i.offsetTop, u =
|
|
2562
|
+
}, pi = (e, t) => {
|
|
2563
|
+
let n = t.viewport, r = t.navigation.scrollNavigationController, i = n.value.element, a = r.value.element, o = r.value.element, s = Math.round(n.scaleFactor * 100) / 100, c = i.offsetLeft, l = i.offsetTop, u = fi(a ?? Ke(), s, e, c, l), d = e < 1 ? "down" : "up";
|
|
2644
2564
|
o && z(o, `data-${X}-zooming-direction`, d), e < 1 ? B(i.style, "transform-origin", "top") : e > 1 && B(i.style, "transform-origin", `${c}px ${l}px`), B(i.style, "transform", `scale(${e})`);
|
|
2645
2565
|
let f = r.fromScrollPosition(u);
|
|
2646
2566
|
t.navigation.navigate({ position: f });
|
|
2647
|
-
},
|
|
2567
|
+
}, mi = 200, hi = class extends U {
|
|
2648
2568
|
constructor(e) {
|
|
2649
2569
|
super({
|
|
2650
2570
|
isZooming: !1,
|
|
@@ -2653,32 +2573,32 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2653
2573
|
x: 0,
|
|
2654
2574
|
y: 0
|
|
2655
2575
|
}
|
|
2656
|
-
}), this.reader = e, this.enterSubject = new m(), this.exitSubject = new m(), T(this.enterSubject.pipe(
|
|
2576
|
+
}), this.reader = e, this.enterSubject = new m(), this.exitSubject = new m(), T(this.enterSubject.pipe(j((e) => {
|
|
2657
2577
|
let { scale: t = 1, animate: n = !1 } = e ?? {}, r = this.reader.viewport.value.element;
|
|
2658
2578
|
z(this.viewport.element, `data-${X}-zooming`, "true");
|
|
2659
2579
|
let i = this.scrollNavigationController.value.element;
|
|
2660
|
-
return i && z(i, `data-${X}-zooming`, this.isControlled ? "false" : "true"), n && this.isControlled && B(r.style, "transition", `transform ${
|
|
2580
|
+
return i && z(i, `data-${X}-zooming`, this.isControlled ? "false" : "true"), n && this.isControlled && B(r.style, "transition", `transform ${mi}ms`), this.mergeCompare({
|
|
2661
2581
|
isZooming: !0,
|
|
2662
2582
|
currentScale: 1,
|
|
2663
2583
|
currentPosition: {
|
|
2664
2584
|
x: 0,
|
|
2665
2585
|
y: 0
|
|
2666
2586
|
}
|
|
2667
|
-
}), this.updateZoom(t), t !== 1 && this.isControlled ?
|
|
2587
|
+
}), this.updateZoom(t), t !== 1 && this.isControlled ? _e(e?.animate ? mi : 0).pipe(N(() => {
|
|
2668
2588
|
this.reader.layout();
|
|
2669
2589
|
})) : u;
|
|
2670
|
-
})), this.exitSubject.pipe(
|
|
2590
|
+
})), this.exitSubject.pipe(j((e) => {
|
|
2671
2591
|
let t = this.reader.viewport.value.element;
|
|
2672
2592
|
z(this.viewport.element, `data-${X}-zooming`, "false");
|
|
2673
2593
|
let n = this.scrollNavigationController.value.element;
|
|
2674
|
-
return n && (
|
|
2594
|
+
return n && (Fe(n, `data-${X}-zooming-direction`), z(n, `data-${X}-zooming`, "false")), e?.animate && this.isControlled && B(t.style, "transition", `transform ${mi}ms`), this.updateZoom(1, {
|
|
2675
2595
|
x: 0,
|
|
2676
2596
|
y: 0
|
|
2677
|
-
}), V(t.style, "transform"), this.mergeCompare({ isZooming: !1 }),
|
|
2597
|
+
}), V(t.style, "transform"), this.mergeCompare({ isZooming: !1 }), _e(e?.animate ? mi : 0).pipe(N(() => {
|
|
2678
2598
|
let e = this.reader.viewport.value.element;
|
|
2679
2599
|
V(e.style, "transform-origin"), V(e.style, "transition"), this.isControlled && this.reader.layout();
|
|
2680
|
-
}),
|
|
2681
|
-
}))).pipe(
|
|
2600
|
+
}), M(this.enterSubject));
|
|
2601
|
+
}))).pipe(M(this.destroy$)).subscribe();
|
|
2682
2602
|
}
|
|
2683
2603
|
enter(e) {
|
|
2684
2604
|
this.enterSubject.next(e);
|
|
@@ -2687,17 +2607,17 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2687
2607
|
this.exitSubject.next(e);
|
|
2688
2608
|
}
|
|
2689
2609
|
move(e, t) {
|
|
2690
|
-
this.isControlled && (V(this.viewport.element.style, "transition"), this.updateZoom(this.value.currentScale, e, { constraints: t?.constrain === "within-viewport" ? (...e) =>
|
|
2610
|
+
this.isControlled && (V(this.viewport.element.style, "transition"), this.updateZoom(this.value.currentScale, e, { constraints: t?.constrain === "within-viewport" ? (...e) => ai(...e, this.reader.viewport) : void 0 }));
|
|
2691
2611
|
}
|
|
2692
2612
|
scaleAt(e, t) {
|
|
2693
2613
|
if (!this.value.isZooming) return;
|
|
2694
2614
|
V(this.viewport.element.style, "transition");
|
|
2695
2615
|
let n = Math.ceil(e * 100) / 100;
|
|
2696
|
-
this.updateZoom(n, void 0, { constraints: t?.constrain === "within-viewport" ? (...e) =>
|
|
2616
|
+
this.updateZoom(n, void 0, { constraints: t?.constrain === "within-viewport" ? (...e) => ai(...e, this.reader.viewport) : void 0 });
|
|
2697
2617
|
}
|
|
2698
2618
|
updateZoom(e, t, n) {
|
|
2699
2619
|
if (this.isControlled) {
|
|
2700
|
-
let r = t ||
|
|
2620
|
+
let r = t || si(this.value.currentScale, e, this.viewport.element, this.value.currentPosition), i = n?.constraints?.(r, e) ?? r;
|
|
2701
2621
|
return this.applyZoom(e, i), this.mergeCompare({
|
|
2702
2622
|
currentScale: e,
|
|
2703
2623
|
currentPosition: i
|
|
@@ -2706,7 +2626,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2706
2626
|
this.applyZoom(e, t ?? this.value.currentPosition), this.mergeCompare({ currentScale: e });
|
|
2707
2627
|
}
|
|
2708
2628
|
applyZoom(e, t) {
|
|
2709
|
-
this.isControlled ?
|
|
2629
|
+
this.isControlled ? oi(e, t, this.viewport.element) : pi(e, this.reader), this.reader.viewport.layout();
|
|
2710
2630
|
}
|
|
2711
2631
|
get isControlled() {
|
|
2712
2632
|
return this.reader.settings.values.computedPageTurnMode === "controlled";
|
|
@@ -2717,8 +2637,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2717
2637
|
get viewport() {
|
|
2718
2638
|
return this.reader.viewport.value;
|
|
2719
2639
|
}
|
|
2720
|
-
},
|
|
2721
|
-
let n = e(t), r = new
|
|
2640
|
+
}, gi = (e) => (t) => {
|
|
2641
|
+
let n = e(t), r = new hi(n), i = () => {
|
|
2722
2642
|
r.destroy(), n.destroy();
|
|
2723
2643
|
}, a = r;
|
|
2724
2644
|
return {
|
|
@@ -2735,12 +2655,12 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2735
2655
|
}
|
|
2736
2656
|
}
|
|
2737
2657
|
};
|
|
2738
|
-
},
|
|
2658
|
+
}, _i = (e) => ke({
|
|
2739
2659
|
spineIndex: e.index,
|
|
2740
2660
|
spineId: e.id
|
|
2741
|
-
}),
|
|
2661
|
+
}), vi = ({ nodeOrRange: e, offset: t, item: n }) => {
|
|
2742
2662
|
let r = "ownerDocument" in e ? e.ownerDocument : e.startContainer.ownerDocument;
|
|
2743
|
-
return !r?.documentElement || e === r ?
|
|
2663
|
+
return !r?.documentElement || e === r ? _i(n) : Qe(e) ? ke({
|
|
2744
2664
|
start: {
|
|
2745
2665
|
node: e.startContainer,
|
|
2746
2666
|
offset: e.startOffset,
|
|
@@ -2753,28 +2673,28 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2753
2673
|
spineIndex: n.index,
|
|
2754
2674
|
spineId: n.id
|
|
2755
2675
|
}
|
|
2756
|
-
}) :
|
|
2676
|
+
}) : ke({
|
|
2757
2677
|
node: e,
|
|
2758
2678
|
offset: t,
|
|
2759
2679
|
spineIndex: n.index,
|
|
2760
2680
|
spineId: n.id
|
|
2761
2681
|
});
|
|
2762
|
-
},
|
|
2682
|
+
}, yi = ({ spineItem: e, pageNode: t }) => vi({
|
|
2763
2683
|
nodeOrRange: t.node,
|
|
2764
2684
|
offset: t.offset,
|
|
2765
2685
|
item: e
|
|
2766
|
-
}).trim(),
|
|
2686
|
+
}).trim(), bi = (e, t) => vi({
|
|
2767
2687
|
nodeOrRange: e,
|
|
2768
2688
|
item: t
|
|
2769
|
-
}),
|
|
2770
|
-
let t =
|
|
2689
|
+
}), xi = (e) => e.index.toString(), Si = (e) => e[0]?.index === 6 && e.length > 1, Ci = (e) => Ae(Me(e)), wi = (e) => Array.isArray(e) ? e[0] && Si(e[0]) ? e[0] : void 0 : e.parent[0] && Si(e.parent[0]) ? e.parent[0] : void 0, Ti = (e) => {
|
|
2690
|
+
let t = Me(e), n = ((wi(t) ?? [])[1]?.index ?? 2) / 2 - 1, r = je(t);
|
|
2771
2691
|
return {
|
|
2772
2692
|
isCfiRange: r,
|
|
2773
2693
|
itemIndex: n,
|
|
2774
2694
|
offset: (r ? t.end.at(-1)?.at(-1)?.offset : t.at(-1)?.at(-1)?.offset) ?? 0
|
|
2775
2695
|
};
|
|
2776
|
-
},
|
|
2777
|
-
let { itemIndex: n, ...r } =
|
|
2696
|
+
}, Ei = ({ cfi: e, spineItemsManager: t }) => {
|
|
2697
|
+
let { itemIndex: n, ...r } = Ti(e), i = t.get(n);
|
|
2778
2698
|
if (!i) return {
|
|
2779
2699
|
...r,
|
|
2780
2700
|
itemIndex: n,
|
|
@@ -2784,7 +2704,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2784
2704
|
if (a instanceof HTMLIFrameElement) {
|
|
2785
2705
|
let t = a.contentWindow?.document;
|
|
2786
2706
|
if (t) try {
|
|
2787
|
-
let a =
|
|
2707
|
+
let a = Ne(e, t, { throwOnError: !0 });
|
|
2788
2708
|
return {
|
|
2789
2709
|
...r,
|
|
2790
2710
|
itemIndex: n,
|
|
@@ -2809,27 +2729,27 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2809
2729
|
spineItem: i,
|
|
2810
2730
|
node: null
|
|
2811
2731
|
};
|
|
2812
|
-
},
|
|
2732
|
+
}, Di = class {
|
|
2813
2733
|
constructor(e, t) {
|
|
2814
2734
|
this.hookManager = e, this.spineItemsManager = t, this.transformForResolve = (e) => {
|
|
2815
2735
|
let { finalParams: t } = this.hookManager.executeSequential("cfi.beforeResolve", { cfi: e }, (e, t) => ({ cfi: t ?? e.cfi }));
|
|
2816
2736
|
return t.cfi;
|
|
2817
|
-
}, this.parseCfi = (e) =>
|
|
2737
|
+
}, this.parseCfi = (e) => Ti(this.transformForResolve(e)), this.getSpineItemFromCfi = (e) => {
|
|
2818
2738
|
let { itemIndex: t } = this.parseCfi(e);
|
|
2819
2739
|
if (t !== void 0) return this.spineItemsManager.get(t);
|
|
2820
|
-
}, this.isRootCfi = (e) =>
|
|
2821
|
-
cfi:
|
|
2740
|
+
}, this.isRootCfi = (e) => Ci(e), this.generateRootCfi = (e) => this.transformGeneratedCfi({
|
|
2741
|
+
cfi: _i(e),
|
|
2822
2742
|
spineItem: e
|
|
2823
2743
|
}), this.generateCfiForSpineItemPage = ({ spineItem: e, pageNode: t }) => this.transformGeneratedCfi({
|
|
2824
|
-
cfi:
|
|
2744
|
+
cfi: yi({
|
|
2825
2745
|
spineItem: e,
|
|
2826
2746
|
pageNode: t
|
|
2827
2747
|
}),
|
|
2828
2748
|
spineItem: e
|
|
2829
2749
|
}), this.generateCfiFromRange = (e, t) => this.transformGeneratedCfi({
|
|
2830
|
-
cfi:
|
|
2750
|
+
cfi: bi(e, t),
|
|
2831
2751
|
spineItem: t
|
|
2832
|
-
}), this.resolveCfi = (e) =>
|
|
2752
|
+
}), this.resolveCfi = (e) => Ei({
|
|
2833
2753
|
...e,
|
|
2834
2754
|
cfi: this.transformForResolve(e.cfi),
|
|
2835
2755
|
spineItemsManager: this.spineItemsManager
|
|
@@ -2842,32 +2762,28 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2842
2762
|
}));
|
|
2843
2763
|
return t.cfi;
|
|
2844
2764
|
}
|
|
2845
|
-
},
|
|
2765
|
+
}, Oi = (e) => e.spineItems.every((t) => (t.renditionLayout ?? e.renditionLayout) === "pre-paginated"), ki = class {
|
|
2846
2766
|
constructor() {
|
|
2847
2767
|
this.navigationSubject = new p(1), this.positionSubject = new p(1), this.viewportStateSubject = new l("free"), this.paginationSubject = new p(1), this.pagination$ = this.paginationSubject.asObservable(), this.viewportState$ = this.viewportStateSubject.asObservable(), this.viewportFree$ = this.viewportState$.pipe(b((e) => e === "free")), this.viewportBusy$ = this.viewportState$.pipe(b((e) => e === "busy")), this.navigation$ = this.navigationSubject.asObservable(), this.position$ = this.positionSubject.asObservable();
|
|
2848
2768
|
}
|
|
2849
|
-
},
|
|
2850
|
-
constructor() {
|
|
2851
|
-
super({
|
|
2769
|
+
}, Ai = class extends U {
|
|
2770
|
+
constructor(e) {
|
|
2771
|
+
super({
|
|
2772
|
+
manifest: e,
|
|
2773
|
+
assumedRenditionLayout: e.renditionLayout ?? "reflowable",
|
|
2774
|
+
isFullyPrePaginated: Oi(e)
|
|
2775
|
+
}), this.bridgeEvent = new ki(), this.isRTL = () => this.value.manifest.readingDirection === "rtl";
|
|
2852
2776
|
}
|
|
2853
2777
|
update(e) {
|
|
2854
|
-
|
|
2855
|
-
...t,
|
|
2856
|
-
...e,
|
|
2857
|
-
...e.manifest && {
|
|
2858
|
-
isFullyPrePaginated: Ii(n),
|
|
2859
|
-
assumedRenditionLayout: n?.renditionLayout ?? "reflowable"
|
|
2860
|
-
}
|
|
2861
|
-
};
|
|
2862
|
-
this.mergeCompare(r);
|
|
2778
|
+
this.mergeCompare(e);
|
|
2863
2779
|
}
|
|
2864
2780
|
get manifest() {
|
|
2865
2781
|
return this.value.manifest;
|
|
2866
2782
|
}
|
|
2867
2783
|
get readingDirection() {
|
|
2868
|
-
return this.manifest
|
|
2784
|
+
return this.manifest.readingDirection;
|
|
2869
2785
|
}
|
|
2870
|
-
},
|
|
2786
|
+
}, ji = class extends U {
|
|
2871
2787
|
constructor(e, t) {
|
|
2872
2788
|
super({
|
|
2873
2789
|
supportedPageTurnAnimation: [
|
|
@@ -2878,10 +2794,10 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2878
2794
|
supportedPageTurnMode: ["controlled", "scrollable"],
|
|
2879
2795
|
supportedPageTurnDirection: ["horizontal", "vertical"],
|
|
2880
2796
|
supportedComputedPageTurnDirection: ["horizontal", "vertical"]
|
|
2881
|
-
}), v([e.watch(["
|
|
2797
|
+
}), v([e.watch(["hasVerticalWriting"]), t.watch(["computedPageTurnMode"])]).pipe(w(([{ hasVerticalWriting: t }, { computedPageTurnMode: n }]) => ({
|
|
2882
2798
|
hasVerticalWriting: t,
|
|
2883
|
-
renditionFlow: e
|
|
2884
|
-
renditionLayout: e
|
|
2799
|
+
renditionFlow: e.manifest.renditionFlow,
|
|
2800
|
+
renditionLayout: e.manifest.renditionLayout,
|
|
2885
2801
|
computedPageTurnMode: n
|
|
2886
2802
|
})), y(o), w(({ hasVerticalWriting: e, renditionFlow: t, renditionLayout: n, computedPageTurnMode: r }) => ({
|
|
2887
2803
|
...this.value,
|
|
@@ -2892,9 +2808,9 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2892
2808
|
"slide"
|
|
2893
2809
|
],
|
|
2894
2810
|
supportedPageTurnDirection: r === "scrollable" ? ["vertical"] : n === "reflowable" ? ["horizontal"] : ["horizontal", "vertical"]
|
|
2895
|
-
})),
|
|
2811
|
+
})), M(this.destroy$)).subscribe(this.next.bind(this));
|
|
2896
2812
|
}
|
|
2897
|
-
},
|
|
2813
|
+
}, Mi = class {
|
|
2898
2814
|
constructor() {
|
|
2899
2815
|
this._hooks = [], this._hookExecutions = [];
|
|
2900
2816
|
}
|
|
@@ -2926,7 +2842,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2926
2842
|
id: t,
|
|
2927
2843
|
ref: n,
|
|
2928
2844
|
abortController: r,
|
|
2929
|
-
destroyFn: () => (r.abort(),
|
|
2845
|
+
destroyFn: () => (r.abort(), D(void 0))
|
|
2930
2846
|
};
|
|
2931
2847
|
});
|
|
2932
2848
|
this._hookExecutions.push(...a);
|
|
@@ -2977,30 +2893,30 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
2977
2893
|
let r = this._hookExecutions.filter((r) => n && r.ref === n || e === r.name && (!t || t && t === r.id));
|
|
2978
2894
|
return this._hookExecutions = this._hookExecutions.filter((e) => !r.includes(e)), v(r.map(({ destroyFn: e }) => e()));
|
|
2979
2895
|
}
|
|
2980
|
-
},
|
|
2896
|
+
}, Ni = "[data-prose-reader-spine-item][data-is-ready=false]{pointer-events:none;-webkit-user-select:none;user-select:none}.prose-reader-enhancer-loading-container{width:100%;height:100%;max-width:var(--prose-reader-absolute-viewport-width,100%);text-align:center;color:#cacaca;z-index:1;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}[data-prose-reader-spine-item][data-is-ready=true] .prose-reader-enhancer-loading-container{visibility:hidden;z-index:0}.prose-reader-enhancer-loading-logo{font-size:4em}.prose-reader-enhancer-loading-details{text-overflow:ellipsis;white-space:nowrap;width:80%;max-width:300px;font-size:1.2em;overflow:hidden}[data-prose-reader-scroll-navigator][data-prose-reader-zooming=true]{overflow:scroll}[data-prose-reader-scroll-navigator][data-prose-reader-zooming=true][data-prose-reader-zooming-direction=down]{overflow-x:auto}[data-prose-reader-scroll-navigator]{width:100%;height:100%;position:relative;overflow:hidden scroll}[data-prose-reader-viewport]{background-color:#fff;width:100%;height:100%;position:relative}.prose-reader-reader{background-color:#fff;position:relative;overflow:hidden}", Pi = (e) => ({
|
|
2981
2897
|
x: -e.x,
|
|
2982
2898
|
y: -e.y
|
|
2983
|
-
}),
|
|
2899
|
+
}), Fi = (e) => e instanceof DOMMatrix ? new J({
|
|
2984
2900
|
x: -e.e,
|
|
2985
2901
|
y: -e.f
|
|
2986
2902
|
}) : new J({
|
|
2987
2903
|
x: -e.x,
|
|
2988
2904
|
y: -e.y
|
|
2989
|
-
}),
|
|
2905
|
+
}), Ii = R.namespace("navigation/ControlledNavigationController"), Li = class extends Q {
|
|
2990
2906
|
constructor(e, t, n, r, i) {
|
|
2991
2907
|
super(), this.settings = e, this.hookManager = t, this.context = n, this.spine = r, this.viewport = i, this.navigateSubject = new m(), this.element$ = new l(document.createElement("div")), this.isActive = () => this.settings.values.computedPageTurnMode === "controlled", this.getNavigationVisibleArea = () => this.viewport.absoluteViewport;
|
|
2992
|
-
let o = this.spine.element$.pipe(b(K),
|
|
2908
|
+
let o = this.spine.element$.pipe(b(K), P(this.element$), N(([e, t]) => {
|
|
2993
2909
|
t.style.cssText = "\n height: 100%;\n width: 100%;\n position: relative;\n ", t.className = `${X}-controlled-navigator`, t.innerHTML = "", t.appendChild(e), this.viewport.value.element.appendChild(t), this.element$.next(t);
|
|
2994
2910
|
})), s = v([e.watch([
|
|
2995
2911
|
"computedPageTurnDirection",
|
|
2996
2912
|
"computedPageTurnMode",
|
|
2997
2913
|
"numberOfAdjacentSpineItemToPreLoad"
|
|
2998
|
-
]), this.element$]).pipe(
|
|
2914
|
+
]), this.element$]).pipe(N(([, t]) => {
|
|
2999
2915
|
e.values.computedPageTurnMode === "scrollable" ? B(t.style, "display", "contents") : B(t.style, "display", "block");
|
|
3000
2916
|
}));
|
|
3001
|
-
this.layout$ = s.pipe(
|
|
3002
|
-
|
|
3003
|
-
}),
|
|
2917
|
+
this.layout$ = s.pipe(N(() => {
|
|
2918
|
+
Ii.info("layout", e.values);
|
|
2919
|
+
}), O()), this.isNavigating$ = this.navigateSubject.pipe(y((e, t) => a(e.position, t.position)), w(({ animation: t, position: n }) => (Ii.info("Navigation requested", {
|
|
3004
2920
|
animation: t,
|
|
3005
2921
|
position: n
|
|
3006
2922
|
}), {
|
|
@@ -3008,53 +2924,56 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3008
2924
|
shouldAnimate: !(!t || t === "turn" && e.values.computedPageTurnAnimation === "none"),
|
|
3009
2925
|
animation: t,
|
|
3010
2926
|
position: n
|
|
3011
|
-
})),
|
|
2927
|
+
})), j((t) => {
|
|
3012
2928
|
let n = this.element$.getValue();
|
|
3013
|
-
return B(n.style, "transition", "none"), B(n.style, "opacity", "1"), T(
|
|
3014
|
-
if (t?.type !== "manualAdjust") return
|
|
2929
|
+
return B(n.style, "transition", "none"), B(n.style, "opacity", "1"), T(D(!0), D(null).pipe(E(() => {
|
|
2930
|
+
if (t?.type !== "manualAdjust") return D(!1);
|
|
3015
2931
|
let n = t.animation === "snap" ? e.values.snapAnimationDuration : e.values.computedPageTurnAnimationDuration, r = t.animation === "snap" ? "slide" : e.values.computedPageTurnAnimation;
|
|
3016
|
-
return
|
|
2932
|
+
return D(t).pipe(t.shouldAnimate ? ae(1, h) : le, N((e) => {
|
|
3017
2933
|
let i = this.element$.getValue();
|
|
3018
2934
|
e.shouldAnimate ? r === "fade" ? (B(i.style, "transition", `opacity ${n / 2}ms`), B(i.style, "opacity", "0")) : (t.animation === "snap" || r === "slide") && (B(i.style, "transition", `transform ${n}ms`), B(i.style, "opacity", "1")) : (B(i.style, "transition", "none"), B(i.style, "opacity", "1"));
|
|
3019
|
-
}),
|
|
2935
|
+
}), N((e) => {
|
|
3020
2936
|
r !== "fade" && this.applyNavigationPosition(e.position);
|
|
3021
|
-
}), t.shouldAnimate ? ae(n / 2, h) :
|
|
2937
|
+
}), t.shouldAnimate ? ae(n / 2, h) : le, N((e) => {
|
|
3022
2938
|
let t = this.element$.getValue();
|
|
3023
2939
|
r === "fade" && (this.applyNavigationPosition(e.position), B(t.style, "opacity", "1"));
|
|
3024
|
-
}), t.shouldAnimate ? ae(n / 2, h) :
|
|
2940
|
+
}), t.shouldAnimate ? ae(n / 2, h) : le, N((e) => {
|
|
3025
2941
|
r === "fade" && this.applyNavigationPosition(e.position);
|
|
3026
2942
|
}));
|
|
3027
2943
|
}), w(() => !1)));
|
|
3028
|
-
}),
|
|
2944
|
+
}), A(!1), k(1)), T(o, this.isNavigating$, this.layout$).pipe(M(this.destroy$)).subscribe();
|
|
3029
2945
|
}
|
|
3030
2946
|
applyNavigationPosition(e) {
|
|
3031
|
-
let t = this.element$.getValue(), n =
|
|
2947
|
+
let t = this.element$.getValue(), n = Pi(e);
|
|
3032
2948
|
B(t.style, "transform", `translate(${n.x}px, ${n.y}px)`), this.hookManager.execute("onViewportOffsetAdjust", void 0);
|
|
3033
2949
|
}
|
|
3034
2950
|
navigate(e) {
|
|
3035
2951
|
this.navigateSubject.next(e);
|
|
3036
2952
|
}
|
|
2953
|
+
destroy() {
|
|
2954
|
+
super.destroy(), this.element$.getValue().remove(), this.element$.complete();
|
|
2955
|
+
}
|
|
3037
2956
|
get viewportPosition() {
|
|
3038
2957
|
let e = this.element$.getValue(), t = window.getComputedStyle(e), n = t.transform || t.webkitTransform;
|
|
3039
2958
|
return !n || n === "none" ? new J({
|
|
3040
2959
|
x: 0,
|
|
3041
2960
|
y: 0
|
|
3042
|
-
}) :
|
|
2961
|
+
}) : Fi(new DOMMatrix(n));
|
|
3043
2962
|
}
|
|
3044
|
-
},
|
|
2963
|
+
}, Ri = () => (e) => e.pipe(w(({ navigation: e, pagination: t, ...n }) => ({
|
|
3045
2964
|
navigation: {
|
|
3046
2965
|
...e,
|
|
3047
2966
|
paginationBeginCfi: t.beginCfi
|
|
3048
2967
|
},
|
|
3049
2968
|
...n
|
|
3050
|
-
}))),
|
|
2969
|
+
}))), zi = (e, t, n) => e.bridgeEvent.pagination$.pipe(P(t), b(([e, t]) => e.navigationId === t.id), j(([e, t]) => (n.spineItemsManager.get(t.spineItem)?.isReady$.pipe(x()) ?? D(!1)).pipe(b((e) => e), w(() => ({
|
|
3051
2970
|
pagination: e,
|
|
3052
2971
|
navigation: t
|
|
3053
|
-
})))),
|
|
2972
|
+
})))), Ri(), y((e, t) => e.navigation.paginationBeginCfi === t.navigation.paginationBeginCfi), w(({ navigation: e }) => ({
|
|
3054
2973
|
...e,
|
|
3055
2974
|
meta: { triggeredBy: "pagination" },
|
|
3056
2975
|
requestedPosition: e.position
|
|
3057
|
-
}))),
|
|
2976
|
+
}))), Bi = ({ navigationResolver: e, getNavigationVisibleArea: t }) => (n) => n.pipe(w(([n, r]) => {
|
|
3058
2977
|
let i = n.position, a = i ? t() : void 0, o = i && a ? e.clampPositionInSpine(i, a) : void 0;
|
|
3059
2978
|
return {
|
|
3060
2979
|
previousNavigation: r,
|
|
@@ -3069,7 +2988,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3069
2988
|
position: o
|
|
3070
2989
|
}
|
|
3071
2990
|
};
|
|
3072
|
-
})),
|
|
2991
|
+
})), Vi = ({ navigationResolver: e }) => (t) => t.pipe(w((t) => {
|
|
3073
2992
|
if (t.navigation.cfi) {
|
|
3074
2993
|
let n = e.getNavigationForCfi(t.navigation.cfi);
|
|
3075
2994
|
if (n) return {
|
|
@@ -3081,8 +3000,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3081
3000
|
};
|
|
3082
3001
|
}
|
|
3083
3002
|
return t;
|
|
3084
|
-
})),
|
|
3085
|
-
let i =
|
|
3003
|
+
})), Hi = ({ navigation: e, previousNavigation: t, settings: n }) => e.directionFromLastNavigation ? e.directionFromLastNavigation : e.url !== void 0 || e.cfi !== void 0 ? "anchor" : t.spineItem === void 0 || e.spineItem || !e.position ? "forward" : n.values.computedPageTurnDirection === "vertical" ? e.position.y > t.position.y || e.position.y === t.position.y && t.directionFromLastNavigation !== "backward" ? "forward" : "backward" : Math.abs(e.position.x) > Math.abs(t.position.x) || e.position.x === t.position.x && t.directionFromLastNavigation !== "backward" ? "forward" : "backward", Ui = ({ context: e, settings: t }) => (n) => n.pipe(w(({ navigation: n, previousNavigation: r }) => {
|
|
3004
|
+
let i = Hi({
|
|
3086
3005
|
context: e,
|
|
3087
3006
|
navigation: n,
|
|
3088
3007
|
previousNavigation: r,
|
|
@@ -3096,7 +3015,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3096
3015
|
},
|
|
3097
3016
|
direction: i
|
|
3098
3017
|
};
|
|
3099
|
-
})),
|
|
3018
|
+
})), Wi = ({ spineItemsManager: e, navigationResolver: t, settings: n, viewport: r }) => (i) => i.pipe(w(({ navigation: i, ...a }) => {
|
|
3100
3019
|
let o = e.get(i.spineItem);
|
|
3101
3020
|
if (i.position) return n.values.computedPageTurnMode === "scrollable" ? {
|
|
3102
3021
|
navigation: {
|
|
@@ -3129,7 +3048,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3129
3048
|
},
|
|
3130
3049
|
...a
|
|
3131
3050
|
};
|
|
3132
|
-
})),
|
|
3051
|
+
})), Gi = ({ settings: e, spineItemsManager: t, navigationResolver: n, spineLocator: r, cfi: i }) => (a) => {
|
|
3133
3052
|
let o = (a) => {
|
|
3134
3053
|
let { position: o, spineItem: s, cfi: c, directionFromLastNavigation: l } = a, { navigationSnapThreshold: u, computedPageTurnMode: d } = e.values;
|
|
3135
3054
|
if (s !== void 0) {
|
|
@@ -3175,9 +3094,9 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3175
3094
|
...n
|
|
3176
3095
|
};
|
|
3177
3096
|
}));
|
|
3178
|
-
},
|
|
3097
|
+
}, Ki = ({ spine: e }) => (t) => t.pipe(j(({ navigation: t, ...n }) => {
|
|
3179
3098
|
let r = e.getSpineItemSpineLayoutInfo(t.spineItem), i = e.spineItemsManager.get(t.spineItem);
|
|
3180
|
-
return (i?.isReady$ ??
|
|
3099
|
+
return (i?.isReady$ ?? D(!1)).pipe(x(), w((e) => ({
|
|
3181
3100
|
navigation: {
|
|
3182
3101
|
...t,
|
|
3183
3102
|
spineItemHeight: r?.height,
|
|
@@ -3189,7 +3108,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3189
3108
|
},
|
|
3190
3109
|
...n
|
|
3191
3110
|
})));
|
|
3192
|
-
})),
|
|
3111
|
+
})), qi = ({ settings: e, spineItemsManager: t, spineLocator: n, navigationResolver: r }) => (i) => {
|
|
3193
3112
|
let a = (i) => {
|
|
3194
3113
|
let { navigationSnapThreshold: a, computedPageTurnMode: o } = e.values, s = t.get(i.spineItem);
|
|
3195
3114
|
if (!(!s || !i.position)) {
|
|
@@ -3226,7 +3145,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3226
3145
|
},
|
|
3227
3146
|
...t
|
|
3228
3147
|
})));
|
|
3229
|
-
},
|
|
3148
|
+
}, Ji = ({ navigationResolver: e }) => (t) => t.pipe(w((t) => {
|
|
3230
3149
|
if (t.navigation.url) {
|
|
3231
3150
|
let n = e.getNavigationForUrl(t.navigation.url);
|
|
3232
3151
|
if (n) return {
|
|
@@ -3239,7 +3158,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3239
3158
|
};
|
|
3240
3159
|
}
|
|
3241
3160
|
return t;
|
|
3242
|
-
})),
|
|
3161
|
+
})), Yi = class {
|
|
3243
3162
|
constructor() {
|
|
3244
3163
|
this.isLockedSubject = new l(0), this.isLocked$ = this.isLockedSubject.pipe(w((e) => !!e), y());
|
|
3245
3164
|
}
|
|
@@ -3249,7 +3168,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3249
3168
|
e || (e = !0, this.isLockedSubject.next(this.isLockedSubject.getValue() - 1));
|
|
3250
3169
|
};
|
|
3251
3170
|
}
|
|
3252
|
-
},
|
|
3171
|
+
}, Xi = ({ spineLocator: e, navigation: t, navigationResolver: n, spineItemsManager: r, spine: i, cfiManager: a }) => {
|
|
3253
3172
|
let o = r.get(t.spineItem);
|
|
3254
3173
|
return o ? o.isReady$.pipe(x(), w((r) => {
|
|
3255
3174
|
let s = i.getSpineItemSpineLayoutInfo(o), c = e.isPositionWithinSpineItem(t.position, o), l = s.width - (t.spineItemWidth ?? 0), u = s.height - (t.spineItemHeight ?? 0), d = l !== 0 || u !== 0;
|
|
@@ -3285,11 +3204,11 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3285
3204
|
});
|
|
3286
3205
|
}
|
|
3287
3206
|
return c ? n.getNavigationForPosition(t.position) : n.getNavigationForSpineIndexOrId(o);
|
|
3288
|
-
})) :
|
|
3207
|
+
})) : D(new J({
|
|
3289
3208
|
x: 0,
|
|
3290
3209
|
y: 0
|
|
3291
3210
|
}));
|
|
3292
|
-
},
|
|
3211
|
+
}, Zi = ({ navigation: e, spineLocator: t, spineItemsManager: n, settings: r, navigationResolver: i, spine: a }) => {
|
|
3293
3212
|
let { spineItem: o } = e, s = n.get(o);
|
|
3294
3213
|
if (!s) return new J({
|
|
3295
3214
|
x: 0,
|
|
@@ -3340,21 +3259,21 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3340
3259
|
}
|
|
3341
3260
|
}
|
|
3342
3261
|
return e.position;
|
|
3343
|
-
},
|
|
3262
|
+
}, Qi = ({ navigation: e, spineItemsManager: t, settings: n, spineLocator: r, navigationResolver: i, spine: a, cfiManager: o }) => n.values.computedPageTurnMode === "scrollable" ? D(Zi({
|
|
3344
3263
|
navigation: e,
|
|
3345
3264
|
spineLocator: r,
|
|
3346
3265
|
navigationResolver: i,
|
|
3347
3266
|
settings: n,
|
|
3348
3267
|
spineItemsManager: t,
|
|
3349
3268
|
spine: a
|
|
3350
|
-
})) :
|
|
3269
|
+
})) : Xi({
|
|
3351
3270
|
navigation: e,
|
|
3352
3271
|
spineLocator: r,
|
|
3353
3272
|
navigationResolver: i,
|
|
3354
3273
|
spineItemsManager: t,
|
|
3355
3274
|
spine: a,
|
|
3356
3275
|
cfiManager: o
|
|
3357
|
-
}),
|
|
3276
|
+
}), $i = ({ settings: e, navigationResolver: t, context: n, spine: r, cfiManager: i }) => (a) => a.pipe(j((a) => Qi({
|
|
3358
3277
|
spineLocator: r.locator,
|
|
3359
3278
|
navigation: a.navigation,
|
|
3360
3279
|
navigationResolver: t,
|
|
@@ -3370,7 +3289,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3370
3289
|
...a.navigation,
|
|
3371
3290
|
position: e
|
|
3372
3291
|
}
|
|
3373
|
-
}))))),
|
|
3292
|
+
}))))), ea = R.namespace("navigation/InternalNavigator"), ta = (e, t) => e === t || !!e && !!t && e.x === t.x && e.y === t.y, na = (e, t) => e === t || !!e && !!t && e.width === t.width && e.height === t.height, ra = (e, t) => e.id === t.id && ta(e.position, t.position) && ta(e.requestedPosition, t.requestedPosition) && na(e.requestedVisibleArea, t.requestedVisibleArea), ia = class extends Q {
|
|
3374
3293
|
constructor(e, t, n, r, i, a, o, s, c, u) {
|
|
3375
3294
|
super(), this.settings = e, this.context = t, this.userNavigation$ = n, this.getActiveNavigationModeController = r, this.navigationModeLayout$ = i, this.navigationResolver = a, this.spine = o, this.viewport = s, this.cfiManager = c, this.isUserInteractionLocked$ = u, this.navigationSubject = new l({
|
|
3376
3295
|
animation: !1,
|
|
@@ -3392,57 +3311,57 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3392
3311
|
requestedPosition: n,
|
|
3393
3312
|
requestedVisibleArea: r,
|
|
3394
3313
|
triggeredBy: i.triggeredBy
|
|
3395
|
-
})), y(
|
|
3396
|
-
let d = n.pipe(
|
|
3314
|
+
})), y(ra), k(1)), this.locker = new Yi();
|
|
3315
|
+
let d = n.pipe(P(this.navigationSubject), Bi({
|
|
3397
3316
|
navigationResolver: a,
|
|
3398
3317
|
getNavigationVisibleArea: () => r().getNavigationVisibleArea()
|
|
3399
|
-
}),
|
|
3318
|
+
}), Ji({ navigationResolver: a }), Vi({ navigationResolver: a }), Ui({
|
|
3400
3319
|
context: t,
|
|
3401
3320
|
settings: e
|
|
3402
|
-
}),
|
|
3321
|
+
}), Gi({
|
|
3403
3322
|
context: t,
|
|
3404
3323
|
cfi: c,
|
|
3405
3324
|
navigationResolver: a,
|
|
3406
3325
|
settings: e,
|
|
3407
3326
|
spineItemsManager: o.spineItemsManager,
|
|
3408
3327
|
spineLocator: o.locator
|
|
3409
|
-
}),
|
|
3328
|
+
}), qi({
|
|
3410
3329
|
navigationResolver: a,
|
|
3411
3330
|
settings: e,
|
|
3412
3331
|
spineItemsManager: o.spineItemsManager,
|
|
3413
3332
|
spineLocator: o.locator
|
|
3414
|
-
}),
|
|
3333
|
+
}), Ki({ spine: o })).pipe(Wi({
|
|
3415
3334
|
navigationResolver: a,
|
|
3416
3335
|
spineItemsManager: o.spineItemsManager,
|
|
3417
3336
|
settings: e,
|
|
3418
3337
|
viewport: s
|
|
3419
|
-
}),
|
|
3338
|
+
}), P(u), j(([n, r]) => {
|
|
3420
3339
|
let i = n.navigation.cfi || n.navigation.url || e.values.computedPageTurnMode === "scrollable" || r;
|
|
3421
|
-
return
|
|
3340
|
+
return D(n).pipe(i ? le : $i({
|
|
3422
3341
|
navigationResolver: a,
|
|
3423
3342
|
settings: e,
|
|
3424
3343
|
spine: o,
|
|
3425
3344
|
context: t,
|
|
3426
3345
|
cfiManager: c
|
|
3427
3346
|
}));
|
|
3428
|
-
}),
|
|
3347
|
+
}), qi({
|
|
3429
3348
|
spineItemsManager: o.spineItemsManager,
|
|
3430
3349
|
spineLocator: o.locator,
|
|
3431
3350
|
settings: e,
|
|
3432
3351
|
navigationResolver: a
|
|
3433
|
-
}), w((e) => e.navigation),
|
|
3352
|
+
}), w((e) => e.navigation), O()), f = d.pipe(P(u), b(([, e]) => e), j(([e]) => {
|
|
3434
3353
|
let t = this.locker.lock();
|
|
3435
3354
|
return u.pipe(b((e) => !e), x(), w(() => ({ navigation: {
|
|
3436
3355
|
...e,
|
|
3437
3356
|
animation: "snap"
|
|
3438
3357
|
} })), ce(() => {
|
|
3439
3358
|
t();
|
|
3440
|
-
}),
|
|
3441
|
-
}),
|
|
3442
|
-
T(T(T(i, o.layout$).pipe(
|
|
3359
|
+
}), M(d));
|
|
3360
|
+
}), O());
|
|
3361
|
+
T(T(T(i, o.layout$).pipe(j(() => D(null).pipe(j(() => u.pipe(b((e) => !e), x())), w(() => ({ navigation: {
|
|
3443
3362
|
...this.navigationSubject.getValue(),
|
|
3444
3363
|
animation: !1
|
|
3445
|
-
} })),
|
|
3364
|
+
} })), M(T(f, d))))), f).pipe($i({
|
|
3446
3365
|
navigationResolver: a,
|
|
3447
3366
|
settings: e,
|
|
3448
3367
|
context: t,
|
|
@@ -3452,19 +3371,19 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3452
3371
|
...e,
|
|
3453
3372
|
meta: { triggeredBy: "restoration" },
|
|
3454
3373
|
requestedPosition: e.position
|
|
3455
|
-
} })),
|
|
3374
|
+
} })), Gi({
|
|
3456
3375
|
context: t,
|
|
3457
3376
|
cfi: c,
|
|
3458
3377
|
navigationResolver: a,
|
|
3459
3378
|
settings: e,
|
|
3460
3379
|
spineItemsManager: o.spineItemsManager,
|
|
3461
3380
|
spineLocator: o.locator
|
|
3462
|
-
}),
|
|
3381
|
+
}), Ki({ spine: o }), qi({
|
|
3463
3382
|
spineItemsManager: o.spineItemsManager,
|
|
3464
3383
|
spineLocator: o.locator,
|
|
3465
3384
|
settings: e,
|
|
3466
3385
|
navigationResolver: a
|
|
3467
|
-
}), w(({ navigation: e }) => e),
|
|
3386
|
+
}), w(({ navigation: e }) => e), O()), d, zi(t, this.navigationSubject, o)).pipe(P(this.navigationSubject), (e) => e.pipe(N(([e]) => {
|
|
3468
3387
|
let t = e.type === "scroll", n = e.meta.triggeredBy === "pagination", r = e.meta.triggeredBy === "restoration";
|
|
3469
3388
|
if (t && !r || n) return;
|
|
3470
3389
|
let i = {
|
|
@@ -3472,34 +3391,34 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3472
3391
|
animation: e.animation
|
|
3473
3392
|
};
|
|
3474
3393
|
this.getActiveNavigationModeController().navigate(i);
|
|
3475
|
-
})), (e) => e.pipe(
|
|
3476
|
-
|
|
3394
|
+
})), (e) => e.pipe(N(([e, t]) => {
|
|
3395
|
+
ea.info(`navigation updated from ${e.meta.triggeredBy} of type ${e.type}`, {
|
|
3477
3396
|
previousNavigation: t,
|
|
3478
3397
|
currentNavigation: e
|
|
3479
3398
|
}), this.navigationSubject.next(e);
|
|
3480
|
-
})),
|
|
3399
|
+
})), M(this.destroy$)).subscribe();
|
|
3481
3400
|
}
|
|
3482
3401
|
get navigation() {
|
|
3483
3402
|
return this.navigationSubject.getValue();
|
|
3484
3403
|
}
|
|
3485
|
-
},
|
|
3404
|
+
}, aa = (e, t, n) => {
|
|
3486
3405
|
let r = n - e, i = t * e * n / (n || 1);
|
|
3487
3406
|
return Math.max(0, Math.min(r, i));
|
|
3488
|
-
},
|
|
3489
|
-
let r =
|
|
3407
|
+
}, oa = (e, t) => (t || 0) === 0 || (e || 0) === 0 ? 1 : Math.floor(Math.max(1, e / t)), sa = (e, t, n) => {
|
|
3408
|
+
let r = oa(n, t), i = [...Array(r)].map((e, n) => n * t);
|
|
3490
3409
|
return e >= r * t ? i[i.length - 1] || 0 : i.find((n) => e < n + t) || 0;
|
|
3491
|
-
},
|
|
3410
|
+
}, ca = (e, t, n) => {
|
|
3492
3411
|
let r = [...Array(n)].map((e, n) => n * t);
|
|
3493
3412
|
return e <= 0 || n === 0 ? 0 : e >= n * t ? n - 1 : r.findIndex((n) => e < n + t) ?? 0;
|
|
3494
|
-
},
|
|
3413
|
+
}, la = ({ itemWidth: e, itemHeight: t, spineItemPosition: n }) => new q({
|
|
3495
3414
|
x: Math.min(e, Math.max(0, n.x)),
|
|
3496
3415
|
y: Math.min(t, Math.max(0, n.y))
|
|
3497
|
-
}),
|
|
3498
|
-
let l =
|
|
3416
|
+
}), ua = ({ itemHeight: e, itemWidth: t, isUsingVerticalWriting: n, pageWidth: r, pageHeight: i, pageTurnDirection: a, pageTurnMode: o }) => a === "vertical" && o === "scrollable" ? 1 : n || a === "vertical" ? oa(e, i) : oa(t, r), da = ({ itemWidth: e, itemHeight: t, position: n, isUsingVerticalWriting: r, pageWidth: i, pageHeight: a, pageTurnDirection: o, pageTurnMode: s, isRTL: c }) => {
|
|
3417
|
+
let l = la({
|
|
3499
3418
|
spineItemPosition: n,
|
|
3500
3419
|
itemHeight: t,
|
|
3501
3420
|
itemWidth: e
|
|
3502
|
-
}).x, u =
|
|
3421
|
+
}).x, u = ua({
|
|
3503
3422
|
isUsingVerticalWriting: r,
|
|
3504
3423
|
itemHeight: t,
|
|
3505
3424
|
itemWidth: e,
|
|
@@ -3508,15 +3427,15 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3508
3427
|
pageTurnDirection: o,
|
|
3509
3428
|
pageTurnMode: s
|
|
3510
3429
|
});
|
|
3511
|
-
if (r) return
|
|
3512
|
-
let d =
|
|
3430
|
+
if (r) return ca(n.y, a, u);
|
|
3431
|
+
let d = ca(l, i, u);
|
|
3513
3432
|
return c ? u - 1 - d : d;
|
|
3514
|
-
},
|
|
3433
|
+
}, fa = ({ pageIndex: e, itemLayout: t, context: n, isUsingVerticalWriting: r, viewport: i }) => {
|
|
3515
3434
|
if (r) return new q({
|
|
3516
3435
|
x: 0,
|
|
3517
|
-
y:
|
|
3436
|
+
y: aa(i.pageSize.height, e, t.height)
|
|
3518
3437
|
});
|
|
3519
|
-
let a =
|
|
3438
|
+
let a = aa(i.pageSize.width, e, t.width);
|
|
3520
3439
|
return n.isRTL() ? new q({
|
|
3521
3440
|
x: t.width - a - i.pageSize.width,
|
|
3522
3441
|
y: 0
|
|
@@ -3524,26 +3443,26 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3524
3443
|
x: a,
|
|
3525
3444
|
y: 0
|
|
3526
3445
|
});
|
|
3527
|
-
},
|
|
3446
|
+
}, pa = ({ context: e, settings: t, viewport: n }) => {
|
|
3528
3447
|
let r = (e, t, r) => {
|
|
3529
3448
|
let i;
|
|
3530
|
-
e?.nodeName === "img" || e?.textContent === "" && e.nodeType === Node.ELEMENT_NODE ? i = e.getBoundingClientRect().x : e && (i = (e ?
|
|
3449
|
+
e?.nodeName === "img" || e?.textContent === "" && e.nodeType === Node.ELEMENT_NODE ? i = e.getBoundingClientRect().x : e && (i = (e ? He(e, t) : void 0)?.getBoundingClientRect().x || i);
|
|
3531
3450
|
let a = r.layoutInfo?.width || 0, o = n.pageSize.width;
|
|
3532
3451
|
if (i !== void 0) return new q({
|
|
3533
|
-
x:
|
|
3452
|
+
x: sa(i, o, a),
|
|
3534
3453
|
y: 0
|
|
3535
3454
|
});
|
|
3536
3455
|
};
|
|
3537
3456
|
return {
|
|
3538
3457
|
getSpineItemPositionFromNode: r,
|
|
3539
|
-
getSpineItemPositionFromPageIndex: ({ pageIndex: t, spineItem: r }) =>
|
|
3458
|
+
getSpineItemPositionFromPageIndex: ({ pageIndex: t, spineItem: r }) => fa({
|
|
3540
3459
|
context: e,
|
|
3541
3460
|
isUsingVerticalWriting: !!r.isUsingVerticalWriting(),
|
|
3542
3461
|
itemLayout: r.layoutInfo,
|
|
3543
3462
|
pageIndex: t,
|
|
3544
3463
|
viewport: n
|
|
3545
3464
|
}),
|
|
3546
|
-
getSpineItemPageIndexFromPosition: (r) =>
|
|
3465
|
+
getSpineItemPageIndexFromPosition: (r) => da({
|
|
3547
3466
|
...r,
|
|
3548
3467
|
isRTL: e.isRTL(),
|
|
3549
3468
|
pageWidth: n.pageSize.width,
|
|
@@ -3553,7 +3472,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3553
3472
|
}),
|
|
3554
3473
|
getSpineItemPageIndexFromNode: (i, a, o) => {
|
|
3555
3474
|
let s = r(i, a, o), { height: c, width: l } = o.layoutInfo;
|
|
3556
|
-
return s ?
|
|
3475
|
+
return s ? da({
|
|
3557
3476
|
isUsingVerticalWriting: !!o.isUsingVerticalWriting(),
|
|
3558
3477
|
position: s,
|
|
3559
3478
|
itemHeight: c,
|
|
@@ -3568,35 +3487,35 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3568
3487
|
getSpineItemClosestPositionFromUnsafePosition: (e, t) => {
|
|
3569
3488
|
let { width: r, height: i } = t.layoutInfo;
|
|
3570
3489
|
return new q({
|
|
3571
|
-
x:
|
|
3572
|
-
y:
|
|
3490
|
+
x: sa(e.x, n.pageSize.width, r),
|
|
3491
|
+
y: sa(e.y, n.pageSize.height, i)
|
|
3573
3492
|
});
|
|
3574
3493
|
},
|
|
3575
3494
|
getSpineItemPagePositionFromSpineItemPosition: (t, r, i) => {
|
|
3576
3495
|
let { width: a, height: o } = i.layoutInfo, s = n.pageSize.width, c = n.pageSize.height;
|
|
3577
3496
|
if (i.isUsingVerticalWriting()) {
|
|
3578
|
-
let e =
|
|
3579
|
-
return new
|
|
3497
|
+
let e = aa(c, r, o);
|
|
3498
|
+
return new cn({
|
|
3580
3499
|
x: t.x,
|
|
3581
3500
|
y: t.y - e
|
|
3582
3501
|
});
|
|
3583
3502
|
}
|
|
3584
|
-
let l =
|
|
3503
|
+
let l = aa(s, r, a);
|
|
3585
3504
|
if (e.isRTL()) {
|
|
3586
3505
|
let e = a - (r + 1) * s;
|
|
3587
|
-
return new
|
|
3506
|
+
return new cn({
|
|
3588
3507
|
x: t.x - Math.max(0, e),
|
|
3589
3508
|
y: t.y
|
|
3590
3509
|
});
|
|
3591
3510
|
}
|
|
3592
|
-
return new
|
|
3511
|
+
return new cn({
|
|
3593
3512
|
x: t.x - l,
|
|
3594
3513
|
y: t.y
|
|
3595
3514
|
});
|
|
3596
3515
|
}
|
|
3597
3516
|
};
|
|
3598
|
-
},
|
|
3599
|
-
let r =
|
|
3517
|
+
}, ma = ({ context: e, settings: t, viewport: n }) => {
|
|
3518
|
+
let r = pa({
|
|
3600
3519
|
context: e,
|
|
3601
3520
|
settings: t,
|
|
3602
3521
|
viewport: n
|
|
@@ -3615,7 +3534,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3615
3534
|
y: 0
|
|
3616
3535
|
})
|
|
3617
3536
|
};
|
|
3618
|
-
},
|
|
3537
|
+
}, ha = ({ size: e, isRTL: t, spineItemsManager: n, spine: r }) => {
|
|
3619
3538
|
let i = n.get(n.items.length - 1);
|
|
3620
3539
|
if (!i) return;
|
|
3621
3540
|
let a = r.getSpineItemSpineLayoutInfo(i), o = Math.max(0, a.bottom - e.height);
|
|
@@ -3634,8 +3553,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3634
3553
|
yMin: 0,
|
|
3635
3554
|
yMax: o
|
|
3636
3555
|
};
|
|
3637
|
-
},
|
|
3638
|
-
let a =
|
|
3556
|
+
}, ga = ({ position: e, size: t, isRTL: n, spineItemsManager: r, spine: i }) => {
|
|
3557
|
+
let a = ha({
|
|
3639
3558
|
size: t,
|
|
3640
3559
|
isRTL: n,
|
|
3641
3560
|
spineItemsManager: r,
|
|
@@ -3650,8 +3569,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3650
3569
|
x: n ? Math.max(a.xMin, Math.min(a.xMax, e.x)) : Math.min(Math.max(a.xMin, e.x), a.xMax),
|
|
3651
3570
|
y: o
|
|
3652
3571
|
});
|
|
3653
|
-
},
|
|
3654
|
-
let a =
|
|
3572
|
+
}, _a = ({ position: e, size: t, isRTL: n, spineItemsManager: r, spine: i }) => {
|
|
3573
|
+
let a = ha({
|
|
3655
3574
|
size: t,
|
|
3656
3575
|
isRTL: n,
|
|
3657
3576
|
spineItemsManager: r,
|
|
@@ -3677,7 +3596,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3677
3596
|
x: a,
|
|
3678
3597
|
y: i
|
|
3679
3598
|
});
|
|
3680
|
-
},
|
|
3599
|
+
}, va = ({ viewportPosition: e, spineLocator: t, spineItemNavigationResolver: n, viewport: r }) => {
|
|
3681
3600
|
let i = t.getSpineItemFromPosition(e);
|
|
3682
3601
|
if (i) {
|
|
3683
3602
|
let a = t.getSpineItemPositionFromSpinePosition(e, i), o = n.getNavigationForPosition(i, a);
|
|
@@ -3694,9 +3613,9 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3694
3613
|
x: 0,
|
|
3695
3614
|
y: 0
|
|
3696
3615
|
});
|
|
3697
|
-
},
|
|
3616
|
+
}, ya = ({ pageIndex: e, spineItemsManager: t, spineItemId: n, spineLocator: r, spineItemNavigationResolver: i, viewport: a }) => {
|
|
3698
3617
|
let o = t.get(n);
|
|
3699
|
-
if (!o) return
|
|
3618
|
+
if (!o) return va({
|
|
3700
3619
|
viewportPosition: new J({
|
|
3701
3620
|
x: e * a.pageSize.width,
|
|
3702
3621
|
y: 0
|
|
@@ -3717,7 +3636,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3717
3636
|
pageSizeWidth: a.pageSize.width,
|
|
3718
3637
|
visibleAreaRectWidth: a.absoluteViewport.width
|
|
3719
3638
|
});
|
|
3720
|
-
},
|
|
3639
|
+
}, ba = (e, t) => {
|
|
3721
3640
|
if (t && t instanceof HTMLIFrameElement) {
|
|
3722
3641
|
let n = t.contentDocument, r = e.trim();
|
|
3723
3642
|
if (!n || r.length === 0) return;
|
|
@@ -3731,11 +3650,11 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3731
3650
|
return;
|
|
3732
3651
|
}
|
|
3733
3652
|
}
|
|
3734
|
-
},
|
|
3735
|
-
let r =
|
|
3653
|
+
}, xa = ({ anchor: e, spineItem: t, spine: n }) => {
|
|
3654
|
+
let r = ba(e, t.renderer.getDocumentFrame());
|
|
3736
3655
|
return r ? n.spineItemLocator.getSpineItemPositionFromNode(r, 0, t)?.x ?? 0 : 0;
|
|
3737
|
-
},
|
|
3738
|
-
let i =
|
|
3656
|
+
}, Sa = ({ anchor: e, spineItem: t, spineLocator: n, spine: r }) => {
|
|
3657
|
+
let i = xa({
|
|
3739
3658
|
anchor: e,
|
|
3740
3659
|
spineItem: t,
|
|
3741
3660
|
spine: r
|
|
@@ -3747,8 +3666,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3747
3666
|
}),
|
|
3748
3667
|
spineItem: t
|
|
3749
3668
|
});
|
|
3750
|
-
},
|
|
3751
|
-
position:
|
|
3669
|
+
}, Ca = ({ anchor: e, spineItem: t, spineLocator: n, spine: r, pageSizeWidth: i, visibleAreaRectWidth: a }) => $({
|
|
3670
|
+
position: Sa({
|
|
3752
3671
|
anchor: e,
|
|
3753
3672
|
spineItem: t,
|
|
3754
3673
|
spineLocator: n,
|
|
@@ -3756,14 +3675,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3756
3675
|
}),
|
|
3757
3676
|
pageSizeWidth: i,
|
|
3758
3677
|
visibleAreaRectWidth: a
|
|
3759
|
-
}),
|
|
3678
|
+
}), wa = ({ spine: e, spineItemsManager: t, spineLocator: n, url: r, context: i, pageSizeWidth: a, visibleAreaRectWidth: o }) => {
|
|
3760
3679
|
try {
|
|
3761
|
-
let s = r instanceof URL ? r : new URL(r), c = `${s.origin}${s.pathname}`, l = i.manifest
|
|
3680
|
+
let s = r instanceof URL ? r : new URL(r), c = `${s.origin}${s.pathname}`, l = i.manifest.spineItems.find((e) => e.href === c);
|
|
3762
3681
|
if (l) {
|
|
3763
3682
|
let r = t.get(l.id);
|
|
3764
3683
|
if (r) return {
|
|
3765
3684
|
position: $({
|
|
3766
|
-
position:
|
|
3685
|
+
position: Ca({
|
|
3767
3686
|
anchor: s.hash,
|
|
3768
3687
|
spineItem: r,
|
|
3769
3688
|
spine: e,
|
|
@@ -3782,7 +3701,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3782
3701
|
console.error(e);
|
|
3783
3702
|
return;
|
|
3784
3703
|
}
|
|
3785
|
-
},
|
|
3704
|
+
}, Ta = ({ spineItem: e, spineItemPosition: t, spineLocator: n, spineItemLocator: r, viewport: i }) => {
|
|
3786
3705
|
let a = r.getSpineItemClosestPositionFromUnsafePosition(t, e);
|
|
3787
3706
|
return $({
|
|
3788
3707
|
position: n.getSpinePositionFromSpineItemPosition({
|
|
@@ -3792,14 +3711,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3792
3711
|
pageSizeWidth: i.pageSize.width,
|
|
3793
3712
|
visibleAreaRectWidth: i.absoluteViewport.width
|
|
3794
3713
|
});
|
|
3795
|
-
},
|
|
3796
|
-
let s =
|
|
3714
|
+
}, Ea = "spineNavigator", Da = ({ context: e, spineItemsManager: t, locator: n, settings: r, spine: i, viewport: a, cfi: o }) => {
|
|
3715
|
+
let s = ma({
|
|
3797
3716
|
context: e,
|
|
3798
3717
|
settings: r,
|
|
3799
3718
|
viewport: a
|
|
3800
3719
|
});
|
|
3801
3720
|
return {
|
|
3802
|
-
getNavigationForUrl: (r) =>
|
|
3721
|
+
getNavigationForUrl: (r) => wa({
|
|
3803
3722
|
context: e,
|
|
3804
3723
|
spineItemsManager: t,
|
|
3805
3724
|
spineLocator: n,
|
|
@@ -3808,14 +3727,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3808
3727
|
visibleAreaRectWidth: a.absoluteViewport.width,
|
|
3809
3728
|
spine: i
|
|
3810
3729
|
}),
|
|
3811
|
-
getNavigationForSpineItemPage: (e) =>
|
|
3730
|
+
getNavigationForSpineItemPage: (e) => ya({
|
|
3812
3731
|
...e,
|
|
3813
3732
|
spineItemsManager: t,
|
|
3814
3733
|
spineItemNavigationResolver: s,
|
|
3815
3734
|
spineLocator: n,
|
|
3816
3735
|
viewport: a
|
|
3817
3736
|
}),
|
|
3818
|
-
getNavigationFromSpineItemPosition: (e) =>
|
|
3737
|
+
getNavigationFromSpineItemPosition: (e) => Ta({
|
|
3819
3738
|
...e,
|
|
3820
3739
|
spineItemLocator: n.spineItemLocator,
|
|
3821
3740
|
spineLocator: n,
|
|
@@ -3824,7 +3743,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3824
3743
|
getNavigationForCfi: (e) => {
|
|
3825
3744
|
let { node: t, offset: r = 0, spineItem: i } = o.resolveCfi({ cfi: e });
|
|
3826
3745
|
if (!i) {
|
|
3827
|
-
R.warn(
|
|
3746
|
+
R.warn(Ea, `unable to detect item id from cfi ${e}`);
|
|
3828
3747
|
return;
|
|
3829
3748
|
}
|
|
3830
3749
|
let c = t ? s.getNavigationFromNode(i, t, r) : new q({
|
|
@@ -3862,14 +3781,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3862
3781
|
y: 0
|
|
3863
3782
|
});
|
|
3864
3783
|
},
|
|
3865
|
-
getNavigationForPosition: (e) =>
|
|
3784
|
+
getNavigationForPosition: (e) => va({
|
|
3866
3785
|
viewportPosition: e,
|
|
3867
3786
|
spineItemNavigationResolver: s,
|
|
3868
3787
|
spineLocator: n,
|
|
3869
3788
|
viewport: a
|
|
3870
3789
|
}),
|
|
3871
3790
|
getMostPredominantNavigationForPosition: (o) => {
|
|
3872
|
-
let c = r.values.computedPageTurnDirection, l = .5, u =
|
|
3791
|
+
let c = r.values.computedPageTurnDirection, l = .5, u = ga({
|
|
3873
3792
|
position: new J({
|
|
3874
3793
|
x: c === "horizontal" ? o.x + a.absoluteViewport.width * l : 0,
|
|
3875
3794
|
y: c === "horizontal" ? 0 : o.y + a.absoluteViewport.height * l
|
|
@@ -3879,21 +3798,21 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3879
3798
|
spineItemsManager: t,
|
|
3880
3799
|
spine: i
|
|
3881
3800
|
});
|
|
3882
|
-
return
|
|
3801
|
+
return va({
|
|
3883
3802
|
spineItemNavigationResolver: s,
|
|
3884
3803
|
spineLocator: n,
|
|
3885
3804
|
viewportPosition: u,
|
|
3886
3805
|
viewport: a
|
|
3887
3806
|
});
|
|
3888
3807
|
},
|
|
3889
|
-
clampPositionInSpine: (n, r) =>
|
|
3808
|
+
clampPositionInSpine: (n, r) => ga({
|
|
3890
3809
|
position: n,
|
|
3891
3810
|
size: r,
|
|
3892
3811
|
isRTL: e.isRTL(),
|
|
3893
3812
|
spineItemsManager: t,
|
|
3894
3813
|
spine: i
|
|
3895
3814
|
}),
|
|
3896
|
-
getBoundaryForPosition: (n, r = a.absoluteViewport) =>
|
|
3815
|
+
getBoundaryForPosition: (n, r = a.absoluteViewport) => _a({
|
|
3897
3816
|
position: n,
|
|
3898
3817
|
size: r,
|
|
3899
3818
|
isRTL: e.isRTL(),
|
|
@@ -3909,8 +3828,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3909
3828
|
}),
|
|
3910
3829
|
spineItemNavigator: s
|
|
3911
3830
|
};
|
|
3912
|
-
},
|
|
3913
|
-
let c = new m(), l = c.asObservable(), u = new
|
|
3831
|
+
}, Oa = ({ spineItemsManager: e, context: t, hookManager: n, spine: r, settings: i, viewport: a, cfi: s }) => {
|
|
3832
|
+
let c = new m(), l = c.asObservable(), u = new Yi(), d = s, f = Da({
|
|
3914
3833
|
cfi: d,
|
|
3915
3834
|
context: t,
|
|
3916
3835
|
settings: i,
|
|
@@ -3918,11 +3837,11 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3918
3837
|
locator: r.locator,
|
|
3919
3838
|
spine: r,
|
|
3920
3839
|
viewport: a
|
|
3921
|
-
}), p = new
|
|
3840
|
+
}), p = new Li(i, n, t, r, a), h = new di(a, i, n, r, t), g = [h, p], _ = new ia(i, t, l, () => g.find((e) => e.isActive()) ?? p, T(...g.flatMap((e) => e.layout$ ? [e.layout$] : [])), f, r, a, d, u.isLocked$), ee = v([
|
|
3922
3841
|
...g.map((e) => e.isNavigating$),
|
|
3923
3842
|
u.isLocked$,
|
|
3924
3843
|
_.locker.isLocked$
|
|
3925
|
-
]).pipe(w((e) => e.some((e) => e) ? "busy" : "free"), y(),
|
|
3844
|
+
]).pipe(w((e) => e.some((e) => e) ? "busy" : "free"), y(), k(1)), te = _.navigation$.pipe(w(({ position: e }) => e), y(o), k(1));
|
|
3926
3845
|
return {
|
|
3927
3846
|
destroy: () => {
|
|
3928
3847
|
g.forEach((e) => {
|
|
@@ -3943,7 +3862,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3943
3862
|
navigation$: _.navigation$,
|
|
3944
3863
|
position$: te
|
|
3945
3864
|
};
|
|
3946
|
-
},
|
|
3865
|
+
}, ka = class extends U {
|
|
3947
3866
|
constructor(e, t) {
|
|
3948
3867
|
super({
|
|
3949
3868
|
beginPageIndexInSpineItem: void 0,
|
|
@@ -3960,10 +3879,10 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3960
3879
|
update(e) {
|
|
3961
3880
|
this.mergeCompare(e);
|
|
3962
3881
|
}
|
|
3963
|
-
},
|
|
3882
|
+
}, Aa = class extends Q {
|
|
3964
3883
|
constructor(e, t, n, r, i, a, o) {
|
|
3965
3884
|
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spine = r, this.spineItemLocator = i, this.isNavigationLocked$ = a, this.cfi = o;
|
|
3966
|
-
let s = T(this.context.bridgeEvent.navigation$, r.layout$).pipe(
|
|
3885
|
+
let s = T(this.context.bridgeEvent.navigation$, r.layout$).pipe(j(() => {
|
|
3967
3886
|
let e = ({ spineItem: e, position: t }) => this.spine.locator.getVisiblePagesFromViewportPosition({
|
|
3968
3887
|
spineItem: e,
|
|
3969
3888
|
position: t,
|
|
@@ -3972,7 +3891,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
3972
3891
|
value: .5
|
|
3973
3892
|
}
|
|
3974
3893
|
});
|
|
3975
|
-
return this.isNavigationLocked$.pipe(b((e) => !e),
|
|
3894
|
+
return this.isNavigationLocked$.pipe(b((e) => !e), me(1), P(this.context.bridgeEvent.navigation$), N(([, t]) => {
|
|
3976
3895
|
let { position: n } = t, r = this.pagination.value, { beginIndex: i, endIndex: a } = this.spine.locator.getVisibleSpineItemsFromPosition({
|
|
3977
3896
|
position: n,
|
|
3978
3897
|
threshold: {
|
|
@@ -4001,7 +3920,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4001
3920
|
});
|
|
4002
3921
|
}));
|
|
4003
3922
|
}));
|
|
4004
|
-
T(s, s.pipe(
|
|
3923
|
+
T(s, s.pipe(yt(this.context.bridgeEvent.viewportFree$), N(() => {
|
|
4005
3924
|
let { beginSpineItemIndex: e, endSpineItemIndex: t, beginPageIndexInSpineItem: n, endPageIndexInSpineItem: r } = this.pagination.value;
|
|
4006
3925
|
if (n === void 0 || r === void 0 || e === void 0 || t === void 0) return;
|
|
4007
3926
|
let i = this.spineItemsManager.get(e), a = this.spineItemsManager.get(t);
|
|
@@ -4017,16 +3936,16 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4017
3936
|
pageNode: s?.firstVisibleNode
|
|
4018
3937
|
}) : this.cfi.generateRootCfi(a.item)
|
|
4019
3938
|
});
|
|
4020
|
-
}))).pipe(
|
|
3939
|
+
}))).pipe(M(this.destroy$)).subscribe();
|
|
4021
3940
|
}
|
|
4022
|
-
},
|
|
3941
|
+
}, ja = class extends Q {
|
|
4023
3942
|
constructor(e) {
|
|
4024
3943
|
super();
|
|
4025
3944
|
let t = {
|
|
4026
3945
|
...this.getDefaultSettings(),
|
|
4027
3946
|
...e
|
|
4028
3947
|
};
|
|
4029
|
-
this.inputSettings = t, this.outputSettingsUpdateSubject = new m(), this._settings$ = this.outputSettingsUpdateSubject.asObservable().pipe(
|
|
3948
|
+
this.inputSettings = t, this.outputSettingsUpdateSubject = new m(), this._settings$ = this.outputSettingsUpdateSubject.asObservable().pipe(k(1)), this._settings$.subscribe();
|
|
4030
3949
|
}
|
|
4031
3950
|
_prepareUpdate(e) {
|
|
4032
3951
|
let t = c(this.inputSettings, e), n = this.getOutputSettings(t), r = !o(this.outputSettings, n);
|
|
@@ -4055,14 +3974,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4055
3974
|
return this._settings$;
|
|
4056
3975
|
}
|
|
4057
3976
|
watch(e) {
|
|
4058
|
-
return this.values$.pipe(
|
|
3977
|
+
return this.values$.pipe(gt(e), y(o));
|
|
4059
3978
|
}
|
|
4060
3979
|
destroy() {
|
|
4061
3980
|
super.destroy(), this.outputSettingsUpdateSubject.complete();
|
|
4062
3981
|
}
|
|
4063
|
-
},
|
|
3982
|
+
}, Ma = class extends ja {
|
|
4064
3983
|
constructor(e, t) {
|
|
4065
|
-
super(e), this.context = t, t.watch(["
|
|
3984
|
+
super(e), this.context = t, t.watch(["hasVerticalWriting"]).pipe(N(() => this.update(this.values)), M(this.destroy$)).subscribe();
|
|
4066
3985
|
}
|
|
4067
3986
|
getComputedSettings(e) {
|
|
4068
3987
|
let t = this.context.manifest, n = this.context.value.hasVerticalWriting ?? !1, r = {
|
|
@@ -4070,12 +3989,12 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4070
3989
|
computedPageTurnAnimation: e.pageTurnAnimation,
|
|
4071
3990
|
computedPageTurnMode: e.pageTurnMode,
|
|
4072
3991
|
computedPageTurnAnimationDuration: 0,
|
|
4073
|
-
computedSpreadMode:
|
|
3992
|
+
computedSpreadMode: zn({
|
|
4074
3993
|
spreadMode: e.spreadMode,
|
|
4075
3994
|
manifest: t
|
|
4076
3995
|
})
|
|
4077
3996
|
};
|
|
4078
|
-
return t
|
|
3997
|
+
return t.renditionFlow === "scrolled-continuous" && (r.computedPageTurnMode = "scrollable"), r.computedPageTurnMode === "scrollable" && (r.computedPageTurnDirection = "vertical"), n && r.computedPageTurnAnimation === "slide" && (R.warn(`pageTurnAnimation ${r.computedPageTurnAnimation} incompatible with current book, switching back to default`), r.computedPageTurnAnimation = "none"), r.computedPageTurnMode === "scrollable" ? (r.computedPageTurnAnimationDuration = 0, r.computedPageTurnAnimation = "none") : r.computedPageTurnAnimationDuration = e.pageTurnAnimationDuration === void 0 ? 300 : e.pageTurnAnimationDuration, r;
|
|
4079
3998
|
}
|
|
4080
3999
|
getOutputSettings(e) {
|
|
4081
4000
|
let t = this.getComputedSettings(e);
|
|
@@ -4100,27 +4019,25 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4100
4019
|
numberOfAdjacentSpineItemToPreLoad: 3
|
|
4101
4020
|
};
|
|
4102
4021
|
}
|
|
4103
|
-
},
|
|
4104
|
-
onUnload() {
|
|
4105
|
-
return u;
|
|
4106
|
-
}
|
|
4022
|
+
}, Na = class extends At {
|
|
4023
|
+
onUnload() {}
|
|
4107
4024
|
onCreateDocument() {
|
|
4108
|
-
return
|
|
4025
|
+
return D(document.createElement("div"));
|
|
4109
4026
|
}
|
|
4110
4027
|
onLoadDocument() {
|
|
4111
4028
|
return u;
|
|
4112
4029
|
}
|
|
4113
4030
|
onLayout() {
|
|
4114
|
-
return
|
|
4031
|
+
return D(void 0);
|
|
4115
4032
|
}
|
|
4116
4033
|
onRenderHeadless() {
|
|
4117
4034
|
return u;
|
|
4118
4035
|
}
|
|
4119
4036
|
getDocumentFrame() {}
|
|
4120
|
-
},
|
|
4037
|
+
}, Pa = class extends Q {
|
|
4121
4038
|
constructor(e, t, n, i, a, s, c) {
|
|
4122
4039
|
super(), this.item = e, this.containerElement = t, this.context = n, this.hookManager = i, this.renderer = a, this.settings = s, this.viewport = c, this.layoutTriggerSubject = new m(), this.lastLayout = null, this.computeLayoutInformation = ({ isLastItem: e, horizontalOffset: t, spreadPosition: n }) => {
|
|
4123
|
-
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c =
|
|
4040
|
+
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c = Oi(s);
|
|
4124
4041
|
if (this.settings.values.computedSpreadMode) {
|
|
4125
4042
|
!c && this.renderer.renditionLayout === "reflowable" && !e && (i = this.viewport.value.pageSize.width * 2), !c && this.renderer.renditionLayout === "reflowable" && e && o && (i = this.viewport.value.pageSize.width * 2);
|
|
4126
4043
|
let t = o && e && c, s = r(this.item);
|
|
@@ -4155,10 +4072,10 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4155
4072
|
height: f
|
|
4156
4073
|
});
|
|
4157
4074
|
})), this.layout = (e) => {
|
|
4158
|
-
let t =
|
|
4075
|
+
let t = bt(this.didLayout$.pipe(x()));
|
|
4159
4076
|
return this.layoutTriggerSubject.next(e), t();
|
|
4160
4077
|
};
|
|
4161
|
-
let l = this.layoutTriggerSubject.pipe(
|
|
4078
|
+
let l = this.layoutTriggerSubject.pipe(j(({ spreadPosition: e, horizontalOffset: t, isLastItem: n, edgeX: r, edgeY: i }) => {
|
|
4162
4079
|
let { blankPagePosition: a, minimumWidth: o } = this.computeLayoutInformation({
|
|
4163
4080
|
horizontalOffset: t,
|
|
4164
4081
|
isLastItem: n,
|
|
@@ -4175,7 +4092,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4175
4092
|
minimumWidth: o,
|
|
4176
4093
|
spreadPosition: e
|
|
4177
4094
|
});
|
|
4178
|
-
return T(
|
|
4095
|
+
return T(D({ type: "start" }), s.pipe(this.updateContainerLayout({
|
|
4179
4096
|
minimumWidth: o,
|
|
4180
4097
|
edgeX: r,
|
|
4181
4098
|
edgeY: i
|
|
@@ -4187,8 +4104,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4187
4104
|
type: "end",
|
|
4188
4105
|
data: e
|
|
4189
4106
|
}))));
|
|
4190
|
-
}),
|
|
4191
|
-
this.didLayout$ = l.pipe(b((e) => e.type === "end"), w((e) => e.data),
|
|
4107
|
+
}), O());
|
|
4108
|
+
this.didLayout$ = l.pipe(b((e) => e.type === "end"), w((e) => e.data), O());
|
|
4192
4109
|
}
|
|
4193
4110
|
validateDimension(e, t, n) {
|
|
4194
4111
|
if (e <= 0) return n;
|
|
@@ -4202,7 +4119,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4202
4119
|
height: e.height ? parseFloat(e.height) : 0
|
|
4203
4120
|
};
|
|
4204
4121
|
}
|
|
4205
|
-
},
|
|
4122
|
+
}, Fa = class extends U {
|
|
4206
4123
|
constructor(e, t, n, r, i, a, o) {
|
|
4207
4124
|
super({
|
|
4208
4125
|
isLoaded: !1,
|
|
@@ -4217,10 +4134,10 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4217
4134
|
}, this.markDirty = () => {
|
|
4218
4135
|
this.mergeCompare({ isDirty: !0 });
|
|
4219
4136
|
}, this.destroy = () => {
|
|
4220
|
-
super.destroy(), this.
|
|
4221
|
-
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement =
|
|
4137
|
+
this.isDestroyed || (super.destroy(), this._layout.destroy(), this.renderer.destroy(), this.containerElement.remove());
|
|
4138
|
+
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement = Ia(t, e, i), t.appendChild(this.containerElement);
|
|
4222
4139
|
let s = this.settings.values.getRenderer?.(e);
|
|
4223
|
-
this.resourcesHandler = new
|
|
4140
|
+
this.resourcesHandler = new Mt(e, this.settings);
|
|
4224
4141
|
let c = {
|
|
4225
4142
|
context: n,
|
|
4226
4143
|
settings: r,
|
|
@@ -4230,7 +4147,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4230
4147
|
resourcesHandler: this.resourcesHandler,
|
|
4231
4148
|
viewport: this.viewport
|
|
4232
4149
|
};
|
|
4233
|
-
this.renderer = s ? s(c) : new
|
|
4150
|
+
this.renderer = s ? s(c) : new Na(c), this._layout = new Pa(e, this.containerElement, n, i, this.renderer, this.settings, this.viewport);
|
|
4234
4151
|
let l = this.renderer.state$.pipe(L(({ state: e, error: t }) => {
|
|
4235
4152
|
this.mergeCompare({
|
|
4236
4153
|
isLoaded: e === "loaded",
|
|
@@ -4243,7 +4160,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4243
4160
|
isDirty: !1,
|
|
4244
4161
|
isReady: this.renderer.value.state === "loaded"
|
|
4245
4162
|
});
|
|
4246
|
-
}),
|
|
4163
|
+
}), we()), T(l, this.didLayout$).pipe(I(this.destroy$)).subscribe();
|
|
4247
4164
|
}
|
|
4248
4165
|
get isReady$() {
|
|
4249
4166
|
return this.watch("isReady");
|
|
@@ -4267,7 +4184,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4267
4184
|
return this._layout.layoutInfo;
|
|
4268
4185
|
}
|
|
4269
4186
|
get numberOfPages() {
|
|
4270
|
-
return
|
|
4187
|
+
return ua({
|
|
4271
4188
|
isUsingVerticalWriting: !!this.isUsingVerticalWriting(),
|
|
4272
4189
|
itemHeight: this._layout.layoutInfo.height,
|
|
4273
4190
|
itemWidth: this._layout.layoutInfo.width,
|
|
@@ -4277,20 +4194,20 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4277
4194
|
pageTurnMode: this.settings.values.pageTurnMode
|
|
4278
4195
|
});
|
|
4279
4196
|
}
|
|
4280
|
-
},
|
|
4197
|
+
}, Ia = (e, t, n) => {
|
|
4281
4198
|
let r = e.ownerDocument.createElement("div");
|
|
4282
|
-
return r.setAttribute(`data-${
|
|
4199
|
+
return r.setAttribute(`data-${wn}`, ""), r.classList.add("spineItem"), r.classList.add(`spineItem-${t.renditionLayout ?? "reflowable"}`), r.style.cssText = "\n position: absolute;\n overflow: hidden;\n ", r.dataset.isReady = "false", n.execute("item.onBeforeContainerAttach", {
|
|
4283
4200
|
element: r,
|
|
4284
4201
|
item: t
|
|
4285
4202
|
}), r;
|
|
4286
|
-
},
|
|
4203
|
+
}, La = class extends Q {
|
|
4287
4204
|
constructor(e, n, r, i, a, o) {
|
|
4288
4205
|
super(), this.context = e, this.spineItemsManager = n, this.spineLocator = r, this.settings = i, this.spineLayout = a, this.viewport = o, this.forcedOpenSubject = new l(/* @__PURE__ */ new Map());
|
|
4289
|
-
let s = this.forcedOpenSubject.pipe(w((e) => Array.from(e.keys()).sort((e, t) => e - t)), y(t),
|
|
4206
|
+
let s = this.forcedOpenSubject.pipe(w((e) => Array.from(e.keys()).sort((e, t) => e - t)), y(t), k({
|
|
4290
4207
|
bufferSize: 1,
|
|
4291
4208
|
refCount: !0
|
|
4292
4209
|
}));
|
|
4293
|
-
T(this.context.bridgeEvent.position$, this.viewport.layout$, this.spineLayout.layout$, s, i.watch(["numberOfAdjacentSpineItemToPreLoad"])).pipe(ne(100),
|
|
4210
|
+
T(this.context.bridgeEvent.position$, this.viewport.layout$, this.spineLayout.layout$, s, i.watch(["numberOfAdjacentSpineItemToPreLoad"])).pipe(ne(100), yt(this.context.bridgeEvent.viewportFree$), P(this.context.bridgeEvent.position$, s), w(([, e, t]) => {
|
|
4294
4211
|
let { numberOfAdjacentSpineItemToPreLoad: a } = i.values, { beginIndex: o = 0, endIndex: s = 0 } = r.getVisibleSpineItemsFromPosition({
|
|
4295
4212
|
position: e,
|
|
4296
4213
|
threshold: {
|
|
@@ -4302,7 +4219,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4302
4219
|
n.items.forEach((e, t) => {
|
|
4303
4220
|
d.includes(t) ? e.load() : e.unload();
|
|
4304
4221
|
});
|
|
4305
|
-
})).pipe(
|
|
4222
|
+
})).pipe(M(this.destroy$)).subscribe();
|
|
4306
4223
|
}
|
|
4307
4224
|
forceOpen(e) {
|
|
4308
4225
|
let t = e.map((e) => typeof e == "number" ? e : e.index), n = (e) => {
|
|
@@ -4319,13 +4236,13 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4319
4236
|
destroy() {
|
|
4320
4237
|
super.destroy(), this.forcedOpenSubject.complete();
|
|
4321
4238
|
}
|
|
4322
|
-
},
|
|
4239
|
+
}, Ra = (e, t, n) => {
|
|
4323
4240
|
let r = (n.width - t.width) / 2, i = (n.height - t.height) / 2;
|
|
4324
4241
|
return new Y({
|
|
4325
4242
|
x: e.x - r,
|
|
4326
4243
|
y: e.y - i
|
|
4327
4244
|
});
|
|
4328
|
-
},
|
|
4245
|
+
}, za = class e extends DOMRect {
|
|
4329
4246
|
constructor(...e) {
|
|
4330
4247
|
super(...e), this.__symbol = Symbol("ViewportPosition");
|
|
4331
4248
|
}
|
|
@@ -4337,15 +4254,15 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4337
4254
|
let r = t;
|
|
4338
4255
|
return new e(r.x, r.y, r.width, r.height);
|
|
4339
4256
|
}
|
|
4340
|
-
},
|
|
4257
|
+
}, Ba = class {
|
|
4341
4258
|
constructor({ width: e, height: t }) {
|
|
4342
4259
|
this.__symbol = Symbol("AbsoluteViewport"), this.width = e, this.height = t;
|
|
4343
4260
|
}
|
|
4344
|
-
},
|
|
4261
|
+
}, Va = class {
|
|
4345
4262
|
constructor({ width: e, height: t }) {
|
|
4346
4263
|
this.__symbol = Symbol("RelativeViewport"), this.width = e, this.height = t;
|
|
4347
4264
|
}
|
|
4348
|
-
},
|
|
4265
|
+
}, Ha = ({ pageIndex: e, spineItemOrId: t, spineItemsManager: n }) => {
|
|
4349
4266
|
let r = n.items, i = n.get(t);
|
|
4350
4267
|
if (!i) return;
|
|
4351
4268
|
let { currentAbsolutePage: a } = r.reduce((t, n) => {
|
|
@@ -4363,45 +4280,45 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4363
4280
|
found: !1
|
|
4364
4281
|
});
|
|
4365
4282
|
return a;
|
|
4366
|
-
},
|
|
4283
|
+
}, Ua = ({ itemHeight: e, itemWidth: t, visibleWidthOfItem: n, visibleHeightOfItem: r, threshold: i }) => {
|
|
4367
4284
|
let a = n / t, o = r / e;
|
|
4368
4285
|
return i.type === "percentage" ? a >= i.value && o >= i.value : n >= i.value && r >= i.value;
|
|
4369
|
-
},
|
|
4286
|
+
}, Wa = ({ visibleWidthOfItem: e, visibleHeightOfItem: t, threshold: n, viewportPosition: r }) => {
|
|
4370
4287
|
let i = e / r.width, a = t / r.height;
|
|
4371
4288
|
return n.type === "percentage" ? a >= n.value && i >= n.value : t >= n.value && e >= n.value;
|
|
4372
|
-
},
|
|
4289
|
+
}, Ga = ({ itemPosition: { bottom: e, left: t, right: n, top: r, width: i, height: a }, threshold: o, viewportPosition: s, restrictToScreen: c }) => {
|
|
4373
4290
|
let l = s.x, u = s.x + (s.width - 1), d = s.y, f = Math.max(s.y + (s.height - 1), 0), p = Math.max(0, Math.min(n, u) - Math.max(t, l)), m = Math.max(0, Math.min(e, f) - Math.max(r, d));
|
|
4374
4291
|
if (p <= 0 || m <= 0) return { visible: !1 };
|
|
4375
|
-
let h =
|
|
4292
|
+
let h = Wa({
|
|
4376
4293
|
threshold: o,
|
|
4377
4294
|
visibleHeightOfItem: m,
|
|
4378
4295
|
visibleWidthOfItem: p,
|
|
4379
4296
|
viewportPosition: s
|
|
4380
4297
|
});
|
|
4381
|
-
return c ? { visible: h } : { visible:
|
|
4298
|
+
return c ? { visible: h } : { visible: Ua({
|
|
4382
4299
|
itemHeight: a,
|
|
4383
4300
|
itemWidth: i,
|
|
4384
4301
|
threshold: o,
|
|
4385
4302
|
visibleHeightOfItem: m,
|
|
4386
4303
|
visibleWidthOfItem: p
|
|
4387
4304
|
}) || h };
|
|
4388
|
-
},
|
|
4305
|
+
}, Ka = ({ position: e, spineItemsManager: t, spineLayout: n }) => {
|
|
4389
4306
|
let r = t.items.find((t) => {
|
|
4390
4307
|
let { left: r, right: i, bottom: a, top: o } = n.getSpineItemSpineLayoutInfo(t), s = e.x >= r && e.x < i, c = e.y >= o && e.y < a;
|
|
4391
4308
|
return s && c;
|
|
4392
4309
|
});
|
|
4393
4310
|
return e.x === 0 && !r ? t.items[0] : r;
|
|
4394
|
-
},
|
|
4311
|
+
}, qa = ({ spineItemPosition: e, itemLayout: { left: t, top: n } }) => new J({
|
|
4395
4312
|
x: t + e.x,
|
|
4396
4313
|
y: n + e.y
|
|
4397
|
-
}),
|
|
4398
|
-
let s =
|
|
4314
|
+
}), Ja = ({ position: e, threshold: t, restrictToScreen: n, spineItemsManager: r, spineLayout: i, useAbsoluteViewport: a = !0, viewport: o }) => {
|
|
4315
|
+
let s = Ka({
|
|
4399
4316
|
position: e,
|
|
4400
4317
|
spineItemsManager: r,
|
|
4401
4318
|
spineLayout: i
|
|
4402
|
-
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l =
|
|
4319
|
+
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l = Ra(e, o.absoluteViewport, c), u = za.from(l, c), d = [];
|
|
4403
4320
|
for (let e of r.items) {
|
|
4404
|
-
let { visible: r } =
|
|
4321
|
+
let { visible: r } = Ga({
|
|
4405
4322
|
itemPosition: i.getSpineItemSpineLayoutInfo(e),
|
|
4406
4323
|
threshold: t,
|
|
4407
4324
|
viewportPosition: u,
|
|
@@ -4416,14 +4333,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4416
4333
|
beginIndex: m ?? 0,
|
|
4417
4334
|
endIndex: h ?? 0
|
|
4418
4335
|
};
|
|
4419
|
-
},
|
|
4336
|
+
}, Ya = ({ spineItemsManager: e, context: t, spineItemLocator: n, settings: r, spineLayout: i, viewport: a }) => {
|
|
4420
4337
|
let o = (e, t) => {
|
|
4421
4338
|
let { left: n, top: r } = i.getSpineItemSpineLayoutInfo(t);
|
|
4422
4339
|
return new q({
|
|
4423
4340
|
x: Math.max(e.x - n, 0),
|
|
4424
4341
|
y: Math.max(e.y - r, 0)
|
|
4425
4342
|
});
|
|
4426
|
-
}, s = (e) =>
|
|
4343
|
+
}, s = (e) => qa({
|
|
4427
4344
|
spineItemPosition: new q({
|
|
4428
4345
|
x: 0,
|
|
4429
4346
|
y: 0
|
|
@@ -4437,7 +4354,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4437
4354
|
return n.getSpineItemPageIndexFromNode(t, r || 0, i);
|
|
4438
4355
|
}, u = ({ position: e, threshold: t, spineItem: r, restrictToScreen: a, useAbsoluteViewport: o = !0, viewport: s }) => {
|
|
4439
4356
|
let c = r.numberOfPages, l = Array.from(Array(c)).map((e, t) => {
|
|
4440
|
-
let a =
|
|
4357
|
+
let a = qa({
|
|
4441
4358
|
spineItemPosition: n.getSpineItemPositionFromPageIndex({
|
|
4442
4359
|
pageIndex: t,
|
|
4443
4360
|
spineItem: r
|
|
@@ -4456,8 +4373,8 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4456
4373
|
}
|
|
4457
4374
|
};
|
|
4458
4375
|
}).reduce((n, { absolutePosition: r, index: i }) => {
|
|
4459
|
-
let c = o ? s.absoluteViewport : s.relativeViewport, l =
|
|
4460
|
-
viewportPosition:
|
|
4376
|
+
let c = o ? s.absoluteViewport : s.relativeViewport, l = Ra(e, s.absoluteViewport, c), { visible: u } = Ga({
|
|
4377
|
+
viewportPosition: za.from(l, c),
|
|
4461
4378
|
restrictToScreen: a,
|
|
4462
4379
|
threshold: t,
|
|
4463
4380
|
itemPosition: r
|
|
@@ -4470,11 +4387,11 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4470
4387
|
};
|
|
4471
4388
|
};
|
|
4472
4389
|
return {
|
|
4473
|
-
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) =>
|
|
4390
|
+
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) => qa({
|
|
4474
4391
|
itemLayout: i.getSpineItemSpineLayoutInfo(e),
|
|
4475
4392
|
spineItemPosition: t
|
|
4476
4393
|
}),
|
|
4477
|
-
_getAbsolutePageIndexFromPageIndex: (n) =>
|
|
4394
|
+
_getAbsolutePageIndexFromPageIndex: (n) => Ha({
|
|
4478
4395
|
...n,
|
|
4479
4396
|
context: t,
|
|
4480
4397
|
settings: r,
|
|
@@ -4482,7 +4399,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4482
4399
|
spineLayout: i
|
|
4483
4400
|
}),
|
|
4484
4401
|
getSpineItemPagePositionFromSpinePosition: (t) => {
|
|
4485
|
-
let r =
|
|
4402
|
+
let r = Ka({
|
|
4486
4403
|
position: t,
|
|
4487
4404
|
spineItemsManager: e,
|
|
4488
4405
|
spineLayout: i
|
|
@@ -4503,14 +4420,14 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4503
4420
|
},
|
|
4504
4421
|
getSpinePositionFromSpineItem: s,
|
|
4505
4422
|
getSpineItemPositionFromSpinePosition: o,
|
|
4506
|
-
getSpineItemFromPosition: (t) =>
|
|
4423
|
+
getSpineItemFromPosition: (t) => Ka({
|
|
4507
4424
|
position: t,
|
|
4508
4425
|
spineItemsManager: e,
|
|
4509
4426
|
spineLayout: i
|
|
4510
4427
|
}),
|
|
4511
4428
|
getSpineItemFromIframe: c,
|
|
4512
4429
|
getSpineItemPageIndexFromNode: l,
|
|
4513
|
-
getVisibleSpineItemsFromPosition: (t) =>
|
|
4430
|
+
getVisibleSpineItemsFromPosition: (t) => Ja({
|
|
4514
4431
|
settings: r,
|
|
4515
4432
|
spineItemsManager: e,
|
|
4516
4433
|
spineLayout: i,
|
|
@@ -4534,25 +4451,25 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4534
4451
|
});
|
|
4535
4452
|
}
|
|
4536
4453
|
};
|
|
4537
|
-
},
|
|
4454
|
+
}, Xa = class extends Q {
|
|
4538
4455
|
constructor(e) {
|
|
4539
|
-
super(), this.spineItemsManager = e, this.states$ = this.spineItemsManager.items$.pipe(
|
|
4456
|
+
super(), this.spineItemsManager = e, this.states$ = this.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => e.pipe(w((t) => ({
|
|
4540
4457
|
item: e,
|
|
4541
4458
|
...t
|
|
4542
|
-
})), y(o))))),
|
|
4459
|
+
})), y(o))))), O()), this.itemResize$ = this.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => vt(e.element).pipe(w((t) => ({
|
|
4543
4460
|
entries: t,
|
|
4544
4461
|
item: e
|
|
4545
|
-
})))))),
|
|
4462
|
+
})))))), O()), this.itemLoad$ = this.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => e.loaded$.pipe(w(() => e))))), O()), this.itemUnload$ = this.spineItemsManager.items$.pipe(j((e) => T(...e.map((e) => e.unloaded$.pipe(w(() => e))))), O());
|
|
4546
4463
|
}
|
|
4547
|
-
},
|
|
4464
|
+
}, Za = class extends Q {
|
|
4548
4465
|
constructor(e, t, n, r, i) {
|
|
4549
4466
|
super(), this.spineItemsManager = e, this.spineItemsObserver = t, this.context = n, this.settings = r, this.viewport = i, this.externalLayoutTrigger = new m(), this.spineItemsRelativeLayouts = [];
|
|
4550
4467
|
let a = T(t.itemLoad$, t.itemUnload$).pipe(w(() => ({ immediate: !1 }))), o = T(this.externalLayoutTrigger, a);
|
|
4551
|
-
this.layout$ = o.pipe(
|
|
4468
|
+
this.layout$ = o.pipe(N(() => {
|
|
4552
4469
|
this.spineItemsManager.items.forEach((e) => {
|
|
4553
4470
|
e.markDirty();
|
|
4554
4471
|
});
|
|
4555
|
-
}), te((e) => e.immediate ?
|
|
4472
|
+
}), te((e) => e.immediate ? D(void 0) : _e(50)), j(() => this.spineItemsManager.items.reduce((t, a, o) => t.pipe(ee(({ horizontalOffset: t, verticalOffset: s }) => {
|
|
4556
4473
|
let c = t % i.absoluteViewport.width === 0, l = o === e.items.length - 1, u = r.values.computedPageTurnDirection === "vertical", d = n.isRTL(), f = this.getSpreadPosition(c, d), { edgeX: p, edgeY: m } = this.getStartEdges(u, c, t, s, i.absoluteViewport.height);
|
|
4557
4474
|
return a.layout({
|
|
4558
4475
|
spreadPosition: f,
|
|
@@ -4567,22 +4484,22 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4567
4484
|
verticalOffset: u ? m + t : 0
|
|
4568
4485
|
};
|
|
4569
4486
|
}));
|
|
4570
|
-
})),
|
|
4487
|
+
})), D({
|
|
4571
4488
|
horizontalOffset: 0,
|
|
4572
4489
|
verticalOffset: 0
|
|
4573
|
-
}))),
|
|
4490
|
+
}))), M(this.destroy$), O()), this.layout$.subscribe(), this.watchForVerticalWritingUpdate();
|
|
4574
4491
|
}
|
|
4575
4492
|
watchForVerticalWritingUpdate() {
|
|
4576
|
-
this.spineItemsObserver.itemLoad$.pipe(
|
|
4493
|
+
this.spineItemsObserver.itemLoad$.pipe(N((e) => {
|
|
4577
4494
|
this.context.update({ hasVerticalWriting: e.isUsingVerticalWriting() });
|
|
4578
|
-
}),
|
|
4495
|
+
}), M(this.destroy$)).subscribe();
|
|
4579
4496
|
}
|
|
4580
4497
|
layout(e = {}) {
|
|
4581
4498
|
this.externalLayoutTrigger.next(e);
|
|
4582
4499
|
}
|
|
4583
4500
|
getSpineItemSpineLayoutInfo(e) {
|
|
4584
4501
|
let t = this.spineItemsManager.getSpineItemIndex(e) ?? 0;
|
|
4585
|
-
return this.spineItemsRelativeLayouts[t] || new
|
|
4502
|
+
return this.spineItemsRelativeLayouts[t] || new un({
|
|
4586
4503
|
left: 0,
|
|
4587
4504
|
right: 0,
|
|
4588
4505
|
top: 0,
|
|
@@ -4612,7 +4529,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4612
4529
|
};
|
|
4613
4530
|
}
|
|
4614
4531
|
createSpineItemLayout(e, t, n, r, i, a, o) {
|
|
4615
|
-
if (e) return new
|
|
4532
|
+
if (e) return new un({
|
|
4616
4533
|
left: n,
|
|
4617
4534
|
right: i + n,
|
|
4618
4535
|
top: r,
|
|
@@ -4623,7 +4540,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4623
4540
|
y: r
|
|
4624
4541
|
});
|
|
4625
4542
|
let s = t ? o - n - i : n;
|
|
4626
|
-
return new
|
|
4543
|
+
return new un({
|
|
4627
4544
|
right: t ? o - n : n + i,
|
|
4628
4545
|
left: s,
|
|
4629
4546
|
x: s,
|
|
@@ -4634,25 +4551,23 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4634
4551
|
y: r
|
|
4635
4552
|
});
|
|
4636
4553
|
}
|
|
4637
|
-
},
|
|
4554
|
+
}, Qa = class extends Q {
|
|
4638
4555
|
constructor(e, t, n, r, i, a, o) {
|
|
4639
|
-
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spineItemLocator = r, this.settings = i, this.hookManager = a, this.viewport = o, this.elementSubject = new l(void 0), this.element$ = this.elementSubject.asObservable(), this.spineItemsObserver = new
|
|
4556
|
+
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spineItemLocator = r, this.settings = i, this.hookManager = a, this.viewport = o, this.elementSubject = new l(void 0), this.element$ = this.elementSubject.asObservable(), this.spineItemsObserver = new Xa(n), this.spineLayout = new Za(n, this.spineItemsObserver, e, i, o), this.locator = Ya({
|
|
4640
4557
|
context: e,
|
|
4641
4558
|
spineItemsManager: n,
|
|
4642
4559
|
spineItemLocator: r,
|
|
4643
4560
|
settings: i,
|
|
4644
4561
|
spineLayout: this.spineLayout,
|
|
4645
4562
|
viewport: o
|
|
4646
|
-
}), this.spineItemsLoader = new
|
|
4647
|
-
let s = e.watch("rootElement").pipe(
|
|
4563
|
+
}), this.spineItemsLoader = new La(this.context, n, this.locator, i, this.spineLayout, this.viewport), this.pages = new yr(this.spineLayout, this.spineItemsManager, this.spineItemLocator, this.context, this.locator, this.viewport);
|
|
4564
|
+
let s = e.watch("rootElement").pipe(be(K), L((e) => {
|
|
4648
4565
|
let t = e.ownerDocument.createElement("div");
|
|
4649
4566
|
t.style.cssText = "\n height: 100%;\n position: relative;\n ", t.className = `${X}-spine`, this.elementSubject.next(t);
|
|
4650
4567
|
}));
|
|
4651
|
-
T(
|
|
4652
|
-
|
|
4653
|
-
this.spineItemsManager.
|
|
4654
|
-
let n = e.spineItems.map((e, n) => new Ua(e, t, this.context, this.settings, this.hookManager, n, this.viewport));
|
|
4655
|
-
this.spineItemsManager.addMany(n);
|
|
4568
|
+
T(this.element$.pipe(be(K), L((e) => {
|
|
4569
|
+
let t = this.context.manifest.spineItems.map((t, n) => new Fa(t, e, this.context, this.settings, this.hookManager, n, this.viewport));
|
|
4570
|
+
this.spineItemsManager.addMany(t);
|
|
4656
4571
|
})), s).pipe(I(this.destroy$)).subscribe();
|
|
4657
4572
|
}
|
|
4658
4573
|
get element() {
|
|
@@ -4670,7 +4585,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4670
4585
|
destroy() {
|
|
4671
4586
|
super.destroy(), this.pages.destroy(), this.spineItemsLoader.destroy(), this.elementSubject.getValue()?.remove(), this.elementSubject.complete();
|
|
4672
4587
|
}
|
|
4673
|
-
},
|
|
4588
|
+
}, $a = class extends Q {
|
|
4674
4589
|
constructor(e, t) {
|
|
4675
4590
|
super(), this.context = e, this.settings = t, this.orderedSpineItemsSubject = new l([]), this.items$ = this.orderedSpineItemsSubject.asObservable();
|
|
4676
4591
|
}
|
|
@@ -4682,7 +4597,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4682
4597
|
return n > r ? "after" : n === r ? "same" : "before";
|
|
4683
4598
|
}
|
|
4684
4599
|
getSpineItemIndex(e) {
|
|
4685
|
-
return (e instanceof
|
|
4600
|
+
return (e instanceof Fa ? e : this.get(e))?.index;
|
|
4686
4601
|
}
|
|
4687
4602
|
addMany(e) {
|
|
4688
4603
|
this.orderedSpineItemsSubject.next([...this.orderedSpineItemsSubject.getValue(), ...e]);
|
|
@@ -4696,10 +4611,13 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4696
4611
|
e.destroy();
|
|
4697
4612
|
}), e.length && this.orderedSpineItemsSubject.next([]);
|
|
4698
4613
|
}
|
|
4699
|
-
|
|
4614
|
+
destroy() {
|
|
4615
|
+
this.destroyItems(), super.destroy();
|
|
4616
|
+
}
|
|
4617
|
+
}, eo = class extends U {
|
|
4700
4618
|
constructor(e, t) {
|
|
4701
4619
|
let n = document.createElement("div");
|
|
4702
|
-
n.setAttribute(`data-${
|
|
4620
|
+
n.setAttribute(`data-${Sn}`, ""), super({
|
|
4703
4621
|
element: n,
|
|
4704
4622
|
pageSize: {
|
|
4705
4623
|
width: 1,
|
|
@@ -4707,11 +4625,11 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4707
4625
|
},
|
|
4708
4626
|
width: 1,
|
|
4709
4627
|
height: 1
|
|
4710
|
-
}), this.context = e, this.settingsManager = t, this.layoutSubject = new m(), this.layout$ = this.layoutSubject.asObservable(), T(this.settingsManager.watch(["computedSpreadMode"]).pipe(
|
|
4628
|
+
}), this.context = e, this.settingsManager = t, this.layoutSubject = new m(), this.layout$ = this.layoutSubject.asObservable(), T(this.settingsManager.watch(["computedSpreadMode"]).pipe(N(() => {
|
|
4711
4629
|
this.mergeCompare({ pageSize: this.calculatePageSize(this.value) });
|
|
4712
|
-
})), this.context.watch("rootElement").pipe(
|
|
4630
|
+
})), this.context.watch("rootElement").pipe(N(() => {
|
|
4713
4631
|
this.layout();
|
|
4714
|
-
}))).pipe(
|
|
4632
|
+
}))).pipe(M(this.destroy$)).subscribe();
|
|
4715
4633
|
}
|
|
4716
4634
|
calculatePageSize(e) {
|
|
4717
4635
|
let { computedSpreadMode: t } = this.settingsManager.values;
|
|
@@ -4722,7 +4640,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4722
4640
|
}
|
|
4723
4641
|
syncAbsoluteViewportCssVariables(e) {
|
|
4724
4642
|
let { style: t } = this.value.element;
|
|
4725
|
-
e.width > 0 ? B(t,
|
|
4643
|
+
e.width > 0 ? B(t, Tn, `${e.width}px`) : V(t, Tn), e.height > 0 ? B(t, En, `${e.height}px`) : V(t, En);
|
|
4726
4644
|
}
|
|
4727
4645
|
layout() {
|
|
4728
4646
|
let e = {
|
|
@@ -4735,7 +4653,7 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4735
4653
|
}), this.layoutSubject.next();
|
|
4736
4654
|
}
|
|
4737
4655
|
get absoluteViewport() {
|
|
4738
|
-
return new
|
|
4656
|
+
return new Ba({
|
|
4739
4657
|
width: this.value.width,
|
|
4740
4658
|
height: this.value.height
|
|
4741
4659
|
});
|
|
@@ -4749,91 +4667,82 @@ var fi = (e) => (t) => e(t), pi = (e, t, n) => {
|
|
|
4749
4667
|
}
|
|
4750
4668
|
get relativeViewport() {
|
|
4751
4669
|
let e = this.absoluteViewport, t = this.scaleFactor;
|
|
4752
|
-
return new
|
|
4670
|
+
return new Va({
|
|
4753
4671
|
width: e.width / t,
|
|
4754
4672
|
height: e.height / t
|
|
4755
4673
|
});
|
|
4756
4674
|
}
|
|
4757
4675
|
destroy() {
|
|
4758
|
-
super.destroy(), this.layoutSubject.complete();
|
|
4759
|
-
}
|
|
4760
|
-
},
|
|
4761
|
-
let
|
|
4762
|
-
context:
|
|
4763
|
-
settings:
|
|
4764
|
-
viewport:
|
|
4765
|
-
}),
|
|
4766
|
-
cfi:
|
|
4767
|
-
context:
|
|
4768
|
-
spineItemsManager:
|
|
4769
|
-
hookManager:
|
|
4770
|
-
spine:
|
|
4771
|
-
settings:
|
|
4772
|
-
viewport:
|
|
4773
|
-
}),
|
|
4774
|
-
|
|
4775
|
-
let
|
|
4776
|
-
|
|
4777
|
-
},
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
4790
|
-
|
|
4791
|
-
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
spine: p,
|
|
4797
|
-
hookManager: i,
|
|
4798
|
-
cfi: l,
|
|
4799
|
-
navigation: h,
|
|
4800
|
-
spineItemsObserver: p.spineItemsObserver,
|
|
4801
|
-
spineItemsManager: c,
|
|
4802
|
-
layout: _,
|
|
4803
|
-
load: v,
|
|
4676
|
+
super.destroy(), this.layoutSubject.complete(), this.value.element.remove();
|
|
4677
|
+
}
|
|
4678
|
+
}, to = ({ manifest: e, cfi: t, ...n }) => {
|
|
4679
|
+
let r = crypto.randomUUID(), i = `${bn}-core-${r}`, a = new m(), o = new m(), s = new Mi(), c = new Ai(e), l = new Ma(n, c), u = new ji(c, l), d = new $a(c, l), f = new Di(s, d), p = new eo(c, l), h = pa({
|
|
4680
|
+
context: c,
|
|
4681
|
+
settings: l,
|
|
4682
|
+
viewport: p
|
|
4683
|
+
}), g = new ka(c, d), _ = new Qa(c, g, d, h, l, s, p), v = Oa({
|
|
4684
|
+
cfi: f,
|
|
4685
|
+
context: c,
|
|
4686
|
+
spineItemsManager: d,
|
|
4687
|
+
hookManager: s,
|
|
4688
|
+
spine: _,
|
|
4689
|
+
settings: l,
|
|
4690
|
+
viewport: p
|
|
4691
|
+
}), ee = new Aa(c, g, d, _, h, v.isLocked$, f);
|
|
4692
|
+
v.navigationState$.subscribe(c.bridgeEvent.viewportStateSubject), v.navigation$.subscribe(c.bridgeEvent.navigationSubject), v.position$.subscribe(c.bridgeEvent.positionSubject), g.subscribe(c.bridgeEvent.paginationSubject);
|
|
4693
|
+
let te = (e = {}) => {
|
|
4694
|
+
a.next(e);
|
|
4695
|
+
}, ne = (e) => {
|
|
4696
|
+
if (c.value.rootElement) throw Error("This reader is already mounted. A reader renders a single book, destroy it and create a new reader instead.");
|
|
4697
|
+
R.log("mount", { containerElement: e }), $e(document, i, Ni);
|
|
4698
|
+
let t = io(e, r);
|
|
4699
|
+
c.update({ rootElement: t }), te({ immediate: !0 });
|
|
4700
|
+
}, re = l.watch(["computedSpreadMode"]).pipe(Ee(1), L(() => te())), ie = T(a.pipe(L((e) => {
|
|
4701
|
+
c.value.rootElement && (p.layout(), _.layout(e));
|
|
4702
|
+
}), I(o)), re).subscribe();
|
|
4703
|
+
return {
|
|
4704
|
+
id: r,
|
|
4705
|
+
context: c,
|
|
4706
|
+
spine: _,
|
|
4707
|
+
hookManager: s,
|
|
4708
|
+
cfi: f,
|
|
4709
|
+
navigation: v,
|
|
4710
|
+
spineItemsObserver: _.spineItemsObserver,
|
|
4711
|
+
spineItemsManager: d,
|
|
4712
|
+
layout: te,
|
|
4713
|
+
mount: ne,
|
|
4804
4714
|
destroy: () => {
|
|
4805
|
-
|
|
4715
|
+
let e = c.value.rootElement;
|
|
4716
|
+
et(document, i), e && ao(e), ie.unsubscribe(), d.destroy(), ee.destroy(), l.destroy(), g.destroy(), c.destroy(), v.destroy(), _.destroy(), u.destroy(), o.next(), o.complete(), p.destroy();
|
|
4806
4717
|
},
|
|
4807
4718
|
pagination: {
|
|
4808
4719
|
get state() {
|
|
4809
|
-
return
|
|
4720
|
+
return g.value;
|
|
4810
4721
|
},
|
|
4811
4722
|
get state$() {
|
|
4812
|
-
return
|
|
4723
|
+
return g;
|
|
4813
4724
|
}
|
|
4814
4725
|
},
|
|
4815
|
-
settings:
|
|
4816
|
-
renderHeadless: (e) =>
|
|
4817
|
-
viewport:
|
|
4818
|
-
viewportState$:
|
|
4819
|
-
viewportFree$:
|
|
4820
|
-
|
|
4821
|
-
features:
|
|
4822
|
-
$: { destroy$:
|
|
4726
|
+
settings: l,
|
|
4727
|
+
renderHeadless: (e) => d.get(e)?.renderer.renderHeadless() ?? D(void 0),
|
|
4728
|
+
viewport: p,
|
|
4729
|
+
viewportState$: c.bridgeEvent.viewportState$,
|
|
4730
|
+
viewportFree$: c.bridgeEvent.viewportFree$,
|
|
4731
|
+
mounted$: c.watch("rootElement").pipe(Se(K), ye()),
|
|
4732
|
+
features: u,
|
|
4733
|
+
$: { destroy$: o }
|
|
4823
4734
|
};
|
|
4824
|
-
},
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
`, e.classList.add(`${X}-reader`), e.setAttribute(wn, t), e.setAttribute("data-prose-reader-container", t), e), po = ci(jt(fi(At(dt(ri(di(wi(pr(ln(Jn(ft(gt($r(qn(ui(uo)))))))))))))))), mo = (e) => (t) => e(t), ho = 5e3, go = (e, { itemReadinessTimeoutMs: t = ho } = {}) => $n(e).pipe(A((n) => {
|
|
4829
|
-
if (n.boundary === "start") return E(n);
|
|
4735
|
+
}, no = `${X}-reader`, ro = "data-prose-reader-container", io = (e, t) => (e.classList.add(no), z(e, xn, t), z(e, ro, t), e), ao = (e) => {
|
|
4736
|
+
e.classList.remove(no), e.removeAttribute(xn), e.removeAttribute(ro);
|
|
4737
|
+
}, oo = ei(Ot(ii(Dt(ct(ri(gi(ur(on(Gn(lt(pt(Yr(Wn(ni(to))))))))))))))), so = (e) => (t) => e(t), co = 5e3, lo = (e, { itemReadinessTimeoutMs: t = co } = {}) => Xn(e).pipe(j((n) => {
|
|
4738
|
+
if (n.boundary === "start") return D(n);
|
|
4830
4739
|
let r = e.spineItemsManager.items, i = r[r.length - 1];
|
|
4831
|
-
return i ? i.value.isReady ?
|
|
4740
|
+
return i ? i.value.isReady ? D(n) : i.isReady$.pipe(b(Boolean), x(), w(() => n), t === Infinity ? le : ge({
|
|
4832
4741
|
first: t,
|
|
4833
4742
|
with: () => u
|
|
4834
|
-
}),
|
|
4835
|
-
}),
|
|
4743
|
+
}), Yn(e.navigation)) : u;
|
|
4744
|
+
}), O());
|
|
4836
4745
|
//#endregion
|
|
4837
|
-
export {
|
|
4746
|
+
export { fn as AbstractSpinePosition, En as CSS_VAR_ABSOLUTE_VIEWPORT_HEIGHT, Tn as CSS_VAR_ABSOLUTE_VIEWPORT_WIDTH, Di as CfiManager, Ai as Context, Li as ControlledNavigationController, Q as DestroyableClass, At as DocumentRenderer, ji as Features, xn as HTML_ATTRIBUTE_DATA_READER_ID, X as HTML_PREFIX, Cn as HTML_PREFIX_SCROLL_NAVIGATOR, wn as HTML_PREFIX_SPINE_ITEM, Sn as HTML_PREFIX_VIEWPORT, bn as HTML_STYLE_PREFIX, Mi as HookManager, ia as InternalNavigator, sn as LayoutEntry, Yi as Locker, yn as PAGINATION_UPDATE_AFTER_VIEWPORT_ADJUSTMENT_DEBOUNCE, _n as PROSE_READER_NAMESPACE, yr as Pages, ka as Pagination, Aa as PaginationController, U as ReactiveEntity, Mt as ResourceHandler, pr as ResourcesLocator, di as ScrollNavigationController, li as ScrollPosition, ja as SettingsManager, Qa as Spine, Fa as SpineItem, ln as SpineItemPageLayout, dn as SpineItemPageSpineLayout, q as SpineItemPosition, un as SpineItemSpineLayout, $a as SpineItemsManager, Xa as SpineItemsObserver, J as SpinePosition, ui as UnboundScrollPosition, cn as UnboundSpineItemPagePosition, Y as UnboundSpinePosition, vn as VIEWPORT_ADJUSTMENT_THROTTLE, eo as Viewport, fr as consolidate, oo as createReader, St as deferIdle, bt as deferNextResult, yi as generateCfiForSpineItemPage, bi as generateCfiFromRange, _i as generateRootCfi, nt as getAttributeValueFromString, mt as getBase64FromBlob, at as getFrameViewportInfo, xi as getItemAnchor, on as htmlEnhancer, xt as idle, $e as injectCSS, rt as injectCSSToFrame, K as isDefined, Xe as isHtmlElement, Ze as isHtmlTagElement, Ci as isRootCfi, a as isShallowEqual, Wn as layoutEnhancer, gt as mapKeysTo, lo as observeBookBoundaryReached, wt as observeIntersection, Ct as observeMutation, Jn as observeNextSettledNavigation, vt as observeResize, qn as observeSettledNavigation, Yr as paginationEnhancer, Ti as parseCfi, ht as pick, Fe as removeAttributeIfPresent, it as removeCSS, V as removeStylePropertyIfPresent, Ei as resolveCfi, so as rootEnhancer, z as setAttributeIfChanged, Ie as setPropertyIfChanged, B as setStylePropertyIfChanged, Vn as shouldEnableSpreadModeForViewport, Hn as shouldUseComputedSpreadModeForViewport, hr as spinePositionToSpineItemSpineLayout, Yn as takeUntilNextNavigationSettled, H as upsertCSSToFrame, ot as waitForFrameLoad, st as waitForFrameReady, Kn as waitForNavigationSettled, yt as waitForSwitch, _t as watchKeys };
|
|
4838
4747
|
|
|
4839
4748
|
//# sourceMappingURL=index.js.map
|