@readium/navigator 2.4.0-alpha.5 → 2.4.0-alpha.6
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/index.js +220 -218
- package/dist/index.umd.cjs +12 -12
- package/package.json +3 -3
- package/src/epub/fxl/FXLFramePoolManager.ts +4 -1
package/dist/index.js
CHANGED
|
@@ -347,13 +347,13 @@ class g {
|
|
|
347
347
|
}
|
|
348
348
|
const a = {}, l = Object.keys(o);
|
|
349
349
|
l.sort((m, y) => m.localeCompare(y)), l.forEach((m) => a[m] = o[m]);
|
|
350
|
-
let
|
|
350
|
+
let h = "";
|
|
351
351
|
for (const m in a) {
|
|
352
352
|
const y = a[m];
|
|
353
|
-
|
|
353
|
+
h += `;${m}=${y}`;
|
|
354
354
|
}
|
|
355
|
-
const
|
|
356
|
-
this.string =
|
|
355
|
+
const c = `${e}/${i}${h}`, u = a.encoding;
|
|
356
|
+
this.string = c, this.type = e, this.subtype = i, this.parameters = a, this.encoding = u, this.name = t.name, this.fileExtension = t.fileExtension;
|
|
357
357
|
}
|
|
358
358
|
static parse(t) {
|
|
359
359
|
return new g(t);
|
|
@@ -1477,7 +1477,7 @@ function _n(s, t, e) {
|
|
|
1477
1477
|
return e.map((n) => {
|
|
1478
1478
|
const r = Math.max(0, n.end - t.length - n.errors), o = Ke(s.slice(r, n.end));
|
|
1479
1479
|
return {
|
|
1480
|
-
start: ki(o, i, n.errors).reduce((l,
|
|
1480
|
+
start: ki(o, i, n.errors).reduce((l, h) => n.end - h.end < l ? n.end - h.end : l, n.end),
|
|
1481
1481
|
end: n.end,
|
|
1482
1482
|
errors: n.errors
|
|
1483
1483
|
};
|
|
@@ -1488,10 +1488,10 @@ function ne(s) {
|
|
|
1488
1488
|
}
|
|
1489
1489
|
function Ze(s, t, e, i) {
|
|
1490
1490
|
let n = s.P[e], r = s.M[e];
|
|
1491
|
-
const o = i >>> 31, a = t[e] | o, l = a | r,
|
|
1492
|
-
let
|
|
1493
|
-
const m = ne(
|
|
1494
|
-
return
|
|
1491
|
+
const o = i >>> 31, a = t[e] | o, l = a | r, h = (a & n) + n ^ n | a;
|
|
1492
|
+
let c = r | ~(h | n), u = n & h;
|
|
1493
|
+
const m = ne(c & s.lastRowMask[e]) - ne(u & s.lastRowMask[e]);
|
|
1494
|
+
return c <<= 1, u <<= 1, u |= o, c |= ne(i) - o, n = u | ~(l | c), r = c & l, s.P[e] = n, s.M[e] = r, m;
|
|
1495
1495
|
}
|
|
1496
1496
|
function ki(s, t, e) {
|
|
1497
1497
|
if (t.length === 0)
|
|
@@ -1503,15 +1503,15 @@ function ki(s, t, e) {
|
|
|
1503
1503
|
lastRowMask: new Uint32Array(r + 1)
|
|
1504
1504
|
};
|
|
1505
1505
|
o.lastRowMask.fill(1 << 31), o.lastRowMask[r] = 1 << (t.length - 1) % n;
|
|
1506
|
-
const a = new Uint32Array(r + 1), l = /* @__PURE__ */ new Map(),
|
|
1506
|
+
const a = new Uint32Array(r + 1), l = /* @__PURE__ */ new Map(), h = [];
|
|
1507
1507
|
for (let m = 0; m < 256; m++)
|
|
1508
|
-
|
|
1508
|
+
h.push(a);
|
|
1509
1509
|
for (let m = 0; m < t.length; m += 1) {
|
|
1510
1510
|
const y = t.charCodeAt(m);
|
|
1511
1511
|
if (l.has(y))
|
|
1512
1512
|
continue;
|
|
1513
1513
|
const d = new Uint32Array(r + 1);
|
|
1514
|
-
l.set(y, d), y <
|
|
1514
|
+
l.set(y, d), y < h.length && (h[y] = d);
|
|
1515
1515
|
for (let p = 0; p <= r; p += 1) {
|
|
1516
1516
|
d[p] = 0;
|
|
1517
1517
|
for (let b = 0; b < n; b += 1) {
|
|
@@ -1522,37 +1522,37 @@ function ki(s, t, e) {
|
|
|
1522
1522
|
}
|
|
1523
1523
|
}
|
|
1524
1524
|
}
|
|
1525
|
-
let
|
|
1525
|
+
let c = Math.max(0, Math.ceil(e / n) - 1);
|
|
1526
1526
|
const u = new Uint32Array(r + 1);
|
|
1527
|
-
for (let m = 0; m <=
|
|
1527
|
+
for (let m = 0; m <= c; m += 1)
|
|
1528
1528
|
u[m] = (m + 1) * n;
|
|
1529
1529
|
u[r] = t.length;
|
|
1530
|
-
for (let m = 0; m <=
|
|
1530
|
+
for (let m = 0; m <= c; m += 1)
|
|
1531
1531
|
o.P[m] = -1, o.M[m] = 0;
|
|
1532
1532
|
for (let m = 0; m < s.length; m += 1) {
|
|
1533
1533
|
const y = s.charCodeAt(m);
|
|
1534
1534
|
let d;
|
|
1535
|
-
y <
|
|
1535
|
+
y < h.length ? d = h[y] : (d = l.get(y), typeof d > "u" && (d = a));
|
|
1536
1536
|
let p = 0;
|
|
1537
|
-
for (let b = 0; b <=
|
|
1537
|
+
for (let b = 0; b <= c; b += 1)
|
|
1538
1538
|
p = Ze(o, d, b, p), u[b] += p;
|
|
1539
|
-
if (u[
|
|
1540
|
-
|
|
1539
|
+
if (u[c] - p <= e && c < r && (d[c + 1] & 1 || p < 0)) {
|
|
1540
|
+
c += 1, o.P[c] = -1, o.M[c] = 0;
|
|
1541
1541
|
let b;
|
|
1542
|
-
if (
|
|
1542
|
+
if (c === r) {
|
|
1543
1543
|
const _ = t.length % n;
|
|
1544
1544
|
b = _ === 0 ? n : _;
|
|
1545
1545
|
} else
|
|
1546
1546
|
b = n;
|
|
1547
|
-
u[
|
|
1547
|
+
u[c] = u[c - 1] + b - p + Ze(o, d, c, p);
|
|
1548
1548
|
} else
|
|
1549
|
-
for (;
|
|
1550
|
-
|
|
1551
|
-
|
|
1549
|
+
for (; c > 0 && u[c] >= e + n; )
|
|
1550
|
+
c -= 1;
|
|
1551
|
+
c === r && u[c] <= e && (u[c] < e && i.splice(0, i.length), i.push({
|
|
1552
1552
|
start: -1,
|
|
1553
1553
|
end: m + 1,
|
|
1554
|
-
errors: u[
|
|
1555
|
-
}), e = u[
|
|
1554
|
+
errors: u[c]
|
|
1555
|
+
}), e = u[c]);
|
|
1556
1556
|
}
|
|
1557
1557
|
return i;
|
|
1558
1558
|
}
|
|
@@ -1622,8 +1622,8 @@ function Qe(s, t) {
|
|
|
1622
1622
|
let o = -1;
|
|
1623
1623
|
const a = () => {
|
|
1624
1624
|
if (r = t === 1 ? e.nextNode() : e.previousNode(), r) {
|
|
1625
|
-
const l = r.textContent,
|
|
1626
|
-
o = ue(l,
|
|
1625
|
+
const l = r.textContent, h = t === 1 ? 0 : l.length;
|
|
1626
|
+
o = ue(l, h, t);
|
|
1627
1627
|
}
|
|
1628
1628
|
};
|
|
1629
1629
|
for (; r && o === -1 && r !== n; )
|
|
@@ -1982,24 +1982,24 @@ function Rn(s, t) {
|
|
|
1982
1982
|
let e = s.getClientRects();
|
|
1983
1983
|
e.length || s.commonAncestorContainer.nodeType === Node.ELEMENT_NODE && (e = s.commonAncestorContainer.getClientRects());
|
|
1984
1984
|
const i = 1, n = [];
|
|
1985
|
-
for (const
|
|
1985
|
+
for (const h of e)
|
|
1986
1986
|
n.push({
|
|
1987
|
-
bottom:
|
|
1988
|
-
height:
|
|
1989
|
-
left:
|
|
1990
|
-
right:
|
|
1991
|
-
top:
|
|
1992
|
-
width:
|
|
1987
|
+
bottom: h.bottom,
|
|
1988
|
+
height: h.height,
|
|
1989
|
+
left: h.left,
|
|
1990
|
+
right: h.right,
|
|
1991
|
+
top: h.top,
|
|
1992
|
+
width: h.width
|
|
1993
1993
|
});
|
|
1994
1994
|
const r = Mi(
|
|
1995
1995
|
n,
|
|
1996
1996
|
i
|
|
1997
1997
|
), o = On(r, i), a = Ui(o), l = 4;
|
|
1998
|
-
for (let
|
|
1999
|
-
const
|
|
2000
|
-
if (!(
|
|
1998
|
+
for (let h = a.length - 1; h >= 0; h--) {
|
|
1999
|
+
const c = a[h];
|
|
2000
|
+
if (!(c.width * c.height > l))
|
|
2001
2001
|
if (a.length > 1)
|
|
2002
|
-
a.splice(
|
|
2002
|
+
a.splice(h, 1);
|
|
2003
2003
|
else
|
|
2004
2004
|
break;
|
|
2005
2005
|
}
|
|
@@ -2064,10 +2064,10 @@ function Ui(s) {
|
|
|
2064
2064
|
if (a.length === 1)
|
|
2065
2065
|
r = a, o = i;
|
|
2066
2066
|
else {
|
|
2067
|
-
const
|
|
2068
|
-
a.length <
|
|
2067
|
+
const h = ei(n, i);
|
|
2068
|
+
a.length < h.length ? (r = a, o = i) : (r = h, o = n);
|
|
2069
2069
|
}
|
|
2070
|
-
const l = s.filter((
|
|
2070
|
+
const l = s.filter((h) => h !== o);
|
|
2071
2071
|
return Array.prototype.push.apply(l, r), Ui(l);
|
|
2072
2072
|
}
|
|
2073
2073
|
}
|
|
@@ -2218,10 +2218,10 @@ const ct = { r: 255, g: 255, b: 255, a: 1 }, st = /* @__PURE__ */ new Map(), An
|
|
|
2218
2218
|
n.clearRect(r, o, 1, 1), t && (n.fillStyle = t, n.fillRect(r, o, 1, 1)), n.fillStyle = s, n.fillRect(r, o, 1, 1);
|
|
2219
2219
|
const a = n.getImageData(r, o, 1, 1);
|
|
2220
2220
|
yt = (yt + 1) % 25;
|
|
2221
|
-
const [l,
|
|
2221
|
+
const [l, h, c, u] = a.data;
|
|
2222
2222
|
if (u === 0)
|
|
2223
2223
|
return At(s, "Fully transparent color."), st.set(e, null), ct;
|
|
2224
|
-
const m = { r: l, g:
|
|
2224
|
+
const m = { r: l, g: h, b: c, a: u / 255 };
|
|
2225
2225
|
return st.set(e, m), m;
|
|
2226
2226
|
} catch (r) {
|
|
2227
2227
|
return At(s, `Error: ${r instanceof Error ? r.message : String(r)}`), st.set(e, null), ct;
|
|
@@ -2326,7 +2326,7 @@ class Nn {
|
|
|
2326
2326
|
getComputedStyle(this.wnd.document.documentElement).getPropertyValue(
|
|
2327
2327
|
"column-count"
|
|
2328
2328
|
)
|
|
2329
|
-
), r = i / (n || 1), o = this.wnd.document.scrollingElement, a = o.scrollLeft, l = o.scrollTop,
|
|
2329
|
+
), r = i / (n || 1), o = this.wnd.document.scrollingElement, a = o.scrollLeft, l = o.scrollTop, h = (d, p, b) => {
|
|
2330
2330
|
if (d.style.position = "absolute", t.decoration?.style?.width === "viewport") {
|
|
2331
2331
|
d.style.width = `${i}px`, d.style.height = `${p.height}px`;
|
|
2332
2332
|
let _ = Math.floor(p.left / i) * i;
|
|
@@ -2339,7 +2339,7 @@ class Nn {
|
|
|
2339
2339
|
d.style.left = `${_ + a}px`, d.style.top = `${p.top + l}px`;
|
|
2340
2340
|
} else
|
|
2341
2341
|
d.style.width = `${p.width}px`, d.style.height = `${p.height}px`, d.style.left = `${p.left + a}px`, d.style.top = `${p.top + l}px`;
|
|
2342
|
-
},
|
|
2342
|
+
}, c = t.range.getBoundingClientRect();
|
|
2343
2343
|
let u = this.wnd.document.createElement("template");
|
|
2344
2344
|
const m = this.getCurrentDarkMode();
|
|
2345
2345
|
u.innerHTML = `
|
|
@@ -2359,7 +2359,7 @@ class Nn {
|
|
|
2359
2359
|
const y = u.content.firstElementChild;
|
|
2360
2360
|
if (t.decoration?.style?.layout === "bounds") {
|
|
2361
2361
|
const d = y.cloneNode(!0);
|
|
2362
|
-
d.style.setProperty("pointer-events", "none"),
|
|
2362
|
+
d.style.setProperty("pointer-events", "none"), h(d, c, c), e.append(d);
|
|
2363
2363
|
} else {
|
|
2364
2364
|
let d = Rn(
|
|
2365
2365
|
t.range
|
|
@@ -2367,7 +2367,7 @@ class Nn {
|
|
|
2367
2367
|
d = d.sort((p, b) => p.top < b.top ? -1 : p.top > b.top ? 1 : 0);
|
|
2368
2368
|
for (let p of d) {
|
|
2369
2369
|
const b = y.cloneNode(!0);
|
|
2370
|
-
b.style.setProperty("pointer-events", "none"),
|
|
2370
|
+
b.style.setProperty("pointer-events", "none"), h(b, p, c), e.append(b);
|
|
2371
2371
|
}
|
|
2372
2372
|
}
|
|
2373
2373
|
t.container = e, t.clickableElements = Array.from(
|
|
@@ -2455,8 +2455,8 @@ const wt = class wt extends ft {
|
|
|
2455
2455
|
}), this.resizeObserver = new ResizeObserver(() => t.requestAnimationFrame(() => this.handleResize())), this.resizeObserver.observe(t.document.body), t.addEventListener("orientationchange", this.handleResizer), t.addEventListener("resize", this.handleResizer), this.backgroundObserver = new MutationObserver((i) => {
|
|
2456
2456
|
i.some((r) => {
|
|
2457
2457
|
if (r.type === "attributes" && r.attributeName === "style") {
|
|
2458
|
-
const o = r.target, a = r.oldValue, l = o.getAttribute("style"),
|
|
2459
|
-
return
|
|
2458
|
+
const o = r.target, a = r.oldValue, l = o.getAttribute("style"), h = this.extractCustomProperty(a, "--USER__appearance"), c = this.extractCustomProperty(l, "--USER__appearance"), u = this.extractCustomProperty(a, "--USER__backgroundColor"), m = this.extractCustomProperty(l, "--USER__backgroundColor");
|
|
2459
|
+
return h !== c || u !== m;
|
|
2460
2460
|
}
|
|
2461
2461
|
return !1;
|
|
2462
2462
|
}) && this.updateHighlightStyles();
|
|
@@ -2517,13 +2517,13 @@ function li(s) {
|
|
|
2517
2517
|
if (!t)
|
|
2518
2518
|
return !1;
|
|
2519
2519
|
const e = s.document.querySelectorAll("div[id^='readium-virtual-page']");
|
|
2520
|
-
for (const
|
|
2521
|
-
|
|
2520
|
+
for (const h of e)
|
|
2521
|
+
h.remove();
|
|
2522
2522
|
const i = e.length, n = s.document.scrollingElement.scrollWidth, r = s.visualViewport.width, a = Math.round(n / r * t) % t, l = t === 1 || a === 0 ? 0 : t - a;
|
|
2523
2523
|
if (l > 0)
|
|
2524
|
-
for (let
|
|
2525
|
-
const
|
|
2526
|
-
|
|
2524
|
+
for (let h = 0; h < l; h++) {
|
|
2525
|
+
const c = s.document.createElement("div");
|
|
2526
|
+
c.setAttribute("id", `readium-virtual-page-${h}`), c.dataset.readium = "true", CSS.supports("break-before", "column") ? c.style.breakBefore = "column" : (CSS.supports("break-inside", "avoid-column") && (c.style.breakInside = "avoid-column"), c.style.height = ai(s.document.documentElement) + "px"), c.innerHTML = "​", s.document.body.appendChild(c);
|
|
2527
2527
|
}
|
|
2528
2528
|
return i !== l;
|
|
2529
2529
|
}
|
|
@@ -2649,8 +2649,8 @@ class ze {
|
|
|
2649
2649
|
}), this.history = this.history.filter((p) => r - p.timestamp < 2e3).slice(-(this.options.historySize || 20)), this.history.length < 3) return !1;
|
|
2650
2650
|
if (n > this.options.maxVelocity)
|
|
2651
2651
|
return this.resetAfterDetection(), !0;
|
|
2652
|
-
const o = this.history.map((p) => p.velocity), a = this.history.map((p) => p.distance), l = o.reduce((p, b) => p + b, 0) / o.length,
|
|
2653
|
-
if (
|
|
2652
|
+
const o = this.history.map((p) => p.velocity), a = this.history.map((p) => p.distance), l = o.reduce((p, b) => p + b, 0) / o.length, h = a.reduce((p, b) => p + b, 0) / a.length, c = o.reduce((p, b) => p + Math.pow(b - l, 2), 0) / o.length, u = a.reduce((p, b) => p + Math.pow(b - h, 2), 0) / a.length;
|
|
2653
|
+
if (c < this.options.minVariance && u < h * 0.1) {
|
|
2654
2654
|
if (this.consistentScrollCount++, this.consistentScrollCount >= (this.options.maxConsistentScrolls || 10))
|
|
2655
2655
|
return this.resetAfterDetection(), !0;
|
|
2656
2656
|
} else
|
|
@@ -2705,11 +2705,11 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2705
2705
|
}
|
|
2706
2706
|
// Snaps the current offset to the page width.
|
|
2707
2707
|
snapCurrentOffset(t = !1, e = !1) {
|
|
2708
|
-
const i = this.wnd.scrollX > 0 ? this.wnd.scrollX : this.alreadyScrollLeft, n = this.doc(), r = this.dragOffset(), o = Di(this.wnd), a = Math.min(Math.max(0, i), this.cachedScrollWidth), l = nt(this.wnd) ? -1 : 1,
|
|
2708
|
+
const i = this.wnd.scrollX > 0 ? this.wnd.scrollX : this.alreadyScrollLeft, n = this.doc(), r = this.dragOffset(), o = Di(this.wnd), a = Math.min(Math.max(0, i), this.cachedScrollWidth), l = nt(this.wnd) ? -1 : 1, h = (
|
|
2709
2709
|
// The hurdle to overcome in order to change pages
|
|
2710
2710
|
l * (this.wnd.innerWidth / 3) * (l * r > 0 ? 2 : 1)
|
|
2711
|
-
),
|
|
2712
|
-
if (this.checkSuspiciousSnap(u, Math.abs(
|
|
2711
|
+
), c = this.snapOffset(a + h), u = c > this.scrollOffset() ? "right" : "left";
|
|
2712
|
+
if (this.checkSuspiciousSnap(u, Math.abs(c - this.scrollOffset())), t && c !== this.scrollOffset()) {
|
|
2713
2713
|
this.snappingCancelled = !1;
|
|
2714
2714
|
const m = (b, _, z, Q) => z > Q ? _ : b + (_ - b) * Fn(z / Q), y = (
|
|
2715
2715
|
/*Math.abs(startX - (this.useTransform ? currentOffset : 0)) < 10 ? 1 : */
|
|
@@ -2719,13 +2719,13 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2719
2719
|
const p = (b) => {
|
|
2720
2720
|
if (this.snappingCancelled) return;
|
|
2721
2721
|
d || (d = b);
|
|
2722
|
-
const _ = b - d, z = m(this.overscroll, 0, _, y), Q = m(i,
|
|
2723
|
-
n.scrollLeft = Q, this.overscroll !== 0 && (n.style.transform = `translate3d(${-z}px, 0px, 0px)`), _ < y ? this.wnd.requestAnimationFrame(p) : (this.clearTouches(), n.style.removeProperty("transform"), n.scrollLeft =
|
|
2722
|
+
const _ = b - d, z = m(this.overscroll, 0, _, y), Q = m(i, c, _, y);
|
|
2723
|
+
n.scrollLeft = Q, this.overscroll !== 0 && (n.style.transform = `translate3d(${-z}px, 0px, 0px)`), _ < y ? this.wnd.requestAnimationFrame(p) : (this.clearTouches(), n.style.removeProperty("transform"), n.scrollLeft = c, e || this.reportProgress());
|
|
2724
2724
|
};
|
|
2725
2725
|
this.wnd.requestAnimationFrame(p);
|
|
2726
2726
|
} else
|
|
2727
2727
|
n.style.removeProperty("transform"), this.wnd.requestAnimationFrame(() => {
|
|
2728
|
-
n.scrollLeft =
|
|
2728
|
+
n.scrollLeft = c, this.clearTouches(), e || this.reportProgress();
|
|
2729
2729
|
});
|
|
2730
2730
|
}
|
|
2731
2731
|
dragOffset() {
|
|
@@ -2832,8 +2832,8 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2832
2832
|
}), this.resizeObserver.observe(t.document.body), this.mutationObserver = new MutationObserver((r) => {
|
|
2833
2833
|
for (const o of r)
|
|
2834
2834
|
if (o.target === this.wnd.document.documentElement) {
|
|
2835
|
-
const a = o.oldValue, l = o.target.getAttribute("style"),
|
|
2836
|
-
(!
|
|
2835
|
+
const a = o.oldValue, l = o.target.getAttribute("style"), h = /transform\s*:\s*([^;]+)/, c = a?.match(h), u = l?.match(h);
|
|
2836
|
+
(!c && !u || c && !u || c && u && c[1] !== u[1]) && (t.requestAnimationFrame(() => {
|
|
2837
2837
|
t && li(t);
|
|
2838
2838
|
}), this.onWidthChange());
|
|
2839
2839
|
} else
|
|
@@ -2855,8 +2855,8 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2855
2855
|
}
|
|
2856
2856
|
this.wnd.requestAnimationFrame(() => {
|
|
2857
2857
|
this.cachedScrollWidth = this.doc().scrollWidth;
|
|
2858
|
-
const l = this.cachedScrollWidth,
|
|
2859
|
-
this.doc().scrollLeft = this.snapOffset(
|
|
2858
|
+
const l = this.cachedScrollWidth, h = nt(t) ? -1 : 1, c = l * a * h;
|
|
2859
|
+
this.doc().scrollLeft = this.snapOffset(c), this.reportProgress(), T(this.wnd), o(!0);
|
|
2860
2860
|
});
|
|
2861
2861
|
}), e.register("go_id", U.moduleName, (r, o) => {
|
|
2862
2862
|
const a = t.document.getElementById(r);
|
|
@@ -2870,7 +2870,7 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2870
2870
|
}), e.register("go_text", U.moduleName, (r, o) => {
|
|
2871
2871
|
let a;
|
|
2872
2872
|
Array.isArray(r) && (r.length > 1 && (a = r[1]), r = r[0]);
|
|
2873
|
-
const l = rt.deserialize(r),
|
|
2873
|
+
const l = rt.deserialize(r), h = Qt(this.wnd.document, new H({
|
|
2874
2874
|
href: t.location.href,
|
|
2875
2875
|
type: "text/html",
|
|
2876
2876
|
text: l,
|
|
@@ -2880,12 +2880,12 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2880
2880
|
])
|
|
2881
2881
|
}) : void 0
|
|
2882
2882
|
}));
|
|
2883
|
-
if (!
|
|
2883
|
+
if (!h) {
|
|
2884
2884
|
o(!1);
|
|
2885
2885
|
return;
|
|
2886
2886
|
}
|
|
2887
2887
|
this.wnd.requestAnimationFrame(() => {
|
|
2888
|
-
this.doc().scrollLeft = this.snapOffset(
|
|
2888
|
+
this.doc().scrollLeft = this.snapOffset(h.getBoundingClientRect().left + t.scrollX), this.reportProgress(), T(this.wnd), o(!0);
|
|
2889
2889
|
});
|
|
2890
2890
|
}), e.register("go_end", U.moduleName, (r, o) => {
|
|
2891
2891
|
const a = nt(t) ? -1 : 1;
|
|
@@ -2903,14 +2903,14 @@ const hi = "readium-column-snapper-style", Gn = 200, U = class U extends Et {
|
|
|
2903
2903
|
}), e.register("go_prev", U.moduleName, (r, o) => {
|
|
2904
2904
|
this.wnd.requestAnimationFrame(() => {
|
|
2905
2905
|
this.cachedScrollWidth = this.doc().scrollWidth;
|
|
2906
|
-
const a = t.scrollX - t.innerWidth, l = nt(t) ? -(this.cachedScrollWidth - t.innerWidth) : 0,
|
|
2907
|
-
|
|
2906
|
+
const a = t.scrollX - t.innerWidth, l = nt(t) ? -(this.cachedScrollWidth - t.innerWidth) : 0, h = n(Math.max(a, l));
|
|
2907
|
+
h && (this.reportProgress(), T(this.wnd), this.checkSuspiciousSnap("left", this.wnd.innerWidth)), o(h);
|
|
2908
2908
|
});
|
|
2909
2909
|
}), e.register("go_next", U.moduleName, (r, o) => {
|
|
2910
2910
|
this.wnd.requestAnimationFrame(() => {
|
|
2911
2911
|
this.cachedScrollWidth = this.doc().scrollWidth;
|
|
2912
|
-
const a = t.scrollX + t.innerWidth, l = nt(t) ? 0 : this.cachedScrollWidth - t.innerWidth,
|
|
2913
|
-
|
|
2912
|
+
const a = t.scrollX + t.innerWidth, l = nt(t) ? 0 : this.cachedScrollWidth - t.innerWidth, h = n(Math.min(a, l));
|
|
2913
|
+
h && (this.reportProgress(), T(this.wnd), this.checkSuspiciousSnap("right", this.wnd.innerWidth)), o(h);
|
|
2914
2914
|
});
|
|
2915
2915
|
}), e.register("unfocus", U.moduleName, (r, o) => {
|
|
2916
2916
|
this.snappingCancelled = !0, T(this.wnd), o(!0);
|
|
@@ -3214,10 +3214,10 @@ class jn {
|
|
|
3214
3214
|
length: n,
|
|
3215
3215
|
wasBlocked: !1
|
|
3216
3216
|
}), !0;
|
|
3217
|
-
const l = o - this.lastSelectionTime < 100 && n > this.lastSelectionLength * 1.5,
|
|
3217
|
+
const l = o - this.lastSelectionTime < 100 && n > this.lastSelectionLength * 1.5, h = Math.min(
|
|
3218
3218
|
r * this.options.maxSelectionPercent,
|
|
3219
3219
|
this.options.absoluteMaxChars
|
|
3220
|
-
),
|
|
3220
|
+
), c = this.isSuspiciousPattern(o), u = n > h || l || c;
|
|
3221
3221
|
return this.copyHistory.push({
|
|
3222
3222
|
timestamp: o,
|
|
3223
3223
|
length: n,
|
|
@@ -3296,13 +3296,13 @@ class Gi {
|
|
|
3296
3296
|
createActivityEvent(t, e, i, n) {
|
|
3297
3297
|
let r;
|
|
3298
3298
|
if (n) {
|
|
3299
|
-
const o = n.getSelection(), a = o?.toString() || "",
|
|
3300
|
-
|
|
3299
|
+
const o = n.getSelection(), a = o?.toString() || "", h = (a && o?.rangeCount ? o.getRangeAt(0)?.getClientRects() : null)?.[0];
|
|
3300
|
+
h && a && (r = {
|
|
3301
3301
|
text: a,
|
|
3302
|
-
x:
|
|
3303
|
-
y:
|
|
3304
|
-
width:
|
|
3305
|
-
height:
|
|
3302
|
+
x: h.x,
|
|
3303
|
+
y: h.y,
|
|
3304
|
+
width: h.width,
|
|
3305
|
+
height: h.height
|
|
3306
3306
|
});
|
|
3307
3307
|
}
|
|
3308
3308
|
return {
|
|
@@ -3328,8 +3328,8 @@ class Gi {
|
|
|
3328
3328
|
r.push(...o.keyCombos.map((a) => ({
|
|
3329
3329
|
...a,
|
|
3330
3330
|
handler: (l) => {
|
|
3331
|
-
const
|
|
3332
|
-
i(
|
|
3331
|
+
const h = o.type, c = this.createActivityEvent(l, h, t, n);
|
|
3332
|
+
i(c);
|
|
3333
3333
|
}
|
|
3334
3334
|
})));
|
|
3335
3335
|
}), r;
|
|
@@ -3622,7 +3622,7 @@ const _t = class _t extends ft {
|
|
|
3622
3622
|
), Reflect.defineProperty(t.navigator, "epubReadingSystem", {
|
|
3623
3623
|
value: {
|
|
3624
3624
|
name: "readium-ts-toolkit",
|
|
3625
|
-
version: "2.4.0-alpha.
|
|
3625
|
+
version: "2.4.0-alpha.6",
|
|
3626
3626
|
hasFeature: (n, r = "") => {
|
|
3627
3627
|
switch (n) {
|
|
3628
3628
|
case "dom-manipulation":
|
|
@@ -3967,7 +3967,7 @@ class er {
|
|
|
3967
3967
|
const o = r.keyCombos.filter(
|
|
3968
3968
|
(a) => !i.some(
|
|
3969
3969
|
(l) => l.keyCombos.some(
|
|
3970
|
-
(
|
|
3970
|
+
(h) => a.keyCode === h.keyCode && a.ctrl === h.ctrl && a.shift === h.shift && a.alt === h.alt && a.meta === h.meta
|
|
3971
3971
|
)
|
|
3972
3972
|
)
|
|
3973
3973
|
);
|
|
@@ -4219,12 +4219,12 @@ class Yi {
|
|
|
4219
4219
|
else if (/^((Google )?Chrome OS|CrOS)$/.test(a)) o.ChromeOS = i(l);
|
|
4220
4220
|
else if (/^(Linux|Ubuntu|X11)$/.test(a)) o.Linux = i(l);
|
|
4221
4221
|
else return;
|
|
4222
|
-
Object.keys(this.OS).forEach((
|
|
4222
|
+
Object.keys(this.OS).forEach((h) => delete this.OS[h]), Object.assign(this.OS, o);
|
|
4223
4223
|
}
|
|
4224
4224
|
})({})), this.UA = ((r) => {
|
|
4225
4225
|
let o = !1;
|
|
4226
4226
|
if (t && Array.isArray(t.brands)) {
|
|
4227
|
-
const a = t.brands.reduce((l,
|
|
4227
|
+
const a = t.brands.reduce((l, h) => (l[h.brand] = [h.version * 1], l), {});
|
|
4228
4228
|
a["Google Chrome"] ? (o = !0, r.Blink = r.Chromium = a.Chromium || [], r.Chrome = a["Google Chrome"]) : a["Microsoft Edge"] ? (o = !0, r.Blink = r.Chromium = a.Chromium || [], r.Edge = a["Microsoft Edge"]) : a.Opera && (o = !0, r.Blink = r.Chromium = a.Chromium || [], r.Opera = a.Opera);
|
|
4229
4229
|
}
|
|
4230
4230
|
return o || (/ Gecko\/\d/.test(e) ? (r.Gecko = n("rv"), / Waterfox\/\d/.test(e) ? r.Waterfox = n("Waterfox") : / Firefox\/\d/.test(e) && (r.Firefox = n("Firefox"))) : / Edge\/\d/.test(e) ? (r.EdgeHTML = n("Edge"), r.Edge = r.EdgeHTML) : / Chrom(ium|e)\/\d/.test(e) ? (r.Blink = r.Chromium = ((a) => a[0] ? a : n("Chrome"))(n("Chromium")), / EdgA?\/\d/.test(e) ? r.Edge = ((a) => a[0] ? a : n("Edg"))(n("EdgA")) : / OPR\/\d/.test(e) ? r.Opera = n("OPR") : / Vivaldi\/\d/.test(e) ? r.Vivaldi = n("Vivaldi") : / Silk\/\d/.test(e) ? r.Silk = n("Silk") : / UCBrowser\/\d/.test(e) ? r.UCBrowser = n("UCBrowser") : / Phoebe\/\d/.test(e) ? r.Phoebe = n("Phoebe") : r.Chrome = ((a) => a[0] ? a : r.Chromium)(n("Chrome"))) : / AppleWebKit\/\d/.test(e) ? (r.WebKit = n("AppleWebKit"), / CriOS \d/.test(e) ? r.Chrome = n("CriOS") : / FxiOS \d/.test(e) ? r.Firefox = n("FxiOS") : / EdgiOS\/\d/.test(e) ? r.Edge = n("EdgiOS") : / Version\/\d/.test(e) && (r.Safari = n("Version"))) : / Trident\/\d/.test(e) && (r.Trident = n("Trident"), r.InternetExplorer = ((a) => a[0] ? a : n("MSIE"))(n("rv")))), /[\[; ]FB(AN|_IAB)\//.test(e) && (r.Facebook = n("FBAV")), / Line\/\d/.test(e) && (r.LINE = n("Line")), r;
|
|
@@ -4360,11 +4360,11 @@ class hr {
|
|
|
4360
4360
|
if (r < 0) throw Error(`Locator not found in reading order: ${e.href}`);
|
|
4361
4361
|
const o = n[r].href;
|
|
4362
4362
|
this.inprogress.has(o) && await this.inprogress.get(o);
|
|
4363
|
-
const a = new Promise(async (l,
|
|
4364
|
-
const
|
|
4363
|
+
const a = new Promise(async (l, h) => {
|
|
4364
|
+
const c = [], u = [];
|
|
4365
4365
|
t.readingOrder.items.forEach((d, p) => {
|
|
4366
|
-
p !== r && p !== r - 1 && p !== r + 1 && (
|
|
4367
|
-
}),
|
|
4366
|
+
p !== r && p !== r - 1 && p !== r + 1 && (c.includes(d.href) || c.push(d.href)), p === r && (u.includes(d.href) || u.push(d.href));
|
|
4367
|
+
}), c.forEach(async (d) => {
|
|
4368
4368
|
u.includes(d) || this.pool.has(d) && (await this.pool.get(d)?.destroy(), this.pool.delete(d));
|
|
4369
4369
|
}), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((d) => {
|
|
4370
4370
|
this.injector?.releaseBlobUrl?.(d), URL.revokeObjectURL(d);
|
|
@@ -4403,7 +4403,7 @@ class hr {
|
|
|
4403
4403
|
try {
|
|
4404
4404
|
await Promise.all(u.map((d) => m(d)));
|
|
4405
4405
|
} catch (d) {
|
|
4406
|
-
|
|
4406
|
+
h(d);
|
|
4407
4407
|
}
|
|
4408
4408
|
const y = this.pool.get(o);
|
|
4409
4409
|
y?.source !== this._currentFrame?.source && (await this._currentFrame?.hide(), y && await y.load(i), y && await y.show(e.locations.progression), this._currentFrame = y), l();
|
|
@@ -4460,33 +4460,33 @@ function cr() {
|
|
|
4460
4460
|
throw new TypeError("Path must be a string. Received " + JSON.stringify(n));
|
|
4461
4461
|
}
|
|
4462
4462
|
function t(n, r) {
|
|
4463
|
-
for (var o = "", a = 0, l = -1,
|
|
4463
|
+
for (var o = "", a = 0, l = -1, h = 0, c, u = 0; u <= n.length; ++u) {
|
|
4464
4464
|
if (u < n.length)
|
|
4465
|
-
|
|
4465
|
+
c = n.charCodeAt(u);
|
|
4466
4466
|
else {
|
|
4467
|
-
if (
|
|
4467
|
+
if (c === 47)
|
|
4468
4468
|
break;
|
|
4469
|
-
|
|
4469
|
+
c = 47;
|
|
4470
4470
|
}
|
|
4471
|
-
if (
|
|
4472
|
-
if (!(l === u - 1 ||
|
|
4471
|
+
if (c === 47) {
|
|
4472
|
+
if (!(l === u - 1 || h === 1)) if (l !== u - 1 && h === 2) {
|
|
4473
4473
|
if (o.length < 2 || a !== 2 || o.charCodeAt(o.length - 1) !== 46 || o.charCodeAt(o.length - 2) !== 46) {
|
|
4474
4474
|
if (o.length > 2) {
|
|
4475
4475
|
var m = o.lastIndexOf("/");
|
|
4476
4476
|
if (m !== o.length - 1) {
|
|
4477
|
-
m === -1 ? (o = "", a = 0) : (o = o.slice(0, m), a = o.length - 1 - o.lastIndexOf("/")), l = u,
|
|
4477
|
+
m === -1 ? (o = "", a = 0) : (o = o.slice(0, m), a = o.length - 1 - o.lastIndexOf("/")), l = u, h = 0;
|
|
4478
4478
|
continue;
|
|
4479
4479
|
}
|
|
4480
4480
|
} else if (o.length === 2 || o.length === 1) {
|
|
4481
|
-
o = "", a = 0, l = u,
|
|
4481
|
+
o = "", a = 0, l = u, h = 0;
|
|
4482
4482
|
continue;
|
|
4483
4483
|
}
|
|
4484
4484
|
}
|
|
4485
4485
|
r && (o.length > 0 ? o += "/.." : o = "..", a = 2);
|
|
4486
4486
|
} else
|
|
4487
4487
|
o.length > 0 ? o += "/" + n.slice(l + 1, u) : o = n.slice(l + 1, u), a = u - l - 1;
|
|
4488
|
-
l = u,
|
|
4489
|
-
} else
|
|
4488
|
+
l = u, h = 0;
|
|
4489
|
+
} else c === 46 && h !== -1 ? ++h : h = -1;
|
|
4490
4490
|
}
|
|
4491
4491
|
return o;
|
|
4492
4492
|
}
|
|
@@ -4498,8 +4498,8 @@ function cr() {
|
|
|
4498
4498
|
// path.resolve([from ...], to)
|
|
4499
4499
|
resolve: function() {
|
|
4500
4500
|
for (var r = "", o = !1, a, l = arguments.length - 1; l >= -1 && !o; l--) {
|
|
4501
|
-
var
|
|
4502
|
-
l >= 0 ?
|
|
4501
|
+
var h;
|
|
4502
|
+
l >= 0 ? h = arguments[l] : (a === void 0 && (a = process.cwd()), h = a), s(h), h.length !== 0 && (r = h + "/" + r, o = h.charCodeAt(0) === 47);
|
|
4503
4503
|
}
|
|
4504
4504
|
return r = t(r, !o), o ? r.length > 0 ? "/" + r : "/" : r.length > 0 ? r : ".";
|
|
4505
4505
|
},
|
|
@@ -4524,19 +4524,19 @@ function cr() {
|
|
|
4524
4524
|
if (s(r), s(o), r === o || (r = i.resolve(r), o = i.resolve(o), r === o)) return "";
|
|
4525
4525
|
for (var a = 1; a < r.length && r.charCodeAt(a) === 47; ++a)
|
|
4526
4526
|
;
|
|
4527
|
-
for (var l = r.length,
|
|
4527
|
+
for (var l = r.length, h = l - a, c = 1; c < o.length && o.charCodeAt(c) === 47; ++c)
|
|
4528
4528
|
;
|
|
4529
|
-
for (var u = o.length, m = u -
|
|
4529
|
+
for (var u = o.length, m = u - c, y = h < m ? h : m, d = -1, p = 0; p <= y; ++p) {
|
|
4530
4530
|
if (p === y) {
|
|
4531
4531
|
if (m > y) {
|
|
4532
|
-
if (o.charCodeAt(
|
|
4533
|
-
return o.slice(
|
|
4532
|
+
if (o.charCodeAt(c + p) === 47)
|
|
4533
|
+
return o.slice(c + p + 1);
|
|
4534
4534
|
if (p === 0)
|
|
4535
|
-
return o.slice(
|
|
4536
|
-
} else
|
|
4535
|
+
return o.slice(c + p);
|
|
4536
|
+
} else h > y && (r.charCodeAt(a + p) === 47 ? d = p : p === 0 && (d = 0));
|
|
4537
4537
|
break;
|
|
4538
4538
|
}
|
|
4539
|
-
var b = r.charCodeAt(a + p), _ = o.charCodeAt(
|
|
4539
|
+
var b = r.charCodeAt(a + p), _ = o.charCodeAt(c + p);
|
|
4540
4540
|
if (b !== _)
|
|
4541
4541
|
break;
|
|
4542
4542
|
b === 47 && (d = p);
|
|
@@ -4544,68 +4544,68 @@ function cr() {
|
|
|
4544
4544
|
var z = "";
|
|
4545
4545
|
for (p = a + d + 1; p <= l; ++p)
|
|
4546
4546
|
(p === l || r.charCodeAt(p) === 47) && (z.length === 0 ? z += ".." : z += "/..");
|
|
4547
|
-
return z.length > 0 ? z + o.slice(
|
|
4547
|
+
return z.length > 0 ? z + o.slice(c + d) : (c += d, o.charCodeAt(c) === 47 && ++c, o.slice(c));
|
|
4548
4548
|
},
|
|
4549
4549
|
_makeLong: function(r) {
|
|
4550
4550
|
return r;
|
|
4551
4551
|
},
|
|
4552
4552
|
dirname: function(r) {
|
|
4553
4553
|
if (s(r), r.length === 0) return ".";
|
|
4554
|
-
for (var o = r.charCodeAt(0), a = o === 47, l = -1,
|
|
4555
|
-
if (o = r.charCodeAt(
|
|
4556
|
-
if (!
|
|
4557
|
-
l =
|
|
4554
|
+
for (var o = r.charCodeAt(0), a = o === 47, l = -1, h = !0, c = r.length - 1; c >= 1; --c)
|
|
4555
|
+
if (o = r.charCodeAt(c), o === 47) {
|
|
4556
|
+
if (!h) {
|
|
4557
|
+
l = c;
|
|
4558
4558
|
break;
|
|
4559
4559
|
}
|
|
4560
4560
|
} else
|
|
4561
|
-
|
|
4561
|
+
h = !1;
|
|
4562
4562
|
return l === -1 ? a ? "/" : "." : a && l === 1 ? "//" : r.slice(0, l);
|
|
4563
4563
|
},
|
|
4564
4564
|
basename: function(r, o) {
|
|
4565
4565
|
if (o !== void 0 && typeof o != "string") throw new TypeError('"ext" argument must be a string');
|
|
4566
4566
|
s(r);
|
|
4567
|
-
var a = 0, l = -1,
|
|
4567
|
+
var a = 0, l = -1, h = !0, c;
|
|
4568
4568
|
if (o !== void 0 && o.length > 0 && o.length <= r.length) {
|
|
4569
4569
|
if (o.length === r.length && o === r) return "";
|
|
4570
4570
|
var u = o.length - 1, m = -1;
|
|
4571
|
-
for (
|
|
4572
|
-
var y = r.charCodeAt(
|
|
4571
|
+
for (c = r.length - 1; c >= 0; --c) {
|
|
4572
|
+
var y = r.charCodeAt(c);
|
|
4573
4573
|
if (y === 47) {
|
|
4574
|
-
if (!
|
|
4575
|
-
a =
|
|
4574
|
+
if (!h) {
|
|
4575
|
+
a = c + 1;
|
|
4576
4576
|
break;
|
|
4577
4577
|
}
|
|
4578
4578
|
} else
|
|
4579
|
-
m === -1 && (
|
|
4579
|
+
m === -1 && (h = !1, m = c + 1), u >= 0 && (y === o.charCodeAt(u) ? --u === -1 && (l = c) : (u = -1, l = m));
|
|
4580
4580
|
}
|
|
4581
4581
|
return a === l ? l = m : l === -1 && (l = r.length), r.slice(a, l);
|
|
4582
4582
|
} else {
|
|
4583
|
-
for (
|
|
4584
|
-
if (r.charCodeAt(
|
|
4585
|
-
if (!
|
|
4586
|
-
a =
|
|
4583
|
+
for (c = r.length - 1; c >= 0; --c)
|
|
4584
|
+
if (r.charCodeAt(c) === 47) {
|
|
4585
|
+
if (!h) {
|
|
4586
|
+
a = c + 1;
|
|
4587
4587
|
break;
|
|
4588
4588
|
}
|
|
4589
|
-
} else l === -1 && (
|
|
4589
|
+
} else l === -1 && (h = !1, l = c + 1);
|
|
4590
4590
|
return l === -1 ? "" : r.slice(a, l);
|
|
4591
4591
|
}
|
|
4592
4592
|
},
|
|
4593
4593
|
extname: function(r) {
|
|
4594
4594
|
s(r);
|
|
4595
|
-
for (var o = -1, a = 0, l = -1,
|
|
4595
|
+
for (var o = -1, a = 0, l = -1, h = !0, c = 0, u = r.length - 1; u >= 0; --u) {
|
|
4596
4596
|
var m = r.charCodeAt(u);
|
|
4597
4597
|
if (m === 47) {
|
|
4598
|
-
if (!
|
|
4598
|
+
if (!h) {
|
|
4599
4599
|
a = u + 1;
|
|
4600
4600
|
break;
|
|
4601
4601
|
}
|
|
4602
4602
|
continue;
|
|
4603
4603
|
}
|
|
4604
|
-
l === -1 && (
|
|
4604
|
+
l === -1 && (h = !1, l = u + 1), m === 46 ? o === -1 ? o = u : c !== 1 && (c = 1) : o !== -1 && (c = -1);
|
|
4605
4605
|
}
|
|
4606
4606
|
return o === -1 || l === -1 || // We saw a non-dot character immediately before the dot
|
|
4607
|
-
|
|
4608
|
-
|
|
4607
|
+
c === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
4608
|
+
c === 1 && o === l - 1 && o === a + 1 ? "" : r.slice(o, l);
|
|
4609
4609
|
},
|
|
4610
4610
|
format: function(r) {
|
|
4611
4611
|
if (r === null || typeof r != "object")
|
|
@@ -4616,9 +4616,9 @@ function cr() {
|
|
|
4616
4616
|
s(r);
|
|
4617
4617
|
var o = { root: "", dir: "", base: "", ext: "", name: "" };
|
|
4618
4618
|
if (r.length === 0) return o;
|
|
4619
|
-
var a = r.charCodeAt(0), l = a === 47,
|
|
4620
|
-
l ? (o.root = "/",
|
|
4621
|
-
for (var
|
|
4619
|
+
var a = r.charCodeAt(0), l = a === 47, h;
|
|
4620
|
+
l ? (o.root = "/", h = 1) : h = 0;
|
|
4621
|
+
for (var c = -1, u = 0, m = -1, y = !0, d = r.length - 1, p = 0; d >= h; --d) {
|
|
4622
4622
|
if (a = r.charCodeAt(d), a === 47) {
|
|
4623
4623
|
if (!y) {
|
|
4624
4624
|
u = d + 1;
|
|
@@ -4626,11 +4626,11 @@ function cr() {
|
|
|
4626
4626
|
}
|
|
4627
4627
|
continue;
|
|
4628
4628
|
}
|
|
4629
|
-
m === -1 && (y = !1, m = d + 1), a === 46 ?
|
|
4629
|
+
m === -1 && (y = !1, m = d + 1), a === 46 ? c === -1 ? c = d : p !== 1 && (p = 1) : c !== -1 && (p = -1);
|
|
4630
4630
|
}
|
|
4631
|
-
return
|
|
4631
|
+
return c === -1 || m === -1 || // We saw a non-dot character immediately before the dot
|
|
4632
4632
|
p === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
4633
|
-
p === 1 &&
|
|
4633
|
+
p === 1 && c === m - 1 && c === u + 1 ? m !== -1 && (u === 0 && l ? o.base = o.name = r.slice(1, m) : o.base = o.name = r.slice(u, m)) : (u === 0 && l ? (o.name = r.slice(1, c), o.base = r.slice(1, m)) : (o.name = r.slice(u, c), o.base = r.slice(u, m)), o.ext = r.slice(c, m)), u > 0 ? o.dir = r.slice(0, u - 1) : l && (o.dir = "/"), o;
|
|
4634
4634
|
},
|
|
4635
4635
|
sep: "/",
|
|
4636
4636
|
delimiter: ":",
|
|
@@ -5261,8 +5261,8 @@ class tn {
|
|
|
5261
5261
|
for (const { element: a, url: l } of i)
|
|
5262
5262
|
try {
|
|
5263
5263
|
a.remove(), await this.releaseBlobUrl(l);
|
|
5264
|
-
} catch (
|
|
5265
|
-
console.error("Error during cleanup:",
|
|
5264
|
+
} catch (h) {
|
|
5265
|
+
console.error("Error during cleanup:", h);
|
|
5266
5266
|
}
|
|
5267
5267
|
throw o;
|
|
5268
5268
|
}
|
|
@@ -6071,13 +6071,13 @@ class Ur extends ji {
|
|
|
6071
6071
|
this._contentProtection,
|
|
6072
6072
|
r.keyboardPeripherals || []
|
|
6073
6073
|
), (this._contentProtection.disableContextMenu || this._contentProtection.checkAutomation || this._contentProtection.checkIFrameEmbedding || this._contentProtection.monitorDevTools || this._contentProtection.protectPrinting?.disable) && (this._navigatorProtector = new rn(this._contentProtection), this._suspiciousActivityListener = (l) => {
|
|
6074
|
-
const
|
|
6075
|
-
this.listeners.contentProtection(
|
|
6074
|
+
const h = l;
|
|
6075
|
+
this.listeners.contentProtection(h.detail.type, h.detail);
|
|
6076
6076
|
}, window.addEventListener(Rt, this._suspiciousActivityListener)), this._keyboardPeripherals.length > 0 && (this._keyboardPeripheralsManager = new sn({
|
|
6077
6077
|
keyboardPeripherals: this._keyboardPeripherals
|
|
6078
6078
|
}), this._keyboardPeripheralListener = (l) => {
|
|
6079
|
-
const
|
|
6080
|
-
this.listeners.peripheral(
|
|
6079
|
+
const h = l.detail;
|
|
6080
|
+
this.listeners.peripheral(h);
|
|
6081
6081
|
}, window.addEventListener(Lt, this._keyboardPeripheralListener)), n && typeof n.copyWithLocations == "function") {
|
|
6082
6082
|
this.currentLocation = n;
|
|
6083
6083
|
const l = this.pub.readingOrder.findIndexWithHref(n.href);
|
|
@@ -6180,12 +6180,12 @@ class Ur extends ji {
|
|
|
6180
6180
|
if (a.startsWith("http://") || a.startsWith("https://"))
|
|
6181
6181
|
l = a;
|
|
6182
6182
|
else if (this.currentLocation.href.startsWith("http://") || this.currentLocation.href.startsWith("https://")) {
|
|
6183
|
-
const
|
|
6184
|
-
l = new URL(a,
|
|
6183
|
+
const c = new URL(this.currentLocation.href);
|
|
6184
|
+
l = new URL(a, c).href;
|
|
6185
6185
|
} else
|
|
6186
6186
|
l = Vt.join(Vt.dirname(this.currentLocation.href), a);
|
|
6187
|
-
const
|
|
6188
|
-
|
|
6187
|
+
const h = this.pub.readingOrder.findWithHref(l);
|
|
6188
|
+
h ? this.goLink(h, !1, () => {
|
|
6189
6189
|
}) : (console.warn(`Internal link not found in readingOrder: ${l}`), this.listeners.handleLocator(new B({
|
|
6190
6190
|
href: a
|
|
6191
6191
|
}).locator));
|
|
@@ -6296,7 +6296,7 @@ class Ur extends ji {
|
|
|
6296
6296
|
}
|
|
6297
6297
|
async loadLocator(t, e) {
|
|
6298
6298
|
let i = !1, n = typeof t.locations.getCssSelector == "function" && t.locations.getCssSelector();
|
|
6299
|
-
if (t.text?.highlight ? i = await new Promise((l,
|
|
6299
|
+
if (t.text?.highlight ? i = await new Promise((l, h) => {
|
|
6300
6300
|
this.framePool.currentFrames[0].msg.send(
|
|
6301
6301
|
"go_text",
|
|
6302
6302
|
n ? [
|
|
@@ -6304,9 +6304,9 @@ class Ur extends ji {
|
|
|
6304
6304
|
n
|
|
6305
6305
|
// Include CSS selector if it exists
|
|
6306
6306
|
] : t.text?.serialize(),
|
|
6307
|
-
(
|
|
6307
|
+
(c) => l(c)
|
|
6308
6308
|
);
|
|
6309
|
-
}) : n && (i = await new Promise((l,
|
|
6309
|
+
}) : n && (i = await new Promise((l, h) => {
|
|
6310
6310
|
this.framePool.currentFrames[0].msg.send(
|
|
6311
6311
|
"go_text",
|
|
6312
6312
|
[
|
|
@@ -6315,22 +6315,22 @@ class Ur extends ji {
|
|
|
6315
6315
|
n
|
|
6316
6316
|
// Just CSS selector
|
|
6317
6317
|
],
|
|
6318
|
-
(
|
|
6318
|
+
(c) => l(c)
|
|
6319
6319
|
);
|
|
6320
6320
|
})), i) {
|
|
6321
6321
|
e(i);
|
|
6322
6322
|
return;
|
|
6323
6323
|
}
|
|
6324
6324
|
const r = typeof t.locations.htmlId == "function" && t.locations.htmlId();
|
|
6325
|
-
if (r && (i = await new Promise((l,
|
|
6326
|
-
this.framePool.currentFrames[0].msg.send("go_id", r, (
|
|
6325
|
+
if (r && (i = await new Promise((l, h) => {
|
|
6326
|
+
this.framePool.currentFrames[0].msg.send("go_id", r, (c) => l(c));
|
|
6327
6327
|
})), i) {
|
|
6328
6328
|
e(i);
|
|
6329
6329
|
return;
|
|
6330
6330
|
}
|
|
6331
6331
|
const o = t?.locations?.progression;
|
|
6332
|
-
o && o > 0 ? i = await new Promise((l,
|
|
6333
|
-
this.framePool.currentFrames[0].msg.send("go_progression", o, (
|
|
6332
|
+
o && o > 0 ? i = await new Promise((l, h) => {
|
|
6333
|
+
this.framePool.currentFrames[0].msg.send("go_progression", o, (c) => l(c));
|
|
6334
6334
|
}) : i = !0, e(i);
|
|
6335
6335
|
}
|
|
6336
6336
|
go(t, e, i) {
|
|
@@ -6457,21 +6457,21 @@ class on {
|
|
|
6457
6457
|
...e ? [e] : [],
|
|
6458
6458
|
...a
|
|
6459
6459
|
])].filter(Boolean);
|
|
6460
|
-
if (o && !r && this.setProperties(o, t), t.body.querySelectorAll("img").forEach((
|
|
6461
|
-
|
|
6460
|
+
if (o && !r && this.setProperties(o, t), t.body.querySelectorAll("img").forEach((c) => {
|
|
6461
|
+
c.setAttribute("fetchpriority", "high"), c.setAttribute("referrerpolicy", "origin");
|
|
6462
6462
|
}), n.isHTML && this.pub.metadata.languages?.[0]) {
|
|
6463
|
-
const
|
|
6463
|
+
const c = this.pub.metadata.languages[0];
|
|
6464
6464
|
if (n === g.XHTML) {
|
|
6465
6465
|
const u = document.documentElement.lang || document.documentElement.getAttribute("xml:lang"), m = document.body.lang || document.body.getAttribute("xml:lang");
|
|
6466
|
-
m && !u ? (document.documentElement.lang = m, document.documentElement.setAttribute("xml:lang", m), document.body.removeAttribute("xml:lang"), document.body.removeAttribute("lang")) : u || (document.documentElement.lang =
|
|
6467
|
-
} else n === g.HTML && !document.documentElement.lang && (document.documentElement.lang =
|
|
6466
|
+
m && !u ? (document.documentElement.lang = m, document.documentElement.setAttribute("xml:lang", m), document.body.removeAttribute("xml:lang"), document.body.removeAttribute("lang")) : u || (document.documentElement.lang = c, document.documentElement.setAttribute("xml:lang", c));
|
|
6467
|
+
} else n === g.HTML && !document.documentElement.lang && (document.documentElement.lang = c);
|
|
6468
6468
|
}
|
|
6469
6469
|
if (i !== void 0) {
|
|
6470
|
-
const
|
|
6471
|
-
|
|
6470
|
+
const c = t.createElement("base");
|
|
6471
|
+
c.href = i, c.dataset.readium = "true", t.head.firstChild.before(c);
|
|
6472
6472
|
}
|
|
6473
|
-
const
|
|
6474
|
-
return
|
|
6473
|
+
const h = t.createElement("meta");
|
|
6474
|
+
return h.httpEquiv = "Content-Security-Policy", h.content = Nr(l), h.dataset.readium = "true", t.head.firstChild.before(h), URL.createObjectURL(
|
|
6475
6475
|
new Blob([new XMLSerializer().serializeToString(t)], {
|
|
6476
6476
|
type: n.isHTML ? n.string : "application/xhtml+xml"
|
|
6477
6477
|
// Fallback to XHTML
|
|
@@ -6596,14 +6596,14 @@ class Dr {
|
|
|
6596
6596
|
}
|
|
6597
6597
|
async update(t, e, i, n = !1) {
|
|
6598
6598
|
let r = this.positions.findIndex((l) => l.locations.position === e.locations.position);
|
|
6599
|
-
if (r < 0) throw Error(`Locator not found in position list: ${e.locations.position} > ${this.positions.reduce((l,
|
|
6599
|
+
if (r < 0) throw Error(`Locator not found in position list: ${e.locations.position} > ${this.positions.reduce((l, h) => h.locations.position || 0 > l ? h.locations.position || 0 : l, 0)}`);
|
|
6600
6600
|
const o = this.positions[r].href;
|
|
6601
6601
|
this.inprogress.has(o) && await this.inprogress.get(o);
|
|
6602
|
-
const a = new Promise(async (l,
|
|
6603
|
-
const
|
|
6602
|
+
const a = new Promise(async (l, h) => {
|
|
6603
|
+
const c = [], u = [];
|
|
6604
6604
|
this.positions.forEach((d, p) => {
|
|
6605
|
-
(p > r + wi || p < r - wi) && (
|
|
6606
|
-
}),
|
|
6605
|
+
(p > r + wi || p < r - wi) && (c.includes(d.href) || c.push(d.href)), p < r + vi && p > r - vi && (u.includes(d.href) || u.push(d.href));
|
|
6606
|
+
}), c.forEach(async (d) => {
|
|
6607
6607
|
u.includes(d) || this.pool.has(d) && (await this.pool.get(d)?.destroy(), this.pool.delete(d), this.pendingUpdates.has(d) && this.pendingUpdates.set(d, { inPool: !1 }));
|
|
6608
6608
|
}), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((d) => d.reset()), this.blobs.clear()), this.currentBaseURL = t.baseURL;
|
|
6609
6609
|
const m = async (d) => {
|
|
@@ -6637,7 +6637,7 @@ class Dr {
|
|
|
6637
6637
|
try {
|
|
6638
6638
|
await Promise.all(u.map((d) => m(d)));
|
|
6639
6639
|
} catch (d) {
|
|
6640
|
-
|
|
6640
|
+
h(d);
|
|
6641
6641
|
}
|
|
6642
6642
|
const y = this.pool.get(o);
|
|
6643
6643
|
(y?.source !== this._currentFrame?.source || n) && (await this._currentFrame?.hide(), y && await y.load(i), y && await y.show(e.locations.progression), this._currentFrame = y), l();
|
|
@@ -6888,15 +6888,15 @@ class Br {
|
|
|
6888
6888
|
};
|
|
6889
6889
|
let r, o, a, l;
|
|
6890
6890
|
a = r = i, l = o = 1 - i;
|
|
6891
|
-
const
|
|
6891
|
+
const h = {
|
|
6892
6892
|
X: null,
|
|
6893
6893
|
Y: null
|
|
6894
6894
|
};
|
|
6895
|
-
return n.X < a ?
|
|
6895
|
+
return n.X < a ? h.X = 0 : l < n.X ? h.X = 2 : h.X = 1, n.Y < r ? h.Y = 0 : o < n.Y ? h.Y = 2 : h.Y = 1, {
|
|
6896
6896
|
Target: t.target,
|
|
6897
6897
|
Coord: e,
|
|
6898
6898
|
Ratio: n,
|
|
6899
|
-
Division:
|
|
6899
|
+
Division: h
|
|
6900
6900
|
};
|
|
6901
6901
|
}
|
|
6902
6902
|
}
|
|
@@ -7074,10 +7074,10 @@ class Gr {
|
|
|
7074
7074
|
this.debugger.DOM.touch2.style.top = `${y.Y - 10}px`, this.debugger.DOM.touch2.style.left = `${y.X - 10}px`, this.debugger.DOM.touch2.innerText = `${y.X.toFixed(2)},${y.Y.toFixed(2)}`;
|
|
7075
7075
|
}
|
|
7076
7076
|
l.X -= this.manager.width / 2, l.Y -= this.manager.height / 2;
|
|
7077
|
-
let
|
|
7078
|
-
|
|
7079
|
-
let
|
|
7080
|
-
|
|
7077
|
+
let h = -l.X / r;
|
|
7078
|
+
h += l.X / this.scale, this.pinch.target.X += h, l.X += this.pinch.target.X * this.scale / this.pinch.startScale;
|
|
7079
|
+
let c = -l.Y / r;
|
|
7080
|
+
c += l.Y / this.scale, this.pinch.target.Y += c, l.Y += this.pinch.target.Y * this.scale / this.pinch.startScale;
|
|
7081
7081
|
let u = (l.X - (this.pan.startX - this.manager.width / 2)) * 1 / this.scale, m = (l.Y - (this.pan.startY - this.manager.height / 2)) * 1 / this.scale;
|
|
7082
7082
|
this.pan.translateX = u, this.pan.translateY = m, this.debugger?.show && (this.debugger.DOM.pinchTarget.style.left = `${this.pinch.target.X * this.scale / this.pinch.startScale - 5 + this.manager.width / 2}px`, this.debugger.DOM.pinchTarget.style.top = `${this.pinch.target.Y * this.scale / this.pinch.startScale - 5 + this.manager.height / 2}px`, this.debugger.DOM.pinchTarget.innerText = `${(this.pinch.target.X * this.scale / this.pinch.startScale).toFixed(2)},${(this.pinch.target.Y * this.scale / this.pinch.startScale).toFixed(2)}`);
|
|
7083
7083
|
}
|
|
@@ -7093,10 +7093,10 @@ Overscroll: ${this.pan.overscrollX.toFixed(2)},${this.pan.overscrollY.toFixed(2)
|
|
|
7093
7093
|
}
|
|
7094
7094
|
if (this.dragState > 0 && this.pan.letItGo) {
|
|
7095
7095
|
this.pan.endX = e.X;
|
|
7096
|
-
const a = this.manager.currentSlide * (this.manager.width / this.manager.perPage), l = this.pan.endX - this.pan.startX,
|
|
7096
|
+
const a = this.manager.currentSlide * (this.manager.width / this.manager.perPage), l = this.pan.endX - this.pan.startX, h = this.manager.rtl ? a + l : a - l;
|
|
7097
7097
|
cancelAnimationFrame(this.moveFrame), this.moveFrame = requestAnimationFrame(() => {
|
|
7098
7098
|
requestAnimationFrame(() => {
|
|
7099
|
-
this.manager.spineElement.style.transform = `translate3d(${(this.manager.rtl ? 1 : -1) *
|
|
7099
|
+
this.manager.spineElement.style.transform = `translate3d(${(this.manager.rtl ? 1 : -1) * h}px, 0, 0)`;
|
|
7100
7100
|
});
|
|
7101
7101
|
});
|
|
7102
7102
|
}
|
|
@@ -7190,10 +7190,12 @@ class Zr {
|
|
|
7190
7190
|
constructor(t, e, i, n, r, o) {
|
|
7191
7191
|
if (this.pool = /* @__PURE__ */ new Map(), this.blobs = /* @__PURE__ */ new Map(), this.inprogress = /* @__PURE__ */ new Map(), this.delayedShow = /* @__PURE__ */ new Map(), this.delayedTimeout = /* @__PURE__ */ new Map(), this.previousFrames = [], this.injector = null, this.width = 0, this.height = 0, this.transform = "", this.currentSlide = 0, this.spread = !0, this.orientationInternal = -1, this.container = t, this.positions = e, this.pub = i, this.injector = n ?? null, this.contentProtectionConfig = r || {}, this.keyboardPeripheralsConfig = o || [], this.spreadPresentation = i.metadata.otherMetadata?.spread || Ee.auto, this.pub.metadata.effectiveReadingProgression !== F.rtl && this.pub.metadata.effectiveReadingProgression !== F.ltr)
|
|
7192
7192
|
throw Error("Unsupported reading progression for EPUB");
|
|
7193
|
-
this.spreader = new jr(this.pub), this.containerHeightCached = t.clientHeight, this.bookElement = document.createElement("div"), this.bookElement.ariaLabel = "Book", this.bookElement.tabIndex = -1, this.updateBookStyle(!0), this.spineElement = document.createElement("div"), this.spineElement.ariaLabel = "Spine", this.bookElement.appendChild(this.spineElement), this.container.appendChild(this.bookElement), this.updateSpineStyle(!0), this.peripherals = new Gr(this)
|
|
7194
|
-
|
|
7195
|
-
|
|
7196
|
-
|
|
7193
|
+
this.spreader = new jr(this.pub), this.containerHeightCached = t.clientHeight, this.bookElement = document.createElement("div"), this.bookElement.ariaLabel = "Book", this.bookElement.tabIndex = -1, this.updateBookStyle(!0), this.spineElement = document.createElement("div"), this.spineElement.ariaLabel = "Spine", this.bookElement.appendChild(this.spineElement), this.container.appendChild(this.bookElement), this.updateSpineStyle(!0), this.peripherals = new Gr(this);
|
|
7194
|
+
const a = document.createDocumentFragment();
|
|
7195
|
+
this.pub.readingOrder.items.forEach((l) => {
|
|
7196
|
+
const h = new Ir(this.peripherals, this.pub.metadata.effectiveReadingProgression, l.href, this.contentProtectionConfig, this.keyboardPeripheralsConfig);
|
|
7197
|
+
this.pool.set(l.href, h), h.width = 100 / this.length * (l.properties?.otherProperties.orientation === Pe.landscape || l.properties?.otherProperties.addBlank ? this.perPage : 1), h.height = this.height, a.appendChild(h.wrapper);
|
|
7198
|
+
}), this.spineElement.appendChild(a);
|
|
7197
7199
|
}
|
|
7198
7200
|
set listener(t) {
|
|
7199
7201
|
this._listener = t;
|
|
@@ -7400,11 +7402,11 @@ class Zr {
|
|
|
7400
7402
|
this.perPage > 1 && r++;
|
|
7401
7403
|
for (const l of o)
|
|
7402
7404
|
await this.waitForItem(l.href);
|
|
7403
|
-
const a = new Promise(async (l,
|
|
7404
|
-
const
|
|
7405
|
+
const a = new Promise(async (l, h) => {
|
|
7406
|
+
const c = [], u = [];
|
|
7405
7407
|
this.positions.forEach((d, p) => {
|
|
7406
|
-
(p > r + Ei || p < r - Ei) && (
|
|
7407
|
-
}),
|
|
7408
|
+
(p > r + Ei || p < r - Ei) && (c.includes(d.href) || c.push(d.href)), p < r + Ci && p > r - Ci && (u.includes(d.href) || u.push(d.href));
|
|
7409
|
+
}), c.forEach(async (d) => {
|
|
7408
7410
|
u.includes(d) || this.pool.has(d) && (this.cancelShowing(d), await this.pool.get(d)?.unload(), this.blobs.get(d)?.reset());
|
|
7409
7411
|
}), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((d) => d.reset()), this.blobs.clear()), this.currentBaseURL = t.baseURL;
|
|
7410
7412
|
const m = async (d) => {
|
|
@@ -7431,7 +7433,7 @@ class Zr {
|
|
|
7431
7433
|
try {
|
|
7432
7434
|
await Promise.all(u.map((d) => m(d)));
|
|
7433
7435
|
} catch (d) {
|
|
7434
|
-
|
|
7436
|
+
h(d);
|
|
7435
7437
|
}
|
|
7436
7438
|
const y = [];
|
|
7437
7439
|
for (const d of o) {
|
|
@@ -8079,7 +8081,7 @@ class os {
|
|
|
8079
8081
|
// TODO: As scroll shows, the effective line-length
|
|
8080
8082
|
// should be the same as uncompensated when scale >= 1
|
|
8081
8083
|
paginate(t, e, i) {
|
|
8082
|
-
const n = Math.round(Ut(this.containerParent) - this.constraint), r = this.getCompensatedMetrics(t, e), { zoomCompensation: o, optimal: a, minimal: l, maximal:
|
|
8084
|
+
const n = Math.round(Ut(this.containerParent) - this.constraint), r = this.getCompensatedMetrics(t, e), { zoomCompensation: o, optimal: a, minimal: l, maximal: h } = r, c = () => n >= a && h !== null ? Math.min(Math.round(h * o), n) : n;
|
|
8083
8085
|
let u = 1, m = n;
|
|
8084
8086
|
if (i === void 0)
|
|
8085
8087
|
return {
|
|
@@ -8088,24 +8090,24 @@ class os {
|
|
|
8088
8090
|
effectiveLineLength: Math.round(m / u * o)
|
|
8089
8091
|
};
|
|
8090
8092
|
if (i === null)
|
|
8091
|
-
if (n >= a &&
|
|
8093
|
+
if (n >= a && h !== null) {
|
|
8092
8094
|
u = Math.floor(n / a);
|
|
8093
|
-
const y = Math.round(u * (
|
|
8095
|
+
const y = Math.round(u * (h * o));
|
|
8094
8096
|
m = Math.min(y, n);
|
|
8095
8097
|
} else
|
|
8096
|
-
m =
|
|
8098
|
+
m = c();
|
|
8097
8099
|
else if (i > 1) {
|
|
8098
8100
|
const y = Math.round(i * (l !== null ? l : a));
|
|
8099
8101
|
if (n >= y)
|
|
8100
|
-
if (u = i,
|
|
8102
|
+
if (u = i, h === null)
|
|
8101
8103
|
m = n;
|
|
8102
8104
|
else {
|
|
8103
|
-
const d = Math.round(u * (
|
|
8105
|
+
const d = Math.round(u * (h * o));
|
|
8104
8106
|
m = Math.min(d, n);
|
|
8105
8107
|
}
|
|
8106
8108
|
else if (l !== null && n < Math.round(i * l))
|
|
8107
8109
|
if (u = Math.floor(n / l), u <= 1)
|
|
8108
|
-
u = 1, m =
|
|
8110
|
+
u = 1, m = c();
|
|
8109
8111
|
else {
|
|
8110
8112
|
const d = Math.round(u * (a * o));
|
|
8111
8113
|
m = Math.min(d, n);
|
|
@@ -8116,7 +8118,7 @@ class os {
|
|
|
8116
8118
|
m = Math.min(d, n);
|
|
8117
8119
|
}
|
|
8118
8120
|
} else
|
|
8119
|
-
u = 1, m =
|
|
8121
|
+
u = 1, m = c();
|
|
8120
8122
|
return {
|
|
8121
8123
|
colCount: u,
|
|
8122
8124
|
effectiveContainerWidth: m,
|
|
@@ -8126,17 +8128,17 @@ class os {
|
|
|
8126
8128
|
// This behaves as paginate where colCount = 1
|
|
8127
8129
|
computeScrollLength(t, e) {
|
|
8128
8130
|
const i = Math.round(Ut(this.containerParent) - this.constraint), n = this.getCompensatedMetrics(t && (t < 1 || e) ? t : 1, e), r = n.zoomCompensation, o = n.optimal, a = n.maximal;
|
|
8129
|
-
let l,
|
|
8131
|
+
let l, h = i, c = Math.round(o * r);
|
|
8130
8132
|
if (a === null)
|
|
8131
|
-
|
|
8133
|
+
c = i;
|
|
8132
8134
|
else {
|
|
8133
8135
|
const u = Math.min(Math.round(a * r), i);
|
|
8134
|
-
|
|
8136
|
+
c = e ? u : Math.round(u * r);
|
|
8135
8137
|
}
|
|
8136
8138
|
return {
|
|
8137
8139
|
colCount: l,
|
|
8138
|
-
effectiveContainerWidth:
|
|
8139
|
-
effectiveLineLength:
|
|
8140
|
+
effectiveContainerWidth: h,
|
|
8141
|
+
effectiveLineLength: c
|
|
8140
8142
|
};
|
|
8141
8143
|
}
|
|
8142
8144
|
setContainerWidth() {
|
|
@@ -9494,14 +9496,14 @@ class ln extends ji {
|
|
|
9494
9496
|
}), this._contentProtection = o.contentProtection || {}, this._keyboardPeripherals = this.mergeKeyboardPeripherals(
|
|
9495
9497
|
this._contentProtection,
|
|
9496
9498
|
o.keyboardPeripherals || []
|
|
9497
|
-
), (this._contentProtection.disableContextMenu || this._contentProtection.checkAutomation || this._contentProtection.checkIFrameEmbedding || this._contentProtection.monitorDevTools || this._contentProtection.protectPrinting?.disable) && (this._navigatorProtector = new rn(this._contentProtection), this._suspiciousActivityListener = (
|
|
9498
|
-
const { type:
|
|
9499
|
-
|
|
9499
|
+
), (this._contentProtection.disableContextMenu || this._contentProtection.checkAutomation || this._contentProtection.checkIFrameEmbedding || this._contentProtection.monitorDevTools || this._contentProtection.protectPrinting?.disable) && (this._navigatorProtector = new rn(this._contentProtection), this._suspiciousActivityListener = (h) => {
|
|
9500
|
+
const { type: c, ...u } = h.detail;
|
|
9501
|
+
c === "context_menu" ? this.listeners.contextMenu(u) : this.listeners.contentProtection(c, u);
|
|
9500
9502
|
}, window.addEventListener(Rt, this._suspiciousActivityListener)), this._keyboardPeripherals.length > 0 && (this._keyboardPeripheralsManager = new sn({
|
|
9501
9503
|
keyboardPeripherals: this._keyboardPeripherals
|
|
9502
|
-
}), this._keyboardPeripheralListener = (
|
|
9503
|
-
const
|
|
9504
|
-
this.listeners.peripheral(
|
|
9504
|
+
}), this._keyboardPeripheralListener = (h) => {
|
|
9505
|
+
const c = h.detail;
|
|
9506
|
+
this.listeners.peripheral(c);
|
|
9505
9507
|
}, window.addEventListener(Lt, this._keyboardPeripheralListener)), this.resizeObserver = new ResizeObserver(() => this.ownerWindow.requestAnimationFrame(async () => await this.resizeHandler())), this.resizeObserver.observe(this.container.parentElement || document.documentElement);
|
|
9506
9508
|
}
|
|
9507
9509
|
static determineLayout(t, e) {
|
|
@@ -9851,7 +9853,7 @@ class ln extends ji {
|
|
|
9851
9853
|
}
|
|
9852
9854
|
async loadLocator(t, e) {
|
|
9853
9855
|
let i = !1, n = typeof t.locations.getCssSelector == "function" && t.locations.getCssSelector();
|
|
9854
|
-
if (t.text?.highlight ? i = await new Promise((l,
|
|
9856
|
+
if (t.text?.highlight ? i = await new Promise((l, h) => {
|
|
9855
9857
|
this._cframes[0].msg.send(
|
|
9856
9858
|
"go_text",
|
|
9857
9859
|
n ? [
|
|
@@ -9859,9 +9861,9 @@ class ln extends ji {
|
|
|
9859
9861
|
n
|
|
9860
9862
|
// Include CSS selector if it exists
|
|
9861
9863
|
] : t.text?.serialize(),
|
|
9862
|
-
(
|
|
9864
|
+
(c) => l(c)
|
|
9863
9865
|
);
|
|
9864
|
-
}) : n && (i = await new Promise((l,
|
|
9866
|
+
}) : n && (i = await new Promise((l, h) => {
|
|
9865
9867
|
this._cframes[0].msg.send(
|
|
9866
9868
|
"go_text",
|
|
9867
9869
|
[
|
|
@@ -9870,22 +9872,22 @@ class ln extends ji {
|
|
|
9870
9872
|
n
|
|
9871
9873
|
// Just CSS selector
|
|
9872
9874
|
],
|
|
9873
|
-
(
|
|
9875
|
+
(c) => l(c)
|
|
9874
9876
|
);
|
|
9875
9877
|
})), i) {
|
|
9876
9878
|
e(i);
|
|
9877
9879
|
return;
|
|
9878
9880
|
}
|
|
9879
9881
|
const r = typeof t.locations.htmlId == "function" && t.locations.htmlId();
|
|
9880
|
-
if (r && (i = await new Promise((l,
|
|
9881
|
-
this._cframes[0].msg.send("go_id", r, (
|
|
9882
|
+
if (r && (i = await new Promise((l, h) => {
|
|
9883
|
+
this._cframes[0].msg.send("go_id", r, (c) => l(c));
|
|
9882
9884
|
})), i) {
|
|
9883
9885
|
e(i);
|
|
9884
9886
|
return;
|
|
9885
9887
|
}
|
|
9886
9888
|
const o = t?.locations?.progression;
|
|
9887
|
-
o && o > 0 ? i = await new Promise((l,
|
|
9888
|
-
this._cframes[0].msg.send("go_progression", o, (
|
|
9889
|
+
o && o > 0 ? i = await new Promise((l, h) => {
|
|
9890
|
+
this._cframes[0].msg.send("go_progression", o, (c) => l(c));
|
|
9889
9891
|
}) : i = !0, e(i);
|
|
9890
9892
|
}
|
|
9891
9893
|
go(t, e, i) {
|