@readium/navigator 2.0.0-beta.1 → 2.0.0-beta.3
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 +819 -844
- package/dist/index.umd.cjs +13 -13
- package/package.json +1 -1
- package/src/epub/css/ReadiumCSS.ts +3 -19
- package/src/epub/preferences/EpubDefaults.ts +2 -5
- package/src/epub/preferences/EpubPreferences.ts +2 -5
- package/src/epub/preferences/EpubPreferencesEditor.ts +1 -14
- package/src/epub/preferences/EpubSettings.ts +0 -7
- package/src/helpers/lineLength.ts +22 -74
- package/types/src/epub/css/ReadiumCSS.d.ts +0 -1
- package/types/src/epub/preferences/EpubDefaults.d.ts +2 -2
- package/types/src/epub/preferences/EpubPreferences.d.ts +2 -2
- package/types/src/epub/preferences/EpubPreferencesEditor.d.ts +1 -1
- package/types/src/epub/preferences/EpubSettings.d.ts +2 -2
- package/types/src/helpers/lineLength.d.ts +2 -16
package/dist/index.js
CHANGED
|
@@ -58,7 +58,7 @@ Object.defineProperty(R.prototype, "encryption", {
|
|
|
58
58
|
return xA.deserialize(this.otherProperties.encrypted);
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
var p = /* @__PURE__ */ ((
|
|
61
|
+
var p = /* @__PURE__ */ ((i) => (i.fixed = "fixed", i.reflowable = "reflowable", i))(p || {}), it = /* @__PURE__ */ ((i) => (i.auto = "auto", i.landscape = "landscape", i.portrait = "portrait", i))(it || {}), W = /* @__PURE__ */ ((i) => (i.left = "left", i.right = "right", i.center = "center", i))(W || {}), Ct = /* @__PURE__ */ ((i) => (i.auto = "auto", i.both = "both", i.none = "none", i.landscape = "landscape", i))(Ct || {});
|
|
62
62
|
R.prototype.getContains = function() {
|
|
63
63
|
return new Set(this.otherProperties.contains || []);
|
|
64
64
|
};
|
|
@@ -68,16 +68,16 @@ R.prototype.getLayout = function() {
|
|
|
68
68
|
class d {
|
|
69
69
|
/** Creates a MediaType object. */
|
|
70
70
|
constructor(t) {
|
|
71
|
-
let e, A,
|
|
72
|
-
const r =
|
|
71
|
+
let e, A, n = t.mediaType.replace(/\s/g, "").split(";");
|
|
72
|
+
const r = n[0].split("/");
|
|
73
73
|
if (r.length === 2) {
|
|
74
74
|
if (e = r[0].toLowerCase().trim(), A = r[1].toLowerCase().trim(), e.length === 0 || A.length === 0)
|
|
75
75
|
throw new Error("Invalid media type");
|
|
76
76
|
} else
|
|
77
77
|
throw new Error("Invalid media type");
|
|
78
78
|
const s = {};
|
|
79
|
-
for (let g = 1; g <
|
|
80
|
-
const m =
|
|
79
|
+
for (let g = 1; g < n.length; g++) {
|
|
80
|
+
const m = n[g].split("=");
|
|
81
81
|
if (m.length === 2) {
|
|
82
82
|
const M = m[0].toLocaleLowerCase(), B = M === "charset" ? m[1].toUpperCase() : m[1];
|
|
83
83
|
s[M] = B;
|
|
@@ -129,11 +129,11 @@ class d {
|
|
|
129
129
|
return !1;
|
|
130
130
|
const A = new Set(
|
|
131
131
|
Object.entries(this.parameters).map(([r, s]) => `${r}=${s}`)
|
|
132
|
-
),
|
|
132
|
+
), n = new Set(
|
|
133
133
|
Object.entries(e.parameters).map(([r, s]) => `${r}=${s}`)
|
|
134
134
|
);
|
|
135
135
|
for (const r of Array.from(A.values()))
|
|
136
|
-
if (!
|
|
136
|
+
if (!n.has(r))
|
|
137
137
|
return !1;
|
|
138
138
|
return !0;
|
|
139
139
|
}
|
|
@@ -530,7 +530,7 @@ let me = class {
|
|
|
530
530
|
getParameters(t) {
|
|
531
531
|
const e = /\{\??([^}]+)\}/g, A = t.match(e);
|
|
532
532
|
return A ? new Set(
|
|
533
|
-
A.join(",").replace(e, "$1").split(",").map((
|
|
533
|
+
A.join(",").replace(e, "$1").split(",").map((n) => n.trim())
|
|
534
534
|
) : /* @__PURE__ */ new Set();
|
|
535
535
|
}
|
|
536
536
|
/** Expands the URI by replacing the template variables by the given parameters.
|
|
@@ -538,34 +538,34 @@ let me = class {
|
|
|
538
538
|
* See RFC 6570 on URI template: https://tools.ietf.org/html/rfc6570
|
|
539
539
|
*/
|
|
540
540
|
expand(t) {
|
|
541
|
-
const e = (
|
|
541
|
+
const e = (n) => n.split(",").map((r) => {
|
|
542
542
|
const s = t[r];
|
|
543
543
|
return s ? encodeURIComponent(s) : "";
|
|
544
|
-
}).join(","), A = (
|
|
544
|
+
}).join(","), A = (n) => "?" + n.split(",").map((r) => {
|
|
545
545
|
const s = r.split("=")[0], o = t[s];
|
|
546
546
|
return o ? `${s}=${encodeURIComponent(o)}` : "";
|
|
547
547
|
}).join("&");
|
|
548
|
-
return this.uri.replace(/\{(\??)([^}]+)\}/g, (...
|
|
548
|
+
return this.uri.replace(/\{(\??)([^}]+)\}/g, (...n) => n[1] ? A(n[2]) : e(n[2]));
|
|
549
549
|
}
|
|
550
550
|
};
|
|
551
|
-
function TA(
|
|
552
|
-
return
|
|
551
|
+
function TA(i) {
|
|
552
|
+
return i && i instanceof Array ? i : void 0;
|
|
553
553
|
}
|
|
554
|
-
function Ke(
|
|
555
|
-
return
|
|
554
|
+
function Ke(i) {
|
|
555
|
+
return i && typeof i == "string" ? [i] : TA(i);
|
|
556
556
|
}
|
|
557
|
-
function Me(
|
|
558
|
-
return typeof
|
|
557
|
+
function Me(i) {
|
|
558
|
+
return typeof i == "string" ? new Date(i) : void 0;
|
|
559
559
|
}
|
|
560
|
-
function It(
|
|
561
|
-
return isNaN(
|
|
560
|
+
function It(i) {
|
|
561
|
+
return isNaN(i) ? void 0 : i;
|
|
562
562
|
}
|
|
563
|
-
function D(
|
|
564
|
-
return It(
|
|
563
|
+
function D(i) {
|
|
564
|
+
return It(i) !== void 0 && Math.sign(i) >= 0 ? i : void 0;
|
|
565
565
|
}
|
|
566
|
-
function jA(
|
|
566
|
+
function jA(i) {
|
|
567
567
|
const t = new Array();
|
|
568
|
-
return
|
|
568
|
+
return i.forEach((e) => t.push(e)), t;
|
|
569
569
|
}
|
|
570
570
|
let H = class qe {
|
|
571
571
|
/**
|
|
@@ -580,7 +580,7 @@ let H = class qe {
|
|
|
580
580
|
static deserialize(t) {
|
|
581
581
|
if (!t)
|
|
582
582
|
return;
|
|
583
|
-
const e = It(t.progression), A = It(t.totalProgression),
|
|
583
|
+
const e = It(t.progression), A = It(t.totalProgression), n = It(t.position), r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set([
|
|
584
584
|
"fragment",
|
|
585
585
|
"fragments",
|
|
586
586
|
"progression",
|
|
@@ -593,7 +593,7 @@ let H = class qe {
|
|
|
593
593
|
fragments: Ke(t.fragments || t.fragment),
|
|
594
594
|
progression: e !== void 0 && e >= 0 && e <= 1 ? e : void 0,
|
|
595
595
|
totalProgression: A !== void 0 && A >= 0 && A <= 1 ? A : void 0,
|
|
596
|
-
position:
|
|
596
|
+
position: n !== void 0 && n > 0 ? n : void 0,
|
|
597
597
|
otherLocations: r.size === 0 ? void 0 : r
|
|
598
598
|
});
|
|
599
599
|
}
|
|
@@ -810,8 +810,8 @@ let fe = class $e {
|
|
|
810
810
|
/** Finds all the links matching any of the given media types. */
|
|
811
811
|
filterByMediaTypes(t) {
|
|
812
812
|
const e = (A) => {
|
|
813
|
-
for (const
|
|
814
|
-
if (A.mediaType.matches(
|
|
813
|
+
for (const n of t)
|
|
814
|
+
if (A.mediaType.matches(n))
|
|
815
815
|
return !0;
|
|
816
816
|
return !1;
|
|
817
817
|
};
|
|
@@ -881,8 +881,7 @@ let fe = class $e {
|
|
|
881
881
|
};
|
|
882
882
|
return this.charOffset !== void 0 && (t.charOffset = this.charOffset), t;
|
|
883
883
|
}
|
|
884
|
-
}
|
|
885
|
-
class te {
|
|
884
|
+
}, DA = class eA {
|
|
886
885
|
/**
|
|
887
886
|
* Creates a [DomRange].
|
|
888
887
|
*/
|
|
@@ -897,7 +896,7 @@ class te {
|
|
|
897
896
|
return;
|
|
898
897
|
let e = pe.deserialize(t.start);
|
|
899
898
|
if (e)
|
|
900
|
-
return new
|
|
899
|
+
return new eA({
|
|
901
900
|
start: e,
|
|
902
901
|
end: pe.deserialize(t.end)
|
|
903
902
|
});
|
|
@@ -909,56 +908,56 @@ class te {
|
|
|
909
908
|
const t = { start: this.start.serialize() };
|
|
910
909
|
return this.end && (t.end = this.end.serialize()), t;
|
|
911
910
|
}
|
|
912
|
-
}
|
|
911
|
+
};
|
|
913
912
|
H.prototype.getCssSelector = function() {
|
|
914
|
-
var
|
|
915
|
-
return (
|
|
913
|
+
var i;
|
|
914
|
+
return (i = this.otherLocations) == null ? void 0 : i.get("cssSelector");
|
|
916
915
|
};
|
|
917
916
|
H.prototype.getPartialCfi = function() {
|
|
918
|
-
var
|
|
919
|
-
return (
|
|
917
|
+
var i;
|
|
918
|
+
return (i = this.otherLocations) == null ? void 0 : i.get("partialCfi");
|
|
920
919
|
};
|
|
921
920
|
H.prototype.getDomRange = function() {
|
|
922
|
-
var
|
|
923
|
-
return
|
|
921
|
+
var i;
|
|
922
|
+
return DA.deserialize((i = this.otherLocations) == null ? void 0 : i.get("domRange"));
|
|
924
923
|
};
|
|
925
924
|
H.prototype.fragmentParameters = function() {
|
|
926
925
|
return new Map(
|
|
927
|
-
this.fragments.map((
|
|
928
|
-
|
|
929
|
-
|
|
926
|
+
this.fragments.map((i) => i.startsWith("#") ? i.slice(1) : i).join("&").split("&").filter((i) => !i.startsWith("#")).map((i) => i.split("=")).filter((i) => i.length === 2).map((i) => [
|
|
927
|
+
i[0].trim().toLowerCase(),
|
|
928
|
+
i[1].trim()
|
|
930
929
|
])
|
|
931
930
|
);
|
|
932
931
|
};
|
|
933
932
|
H.prototype.htmlId = function() {
|
|
934
933
|
if (!this.fragments.length)
|
|
935
934
|
return;
|
|
936
|
-
let
|
|
937
|
-
if (!
|
|
935
|
+
let i = this.fragments.find((t) => t.length && !t.includes("="));
|
|
936
|
+
if (!i) {
|
|
938
937
|
const t = this.fragmentParameters();
|
|
939
|
-
t.has("id") ?
|
|
938
|
+
t.has("id") ? i = t.get("id") : t.has("name") && (i = t.get("name"));
|
|
940
939
|
}
|
|
941
|
-
return
|
|
940
|
+
return i != null && i.startsWith("#") ? i.slice(1) : i;
|
|
942
941
|
};
|
|
943
942
|
H.prototype.page = function() {
|
|
944
|
-
const
|
|
945
|
-
if (!isNaN(
|
|
946
|
-
return
|
|
943
|
+
const i = parseInt(this.fragmentParameters().get("page"));
|
|
944
|
+
if (!isNaN(i) && i >= 0)
|
|
945
|
+
return i;
|
|
947
946
|
};
|
|
948
947
|
H.prototype.time = function() {
|
|
949
|
-
const
|
|
950
|
-
if (!isNaN(
|
|
951
|
-
return
|
|
948
|
+
const i = parseInt(this.fragmentParameters().get("t"));
|
|
949
|
+
if (!isNaN(i))
|
|
950
|
+
return i;
|
|
952
951
|
};
|
|
953
952
|
H.prototype.space = function() {
|
|
954
|
-
const
|
|
955
|
-
if (!
|
|
953
|
+
const i = this.fragmentParameters();
|
|
954
|
+
if (!i.has("xywh"))
|
|
956
955
|
return;
|
|
957
|
-
const t =
|
|
956
|
+
const t = i.get("xywh").split(",").map((e) => parseInt(e));
|
|
958
957
|
if (t.length === 4 && !t.some(isNaN))
|
|
959
958
|
return t;
|
|
960
959
|
};
|
|
961
|
-
let
|
|
960
|
+
let bA = class AA {
|
|
962
961
|
/** Creates a [Price]. */
|
|
963
962
|
constructor(t) {
|
|
964
963
|
this.currency = t.currency, this.value = t.value;
|
|
@@ -974,7 +973,7 @@ let DA = class eA {
|
|
|
974
973
|
return;
|
|
975
974
|
let A = D(t.value);
|
|
976
975
|
if (A !== void 0)
|
|
977
|
-
return new
|
|
976
|
+
return new AA({ currency: e, value: A });
|
|
978
977
|
}
|
|
979
978
|
/**
|
|
980
979
|
* Serializes a [Price] to its RWPM JSON representation.
|
|
@@ -982,7 +981,7 @@ let DA = class eA {
|
|
|
982
981
|
serialize() {
|
|
983
982
|
return { currency: this.currency, value: this.value };
|
|
984
983
|
}
|
|
985
|
-
},
|
|
984
|
+
}, vA = class Ft {
|
|
986
985
|
/** Creates a [Acquisition]. */
|
|
987
986
|
constructor(t) {
|
|
988
987
|
this.type = t.type, this.children = t.children;
|
|
@@ -1008,7 +1007,8 @@ let DA = class eA {
|
|
|
1008
1007
|
const t = { type: this.type };
|
|
1009
1008
|
return this.children && (t.children = this.children.map((e) => e.serialize())), t;
|
|
1010
1009
|
}
|
|
1011
|
-
}
|
|
1010
|
+
};
|
|
1011
|
+
class te {
|
|
1012
1012
|
/** Creates a [Price]. */
|
|
1013
1013
|
constructor(t) {
|
|
1014
1014
|
this.total = t.total, this.position = t.position;
|
|
@@ -1018,7 +1018,7 @@ let DA = class eA {
|
|
|
1018
1018
|
*/
|
|
1019
1019
|
static deserialize(t) {
|
|
1020
1020
|
if (t)
|
|
1021
|
-
return new
|
|
1021
|
+
return new te({
|
|
1022
1022
|
total: D(t.total),
|
|
1023
1023
|
position: D(t.position)
|
|
1024
1024
|
});
|
|
@@ -1030,7 +1030,7 @@ let DA = class eA {
|
|
|
1030
1030
|
const t = {};
|
|
1031
1031
|
return this.total !== void 0 && (t.total = this.total), this.position !== void 0 && (t.position = this.position), t;
|
|
1032
1032
|
}
|
|
1033
|
-
}
|
|
1033
|
+
}
|
|
1034
1034
|
class ee {
|
|
1035
1035
|
/** Creates a [Copies]. */
|
|
1036
1036
|
constructor(t) {
|
|
@@ -1054,7 +1054,7 @@ class ee {
|
|
|
1054
1054
|
return this.total !== void 0 && (t.total = this.total), this.available !== void 0 && (t.available = this.available), t;
|
|
1055
1055
|
}
|
|
1056
1056
|
}
|
|
1057
|
-
let
|
|
1057
|
+
let PA = class iA {
|
|
1058
1058
|
/** Creates a [Availability]. */
|
|
1059
1059
|
constructor(t) {
|
|
1060
1060
|
this.state = t.state, this.since = t.since, this.until = t.until;
|
|
@@ -1082,26 +1082,26 @@ R.prototype.getNumberOfItems = function() {
|
|
|
1082
1082
|
return D(this.otherProperties.numberOfItems);
|
|
1083
1083
|
};
|
|
1084
1084
|
R.prototype.getPrice = function() {
|
|
1085
|
-
return
|
|
1085
|
+
return bA.deserialize(this.otherProperties.price);
|
|
1086
1086
|
};
|
|
1087
1087
|
R.prototype.getIndirectAcquisitions = function() {
|
|
1088
|
-
const
|
|
1089
|
-
if (
|
|
1090
|
-
return
|
|
1088
|
+
const i = this.otherProperties.indirectAcquisition;
|
|
1089
|
+
if (i && i instanceof Array)
|
|
1090
|
+
return i.map((t) => vA.deserialize(t)).filter((t) => t !== void 0);
|
|
1091
1091
|
};
|
|
1092
1092
|
R.prototype.getHolds = function() {
|
|
1093
|
-
return
|
|
1093
|
+
return te.deserialize(this.otherProperties.holds);
|
|
1094
1094
|
};
|
|
1095
1095
|
R.prototype.getCopies = function() {
|
|
1096
1096
|
return ee.deserialize(this.otherProperties.copies);
|
|
1097
1097
|
};
|
|
1098
1098
|
R.prototype.getAvailability = function() {
|
|
1099
|
-
return
|
|
1099
|
+
return PA.deserialize(this.otherProperties.availability);
|
|
1100
1100
|
};
|
|
1101
1101
|
R.prototype.getAuthenticate = function() {
|
|
1102
1102
|
return X.deserialize(this.otherProperties.authenticate);
|
|
1103
1103
|
};
|
|
1104
|
-
var I = /* @__PURE__ */ ((
|
|
1104
|
+
var I = /* @__PURE__ */ ((i) => (i.auto = "auto", i.btt = "btt", i.ltr = "ltr", i.rtl = "rtl", i.ttb = "ttb", i))(I || {});
|
|
1105
1105
|
R.prototype.getClipped = function() {
|
|
1106
1106
|
return this.otherProperties.clipped;
|
|
1107
1107
|
};
|
|
@@ -1121,36 +1121,36 @@ R.prototype.getSpread = function() {
|
|
|
1121
1121
|
return this.otherProperties.spread || void 0;
|
|
1122
1122
|
};
|
|
1123
1123
|
var K;
|
|
1124
|
-
(function(
|
|
1125
|
-
|
|
1124
|
+
(function(i) {
|
|
1125
|
+
i.NONE = "none", i.DESCENDANT = "descendant", i.CHILD = "child";
|
|
1126
1126
|
})(K || (K = {}));
|
|
1127
|
-
var
|
|
1128
|
-
(function(
|
|
1129
|
-
|
|
1130
|
-
})(
|
|
1127
|
+
var v;
|
|
1128
|
+
(function(i) {
|
|
1129
|
+
i.id = "id", i.class = "class", i.tag = "tag", i.attribute = "attribute", i.nthchild = "nthchild", i.nthoftype = "nthoftype";
|
|
1130
|
+
})(v || (v = {}));
|
|
1131
1131
|
const GA = "CssSelectorGenerator";
|
|
1132
|
-
function Be(
|
|
1133
|
-
console.warn(`${GA}: ${
|
|
1132
|
+
function Be(i = "unknown problem", ...t) {
|
|
1133
|
+
console.warn(`${GA}: ${i}`, ...t);
|
|
1134
1134
|
}
|
|
1135
|
-
|
|
1136
|
-
function HA(
|
|
1137
|
-
return
|
|
1135
|
+
v.id, v.class, v.tag, v.attribute, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY;
|
|
1136
|
+
function HA(i) {
|
|
1137
|
+
return i instanceof RegExp;
|
|
1138
1138
|
}
|
|
1139
|
-
function kA(
|
|
1140
|
-
return
|
|
1139
|
+
function kA(i) {
|
|
1140
|
+
return i.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".+");
|
|
1141
1141
|
}
|
|
1142
|
-
function JA(
|
|
1143
|
-
const t =
|
|
1142
|
+
function JA(i) {
|
|
1143
|
+
const t = i.map((e) => {
|
|
1144
1144
|
if (HA(e))
|
|
1145
1145
|
return (A) => e.test(A);
|
|
1146
1146
|
if (typeof e == "function")
|
|
1147
1147
|
return (A) => {
|
|
1148
|
-
const
|
|
1149
|
-
return typeof
|
|
1148
|
+
const n = e(A);
|
|
1149
|
+
return typeof n != "boolean" ? (Be("pattern matcher function invalid", "Provided pattern matching function does not return boolean. It's result will be ignored.", e), !1) : n;
|
|
1150
1150
|
};
|
|
1151
1151
|
if (typeof e == "string") {
|
|
1152
1152
|
const A = new RegExp("^" + kA(e) + "$");
|
|
1153
|
-
return (
|
|
1153
|
+
return (n) => A.test(n);
|
|
1154
1154
|
}
|
|
1155
1155
|
return Be("pattern matcher invalid", "Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.", e), () => !1;
|
|
1156
1156
|
});
|
|
@@ -1158,7 +1158,7 @@ function JA(n) {
|
|
|
1158
1158
|
}
|
|
1159
1159
|
const WA = "", LA = " > ", OA = " ";
|
|
1160
1160
|
K.NONE + "", K.NONE, K.DESCENDANT + "", K.DESCENDANT, K.CHILD + "", K.CHILD;
|
|
1161
|
-
|
|
1161
|
+
v.nthoftype, v.tag, v.id, v.class, v.attribute, v.nthchild;
|
|
1162
1162
|
JA([
|
|
1163
1163
|
"class",
|
|
1164
1164
|
"id",
|
|
@@ -1184,21 +1184,21 @@ class ZA extends XA {
|
|
|
1184
1184
|
const KA = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;overflow:hidden;box-sizing:border-box}@supports (overflow: clip){:root{overflow:clip}body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important;overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]{overflow:auto}:root[style*=readium-scroll-on] body{overflow:clip}}:root[style*=readium-night-on]{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#0099E5;--RS__linkColor:#63caff;--RS__textColor:#FEFEFE;--RS__backgroundColor:#000000}:root[style*=readium-night-on] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=readium-night-on] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=readium-night-on] a:link,:root[style*=readium-night-on] a:link *{color:var(--RS__linkColor)!important}:root[style*=readium-night-on] a:visited,:root[style*=readium-night-on] a:visited *{color:var(--RS__visitedColor)!important}:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:invert(100%);filter:invert(100%)}:root[style*=readium-sepia-on]{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#faf4e8}:root[style*=readium-sepia-on] *:not(a){color:inherit!important;background-color:transparent!important}:root[style*=readium-sepia-on] a:link,:root[style*=readium-sepia-on] a:link *{color:var(--RS__linkColor)}:root[style*=readium-sepia-on] a:visited,:root[style*=readium-sepia-on] a:visited *{color:var(--RS__visitedColor)}@media screen and (-ms-high-contrast: active){:root{color:windowText!important;background-color:window!important}:root :not(#\\#):not(#\\#):not(#\\#),:root :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#) :root :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#){color:inherit!important;background-color:inherit!important}.readiumCSS-mo-active-default{color:highlightText!important;background-color:highlight!important}}@media screen and (-ms-high-contrast: white-on-black){:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-invert-on] img{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%);filter:brightness(80%)}}@media screen and (inverted-colors){:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-invert-on] img{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%);filter:brightness(80%)}}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not(blockquote p):not(figcaption p):not(hgroup p),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=readium-font-on][style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=readium-font-on][style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=readium-font-on][style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*=readium-font-on][style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=readium-font-on][style*=AccessibleDfA],:root[style*=readium-font-on][style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=readium-font-on][style*=AccessibleDfA] *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-font-on][style*="IA Writer Duospace"] *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=readium-font-on][style*=AccessibleDfA] *,:root[style*=readium-font-on][style*="IA Writer Duospace"] *,:root[style*=readium-a11y-on] *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=readium-font-on][style*=AccessibleDfA] sup,:root[style*=readium-font-on][style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=readium-font-on][style*=AccessibleDfA] sub,:root[style*=readium-font-on][style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=readium-font-on][style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=readium-font-on][style*=--USER__fontWeight] b,:root[style*=readium-font-on][style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=readium-font-on][style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=readium-font-on][style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}
|
|
1185
1185
|
`, qA = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);@-ms-viewport{width:device-width}@viewport{width:device-width;zoom:1}:root{--RS__monospaceTf:ui-monospace, "Andale Mono", "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--RS__humanistTf:Seravek, Calibri, "Gill Sans Nova", Roboto, Ubuntu, "DejaVu Sans", source-sans-pro, sans-serif;--RS__sansTf:-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", "Arial Nova", "Liberation Sans", Arial, sans-serif;--RS__modernTf:Athelas, Constantia, Charter, "Bitstream Charter", Cambria, "Georgia Pro", Georgia, serif;--RS__oldStyleTf:"Iowan Old Style", Sitka, "Sitka Text", Palatino, "Book Antiqua", "URW Palladio L", P052, serif;--RS__baseFontFamily:var(--RS__oldStyleTf);--RS__lineHeightCompensation:1;--RS__baseLineHeight:calc(1.5 * var(--RS__lineHeightCompensation))}html{font-family:var(--RS__baseFontFamily);line-height:1.6;line-height:var(--RS__baseLineHeight);text-rendering:optimizelegibility}h1,h2,h3{line-height:normal}:lang(ja),:lang(zh),:lang(ko){word-wrap:break-word;-webkit-line-break:strict;-epub-line-break:strict;line-break:strict}math{font-family:"Latin Modern Math","STIX Two Math","XITS Math","STIX Math","Libertinus Math","TeX Gyre Termes Math","TeX Gyre Bonum Math",TeX Gyre Schola,"DejaVu Math TeX Gyre","TeX Gyre Pagella Math","Asana Math","Cambria Math","Lucida Bright Math","Minion Math",STIXGeneral,STIXSizeOneSym,Symbol,Times New Roman,serif}:lang(am){--RS__baseFontFamily:kefa, nyala, roboto, noto, "Noto Sans Ethiopic", serif;--RS__lineHeightCompensation:1.167}:lang(ar){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(bn){--RS__baseFontFamily:"Kohinoor Bangla", "Bangla Sangam MN", vrinda, roboto, noto, "Noto Sans Bengali", sans-serif;--RS__lineHeightCompensation:1.067}:lang(bo){--RS__baseFontFamily:kailasa, "Microsoft Himalaya", roboto, noto, "Noto Sans Tibetan", sans-serif}:lang(chr){--RS__baseFontFamily:"Plantagenet Cherokee", roboto, noto, "Noto Sans Cherokee";--RS__lineHeightCompensation:1.167}:lang(fa){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(gu){--RS__baseFontFamily:"Gujarati Sangam MN", "Nirmala UI", shruti, roboto, noto, "Noto Sans Gujarati", sans-serif;--RS__lineHeightCompensation:1.167}:lang(he){--RS__baseFontFamily:"New Peninim MT", "Arial Hebrew", gisha, "Times New Roman", roboto, noto, "Noto Sans Hebrew" sans-serif;--RS__lineHeightCompensation:1.1}:lang(hi){--RS__baseFontFamily:"Kohinoor Devanagari", "Devanagari Sangam MN", kokila, "Nirmala UI", roboto, noto, "Noto Sans Devanagari", sans-serif;--RS__lineHeightCompensation:1.1}:lang(hy){--RS__baseFontFamily:mshtakan, sylfaen, roboto, noto, "Noto Serif Armenian", serif}:lang(iu){--RS__baseFontFamily:"Euphemia UCAS", euphemia, roboto, noto, "Noto Sans Canadian Aboriginal", sans-serif}:lang(ja){--RS__baseFontFamily:yugothic, "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo UI", "MS Gothic", roboto, noto, "Noto Sans CJK JP", sans-serif;--RS__lineHeightCompensation:1.167;--RS__serif-ja:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDPMincho", "Yu Mincho", "MS P明朝", "MS PMincho", serif;--RS__sans-serif-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDPGothic", "Yu Gothic", "MS Pゴシック", "MS PGothic", sans-serif;--RS__serif-ja-v:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDMincho", "Yu Mincho", "MS明朝", "MS Mincho", serif;--RS__sans-serif-ja-v:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDGothic", "Yu Gothic", "MSゴシック", "MS Gothic", sans-serif}:lang(km){--RS__baseFontFamily:"Khmer Sangam MN", "Leelawadee UI", "Khmer UI", roboto, noto, "Noto Sans Khmer", sans-serif;--RS__lineHeightCompensation:1.067}:lang(kn){--RS__baseFontFamily:"Kannada Sangam MN", "Nirmala UI", tunga, roboto, noto, "Noto Sans Kannada", sans-serif;--RS__lineHeightCompensation:1.1}:lang(ko){--RS__baseFontFamily:"Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic", roboto, noto, "Noto Sans CJK KR", sans-serif;--RS__lineHeightCompensation:1.167}:lang(lo){--RS__baseFontFamily:"Lao Sangam MN", "Leelawadee UI", "Lao UI", roboto, noto, "Noto Sans Lao", sans-serif}:lang(ml){--RS__baseFontFamily:"Malayalam Sangam MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Malayalam", sans-serif;--RS__lineHeightCompensation:1.067}:lang(or){--RS__baseFontFamily:"Oriya Sangam MN", "Nirmala UI", kalinga, roboto, noto, "Noto Sans Oriya", sans-serif;--RS__lineHeightCompensation:1.167}:lang(pa){--RS__baseFontFamily:"Gurmukhi MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Gurmukhi", sans-serif;--RS__lineHeightCompensation:1.1}:lang(si){--RS__baseFontFamily:"Sinhala Sangam MN", "Nirmala UI", "Iskoola Pota", roboto, noto, "Noto Sans Sinhala", sans-serif;--RS__lineHeightCompensation:1.167}:lang(ta){--RS__baseFontFamily:"Tamil Sangam MN", "Nirmala UI", latha, roboto, noto, "Noto Sans Tamil", sans-serif;--RS__lineHeightCompensation:1.067}:lang(te){--RS__baseFontFamily:"Kohinoor Telugu", "Telugu Sangam MN", "Nirmala UI", gautami, roboto, noto, "Noto Sans Telugu", sans-serif}:lang(th){--RS__baseFontFamily:"Thonburi", "Leelawadee UI", "Cordia New", roboto, noto, "Noto Sans Thai", sans-serif;--RS__lineHeightCompensation:1.067}:lang(zh){--RS__baseFontFamily:"方体", "PingFang SC", "黑体", "Heiti SC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK SC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-Hant),:lang(zh-TW){--RS__baseFontFamily:"方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-HK){--RS__baseFontFamily:"方體", "PingFang HK", "方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}:root{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#FFFFFF}:root{color:var(--RS__textColor)!important;background-color:var(--RS__backgroundColor)!important}::-moz-selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}::selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Regular.woff2) format("woff2"),url(./assets/AccessibleDfA-Regular.woff) format("woff")}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:700;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Bold.woff2) format("woff2")}@font-face{font-family:AccessibleDfA;font-style:italic;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Italic.woff2) format("woff2")}@font-face{font-family:IA Writer Duospace;font-style:normal;font-weight:400;src:local("iAWriterDuospace-Regular"),url(./assets/iAWriterDuospace-Regular.ttf) format("truetype")}body{widows:2;orphans:2}figcaption,th,td{widows:1;orphans:1}h2,h3,h4,h5,h6,dt,hr,caption{-webkit-column-break-after:avoid;page-break-after:avoid;break-after:avoid}h1,h2,h3,h4,h5,h6,dt,figure,tr{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}body{-webkit-hyphenate-character:"-";-moz-hyphenate-character:"-";-ms-hyphenate-character:"-";hyphenate-character:"-";-webkit-hyphenate-limit-lines:3;-ms-hyphenate-limit-lines:3;hyphenate-limit-lines:3}h1,h2,h3,h4,h5,h6,dt,figcaption,pre,caption,address,center,code,var{-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;-epub-hyphens:none;hyphens:none}body{font-variant-numeric:oldstyle-nums proportional-nums}:lang(ja) body,:lang(zh) body,:lang(ko) body{font-variant-numeric:lining-nums proportional-nums}h1,h2,h3,h4,h5,h6,dt{font-variant-numeric:lining-nums proportional-nums}table{font-variant-numeric:lining-nums tabular-nums}code,var{font-variant-ligatures:none;font-variant-numeric:lining-nums tabular-nums slashed-zero}rt{font-variant-east-asian:ruby}:lang(ar){font-variant-ligatures:common-ligatures}:lang(ko){font-kerning:normal}hr{color:inherit;border-color:currentcolor}table,th,td{border-color:currentcolor}figure,blockquote{margin:1em 5%}ul,ol{padding-left:5%}dd{margin-left:5%}pre{white-space:pre-wrap;-ms-tab-size:2;-moz-tab-size:2;-webkit-tab-size:2;tab-size:2}abbr[title],acronym[title]{text-decoration:dotted underline}nobr wbr{white-space:normal}ruby>rt,ruby>rp{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)),*:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)),*:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)),:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) cite,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) dfn,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) em,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) i,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) cite,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) dfn,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) em,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) i,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) cite,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) dfn,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) em,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) i{font-style:normal}:lang(ja) a,:lang(zh) a,:lang(ko) a{text-decoration:none}:root{--RS__maxMediaWidth:100%;--RS__maxMediaHeight:95vh;--RS__boxSizingMedia:border-box;--RS__boxSizingTable:border-box}a,a span,span a,h1,h2,h3,h4,h5,h6{word-wrap:break-word}div{max-width:var(--RS__maxMediaWidth)}img,svg|svg,video{object-fit:contain;width:auto;height:auto;max-width:var(--RS__maxMediaWidth);max-height:var(--RS__maxMediaHeight)!important;box-sizing:var(--RS__boxSizingMedia);-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}audio{max-width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}table{max-width:var(--RS__maxMediaWidth);box-sizing:var(--RS__boxSizingTable)}
|
|
1186
1186
|
`, _A = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__compFontFamily:var(--RS__baseFontFamily);--RS__codeFontFamily:var(--RS__monospaceTf);--RS__typeScale:1.125;--RS__baseFontSize:100%;--RS__flowSpacing:1.5rem;--RS__paraSpacing:0;--RS__paraIndent:1em;--RS__linkColor:#0000EE;--RS__visitedColor:#551A8B;--RS__primaryColor:;--RS__secondaryColor:}body{font-size:var(--RS__baseFontSize)}h1,h2,h3,h4,h5,h6{font-family:var(--RS__compFontFamily)}blockquote,figure,p,pre,aside,footer,form,hr{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing)}p{margin-top:var(--RS__paraSpacing);margin-bottom:var(--RS__paraSpacing);text-indent:var(--RS__paraIndent)}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,hr+p{text-indent:0}pre{font-family:var(--RS__codeFontFamily)}code,kbd,samp,tt{font-family:var(--RS__codeFontFamily)}sub,sup{position:relative;font-size:67.5%;line-height:1}sub{bottom:-.2ex}sup{bottom:0}:link{color:var(--RS__linkColor)}:visited{color:var(--RS__visitedColor)}h1{margin-top:calc(var(--RS__flowSpacing) * 2);margin-bottom:calc(var(--RS__flowSpacing) * 2);font-size:calc(((1em * var(--RS__typeScale)) * var(--RS__typeScale)) * var(--RS__typeScale))}h2{margin-top:calc(var(--RS__flowSpacing) * 2);margin-bottom:var(--RS__flowSpacing);font-size:calc((1em * var(--RS__typeScale)) * var(--RS__typeScale))}h3{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing);font-size:calc(1em * var(--RS__typeScale))}h4{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing);font-size:1em}h5{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing);font-size:1em;font-variant:small-caps}h6{margin-top:var(--RS__flowSpacing);margin-bottom:0;font-size:1em;text-transform:lowercase;font-variant:small-caps}dl,ol,ul{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing)}table{margin:var(--RS__flowSpacing) 0;border:1px solid currentcolor;border-collapse:collapse;empty-cells:show}thead,tbody,tfoot,table>tr{vertical-align:top}th{text-align:left}th,td{padding:4px;border:1px solid currentcolor}
|
|
1187
|
-
`, $ = (
|
|
1188
|
-
const e =
|
|
1187
|
+
`, $ = (i, t) => URL.createObjectURL(new Blob([i], { type: t })), nA = (i) => i.replace(/\/\/.*/g, "").replace(/\/\*[\s\S]*?\*\//g, "").replace(/\n/g, "").replace(/\s+/g, " "), vt = (i) => i.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/url\((?!(https?:)?\/\/)("?)\/([^\)]+)/g, `url($2${window.location.origin}/$3`), Ae = (i, t) => {
|
|
1188
|
+
const e = i.createElement("script");
|
|
1189
1189
|
return e.dataset.readium = "true", e.src = t.startsWith("blob:") ? t : $(t, "text/javascript"), e;
|
|
1190
|
-
},
|
|
1191
|
-
const e =
|
|
1190
|
+
}, Pt = (i, t) => {
|
|
1191
|
+
const e = i.createElement("link");
|
|
1192
1192
|
return e.dataset.readium = "true", e.rel = "stylesheet", e.type = "text/css", e.href = t.startsWith("blob:") ? t : $(t, "text/css"), e;
|
|
1193
|
-
}, Gt = /* @__PURE__ */ new Map(), ot = (
|
|
1194
|
-
if (Gt.has(
|
|
1195
|
-
return Gt.get(
|
|
1193
|
+
}, Gt = /* @__PURE__ */ new Map(), ot = (i, t) => {
|
|
1194
|
+
if (Gt.has(i))
|
|
1195
|
+
return Gt.get(i);
|
|
1196
1196
|
const e = t();
|
|
1197
|
-
return Gt.set(
|
|
1198
|
-
}, $A = (
|
|
1197
|
+
return Gt.set(i, e), e;
|
|
1198
|
+
}, $A = (i) => Ae(i, ot("css-selector-generator", () => $(
|
|
1199
1199
|
'!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports._readium_cssSelectorGenerator=e():t._readium_cssSelectorGenerator=e()}(self,(()=>(()=>{"use strict";var t,e,n={d:(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},o={};function r(t){return t&&t instanceof Element}function i(t="unknown problem",...e){console.warn(`CssSelectorGenerator: ${t}`,...e)}n.r(o),n.d(o,{default:()=>z,getCssSelector:()=>U}),function(t){t.NONE="none",t.DESCENDANT="descendant",t.CHILD="child"}(t||(t={})),function(t){t.id="id",t.class="class",t.tag="tag",t.attribute="attribute",t.nthchild="nthchild",t.nthoftype="nthoftype"}(e||(e={}));const c={selectors:[e.id,e.class,e.tag,e.attribute],includeTag:!1,whitelist:[],blacklist:[],combineWithinSelector:!0,combineBetweenSelectors:!0,root:null,maxCombinations:Number.POSITIVE_INFINITY,maxCandidates:Number.POSITIVE_INFINITY};function u(t){return t instanceof RegExp}function s(t){return["string","function"].includes(typeof t)||u(t)}function l(t){return Array.isArray(t)?t.filter(s):[]}function a(t){const e=[Node.DOCUMENT_NODE,Node.DOCUMENT_FRAGMENT_NODE,Node.ELEMENT_NODE];return function(t){return t instanceof Node}(t)&&e.includes(t.nodeType)}function f(t,e){if(a(t))return t.contains(e)||i("element root mismatch","Provided root does not contain the element. This will most likely result in producing a fallback selector using element\'s real root node. If you plan to use the selector using provided root (e.g. `root.querySelector`), it will nto work as intended."),t;const n=e.getRootNode({composed:!1});return a(n)?(n!==document&&i("shadow root inferred","You did not provide a root and the element is a child of Shadow DOM. This will produce a selector using ShadowRoot as a root. If you plan to use the selector using document as a root (e.g. `document.querySelector`), it will not work as intended."),n):e.ownerDocument.querySelector(":root")}function d(t){return"number"==typeof t?t:Number.POSITIVE_INFINITY}function m(t=[]){const[e=[],...n]=t;return 0===n.length?e:n.reduce(((t,e)=>t.filter((t=>e.includes(t)))),e)}function p(t){return[].concat(...t)}function h(t){const e=t.map((t=>{if(u(t))return e=>t.test(e);if("function"==typeof t)return e=>{const n=t(e);return"boolean"!=typeof n?(i("pattern matcher function invalid","Provided pattern matching function does not return boolean. It\'s result will be ignored.",t),!1):n};if("string"==typeof t){const e=new RegExp("^"+t.replace(/[|\\\\{}()[\\]^$+?.]/g,"\\\\$&").replace(/\\*/g,".+")+"$");return t=>e.test(t)}return i("pattern matcher invalid","Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.",t),()=>!1}));return t=>e.some((e=>e(t)))}function g(t,e,n){const o=Array.from(f(n,t[0]).querySelectorAll(e));return o.length===t.length&&t.every((t=>o.includes(t)))}function y(t,e){e=null!=e?e:function(t){return t.ownerDocument.querySelector(":root")}(t);const n=[];let o=t;for(;r(o)&&o!==e;)n.push(o),o=o.parentElement;return n}function b(t,e){return m(t.map((t=>y(t,e))))}const N={[t.NONE]:{type:t.NONE,value:""},[t.DESCENDANT]:{type:t.DESCENDANT,value:" > "},[t.CHILD]:{type:t.CHILD,value:" "}},S=new RegExp(["^$","\\\\s"].join("|")),E=new RegExp(["^$"].join("|")),w=[e.nthoftype,e.tag,e.id,e.class,e.attribute,e.nthchild],v=h(["class","id","ng-*"]);function C({nodeName:t}){return`[${t}]`}function O({nodeName:t,nodeValue:e}){return`[${t}=\'${L(e)}\']`}function T(t){const e=Array.from(t.attributes).filter((e=>function({nodeName:t},e){const n=e.tagName.toLowerCase();return!(["input","option"].includes(n)&&"value"===t||v(t))}(e,t)));return[...e.map(C),...e.map(O)]}function I(t){return(t.getAttribute("class")||"").trim().split(/\\s+/).filter((t=>!E.test(t))).map((t=>`.${L(t)}`))}function x(t){const e=t.getAttribute("id")||"",n=`#${L(e)}`,o=t.getRootNode({composed:!1});return!S.test(e)&&g([t],n,o)?[n]:[]}function j(t){const e=t.parentNode;if(e){const n=Array.from(e.childNodes).filter(r).indexOf(t);if(n>-1)return[`:nth-child(${n+1})`]}return[]}function A(t){return[L(t.tagName.toLowerCase())]}function D(t){const e=[...new Set(p(t.map(A)))];return 0===e.length||e.length>1?[]:[e[0]]}function $(t){const e=D([t])[0],n=t.parentElement;if(n){const o=Array.from(n.children).filter((t=>t.tagName.toLowerCase()===e)),r=o.indexOf(t);if(r>-1)return[`${e}:nth-of-type(${r+1})`]}return[]}function R(t=[],{maxResults:e=Number.POSITIVE_INFINITY}={}){const n=[];let o=0,r=k(1);for(;r.length<=t.length&&o<e;)o+=1,n.push(r.map((e=>t[e]))),r=P(r,t.length-1);return n}function P(t=[],e=0){const n=t.length;if(0===n)return[];const o=[...t];o[n-1]+=1;for(let t=n-1;t>=0;t--)if(o[t]>e){if(0===t)return k(n+1);o[t-1]++,o[t]=o[t-1]+1}return o[n-1]>e?k(n+1):o}function k(t=1){return Array.from(Array(t).keys())}const _=":".charCodeAt(0).toString(16).toUpperCase(),M=/[ !"#$%&\'()\\[\\]{|}<>*+,./;=?@^`~\\\\]/;function L(t=""){var e,n;return null!==(n=null===(e=null===CSS||void 0===CSS?void 0:CSS.escape)||void 0===e?void 0:e.call(CSS,t))&&void 0!==n?n:function(t=""){return t.split("").map((t=>":"===t?`\\\\${_} `:M.test(t)?`\\\\${t}`:escape(t).replace(/%/g,"\\\\"))).join("")}(t)}const q={tag:D,id:function(t){return 0===t.length||t.length>1?[]:x(t[0])},class:function(t){return m(t.map(I))},attribute:function(t){return m(t.map(T))},nthchild:function(t){return m(t.map(j))},nthoftype:function(t){return m(t.map($))}},F={tag:A,id:x,class:I,attribute:T,nthchild:j,nthoftype:$};function V(t){return t.includes(e.tag)||t.includes(e.nthoftype)?[...t]:[...t,e.tag]}function Y(t={}){const n=[...w];return t[e.tag]&&t[e.nthoftype]&&n.splice(n.indexOf(e.tag),1),n.map((e=>{return(o=t)[n=e]?o[n].join(""):"";var n,o})).join("")}function B(t,e,n="",o){const r=function(t,e){return""===e?t:function(t,e){return[...t.map((t=>e+" "+t)),...t.map((t=>e+" > "+t))]}(t,e)}(function(t,e,n){const o=function(t,e){const{blacklist:n,whitelist:o,combineWithinSelector:r,maxCombinations:i}=e,c=h(n),u=h(o);return function(t){const{selectors:e,includeTag:n}=t,o=[].concat(e);return n&&!o.includes("tag")&&o.push("tag"),o}(e).reduce(((e,n)=>{const o=function(t,e){var n;return(null!==(n=q[e])&&void 0!==n?n:()=>[])(t)}(t,n),s=function(t=[],e,n){return t.filter((t=>n(t)||!e(t)))}(o,c,u),l=function(t=[],e){return t.sort(((t,n)=>{const o=e(t),r=e(n);return o&&!r?-1:!o&&r?1:0}))}(s,u);return e[n]=r?R(l,{maxResults:i}):l.map((t=>[t])),e}),{})}(t,n),r=function(t,e){return function(t){const{selectors:e,combineBetweenSelectors:n,includeTag:o,maxCandidates:r}=t,i=n?R(e,{maxResults:r}):e.map((t=>[t]));return o?i.map(V):i}(e).map((e=>function(t,e){const n={};return t.forEach((t=>{const o=e[t];o.length>0&&(n[t]=o)})),function(t={}){let e=[];return Object.entries(t).forEach((([t,n])=>{e=n.flatMap((n=>0===e.length?[{[t]:n}]:e.map((e=>Object.assign(Object.assign({},e),{[t]:n})))))})),e}(n).map(Y)}(e,t))).filter((t=>t.length>0))}(o,n),i=p(r);return[...new Set(i)]}(t,o.root,o),n);for(const e of r)if(g(t,e,o.root))return e;return null}function G(t){return{value:t,include:!1}}function W({selectors:t,operator:n}){let o=[...w];t[e.tag]&&t[e.nthoftype]&&(o=o.filter((t=>t!==e.tag)));let r="";return o.forEach((e=>{(t[e]||[]).forEach((({value:t,include:e})=>{e&&(r+=t)}))})),n.value+r}function H(n){return[":root",...y(n).reverse().map((n=>{const o=function(e,n,o=t.NONE){const r={};return n.forEach((t=>{Reflect.set(r,t,function(t,e){return F[e](t)}(e,t).map(G))})),{element:e,operator:N[o],selectors:r}}(n,[e.nthchild],t.DESCENDANT);return o.selectors.nthchild.forEach((t=>{t.include=!0})),o})).map(W)].join("")}function U(t,n={}){const o=function(t){const e=(Array.isArray(t)?t:[t]).filter(r);return[...new Set(e)]}(t),i=function(t,n={}){const o=Object.assign(Object.assign({},c),n);return{selectors:(r=o.selectors,Array.isArray(r)?r.filter((t=>{return n=e,o=t,Object.values(n).includes(o);var n,o})):[]),whitelist:l(o.whitelist),blacklist:l(o.blacklist),root:f(o.root,t),combineWithinSelector:!!o.combineWithinSelector,combineBetweenSelectors:!!o.combineBetweenSelectors,includeTag:!!o.includeTag,maxCombinations:d(o.maxCombinations),maxCandidates:d(o.maxCandidates)};var r}(o[0],n);let u="",s=i.root;function a(){return function(t,e,n="",o){if(0===t.length)return null;const r=[t.length>1?t:[],...b(t,e).map((t=>[t]))];for(const t of r){const e=B(t,0,n,o);if(e)return{foundElements:t,selector:e}}return null}(o,s,u,i)}let m=a();for(;m;){const{foundElements:t,selector:e}=m;if(g(o,e,i.root))return e;s=t[0],u=e,m=a()}return o.length>1?o.map((t=>U(t,i))).join(", "):function(t){return t.map(H).join(", ")}(o)}const z=U;return o})()));',
|
|
1200
1200
|
"text/javascript"
|
|
1201
|
-
))), ti = (
|
|
1201
|
+
))), ti = (i) => Ae(i, ot("JS-Before", () => $(nA(
|
|
1202
1202
|
`
|
|
1203
1203
|
window._readium_blockedEvents = [];
|
|
1204
1204
|
window._readium_blockEvents = true;
|
|
@@ -1212,7 +1212,7 @@ const KA = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(htt
|
|
|
1212
1212
|
};
|
|
1213
1213
|
window.addEventListener("DOMContentLoaded", window._readium_eventBlocker, true);
|
|
1214
1214
|
window.addEventListener("load", window._readium_eventBlocker, true);`
|
|
1215
|
-
), "text/javascript"))), ei = (
|
|
1215
|
+
), "text/javascript"))), ei = (i) => Ae(i, ot("JS-After", () => $(nA(
|
|
1216
1216
|
`
|
|
1217
1217
|
if(window.onload) window.onload = new Proxy(window.onload, {
|
|
1218
1218
|
apply: function(target, receiver, args) {
|
|
@@ -1227,8 +1227,8 @@ const KA = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(htt
|
|
|
1227
1227
|
});`
|
|
1228
1228
|
), "text/javascript")));
|
|
1229
1229
|
class rA {
|
|
1230
|
-
constructor(t, e, A,
|
|
1231
|
-
this.pub = t, this.item = A, this.burl = A.toURL(e) || "", this.cssProperties =
|
|
1230
|
+
constructor(t, e, A, n) {
|
|
1231
|
+
this.pub = t, this.item = A, this.burl = A.toURL(e) || "", this.cssProperties = n;
|
|
1232
1232
|
}
|
|
1233
1233
|
async build(t = !1) {
|
|
1234
1234
|
if (this.item.mediaType.isHTML)
|
|
@@ -1244,10 +1244,10 @@ class rA {
|
|
|
1244
1244
|
const A = new DOMParser().parseFromString(
|
|
1245
1245
|
e,
|
|
1246
1246
|
this.item.mediaType.string
|
|
1247
|
-
),
|
|
1248
|
-
if (
|
|
1249
|
-
const r =
|
|
1250
|
-
throw new Error(`Failed parsing item ${this.item.href}: ${(r == null ? void 0 : r.textContent) ||
|
|
1247
|
+
), n = A.querySelector("parsererror");
|
|
1248
|
+
if (n) {
|
|
1249
|
+
const r = n.querySelector("div");
|
|
1250
|
+
throw new Error(`Failed parsing item ${this.item.href}: ${(r == null ? void 0 : r.textContent) || n.textContent}`);
|
|
1251
1251
|
}
|
|
1252
1252
|
return this.finalizeDOM(A, this.burl, this.item.mediaType, t, this.cssProperties);
|
|
1253
1253
|
}
|
|
@@ -1267,17 +1267,17 @@ class rA {
|
|
|
1267
1267
|
}
|
|
1268
1268
|
setProperties(t, e) {
|
|
1269
1269
|
for (const A in t) {
|
|
1270
|
-
const
|
|
1271
|
-
|
|
1270
|
+
const n = t[A];
|
|
1271
|
+
n && e.documentElement.style.setProperty(A, n);
|
|
1272
1272
|
}
|
|
1273
1273
|
}
|
|
1274
|
-
finalizeDOM(t, e, A,
|
|
1274
|
+
finalizeDOM(t, e, A, n = !1, r) {
|
|
1275
1275
|
var o;
|
|
1276
1276
|
if (!t)
|
|
1277
1277
|
return "";
|
|
1278
|
-
if (!
|
|
1279
|
-
const a =
|
|
1280
|
-
t.head.firstChild ? t.head.firstChild.before(a) : t.head.appendChild(a), this.hasStyle(t) || a.after(
|
|
1278
|
+
if (!n) {
|
|
1279
|
+
const a = Pt(t, ot("ReadiumCSS-before", () => $(vt(qA), "text/css")));
|
|
1280
|
+
t.head.firstChild ? t.head.firstChild.before(a) : t.head.appendChild(a), this.hasStyle(t) || a.after(Pt(t, ot("ReadiumCSS-default", () => $(vt(_A), "text/css")))), t.head.appendChild(Pt(t, ot("ReadiumCSS-after", () => $(vt(KA), "text/css")))), r && this.setProperties(r, t);
|
|
1281
1281
|
}
|
|
1282
1282
|
if (t.body.querySelectorAll("img").forEach((a) => {
|
|
1283
1283
|
a.setAttribute("fetchpriority", "high");
|
|
@@ -1337,22 +1337,22 @@ class ii {
|
|
|
1337
1337
|
t.strict && this.send("_unhandled", t);
|
|
1338
1338
|
return;
|
|
1339
1339
|
}
|
|
1340
|
-
e.forEach((A) => A.cb(t.data, (
|
|
1341
|
-
this.send("_ack",
|
|
1340
|
+
e.forEach((A) => A.cb(t.data, (n) => {
|
|
1341
|
+
this.send("_ack", n, t.id);
|
|
1342
1342
|
}));
|
|
1343
1343
|
}
|
|
1344
1344
|
register(t, e, A) {
|
|
1345
|
-
Array.isArray(t) || (t = [t]), t.forEach((
|
|
1346
|
-
const r = this.registrar.get(
|
|
1345
|
+
Array.isArray(t) || (t = [t]), t.forEach((n) => {
|
|
1346
|
+
const r = this.registrar.get(n);
|
|
1347
1347
|
if (r && r.length >= 0) {
|
|
1348
1348
|
if (r.find((s) => s.module === e))
|
|
1349
|
-
throw new Error(`Trying to register another callback for combination of event ${
|
|
1349
|
+
throw new Error(`Trying to register another callback for combination of event ${n} and module ${e}`);
|
|
1350
1350
|
r.push({
|
|
1351
1351
|
cb: A,
|
|
1352
1352
|
module: e
|
|
1353
|
-
}), this.registrar.set(
|
|
1353
|
+
}), this.registrar.set(n, r);
|
|
1354
1354
|
} else
|
|
1355
|
-
this.registrar.set(
|
|
1355
|
+
this.registrar.set(n, [{
|
|
1356
1356
|
cb: A,
|
|
1357
1357
|
module: e
|
|
1358
1358
|
}]);
|
|
@@ -1360,12 +1360,12 @@ class ii {
|
|
|
1360
1360
|
}
|
|
1361
1361
|
unregister(t, e) {
|
|
1362
1362
|
Array.isArray(t) || (t = [t]), t.forEach((A) => {
|
|
1363
|
-
const
|
|
1364
|
-
!
|
|
1363
|
+
const n = this.registrar.get(A);
|
|
1364
|
+
!n || n.length === 0 || n.splice(n.findIndex((r) => r.module === e), 1);
|
|
1365
1365
|
});
|
|
1366
1366
|
}
|
|
1367
1367
|
unregisterAll(t) {
|
|
1368
|
-
this.registrar.forEach((e, A) => this.registrar.set(A, e.filter((
|
|
1368
|
+
this.registrar.forEach((e, A) => this.registrar.set(A, e.filter((n) => n.module !== t)));
|
|
1369
1369
|
}
|
|
1370
1370
|
log(...t) {
|
|
1371
1371
|
this.destination ? this.send("log", t) : this.preLog.push(t);
|
|
@@ -1376,7 +1376,7 @@ class ii {
|
|
|
1376
1376
|
destroy() {
|
|
1377
1377
|
this.destination = null, this.channelId = "", this.preLog = [], this.registrar.clear(), this.wnd.removeEventListener("message", this.receiver);
|
|
1378
1378
|
}
|
|
1379
|
-
send(t, e, A = void 0,
|
|
1379
|
+
send(t, e, A = void 0, n = []) {
|
|
1380
1380
|
if (!this.destination)
|
|
1381
1381
|
throw Error("Attempted to send comms message before destination has been initialized");
|
|
1382
1382
|
const r = {
|
|
@@ -1390,12 +1390,12 @@ class ii {
|
|
|
1390
1390
|
try {
|
|
1391
1391
|
this.destination.postMessage(r, {
|
|
1392
1392
|
targetOrigin: this.origin,
|
|
1393
|
-
transfer:
|
|
1393
|
+
transfer: n
|
|
1394
1394
|
});
|
|
1395
1395
|
} catch (s) {
|
|
1396
|
-
if (
|
|
1396
|
+
if (n.length > 0)
|
|
1397
1397
|
throw s;
|
|
1398
|
-
this.destination.postMessage(r, this.origin,
|
|
1398
|
+
this.destination.postMessage(r, this.origin, n);
|
|
1399
1399
|
}
|
|
1400
1400
|
}
|
|
1401
1401
|
}
|
|
@@ -1468,16 +1468,16 @@ Q.prototype.getLayout = function() {
|
|
|
1468
1468
|
class u {
|
|
1469
1469
|
/** Creates a MediaType object. */
|
|
1470
1470
|
constructor(t) {
|
|
1471
|
-
let e, A,
|
|
1472
|
-
const r =
|
|
1471
|
+
let e, A, n = t.mediaType.replace(/\s/g, "").split(";");
|
|
1472
|
+
const r = n[0].split("/");
|
|
1473
1473
|
if (r.length === 2) {
|
|
1474
1474
|
if (e = r[0].toLowerCase().trim(), A = r[1].toLowerCase().trim(), e.length === 0 || A.length === 0)
|
|
1475
1475
|
throw new Error("Invalid media type");
|
|
1476
1476
|
} else
|
|
1477
1477
|
throw new Error("Invalid media type");
|
|
1478
1478
|
const s = {};
|
|
1479
|
-
for (let g = 1; g <
|
|
1480
|
-
const m =
|
|
1479
|
+
for (let g = 1; g < n.length; g++) {
|
|
1480
|
+
const m = n[g].split("=");
|
|
1481
1481
|
if (m.length === 2) {
|
|
1482
1482
|
const M = m[0].toLocaleLowerCase(), B = M === "charset" ? m[1].toUpperCase() : m[1];
|
|
1483
1483
|
s[M] = B;
|
|
@@ -1529,11 +1529,11 @@ class u {
|
|
|
1529
1529
|
return !1;
|
|
1530
1530
|
const A = new Set(
|
|
1531
1531
|
Object.entries(this.parameters).map(([r, s]) => `${r}=${s}`)
|
|
1532
|
-
),
|
|
1532
|
+
), n = new Set(
|
|
1533
1533
|
Object.entries(e.parameters).map(([r, s]) => `${r}=${s}`)
|
|
1534
1534
|
);
|
|
1535
1535
|
for (const r of Array.from(A.values()))
|
|
1536
|
-
if (!
|
|
1536
|
+
if (!n.has(r))
|
|
1537
1537
|
return !1;
|
|
1538
1538
|
return !0;
|
|
1539
1539
|
}
|
|
@@ -1930,7 +1930,7 @@ class we {
|
|
|
1930
1930
|
getParameters(t) {
|
|
1931
1931
|
const e = /\{\??([^}]+)\}/g, A = t.match(e);
|
|
1932
1932
|
return A ? new Set(
|
|
1933
|
-
A.join(",").replace(e, "$1").split(",").map((
|
|
1933
|
+
A.join(",").replace(e, "$1").split(",").map((n) => n.trim())
|
|
1934
1934
|
) : /* @__PURE__ */ new Set();
|
|
1935
1935
|
}
|
|
1936
1936
|
/** Expands the URI by replacing the template variables by the given parameters.
|
|
@@ -1938,34 +1938,34 @@ class we {
|
|
|
1938
1938
|
* See RFC 6570 on URI template: https://tools.ietf.org/html/rfc6570
|
|
1939
1939
|
*/
|
|
1940
1940
|
expand(t) {
|
|
1941
|
-
const e = (
|
|
1941
|
+
const e = (n) => n.split(",").map((r) => {
|
|
1942
1942
|
const s = t[r];
|
|
1943
1943
|
return s ? encodeURIComponent(s) : "";
|
|
1944
|
-
}).join(","), A = (
|
|
1944
|
+
}).join(","), A = (n) => "?" + n.split(",").map((r) => {
|
|
1945
1945
|
const s = r.split("=")[0], o = t[s];
|
|
1946
1946
|
return o ? `${s}=${encodeURIComponent(o)}` : "";
|
|
1947
1947
|
}).join("&");
|
|
1948
|
-
return this.uri.replace(/\{(\??)([^}]+)\}/g, (...
|
|
1948
|
+
return this.uri.replace(/\{(\??)([^}]+)\}/g, (...n) => n[1] ? A(n[2]) : e(n[2]));
|
|
1949
1949
|
}
|
|
1950
1950
|
}
|
|
1951
|
-
function ni(
|
|
1952
|
-
return
|
|
1951
|
+
function ni(i) {
|
|
1952
|
+
return i && i instanceof Array ? i : void 0;
|
|
1953
1953
|
}
|
|
1954
|
-
function sA(
|
|
1955
|
-
return
|
|
1954
|
+
function sA(i) {
|
|
1955
|
+
return i && typeof i == "string" ? [i] : ni(i);
|
|
1956
1956
|
}
|
|
1957
|
-
function Ie(
|
|
1958
|
-
return typeof
|
|
1957
|
+
function Ie(i) {
|
|
1958
|
+
return typeof i == "string" ? new Date(i) : void 0;
|
|
1959
1959
|
}
|
|
1960
|
-
function Ut(
|
|
1961
|
-
return isNaN(
|
|
1960
|
+
function Ut(i) {
|
|
1961
|
+
return isNaN(i) ? void 0 : i;
|
|
1962
1962
|
}
|
|
1963
|
-
function b(
|
|
1964
|
-
return Ut(
|
|
1963
|
+
function b(i) {
|
|
1964
|
+
return Ut(i) !== void 0 && Math.sign(i) >= 0 ? i : void 0;
|
|
1965
1965
|
}
|
|
1966
|
-
function ri(
|
|
1966
|
+
function ri(i) {
|
|
1967
1967
|
const t = new Array();
|
|
1968
|
-
return
|
|
1968
|
+
return i.forEach((e) => t.push(e)), t;
|
|
1969
1969
|
}
|
|
1970
1970
|
class N {
|
|
1971
1971
|
/**
|
|
@@ -1980,7 +1980,7 @@ class N {
|
|
|
1980
1980
|
static deserialize(t) {
|
|
1981
1981
|
if (!t)
|
|
1982
1982
|
return;
|
|
1983
|
-
const e = Ut(t.progression), A = Ut(t.totalProgression),
|
|
1983
|
+
const e = Ut(t.progression), A = Ut(t.totalProgression), n = Ut(t.position), r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set([
|
|
1984
1984
|
"fragment",
|
|
1985
1985
|
"fragments",
|
|
1986
1986
|
"progression",
|
|
@@ -1993,7 +1993,7 @@ class N {
|
|
|
1993
1993
|
fragments: sA(t.fragments || t.fragment),
|
|
1994
1994
|
progression: e !== void 0 && e >= 0 && e <= 1 ? e : void 0,
|
|
1995
1995
|
totalProgression: A !== void 0 && A >= 0 && A <= 1 ? A : void 0,
|
|
1996
|
-
position:
|
|
1996
|
+
position: n !== void 0 && n > 0 ? n : void 0,
|
|
1997
1997
|
otherLocations: r.size === 0 ? void 0 : r
|
|
1998
1998
|
});
|
|
1999
1999
|
}
|
|
@@ -2211,8 +2211,8 @@ class Rt {
|
|
|
2211
2211
|
/** Finds all the links matching any of the given media types. */
|
|
2212
2212
|
filterByMediaTypes(t) {
|
|
2213
2213
|
const e = (A) => {
|
|
2214
|
-
for (const
|
|
2215
|
-
if (A.mediaType.matches(
|
|
2214
|
+
for (const n of t)
|
|
2215
|
+
if (A.mediaType.matches(n))
|
|
2216
2216
|
return !0;
|
|
2217
2217
|
return !1;
|
|
2218
2218
|
};
|
|
@@ -2313,50 +2313,50 @@ class ne {
|
|
|
2313
2313
|
}
|
|
2314
2314
|
}
|
|
2315
2315
|
N.prototype.getCssSelector = function() {
|
|
2316
|
-
var
|
|
2317
|
-
return (
|
|
2316
|
+
var i;
|
|
2317
|
+
return (i = this.otherLocations) == null ? void 0 : i.get("cssSelector");
|
|
2318
2318
|
};
|
|
2319
2319
|
N.prototype.getPartialCfi = function() {
|
|
2320
|
-
var
|
|
2321
|
-
return (
|
|
2320
|
+
var i;
|
|
2321
|
+
return (i = this.otherLocations) == null ? void 0 : i.get("partialCfi");
|
|
2322
2322
|
};
|
|
2323
2323
|
N.prototype.getDomRange = function() {
|
|
2324
|
-
var
|
|
2325
|
-
return ne.deserialize((
|
|
2324
|
+
var i;
|
|
2325
|
+
return ne.deserialize((i = this.otherLocations) == null ? void 0 : i.get("domRange"));
|
|
2326
2326
|
};
|
|
2327
2327
|
N.prototype.fragmentParameters = function() {
|
|
2328
2328
|
return new Map(
|
|
2329
|
-
this.fragments.map((
|
|
2330
|
-
|
|
2331
|
-
|
|
2329
|
+
this.fragments.map((i) => i.startsWith("#") ? i.slice(1) : i).join("&").split("&").filter((i) => !i.startsWith("#")).map((i) => i.split("=")).filter((i) => i.length === 2).map((i) => [
|
|
2330
|
+
i[0].trim().toLowerCase(),
|
|
2331
|
+
i[1].trim()
|
|
2332
2332
|
])
|
|
2333
2333
|
);
|
|
2334
2334
|
};
|
|
2335
2335
|
N.prototype.htmlId = function() {
|
|
2336
2336
|
if (!this.fragments.length)
|
|
2337
2337
|
return;
|
|
2338
|
-
let
|
|
2339
|
-
if (!
|
|
2338
|
+
let i = this.fragments.find((t) => t.length && !t.includes("="));
|
|
2339
|
+
if (!i) {
|
|
2340
2340
|
const t = this.fragmentParameters();
|
|
2341
|
-
t.has("id") ?
|
|
2341
|
+
t.has("id") ? i = t.get("id") : t.has("name") && (i = t.get("name"));
|
|
2342
2342
|
}
|
|
2343
|
-
return
|
|
2343
|
+
return i != null && i.startsWith("#") ? i.slice(1) : i;
|
|
2344
2344
|
};
|
|
2345
2345
|
N.prototype.page = function() {
|
|
2346
|
-
const
|
|
2347
|
-
if (!isNaN(
|
|
2348
|
-
return
|
|
2346
|
+
const i = parseInt(this.fragmentParameters().get("page"));
|
|
2347
|
+
if (!isNaN(i) && i >= 0)
|
|
2348
|
+
return i;
|
|
2349
2349
|
};
|
|
2350
2350
|
N.prototype.time = function() {
|
|
2351
|
-
const
|
|
2352
|
-
if (!isNaN(
|
|
2353
|
-
return
|
|
2351
|
+
const i = parseInt(this.fragmentParameters().get("t"));
|
|
2352
|
+
if (!isNaN(i))
|
|
2353
|
+
return i;
|
|
2354
2354
|
};
|
|
2355
2355
|
N.prototype.space = function() {
|
|
2356
|
-
const
|
|
2357
|
-
if (!
|
|
2356
|
+
const i = this.fragmentParameters();
|
|
2357
|
+
if (!i.has("xywh"))
|
|
2358
2358
|
return;
|
|
2359
|
-
const t =
|
|
2359
|
+
const t = i.get("xywh").split(",").map((e) => parseInt(e));
|
|
2360
2360
|
if (t.length === 4 && !t.some(isNaN))
|
|
2361
2361
|
return t;
|
|
2362
2362
|
};
|
|
@@ -2489,9 +2489,9 @@ Q.prototype.getPrice = function() {
|
|
|
2489
2489
|
return re.deserialize(this.otherProperties.price);
|
|
2490
2490
|
};
|
|
2491
2491
|
Q.prototype.getIndirectAcquisitions = function() {
|
|
2492
|
-
const
|
|
2493
|
-
if (
|
|
2494
|
-
return
|
|
2492
|
+
const i = this.otherProperties.indirectAcquisition;
|
|
2493
|
+
if (i && i instanceof Array)
|
|
2494
|
+
return i.map((t) => Mt.deserialize(t)).filter((t) => t !== void 0);
|
|
2495
2495
|
};
|
|
2496
2496
|
Q.prototype.getHolds = function() {
|
|
2497
2497
|
return se.deserialize(this.otherProperties.holds);
|
|
@@ -2524,43 +2524,43 @@ Q.prototype.getSpread = function() {
|
|
|
2524
2524
|
return this.otherProperties.spread || void 0;
|
|
2525
2525
|
};
|
|
2526
2526
|
var q;
|
|
2527
|
-
(function(
|
|
2528
|
-
|
|
2527
|
+
(function(i) {
|
|
2528
|
+
i.NONE = "none", i.DESCENDANT = "descendant", i.CHILD = "child";
|
|
2529
2529
|
})(q || (q = {}));
|
|
2530
|
-
var
|
|
2531
|
-
(function(
|
|
2532
|
-
|
|
2533
|
-
})(
|
|
2530
|
+
var P;
|
|
2531
|
+
(function(i) {
|
|
2532
|
+
i.id = "id", i.class = "class", i.tag = "tag", i.attribute = "attribute", i.nthchild = "nthchild", i.nthoftype = "nthoftype";
|
|
2533
|
+
})(P || (P = {}));
|
|
2534
2534
|
const si = "CssSelectorGenerator";
|
|
2535
|
-
function Fe(
|
|
2536
|
-
console.warn(`${si}: ${
|
|
2535
|
+
function Fe(i = "unknown problem", ...t) {
|
|
2536
|
+
console.warn(`${si}: ${i}`, ...t);
|
|
2537
2537
|
}
|
|
2538
|
-
|
|
2539
|
-
function oi(
|
|
2540
|
-
return
|
|
2538
|
+
P.id, P.class, P.tag, P.attribute;
|
|
2539
|
+
function oi(i) {
|
|
2540
|
+
return i instanceof RegExp;
|
|
2541
2541
|
}
|
|
2542
|
-
function ai(
|
|
2543
|
-
return
|
|
2542
|
+
function ai(i) {
|
|
2543
|
+
return i.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".+");
|
|
2544
2544
|
}
|
|
2545
|
-
function hi(
|
|
2546
|
-
const t =
|
|
2545
|
+
function hi(i) {
|
|
2546
|
+
const t = i.map((e) => {
|
|
2547
2547
|
if (oi(e))
|
|
2548
2548
|
return (A) => e.test(A);
|
|
2549
2549
|
if (typeof e == "function")
|
|
2550
2550
|
return (A) => {
|
|
2551
|
-
const
|
|
2552
|
-
return typeof
|
|
2551
|
+
const n = e(A);
|
|
2552
|
+
return typeof n != "boolean" ? (Fe("pattern matcher function invalid", "Provided pattern matching function does not return boolean. It's result will be ignored.", e), !1) : n;
|
|
2553
2553
|
};
|
|
2554
2554
|
if (typeof e == "string") {
|
|
2555
2555
|
const A = new RegExp("^" + ai(e) + "$");
|
|
2556
|
-
return (
|
|
2556
|
+
return (n) => A.test(n);
|
|
2557
2557
|
}
|
|
2558
2558
|
return Fe("pattern matcher invalid", "Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.", e), () => !1;
|
|
2559
2559
|
});
|
|
2560
2560
|
return (e) => t.some((A) => A(e));
|
|
2561
2561
|
}
|
|
2562
2562
|
q.NONE + "", q.NONE, q.DESCENDANT + "", q.DESCENDANT, q.CHILD + "", q.CHILD;
|
|
2563
|
-
|
|
2563
|
+
P.nthoftype, P.tag, P.id, P.class, P.attribute, P.nthchild;
|
|
2564
2564
|
hi([
|
|
2565
2565
|
"class",
|
|
2566
2566
|
"id",
|
|
@@ -2569,40 +2569,40 @@ hi([
|
|
|
2569
2569
|
]);
|
|
2570
2570
|
class Dt {
|
|
2571
2571
|
}
|
|
2572
|
-
function Ue(
|
|
2573
|
-
return
|
|
2572
|
+
function Ue(i) {
|
|
2573
|
+
return i.split("").reverse().join("");
|
|
2574
2574
|
}
|
|
2575
|
-
function li(
|
|
2575
|
+
function li(i, t, e) {
|
|
2576
2576
|
const A = Ue(t);
|
|
2577
|
-
return e.map((
|
|
2578
|
-
const r = Math.max(0,
|
|
2577
|
+
return e.map((n) => {
|
|
2578
|
+
const r = Math.max(0, n.end - t.length - n.errors), s = Ue(i.slice(r, n.end));
|
|
2579
2579
|
return {
|
|
2580
|
-
start: oA(s, A,
|
|
2581
|
-
end:
|
|
2582
|
-
errors:
|
|
2580
|
+
start: oA(s, A, n.errors).reduce((o, a) => n.end - a.end < o ? n.end - a.end : o, n.end),
|
|
2581
|
+
end: n.end,
|
|
2582
|
+
errors: n.errors
|
|
2583
2583
|
};
|
|
2584
2584
|
});
|
|
2585
2585
|
}
|
|
2586
|
-
function Ht(
|
|
2587
|
-
return (
|
|
2586
|
+
function Ht(i) {
|
|
2587
|
+
return (i | -i) >> 31 & 1;
|
|
2588
2588
|
}
|
|
2589
|
-
function ye(
|
|
2590
|
-
let
|
|
2591
|
-
const s = A >>> 31, o = t[e] | s, a = o | r, h = (o &
|
|
2592
|
-
let l = r | ~(h |
|
|
2593
|
-
const g = Ht(l &
|
|
2594
|
-
return l <<= 1, c <<= 1, c |= s, l |= Ht(A) - s,
|
|
2589
|
+
function ye(i, t, e, A) {
|
|
2590
|
+
let n = i.P[e], r = i.M[e];
|
|
2591
|
+
const s = A >>> 31, o = t[e] | s, a = o | r, h = (o & n) + n ^ n | o;
|
|
2592
|
+
let l = r | ~(h | n), c = n & h;
|
|
2593
|
+
const g = Ht(l & i.lastRowMask[e]) - Ht(c & i.lastRowMask[e]);
|
|
2594
|
+
return l <<= 1, c <<= 1, c |= s, l |= Ht(A) - s, n = c | ~(a | l), r = l & a, i.P[e] = n, i.M[e] = r, g;
|
|
2595
2595
|
}
|
|
2596
|
-
function oA(
|
|
2596
|
+
function oA(i, t, e) {
|
|
2597
2597
|
if (t.length === 0)
|
|
2598
2598
|
return [];
|
|
2599
2599
|
e = Math.min(e, t.length);
|
|
2600
|
-
const A = [],
|
|
2600
|
+
const A = [], n = 32, r = Math.ceil(t.length / n) - 1, s = {
|
|
2601
2601
|
P: new Uint32Array(r + 1),
|
|
2602
2602
|
M: new Uint32Array(r + 1),
|
|
2603
2603
|
lastRowMask: new Uint32Array(r + 1)
|
|
2604
2604
|
};
|
|
2605
|
-
s.lastRowMask.fill(1 << 31), s.lastRowMask[r] = 1 << (t.length - 1) %
|
|
2605
|
+
s.lastRowMask.fill(1 << 31), s.lastRowMask[r] = 1 << (t.length - 1) % n;
|
|
2606
2606
|
const o = new Uint32Array(r + 1), a = /* @__PURE__ */ new Map(), h = [];
|
|
2607
2607
|
for (let g = 0; g < 256; g++)
|
|
2608
2608
|
h.push(o);
|
|
@@ -2614,21 +2614,21 @@ function oA(n, t, e) {
|
|
|
2614
2614
|
a.set(m, M), m < h.length && (h[m] = M);
|
|
2615
2615
|
for (let B = 0; B <= r; B += 1) {
|
|
2616
2616
|
M[B] = 0;
|
|
2617
|
-
for (let E = 0; E <
|
|
2618
|
-
const f = B *
|
|
2617
|
+
for (let E = 0; E < n; E += 1) {
|
|
2618
|
+
const f = B * n + E;
|
|
2619
2619
|
f >= t.length || t.charCodeAt(f) === m && (M[B] |= 1 << E);
|
|
2620
2620
|
}
|
|
2621
2621
|
}
|
|
2622
2622
|
}
|
|
2623
|
-
let l = Math.max(0, Math.ceil(e /
|
|
2623
|
+
let l = Math.max(0, Math.ceil(e / n) - 1);
|
|
2624
2624
|
const c = new Uint32Array(r + 1);
|
|
2625
2625
|
for (let g = 0; g <= l; g += 1)
|
|
2626
|
-
c[g] = (g + 1) *
|
|
2626
|
+
c[g] = (g + 1) * n;
|
|
2627
2627
|
c[r] = t.length;
|
|
2628
2628
|
for (let g = 0; g <= l; g += 1)
|
|
2629
2629
|
s.P[g] = -1, s.M[g] = 0;
|
|
2630
|
-
for (let g = 0; g <
|
|
2631
|
-
const m =
|
|
2630
|
+
for (let g = 0; g < i.length; g += 1) {
|
|
2631
|
+
const m = i.charCodeAt(g);
|
|
2632
2632
|
let M;
|
|
2633
2633
|
m < h.length ? M = h[m] : (M = a.get(m), typeof M > "u" && (M = o));
|
|
2634
2634
|
let B = 0;
|
|
@@ -2638,13 +2638,13 @@ function oA(n, t, e) {
|
|
|
2638
2638
|
l += 1, s.P[l] = -1, s.M[l] = 0;
|
|
2639
2639
|
let E;
|
|
2640
2640
|
if (l === r) {
|
|
2641
|
-
const f = t.length %
|
|
2642
|
-
E = f === 0 ?
|
|
2641
|
+
const f = t.length % n;
|
|
2642
|
+
E = f === 0 ? n : f;
|
|
2643
2643
|
} else
|
|
2644
|
-
E =
|
|
2644
|
+
E = n;
|
|
2645
2645
|
c[l] = c[l - 1] + E - B + ye(s, M, l, B);
|
|
2646
2646
|
} else
|
|
2647
|
-
for (; l > 0 && c[l] >= e +
|
|
2647
|
+
for (; l > 0 && c[l] >= e + n; )
|
|
2648
2648
|
l -= 1;
|
|
2649
2649
|
l === r && c[l] <= e && (c[l] < e && A.splice(0, A.length), A.push({
|
|
2650
2650
|
start: -1,
|
|
@@ -2654,67 +2654,67 @@ function oA(n, t, e) {
|
|
|
2654
2654
|
}
|
|
2655
2655
|
return A;
|
|
2656
2656
|
}
|
|
2657
|
-
function ci(
|
|
2658
|
-
const A = oA(
|
|
2659
|
-
return li(
|
|
2657
|
+
function ci(i, t, e) {
|
|
2658
|
+
const A = oA(i, t, e);
|
|
2659
|
+
return li(i, t, A);
|
|
2660
2660
|
}
|
|
2661
|
-
function aA(
|
|
2661
|
+
function aA(i, t, e) {
|
|
2662
2662
|
let A = 0;
|
|
2663
|
-
const
|
|
2663
|
+
const n = [];
|
|
2664
2664
|
for (; A !== -1; )
|
|
2665
|
-
A =
|
|
2665
|
+
A = i.indexOf(t, A), A !== -1 && (n.push({
|
|
2666
2666
|
start: A,
|
|
2667
2667
|
end: A + t.length,
|
|
2668
2668
|
errors: 0
|
|
2669
2669
|
}), A += 1);
|
|
2670
|
-
return
|
|
2670
|
+
return n.length > 0 ? n : ci(i, t, e);
|
|
2671
2671
|
}
|
|
2672
|
-
function Ce(
|
|
2673
|
-
return t.length === 0 ||
|
|
2672
|
+
function Ce(i, t) {
|
|
2673
|
+
return t.length === 0 || i.length === 0 ? 0 : 1 - aA(i, t, t.length)[0].errors / t.length;
|
|
2674
2674
|
}
|
|
2675
|
-
function gi(
|
|
2675
|
+
function gi(i, t, e = {}) {
|
|
2676
2676
|
if (t.length === 0)
|
|
2677
2677
|
return null;
|
|
2678
|
-
const A = Math.min(256, t.length / 2),
|
|
2679
|
-
if (
|
|
2678
|
+
const A = Math.min(256, t.length / 2), n = aA(i, t, A);
|
|
2679
|
+
if (n.length === 0)
|
|
2680
2680
|
return null;
|
|
2681
2681
|
const r = (o) => {
|
|
2682
2682
|
const a = 1 - o.errors / t.length, h = e.prefix ? Ce(
|
|
2683
|
-
|
|
2683
|
+
i.slice(
|
|
2684
2684
|
Math.max(0, o.start - e.prefix.length),
|
|
2685
2685
|
o.start
|
|
2686
2686
|
),
|
|
2687
2687
|
e.prefix
|
|
2688
2688
|
) : 1, l = e.suffix ? Ce(
|
|
2689
|
-
|
|
2689
|
+
i.slice(o.end, o.end + e.suffix.length),
|
|
2690
2690
|
e.suffix
|
|
2691
2691
|
) : 1;
|
|
2692
2692
|
let c = 1;
|
|
2693
|
-
typeof e.hint == "number" && (c = 1 - Math.abs(o.start - e.hint) /
|
|
2693
|
+
typeof e.hint == "number" && (c = 1 - Math.abs(o.start - e.hint) / i.length);
|
|
2694
2694
|
const g = 50 * a + 20 * h + 20 * l + 2 * c, m = 50 + 20 + 20 + 2;
|
|
2695
2695
|
return g / m;
|
|
2696
|
-
}, s =
|
|
2696
|
+
}, s = n.map((o) => ({
|
|
2697
2697
|
start: o.start,
|
|
2698
2698
|
end: o.end,
|
|
2699
2699
|
score: r(o)
|
|
2700
2700
|
}));
|
|
2701
2701
|
return s.sort((o, a) => a.score - o.score), s[0];
|
|
2702
2702
|
}
|
|
2703
|
-
function Xt(
|
|
2703
|
+
function Xt(i, t, e) {
|
|
2704
2704
|
const A = e === 1 ? t : t - 1;
|
|
2705
|
-
if (
|
|
2705
|
+
if (i.charAt(A).trim() !== "")
|
|
2706
2706
|
return t;
|
|
2707
|
-
let
|
|
2708
|
-
if (e === 2 ? (
|
|
2707
|
+
let n, r;
|
|
2708
|
+
if (e === 2 ? (n = i.substring(0, t), r = n.trimEnd()) : (n = i.substring(t), r = n.trimStart()), !r.length)
|
|
2709
2709
|
return -1;
|
|
2710
|
-
const s =
|
|
2710
|
+
const s = n.length - r.length;
|
|
2711
2711
|
return e === 2 ? t - s : t + s;
|
|
2712
2712
|
}
|
|
2713
|
-
function Re(
|
|
2714
|
-
const e =
|
|
2715
|
-
|
|
2713
|
+
function Re(i, t) {
|
|
2714
|
+
const e = i.commonAncestorContainer.ownerDocument.createNodeIterator(
|
|
2715
|
+
i.commonAncestorContainer,
|
|
2716
2716
|
NodeFilter.SHOW_TEXT
|
|
2717
|
-
), A = t === 1 ?
|
|
2717
|
+
), A = t === 1 ? i.startContainer : i.endContainer, n = t === 1 ? i.endContainer : i.startContainer;
|
|
2718
2718
|
let r = e.nextNode();
|
|
2719
2719
|
for (; r && r !== A; )
|
|
2720
2720
|
r = e.nextNode();
|
|
@@ -2726,36 +2726,36 @@ function Re(n, t) {
|
|
|
2726
2726
|
s = Xt(a, h, t);
|
|
2727
2727
|
}
|
|
2728
2728
|
};
|
|
2729
|
-
for (; r && s === -1 && r !==
|
|
2729
|
+
for (; r && s === -1 && r !== n; )
|
|
2730
2730
|
o();
|
|
2731
2731
|
if (r && s >= 0)
|
|
2732
2732
|
return { node: r, offset: s };
|
|
2733
2733
|
throw new RangeError("No text nodes with non-whitespace text found in range");
|
|
2734
2734
|
}
|
|
2735
|
-
function di(
|
|
2736
|
-
if (!
|
|
2735
|
+
function di(i) {
|
|
2736
|
+
if (!i.toString().trim().length)
|
|
2737
2737
|
throw new RangeError("Range contains no non-whitespace text");
|
|
2738
|
-
if (
|
|
2738
|
+
if (i.startContainer.nodeType !== Node.TEXT_NODE)
|
|
2739
2739
|
throw new RangeError("Range startContainer is not a text node");
|
|
2740
|
-
if (
|
|
2740
|
+
if (i.endContainer.nodeType !== Node.TEXT_NODE)
|
|
2741
2741
|
throw new RangeError("Range endContainer is not a text node");
|
|
2742
|
-
const t =
|
|
2742
|
+
const t = i.cloneRange();
|
|
2743
2743
|
let e = !1, A = !1;
|
|
2744
|
-
const
|
|
2744
|
+
const n = {
|
|
2745
2745
|
start: Xt(
|
|
2746
|
-
|
|
2747
|
-
|
|
2746
|
+
i.startContainer.textContent,
|
|
2747
|
+
i.startOffset,
|
|
2748
2748
|
1
|
|
2749
2749
|
/* Forwards */
|
|
2750
2750
|
),
|
|
2751
2751
|
end: Xt(
|
|
2752
|
-
|
|
2753
|
-
|
|
2752
|
+
i.endContainer.textContent,
|
|
2753
|
+
i.endOffset,
|
|
2754
2754
|
2
|
|
2755
2755
|
/* Backwards */
|
|
2756
2756
|
)
|
|
2757
2757
|
};
|
|
2758
|
-
if (
|
|
2758
|
+
if (n.start >= 0 && (t.setStart(i.startContainer, n.start), e = !0), n.end > 0 && (t.setEnd(i.endContainer, n.end), A = !0), e && A)
|
|
2759
2759
|
return t;
|
|
2760
2760
|
if (!e) {
|
|
2761
2761
|
const { node: r, offset: s } = Re(
|
|
@@ -2775,36 +2775,36 @@ function di(n) {
|
|
|
2775
2775
|
}
|
|
2776
2776
|
return t;
|
|
2777
2777
|
}
|
|
2778
|
-
function hA(
|
|
2778
|
+
function hA(i) {
|
|
2779
2779
|
var t;
|
|
2780
|
-
switch (
|
|
2780
|
+
switch (i.nodeType) {
|
|
2781
2781
|
case Node.ELEMENT_NODE:
|
|
2782
2782
|
case Node.TEXT_NODE:
|
|
2783
|
-
return ((t =
|
|
2783
|
+
return ((t = i.textContent) == null ? void 0 : t.length) ?? 0;
|
|
2784
2784
|
default:
|
|
2785
2785
|
return 0;
|
|
2786
2786
|
}
|
|
2787
2787
|
}
|
|
2788
|
-
function Qe(
|
|
2789
|
-
let t =
|
|
2788
|
+
function Qe(i) {
|
|
2789
|
+
let t = i.previousSibling, e = 0;
|
|
2790
2790
|
for (; t; )
|
|
2791
2791
|
e += hA(t), t = t.previousSibling;
|
|
2792
2792
|
return e;
|
|
2793
2793
|
}
|
|
2794
|
-
function lA(
|
|
2794
|
+
function lA(i, ...t) {
|
|
2795
2795
|
let e = t.shift();
|
|
2796
|
-
const A =
|
|
2797
|
-
|
|
2796
|
+
const A = i.ownerDocument.createNodeIterator(
|
|
2797
|
+
i,
|
|
2798
2798
|
NodeFilter.SHOW_TEXT
|
|
2799
|
-
),
|
|
2799
|
+
), n = [];
|
|
2800
2800
|
let r = A.nextNode(), s, o = 0;
|
|
2801
2801
|
for (; e !== void 0 && r; )
|
|
2802
|
-
s = r, o + s.data.length > e ? (
|
|
2802
|
+
s = r, o + s.data.length > e ? (n.push({ node: s, offset: e - o }), e = t.shift()) : (r = A.nextNode(), o += s.data.length);
|
|
2803
2803
|
for (; e !== void 0 && s && o === e; )
|
|
2804
|
-
|
|
2804
|
+
n.push({ node: s, offset: s.data.length }), e = t.shift();
|
|
2805
2805
|
if (e !== void 0)
|
|
2806
2806
|
throw new RangeError("Offset exceeds text length");
|
|
2807
|
-
return
|
|
2807
|
+
return n;
|
|
2808
2808
|
}
|
|
2809
2809
|
class O {
|
|
2810
2810
|
constructor(t, e) {
|
|
@@ -2853,10 +2853,10 @@ class O {
|
|
|
2853
2853
|
NodeFilter.SHOW_TEXT
|
|
2854
2854
|
);
|
|
2855
2855
|
A.currentNode = this.element;
|
|
2856
|
-
const
|
|
2856
|
+
const n = t.direction === 1, r = n ? A.nextNode() : A.previousNode();
|
|
2857
2857
|
if (!r)
|
|
2858
2858
|
throw e;
|
|
2859
|
-
return { node: r, offset:
|
|
2859
|
+
return { node: r, offset: n ? 0 : r.data.length };
|
|
2860
2860
|
} else
|
|
2861
2861
|
throw e;
|
|
2862
2862
|
}
|
|
@@ -2895,8 +2895,8 @@ class O {
|
|
|
2895
2895
|
if (e < 0 || e > t.childNodes.length)
|
|
2896
2896
|
throw new Error("Child node offset is out of range");
|
|
2897
2897
|
let A = 0;
|
|
2898
|
-
for (let
|
|
2899
|
-
A += hA(t.childNodes[
|
|
2898
|
+
for (let n = 0; n < e; n++)
|
|
2899
|
+
A += hA(t.childNodes[n]);
|
|
2900
2900
|
return new O(t, A);
|
|
2901
2901
|
}
|
|
2902
2902
|
default:
|
|
@@ -3011,15 +3011,15 @@ class zt {
|
|
|
3011
3011
|
* Will throw if `range` does not contain any text nodes.
|
|
3012
3012
|
*/
|
|
3013
3013
|
static fromRange(t, e) {
|
|
3014
|
-
const A = t.textContent,
|
|
3014
|
+
const A = t.textContent, n = _.fromRange(e).relativeTo(t), r = n.start.offset, s = n.end.offset, o = 32;
|
|
3015
3015
|
return new zt(t, A.slice(r, s), {
|
|
3016
3016
|
prefix: A.slice(Math.max(0, r - o), r),
|
|
3017
3017
|
suffix: A.slice(s, Math.min(A.length, s + o))
|
|
3018
3018
|
});
|
|
3019
3019
|
}
|
|
3020
3020
|
static fromSelector(t, e) {
|
|
3021
|
-
const { prefix: A, suffix:
|
|
3022
|
-
return new zt(t, e.exact, { prefix: A, suffix:
|
|
3021
|
+
const { prefix: A, suffix: n } = e;
|
|
3022
|
+
return new zt(t, e.exact, { prefix: A, suffix: n });
|
|
3023
3023
|
}
|
|
3024
3024
|
toSelector() {
|
|
3025
3025
|
return {
|
|
@@ -3042,17 +3042,17 @@ class zt {
|
|
|
3042
3042
|
return new Yt(this.root, A.start, A.end);
|
|
3043
3043
|
}
|
|
3044
3044
|
}
|
|
3045
|
-
function ui(
|
|
3046
|
-
const t =
|
|
3045
|
+
function ui(i) {
|
|
3046
|
+
const t = i.tagName.toUpperCase();
|
|
3047
3047
|
return t === "IMG" || t === "VIDEO" || t === "AUDIO" || t === "IFRAME" || t === "OBJECT" || t === "EMBED" || t === "CANVAS";
|
|
3048
3048
|
}
|
|
3049
|
-
function he(
|
|
3049
|
+
function he(i, t) {
|
|
3050
3050
|
try {
|
|
3051
3051
|
const e = t.locations, A = t.text;
|
|
3052
3052
|
if (A && A.highlight) {
|
|
3053
|
-
let
|
|
3054
|
-
e && e.getCssSelector() && (
|
|
3055
|
-
const r = new zt(
|
|
3053
|
+
let n;
|
|
3054
|
+
e && e.getCssSelector() && (n = i.querySelector(e.getCssSelector())), n || (n = i.body);
|
|
3055
|
+
const r = new zt(n, A.highlight, {
|
|
3056
3056
|
prefix: A.before,
|
|
3057
3057
|
suffix: A.after
|
|
3058
3058
|
});
|
|
@@ -3063,15 +3063,15 @@ function he(n, t) {
|
|
|
3063
3063
|
}
|
|
3064
3064
|
}
|
|
3065
3065
|
if (e) {
|
|
3066
|
-
let
|
|
3067
|
-
if (!
|
|
3066
|
+
let n = null;
|
|
3067
|
+
if (!n && e.getCssSelector() && (n = i.querySelector(e.getCssSelector())), !n && e.fragments) {
|
|
3068
3068
|
for (const r of e.fragments)
|
|
3069
|
-
if (
|
|
3069
|
+
if (n = i.getElementById(r), n)
|
|
3070
3070
|
break;
|
|
3071
3071
|
}
|
|
3072
|
-
if (
|
|
3073
|
-
const r =
|
|
3074
|
-
return
|
|
3072
|
+
if (n) {
|
|
3073
|
+
const r = i.createRange();
|
|
3074
|
+
return n.childNodes.length === 0 || ui(n) ? (r.selectNode(n), r) : (r.setStartBefore(n), r.setEndAfter(n), r);
|
|
3075
3075
|
}
|
|
3076
3076
|
}
|
|
3077
3077
|
} catch (e) {
|
|
@@ -3079,12 +3079,12 @@ function he(n, t) {
|
|
|
3079
3079
|
}
|
|
3080
3080
|
return null;
|
|
3081
3081
|
}
|
|
3082
|
-
function mi(
|
|
3083
|
-
let e =
|
|
3084
|
-
e.length ||
|
|
3085
|
-
const A = 1,
|
|
3082
|
+
function mi(i, t) {
|
|
3083
|
+
let e = i.getClientRects();
|
|
3084
|
+
e.length || i.commonAncestorContainer.nodeType === Node.ELEMENT_NODE && (e = i.commonAncestorContainer.getClientRects());
|
|
3085
|
+
const A = 1, n = [];
|
|
3086
3086
|
for (const h of e)
|
|
3087
|
-
|
|
3087
|
+
n.push({
|
|
3088
3088
|
bottom: h.bottom,
|
|
3089
3089
|
height: h.height,
|
|
3090
3090
|
left: h.left,
|
|
@@ -3093,7 +3093,7 @@ function mi(n, t) {
|
|
|
3093
3093
|
width: h.width
|
|
3094
3094
|
});
|
|
3095
3095
|
const r = cA(
|
|
3096
|
-
|
|
3096
|
+
n,
|
|
3097
3097
|
A,
|
|
3098
3098
|
t
|
|
3099
3099
|
), s = fi(r, A), o = gA(s), a = 2 * 2;
|
|
@@ -3107,15 +3107,15 @@ function mi(n, t) {
|
|
|
3107
3107
|
}
|
|
3108
3108
|
return o;
|
|
3109
3109
|
}
|
|
3110
|
-
function cA(
|
|
3111
|
-
for (let A = 0; A <
|
|
3112
|
-
for (let
|
|
3113
|
-
const r =
|
|
3110
|
+
function cA(i, t, e) {
|
|
3111
|
+
for (let A = 0; A < i.length; A++)
|
|
3112
|
+
for (let n = A + 1; n < i.length; n++) {
|
|
3113
|
+
const r = i[A], s = i[n];
|
|
3114
3114
|
if (r === s)
|
|
3115
3115
|
continue;
|
|
3116
3116
|
const o = G(r.top, s.top, t) && G(r.bottom, s.bottom, t), a = G(r.left, s.left, t) && G(r.right, s.right, t);
|
|
3117
3117
|
if ((a && !e || o && !a) && dA(r, s, t)) {
|
|
3118
|
-
const h =
|
|
3118
|
+
const h = i.filter((c) => c !== r && c !== s), l = Mi(r, s);
|
|
3119
3119
|
return h.push(l), cA(
|
|
3120
3120
|
h,
|
|
3121
3121
|
t,
|
|
@@ -3123,153 +3123,153 @@ function cA(n, t, e) {
|
|
|
3123
3123
|
);
|
|
3124
3124
|
}
|
|
3125
3125
|
}
|
|
3126
|
-
return
|
|
3126
|
+
return i;
|
|
3127
3127
|
}
|
|
3128
|
-
function Mi(
|
|
3129
|
-
const e = Math.min(
|
|
3128
|
+
function Mi(i, t) {
|
|
3129
|
+
const e = Math.min(i.left, t.left), A = Math.max(i.right, t.right), n = Math.min(i.top, t.top), r = Math.max(i.bottom, t.bottom);
|
|
3130
3130
|
return {
|
|
3131
3131
|
bottom: r,
|
|
3132
|
-
height: r -
|
|
3132
|
+
height: r - n,
|
|
3133
3133
|
left: e,
|
|
3134
3134
|
right: A,
|
|
3135
|
-
top:
|
|
3135
|
+
top: n,
|
|
3136
3136
|
width: A - e
|
|
3137
3137
|
};
|
|
3138
3138
|
}
|
|
3139
|
-
function fi(
|
|
3140
|
-
const e = new Set(
|
|
3141
|
-
for (const A of
|
|
3139
|
+
function fi(i, t) {
|
|
3140
|
+
const e = new Set(i);
|
|
3141
|
+
for (const A of i) {
|
|
3142
3142
|
if (!(A.width > 1 && A.height > 1)) {
|
|
3143
3143
|
e.delete(A);
|
|
3144
3144
|
continue;
|
|
3145
3145
|
}
|
|
3146
|
-
for (const
|
|
3147
|
-
if (A !==
|
|
3146
|
+
for (const n of i)
|
|
3147
|
+
if (A !== n && e.has(n) && pi(n, A, t)) {
|
|
3148
3148
|
e.delete(A);
|
|
3149
3149
|
break;
|
|
3150
3150
|
}
|
|
3151
3151
|
}
|
|
3152
3152
|
return Array.from(e);
|
|
3153
3153
|
}
|
|
3154
|
-
function pi(
|
|
3155
|
-
return wt(
|
|
3154
|
+
function pi(i, t, e) {
|
|
3155
|
+
return wt(i, t.left, t.top, e) && wt(i, t.right, t.top, e) && wt(i, t.left, t.bottom, e) && wt(i, t.right, t.bottom, e);
|
|
3156
3156
|
}
|
|
3157
|
-
function wt(
|
|
3158
|
-
return (
|
|
3157
|
+
function wt(i, t, e, A) {
|
|
3158
|
+
return (i.left < t || G(i.left, t, A)) && (i.right > t || G(i.right, t, A)) && (i.top < e || G(i.top, e, A)) && (i.bottom > e || G(i.bottom, e, A));
|
|
3159
3159
|
}
|
|
3160
|
-
function gA(
|
|
3161
|
-
for (let t = 0; t <
|
|
3162
|
-
for (let e = t + 1; e <
|
|
3163
|
-
const A =
|
|
3164
|
-
if (A !==
|
|
3160
|
+
function gA(i) {
|
|
3161
|
+
for (let t = 0; t < i.length; t++)
|
|
3162
|
+
for (let e = t + 1; e < i.length; e++) {
|
|
3163
|
+
const A = i[t], n = i[e];
|
|
3164
|
+
if (A !== n && dA(A, n, -1)) {
|
|
3165
3165
|
let r = [], s;
|
|
3166
|
-
const o = Ye(A,
|
|
3166
|
+
const o = Ye(A, n);
|
|
3167
3167
|
if (o.length === 1)
|
|
3168
3168
|
r = o, s = A;
|
|
3169
3169
|
else {
|
|
3170
|
-
const h = Ye(
|
|
3171
|
-
o.length < h.length ? (r = o, s = A) : (r = h, s =
|
|
3170
|
+
const h = Ye(n, A);
|
|
3171
|
+
o.length < h.length ? (r = o, s = A) : (r = h, s = n);
|
|
3172
3172
|
}
|
|
3173
|
-
const a =
|
|
3173
|
+
const a = i.filter((h) => h !== s);
|
|
3174
3174
|
return Array.prototype.push.apply(a, r), gA(a);
|
|
3175
3175
|
}
|
|
3176
3176
|
}
|
|
3177
|
-
return
|
|
3177
|
+
return i;
|
|
3178
3178
|
}
|
|
3179
|
-
function Ye(
|
|
3180
|
-
const e = Bi(t,
|
|
3179
|
+
function Ye(i, t) {
|
|
3180
|
+
const e = Bi(t, i);
|
|
3181
3181
|
if (e.height === 0 || e.width === 0)
|
|
3182
|
-
return [
|
|
3182
|
+
return [i];
|
|
3183
3183
|
const A = [];
|
|
3184
3184
|
{
|
|
3185
|
-
const
|
|
3186
|
-
bottom:
|
|
3185
|
+
const n = {
|
|
3186
|
+
bottom: i.bottom,
|
|
3187
3187
|
height: 0,
|
|
3188
|
-
left:
|
|
3188
|
+
left: i.left,
|
|
3189
3189
|
right: e.left,
|
|
3190
|
-
top:
|
|
3190
|
+
top: i.top,
|
|
3191
3191
|
width: 0
|
|
3192
3192
|
};
|
|
3193
|
-
|
|
3193
|
+
n.width = n.right - n.left, n.height = n.bottom - n.top, n.height !== 0 && n.width !== 0 && A.push(n);
|
|
3194
3194
|
}
|
|
3195
3195
|
{
|
|
3196
|
-
const
|
|
3196
|
+
const n = {
|
|
3197
3197
|
bottom: e.top,
|
|
3198
3198
|
height: 0,
|
|
3199
3199
|
left: e.left,
|
|
3200
3200
|
right: e.right,
|
|
3201
|
-
top:
|
|
3201
|
+
top: i.top,
|
|
3202
3202
|
width: 0
|
|
3203
3203
|
};
|
|
3204
|
-
|
|
3204
|
+
n.width = n.right - n.left, n.height = n.bottom - n.top, n.height !== 0 && n.width !== 0 && A.push(n);
|
|
3205
3205
|
}
|
|
3206
3206
|
{
|
|
3207
|
-
const
|
|
3208
|
-
bottom:
|
|
3207
|
+
const n = {
|
|
3208
|
+
bottom: i.bottom,
|
|
3209
3209
|
height: 0,
|
|
3210
3210
|
left: e.left,
|
|
3211
3211
|
right: e.right,
|
|
3212
3212
|
top: e.bottom,
|
|
3213
3213
|
width: 0
|
|
3214
3214
|
};
|
|
3215
|
-
|
|
3215
|
+
n.width = n.right - n.left, n.height = n.bottom - n.top, n.height !== 0 && n.width !== 0 && A.push(n);
|
|
3216
3216
|
}
|
|
3217
3217
|
{
|
|
3218
|
-
const
|
|
3219
|
-
bottom:
|
|
3218
|
+
const n = {
|
|
3219
|
+
bottom: i.bottom,
|
|
3220
3220
|
height: 0,
|
|
3221
3221
|
left: e.right,
|
|
3222
|
-
right:
|
|
3223
|
-
top:
|
|
3222
|
+
right: i.right,
|
|
3223
|
+
top: i.top,
|
|
3224
3224
|
width: 0
|
|
3225
3225
|
};
|
|
3226
|
-
|
|
3226
|
+
n.width = n.right - n.left, n.height = n.bottom - n.top, n.height !== 0 && n.width !== 0 && A.push(n);
|
|
3227
3227
|
}
|
|
3228
3228
|
return A;
|
|
3229
3229
|
}
|
|
3230
|
-
function Bi(
|
|
3231
|
-
const e = Math.max(
|
|
3230
|
+
function Bi(i, t) {
|
|
3231
|
+
const e = Math.max(i.left, t.left), A = Math.min(i.right, t.right), n = Math.max(i.top, t.top), r = Math.min(i.bottom, t.bottom);
|
|
3232
3232
|
return {
|
|
3233
3233
|
bottom: r,
|
|
3234
|
-
height: Math.max(0, r -
|
|
3234
|
+
height: Math.max(0, r - n),
|
|
3235
3235
|
left: e,
|
|
3236
3236
|
right: A,
|
|
3237
|
-
top:
|
|
3237
|
+
top: n,
|
|
3238
3238
|
width: Math.max(0, A - e)
|
|
3239
3239
|
};
|
|
3240
3240
|
}
|
|
3241
|
-
function dA(
|
|
3242
|
-
return (
|
|
3241
|
+
function dA(i, t, e) {
|
|
3242
|
+
return (i.left < t.right || e >= 0 && G(i.left, t.right, e)) && (t.left < i.right || e >= 0 && G(t.left, i.right, e)) && (i.top < t.bottom || e >= 0 && G(i.top, t.bottom, e)) && (t.top < i.bottom || e >= 0 && G(t.top, i.bottom, e));
|
|
3243
3243
|
}
|
|
3244
|
-
function G(
|
|
3245
|
-
return Math.abs(
|
|
3244
|
+
function G(i, t, e) {
|
|
3245
|
+
return Math.abs(i - t) <= e;
|
|
3246
3246
|
}
|
|
3247
|
-
function uA(
|
|
3248
|
-
const t = {}, e =
|
|
3249
|
-
for (const A in
|
|
3247
|
+
function uA(i) {
|
|
3248
|
+
const t = {}, e = i.document.documentElement.style;
|
|
3249
|
+
for (const A in i.document.documentElement.style)
|
|
3250
3250
|
Object.hasOwn(e, A) && !Number.isNaN(Number.parseInt(A)) && (t[e[A]] = e.getPropertyValue(e[A]));
|
|
3251
3251
|
return t;
|
|
3252
3252
|
}
|
|
3253
|
-
function Ei(
|
|
3254
|
-
const e = uA(
|
|
3253
|
+
function Ei(i, t) {
|
|
3254
|
+
const e = uA(i);
|
|
3255
3255
|
Object.keys(e).forEach((A) => {
|
|
3256
|
-
t.hasOwnProperty(A) || le(
|
|
3257
|
-
}), Object.entries(t).forEach(([A,
|
|
3258
|
-
e[A] !==
|
|
3256
|
+
t.hasOwnProperty(A) || le(i, A);
|
|
3257
|
+
}), Object.entries(t).forEach(([A, n]) => {
|
|
3258
|
+
e[A] !== n && Nt(i, A, n);
|
|
3259
3259
|
});
|
|
3260
3260
|
}
|
|
3261
|
-
function ze(
|
|
3262
|
-
return
|
|
3261
|
+
function ze(i, t) {
|
|
3262
|
+
return i.document.documentElement.style.getPropertyValue(t);
|
|
3263
3263
|
}
|
|
3264
|
-
function Nt(
|
|
3265
|
-
|
|
3264
|
+
function Nt(i, t, e) {
|
|
3265
|
+
i.document.documentElement.style.setProperty(t, e);
|
|
3266
3266
|
}
|
|
3267
|
-
function le(
|
|
3268
|
-
|
|
3267
|
+
function le(i, t) {
|
|
3268
|
+
i.document.documentElement.style.removeProperty(t);
|
|
3269
3269
|
}
|
|
3270
|
-
const wi = (
|
|
3271
|
-
if (
|
|
3272
|
-
const t =
|
|
3270
|
+
const wi = (i) => {
|
|
3271
|
+
if (i.startsWith("rgb")) {
|
|
3272
|
+
const t = i.match(/rgb\((\d+),\s(\d+),\s(\d+)(?:,\s(\d+))?\)/);
|
|
3273
3273
|
if (t)
|
|
3274
3274
|
return {
|
|
3275
3275
|
r: parseInt(t[1], 10),
|
|
@@ -3277,8 +3277,8 @@ const wi = (n) => {
|
|
|
3277
3277
|
b: parseInt(t[3], 10),
|
|
3278
3278
|
a: t[4] ? parseInt(t[4], 10) / 255 : 1
|
|
3279
3279
|
};
|
|
3280
|
-
} else if (
|
|
3281
|
-
const t =
|
|
3280
|
+
} else if (i.startsWith("#")) {
|
|
3281
|
+
const t = i.slice(1);
|
|
3282
3282
|
if (t.length === 3 || t.length === 4)
|
|
3283
3283
|
return {
|
|
3284
3284
|
r: parseInt(t[0] + t[0], 16) / 255,
|
|
@@ -3295,8 +3295,8 @@ const wi = (n) => {
|
|
|
3295
3295
|
};
|
|
3296
3296
|
}
|
|
3297
3297
|
return { r: 0, g: 0, b: 0, a: 1 };
|
|
3298
|
-
}, Ii = (
|
|
3299
|
-
const t = wi(
|
|
3298
|
+
}, Ii = (i) => 0.2126 * i.r * i.a + 0.7152 * i.g * i.a + 0.0722 * i.b * i.a, Fi = (i) => {
|
|
3299
|
+
const t = wi(i);
|
|
3300
3300
|
return Ii(t) < 128;
|
|
3301
3301
|
}, Ui = "Highlight" in window, Ne = ["IMG", "IMAGE", "AUDIO", "VIDEO", "SVG"];
|
|
3302
3302
|
class yi {
|
|
@@ -3305,8 +3305,8 @@ class yi {
|
|
|
3305
3305
|
* @param id Unique HTML ID-adhering name of the group
|
|
3306
3306
|
* @param name Human-readable name of the group
|
|
3307
3307
|
*/
|
|
3308
|
-
constructor(t, e, A,
|
|
3309
|
-
this.wnd = t, this.comms = e, this.id = A, this.name =
|
|
3308
|
+
constructor(t, e, A, n) {
|
|
3309
|
+
this.wnd = t, this.comms = e, this.id = A, this.name = n, this.items = [], this.lastItemId = 0, this.container = void 0, this.activateable = !1, this.experimentalHighlights = !1, this.currentRender = 0, Ui && (this.experimentalHighlights = !0, this.notTextFlag = /* @__PURE__ */ new Map());
|
|
3310
3310
|
}
|
|
3311
3311
|
get activeable() {
|
|
3312
3312
|
return this.activateable;
|
|
@@ -3319,14 +3319,14 @@ class yi {
|
|
|
3319
3319
|
* @param decoration Decoration to add
|
|
3320
3320
|
*/
|
|
3321
3321
|
add(t) {
|
|
3322
|
-
var e, A,
|
|
3322
|
+
var e, A, n, r;
|
|
3323
3323
|
const s = `${this.id}-${this.lastItemId++}`, o = he(this.wnd.document, t.locator);
|
|
3324
3324
|
if (!o) {
|
|
3325
3325
|
this.comms.log("Can't locate DOM range for decoration", t);
|
|
3326
3326
|
return;
|
|
3327
3327
|
}
|
|
3328
3328
|
const a = o.commonAncestorContainer;
|
|
3329
|
-
a.nodeType !== Node.TEXT_NODE && this.experimentalHighlights && (Ne.includes(a.nodeName.toUpperCase()) && ((e = this.notTextFlag) == null || e.set(s, !0)), a.querySelector(Ne.join(", ").toLowerCase()) && ((A = this.notTextFlag) == null || A.set(s, !0)), (((
|
|
3329
|
+
a.nodeType !== Node.TEXT_NODE && this.experimentalHighlights && (Ne.includes(a.nodeName.toUpperCase()) && ((e = this.notTextFlag) == null || e.set(s, !0)), a.querySelector(Ne.join(", ").toLowerCase()) && ((A = this.notTextFlag) == null || A.set(s, !0)), (((n = a.textContent) == null ? void 0 : n.trim()) || "").length === 0 && ((r = this.notTextFlag) == null || r.set(s, !0)));
|
|
3330
3330
|
const h = {
|
|
3331
3331
|
decoration: t,
|
|
3332
3332
|
id: s,
|
|
@@ -3340,11 +3340,11 @@ class yi {
|
|
|
3340
3340
|
*/
|
|
3341
3341
|
remove(t) {
|
|
3342
3342
|
var e, A;
|
|
3343
|
-
const
|
|
3344
|
-
if (
|
|
3343
|
+
const n = this.items.findIndex((s) => s.decoration.id === t);
|
|
3344
|
+
if (n < 0)
|
|
3345
3345
|
return;
|
|
3346
|
-
const r = this.items[
|
|
3347
|
-
if (this.items.splice(
|
|
3346
|
+
const r = this.items[n];
|
|
3347
|
+
if (this.items.splice(n, 1), r.clickableElements = void 0, r.container && (r.container.remove(), r.container = void 0), this.experimentalHighlights && !((e = this.notTextFlag) != null && e.has(r.id))) {
|
|
3348
3348
|
const s = this.wnd.CSS.highlights.get(this.id);
|
|
3349
3349
|
s == null || s.delete(r.range);
|
|
3350
3350
|
}
|
|
@@ -3373,8 +3373,8 @@ class yi {
|
|
|
3373
3373
|
}
|
|
3374
3374
|
experimentalLayout(t) {
|
|
3375
3375
|
var e, A;
|
|
3376
|
-
const [
|
|
3377
|
-
r.add(t.range),
|
|
3376
|
+
const [n, r] = this.requireContainer(!0);
|
|
3377
|
+
r.add(t.range), n.innerHTML = `
|
|
3378
3378
|
::highlight(${this.id}) {
|
|
3379
3379
|
color: black;
|
|
3380
3380
|
background-color: ${((A = (e = t.decoration) == null ? void 0 : e.style) == null ? void 0 : A.tint) ?? "yellow"};
|
|
@@ -3385,7 +3385,7 @@ class yi {
|
|
|
3385
3385
|
* @param item
|
|
3386
3386
|
*/
|
|
3387
3387
|
layout(t) {
|
|
3388
|
-
var e, A,
|
|
3388
|
+
var e, A, n, r, s;
|
|
3389
3389
|
if (this.experimentalHighlights && !((e = this.notTextFlag) != null && e.has(t.id)))
|
|
3390
3390
|
return this.experimentalLayout(t);
|
|
3391
3391
|
const o = this.wnd.document.createElement("div");
|
|
@@ -3415,7 +3415,7 @@ class yi {
|
|
|
3415
3415
|
<div
|
|
3416
3416
|
class="r2-highlight-0"
|
|
3417
3417
|
style="${[
|
|
3418
|
-
`background-color: ${((
|
|
3418
|
+
`background-color: ${((n = (A = t.decoration) == null ? void 0 : A.style) == null ? void 0 : n.tint) ?? "yellow"} !important`,
|
|
3419
3419
|
//"opacity: 0.3 !important",
|
|
3420
3420
|
`mix-blend-mode: ${f ? "exclusion" : "multiply"} !important`,
|
|
3421
3421
|
"opacity: 1 !important",
|
|
@@ -3487,7 +3487,7 @@ const mA = class Zt extends Dt {
|
|
|
3487
3487
|
}, 50);
|
|
3488
3488
|
}
|
|
3489
3489
|
mount(t, e) {
|
|
3490
|
-
return this.wnd = t, e.register("decorate", Zt.moduleName, (A,
|
|
3490
|
+
return this.wnd = t, e.register("decorate", Zt.moduleName, (A, n) => {
|
|
3491
3491
|
const r = A;
|
|
3492
3492
|
r.decoration && r.decoration.locator && (r.decoration.locator = tt.deserialize(r.decoration.locator)), this.groups.has(r.group) || this.groups.set(r.group, new yi(
|
|
3493
3493
|
t,
|
|
@@ -3510,7 +3510,7 @@ const mA = class Zt extends Dt {
|
|
|
3510
3510
|
s == null || s.update(r.decoration);
|
|
3511
3511
|
break;
|
|
3512
3512
|
}
|
|
3513
|
-
|
|
3513
|
+
n(!0);
|
|
3514
3514
|
}), this.resizeObserver = new ResizeObserver(() => t.requestAnimationFrame(() => this.handleResize())), this.resizeObserver.observe(t.document.body), t.addEventListener("orientationchange", this.handleResizer), t.addEventListener("resize", this.handleResizer), e.log("Decorator Mounted"), !0;
|
|
3515
3515
|
}
|
|
3516
3516
|
unmount(t, e) {
|
|
@@ -3532,9 +3532,9 @@ const Se = "readium-snapper-style", MA = class Kt extends Dt {
|
|
|
3532
3532
|
}
|
|
3533
3533
|
mount(t, e) {
|
|
3534
3534
|
const A = t.document.createElement("style");
|
|
3535
|
-
return A.dataset.readium = "true", A.id = Se, A.textContent = this.buildStyles(), t.document.head.appendChild(A), e.register("protect", Kt.moduleName, (
|
|
3535
|
+
return A.dataset.readium = "true", A.id = Se, A.textContent = this.buildStyles(), t.document.head.appendChild(A), e.register("protect", Kt.moduleName, (n, r) => {
|
|
3536
3536
|
this.protected = !0, A.textContent = this.buildStyles(), r(!0);
|
|
3537
|
-
}), e.register("unprotect", Kt.moduleName, (
|
|
3537
|
+
}), e.register("unprotect", Kt.moduleName, (n, r) => {
|
|
3538
3538
|
this.protected = !1, A.textContent = this.buildStyles(), r(!0);
|
|
3539
3539
|
}), e.log("Snapper Mounted"), !0;
|
|
3540
3540
|
}
|
|
@@ -3545,35 +3545,39 @@ const Se = "readium-snapper-style", MA = class Kt extends Dt {
|
|
|
3545
3545
|
};
|
|
3546
3546
|
MA.moduleName = "snapper";
|
|
3547
3547
|
let fA = MA;
|
|
3548
|
-
function et(
|
|
3549
|
-
return
|
|
3548
|
+
function et(i) {
|
|
3549
|
+
return i.document.body.dir.toLowerCase() === "rtl";
|
|
3550
3550
|
}
|
|
3551
|
-
function pA(
|
|
3551
|
+
function pA(i) {
|
|
3552
3552
|
return parseInt(
|
|
3553
|
-
|
|
3554
|
-
|
|
3553
|
+
i.getComputedStyle(
|
|
3554
|
+
i.document.documentElement
|
|
3555
3555
|
).getPropertyValue("column-count")
|
|
3556
3556
|
);
|
|
3557
3557
|
}
|
|
3558
|
-
function
|
|
3559
|
-
const t =
|
|
3558
|
+
function Ri(i) {
|
|
3559
|
+
const t = getComputedStyle(i), e = parseFloat(t.paddingTop || "0"), A = parseFloat(t.paddingBottom || "0");
|
|
3560
|
+
return i.clientHeight - e - A;
|
|
3561
|
+
}
|
|
3562
|
+
function xe(i) {
|
|
3563
|
+
const t = i.document.querySelectorAll("div[id^='readium-virtual-page']");
|
|
3560
3564
|
for (const o of t)
|
|
3561
3565
|
o.remove();
|
|
3562
|
-
const e = pA(
|
|
3566
|
+
const e = pA(i), A = i.document.scrollingElement.scrollWidth, n = Math.ceil(A / i.innerWidth) * e, r = Math.round(A / i.innerWidth * e), s = e === 1 ? 0 : n - r;
|
|
3563
3567
|
if (s > 0)
|
|
3564
3568
|
for (let o = 0; o < s; o++) {
|
|
3565
|
-
const a =
|
|
3566
|
-
a.setAttribute("id", `readium-virtual-page-${o}`), a.dataset.readium = "true", a.style.breakBefore = "column", a.innerHTML = "​",
|
|
3569
|
+
const a = i.document.createElement("div");
|
|
3570
|
+
a.setAttribute("id", `readium-virtual-page-${o}`), a.dataset.readium = "true", CSS.supports("break-before", "column") ? a.style.breakBefore = "column" : (CSS.supports("break-inside", "avoid-column") && (a.style.breakInside = "avoid-column"), a.style.height = Ri(i.document.documentElement) + "px"), a.innerHTML = "​", i.document.body.appendChild(a);
|
|
3567
3571
|
}
|
|
3568
3572
|
}
|
|
3569
|
-
function
|
|
3570
|
-
return
|
|
3573
|
+
function Qi(i) {
|
|
3574
|
+
return i < 0.5 ? 2 * i * i : -1 + (4 - 2 * i) * i;
|
|
3571
3575
|
}
|
|
3572
|
-
function x(
|
|
3573
|
-
const t =
|
|
3576
|
+
function x(i) {
|
|
3577
|
+
const t = i.getSelection();
|
|
3574
3578
|
t && t.removeAllRanges();
|
|
3575
3579
|
}
|
|
3576
|
-
const
|
|
3580
|
+
const Yi = [
|
|
3577
3581
|
"a",
|
|
3578
3582
|
"audio",
|
|
3579
3583
|
"button",
|
|
@@ -3587,12 +3591,12 @@ const Qi = [
|
|
|
3587
3591
|
"textarea",
|
|
3588
3592
|
"video"
|
|
3589
3593
|
];
|
|
3590
|
-
function BA(
|
|
3594
|
+
function BA(i) {
|
|
3591
3595
|
var t;
|
|
3592
|
-
return
|
|
3596
|
+
return Yi.indexOf(i.nodeName.toLowerCase()) !== -1 || i.hasAttribute("contenteditable") && ((t = i.getAttribute("contenteditable")) == null ? void 0 : t.toLowerCase()) !== "false" ? i : i.parentElement ? BA(i.parentElement) : null;
|
|
3593
3597
|
}
|
|
3594
|
-
function EA(
|
|
3595
|
-
const e = wA(
|
|
3598
|
+
function EA(i, t) {
|
|
3599
|
+
const e = wA(i, i.document.body, t), A = i._readium_cssSelectorGenerator.getCssSelector(e, {
|
|
3596
3600
|
selectors: ["tag", "id", "class", "nthchild", "nthoftype", "attribute"]
|
|
3597
3601
|
});
|
|
3598
3602
|
return new tt({
|
|
@@ -3608,28 +3612,28 @@ function EA(n, t) {
|
|
|
3608
3612
|
})
|
|
3609
3613
|
});
|
|
3610
3614
|
}
|
|
3611
|
-
function wA(
|
|
3615
|
+
function wA(i, t, e) {
|
|
3612
3616
|
for (var A = 0; A < t.children.length; A++) {
|
|
3613
|
-
const
|
|
3614
|
-
if (!
|
|
3615
|
-
return
|
|
3617
|
+
const n = t.children[A];
|
|
3618
|
+
if (!Si(n) && zi(i, n, e))
|
|
3619
|
+
return Ni(i, n) ? n : wA(i, n, e);
|
|
3616
3620
|
}
|
|
3617
3621
|
return t;
|
|
3618
3622
|
}
|
|
3619
|
-
function
|
|
3623
|
+
function zi(i, t, e) {
|
|
3620
3624
|
if (t === document.body || t === document.documentElement)
|
|
3621
3625
|
return !0;
|
|
3622
3626
|
if (!document || !document.documentElement || !document.body)
|
|
3623
3627
|
return !1;
|
|
3624
3628
|
const A = t.getBoundingClientRect();
|
|
3625
|
-
return e ? A.bottom > 0 && A.top <
|
|
3629
|
+
return e ? A.bottom > 0 && A.top < i.innerHeight : A.right > 0 && A.left < i.innerWidth;
|
|
3626
3630
|
}
|
|
3627
|
-
function
|
|
3631
|
+
function Ni(i, t) {
|
|
3628
3632
|
const e = t.getBoundingClientRect();
|
|
3629
|
-
return e.top >= 0 && e.left >= 0 && e.bottom <=
|
|
3633
|
+
return e.top >= 0 && e.left >= 0 && e.bottom <= i.innerHeight && e.right <= i.innerWidth;
|
|
3630
3634
|
}
|
|
3631
|
-
function
|
|
3632
|
-
const t = getComputedStyle(
|
|
3635
|
+
function Si(i) {
|
|
3636
|
+
const t = getComputedStyle(i);
|
|
3633
3637
|
if (t) {
|
|
3634
3638
|
const e = t.getPropertyValue("display");
|
|
3635
3639
|
if (e != "block" && e != "list-item" || t.getPropertyValue("opacity") === "0")
|
|
@@ -3637,7 +3641,7 @@ function Ni(n) {
|
|
|
3637
3641
|
}
|
|
3638
3642
|
return !1;
|
|
3639
3643
|
}
|
|
3640
|
-
const Te = "readium-column-snapper-style",
|
|
3644
|
+
const Te = "readium-column-snapper-style", xi = 200, IA = class j extends fA {
|
|
3641
3645
|
constructor() {
|
|
3642
3646
|
super(...arguments), this.shakeTimeout = 0, this.snappingCancelled = !1, this.alreadyScrollLeft = 0, this.overscroll = 0, this.cachedScrollWidth = 0, this.touchState = 0, this.startingX = void 0, this.endingX = void 0, this.onTouchStarter = this.onTouchStart.bind(this), this.onTouchEnder = this.onTouchEnd.bind(this), this.onWidthChanger = this.onWidthChange.bind(this), this.onTouchMover = this.onTouchMove.bind(this);
|
|
3643
3647
|
}
|
|
@@ -3673,15 +3677,15 @@ const Te = "readium-column-snapper-style", Si = 200, IA = class j extends fA {
|
|
|
3673
3677
|
}
|
|
3674
3678
|
// Snaps the current offset to the page width.
|
|
3675
3679
|
snapCurrentOffset(t = !1, e = !1) {
|
|
3676
|
-
const A = this.wnd.scrollX > 0 ? this.wnd.scrollX : this.alreadyScrollLeft,
|
|
3680
|
+
const A = this.wnd.scrollX > 0 ? this.wnd.scrollX : this.alreadyScrollLeft, n = this.doc(), r = this.dragOffset(), s = pA(this.wnd), o = Math.min(Math.max(0, A), this.cachedScrollWidth), a = et(this.wnd) ? -1 : 1, h = (
|
|
3677
3681
|
// The hurdle to overcome in order to change pages
|
|
3678
3682
|
a * (this.wnd.innerWidth / 3) * (a * r > 0 ? 2 : 1)
|
|
3679
3683
|
), l = this.snapOffset(o + h);
|
|
3680
3684
|
if (t && l !== this.scrollOffset()) {
|
|
3681
3685
|
this.snappingCancelled = !1;
|
|
3682
|
-
const c = (B, E, f, F) => f > F ? E : B + (E - B) *
|
|
3686
|
+
const c = (B, E, f, F) => f > F ? E : B + (E - B) * Qi(f / F), g = (
|
|
3683
3687
|
/*Math.abs(startX - (this.useTransform ? currentOffset : 0)) < 10 ? 1 : */
|
|
3684
|
-
|
|
3688
|
+
xi * s
|
|
3685
3689
|
);
|
|
3686
3690
|
let m;
|
|
3687
3691
|
const M = (B) => {
|
|
@@ -3689,12 +3693,12 @@ const Te = "readium-column-snapper-style", Si = 200, IA = class j extends fA {
|
|
|
3689
3693
|
return;
|
|
3690
3694
|
m || (m = B);
|
|
3691
3695
|
const E = B - m, f = c(this.overscroll, 0, E, g), F = c(A, l, E, g);
|
|
3692
|
-
|
|
3696
|
+
n.scrollLeft = F, this.overscroll !== 0 && (n.style.transform = `translate3d(${-f}px, 0px, 0px)`), E < g ? this.wnd.requestAnimationFrame(M) : (this.clearTouches(), n.style.removeProperty("transform"), n.scrollLeft = l, e || this.reportProgress());
|
|
3693
3697
|
};
|
|
3694
3698
|
this.wnd.requestAnimationFrame(M);
|
|
3695
3699
|
} else
|
|
3696
|
-
|
|
3697
|
-
|
|
3700
|
+
n.style.removeProperty("transform"), this.wnd.requestAnimationFrame(() => {
|
|
3701
|
+
n.scrollLeft = l, this.clearTouches(), e || this.reportProgress();
|
|
3698
3702
|
});
|
|
3699
3703
|
}
|
|
3700
3704
|
dragOffset() {
|
|
@@ -3787,7 +3791,7 @@ const Te = "readium-column-snapper-style", Si = 200, IA = class j extends fA {
|
|
|
3787
3791
|
} else
|
|
3788
3792
|
t.requestAnimationFrame(() => this.cachedScrollWidth = this.doc().scrollWidth);
|
|
3789
3793
|
}), t.frameElement && this.mutationObserver.observe(t.frameElement, { attributes: !0, attributeFilter: ["style"] }), this.mutationObserver.observe(t.document, { attributes: !0, attributeFilter: ["style"] }), this.mutationObserver.observe(t.document.documentElement, { attributes: !0, attributeFilter: ["style"] });
|
|
3790
|
-
const
|
|
3794
|
+
const n = (r) => {
|
|
3791
3795
|
const s = this.doc().scrollLeft;
|
|
3792
3796
|
return this.doc().scrollLeft = this.snapOffset(r), s !== this.doc().scrollLeft;
|
|
3793
3797
|
};
|
|
@@ -3851,13 +3855,13 @@ const Te = "readium-column-snapper-style", Si = 200, IA = class j extends fA {
|
|
|
3851
3855
|
}), e.register("go_prev", j.moduleName, (r, s) => {
|
|
3852
3856
|
this.wnd.requestAnimationFrame(() => {
|
|
3853
3857
|
this.cachedScrollWidth = this.doc().scrollWidth;
|
|
3854
|
-
const o = t.scrollX - t.innerWidth, a = et(t) ? -(this.cachedScrollWidth - t.innerWidth) : 0, h =
|
|
3858
|
+
const o = t.scrollX - t.innerWidth, a = et(t) ? -(this.cachedScrollWidth - t.innerWidth) : 0, h = n(Math.max(o, a));
|
|
3855
3859
|
h && (this.reportProgress(), x(this.wnd)), s(h);
|
|
3856
3860
|
});
|
|
3857
3861
|
}), e.register("go_next", j.moduleName, (r, s) => {
|
|
3858
3862
|
this.wnd.requestAnimationFrame(() => {
|
|
3859
3863
|
this.cachedScrollWidth = this.doc().scrollWidth;
|
|
3860
|
-
const o = t.scrollX + t.innerWidth, a = et(t) ? 0 : this.cachedScrollWidth - t.innerWidth, h =
|
|
3864
|
+
const o = t.scrollX + t.innerWidth, a = et(t) ? 0 : this.cachedScrollWidth - t.innerWidth, h = n(Math.min(o, a));
|
|
3861
3865
|
h && (this.reportProgress(), x(this.wnd)), s(h);
|
|
3862
3866
|
});
|
|
3863
3867
|
}), e.register("unfocus", j.moduleName, (r, s) => {
|
|
@@ -3880,8 +3884,8 @@ const Te = "readium-column-snapper-style", Si = 200, IA = class j extends fA {
|
|
|
3880
3884
|
}
|
|
3881
3885
|
};
|
|
3882
3886
|
IA.moduleName = "column_snapper";
|
|
3883
|
-
let
|
|
3884
|
-
const je = "readium-scroll-snapper-style", FA = class
|
|
3887
|
+
let Ti = IA;
|
|
3888
|
+
const je = "readium-scroll-snapper-style", FA = class J extends fA {
|
|
3885
3889
|
constructor() {
|
|
3886
3890
|
super(...arguments), this.isScrolling = !1, this.handleScroll = () => {
|
|
3887
3891
|
this.isScrolling || (this.isScrolling = !0, this.wnd.requestAnimationFrame(() => {
|
|
@@ -3911,8 +3915,8 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
|
|
|
3911
3915
|
this.comms.ready && this.handleScroll();
|
|
3912
3916
|
}), this.resizeObserver.observe(t.document.body), t.addEventListener("scroll", this.handleScroll, {
|
|
3913
3917
|
passive: !0
|
|
3914
|
-
}), e.register("go_progression",
|
|
3915
|
-
const s =
|
|
3918
|
+
}), e.register("go_progression", J.moduleName, (n, r) => {
|
|
3919
|
+
const s = n;
|
|
3916
3920
|
if (s < 0 || s > 1) {
|
|
3917
3921
|
e.send("error", {
|
|
3918
3922
|
message: "go_progression must be given a position from 0.0 to 1.0"
|
|
@@ -3922,8 +3926,8 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
|
|
|
3922
3926
|
this.wnd.requestAnimationFrame(() => {
|
|
3923
3927
|
this.doc().scrollTop = this.doc().offsetHeight * s, this.reportProgress({ progress: s, reference: this.wnd.innerHeight / this.doc().scrollHeight }), x(this.wnd), r(!0);
|
|
3924
3928
|
});
|
|
3925
|
-
}), e.register("go_id",
|
|
3926
|
-
const s = t.document.getElementById(
|
|
3929
|
+
}), e.register("go_id", J.moduleName, (n, r) => {
|
|
3930
|
+
const s = t.document.getElementById(n);
|
|
3927
3931
|
if (!s) {
|
|
3928
3932
|
r(!1);
|
|
3929
3933
|
return;
|
|
@@ -3933,10 +3937,10 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
|
|
|
3933
3937
|
const o = this.doc().scrollTop / this.doc().offsetHeight;
|
|
3934
3938
|
this.reportProgress({ progress: o, reference: this.wnd.innerHeight / this.doc().scrollHeight }), x(this.wnd), r(!0);
|
|
3935
3939
|
});
|
|
3936
|
-
}), e.register("go_text",
|
|
3940
|
+
}), e.register("go_text", J.moduleName, (n, r) => {
|
|
3937
3941
|
let s;
|
|
3938
|
-
Array.isArray(
|
|
3939
|
-
const o = ut.deserialize(
|
|
3942
|
+
Array.isArray(n) && (n.length > 1 && (s = n[1]), n = n[0]);
|
|
3943
|
+
const o = ut.deserialize(n), a = he(this.wnd.document, new tt({
|
|
3940
3944
|
href: t.location.href,
|
|
3941
3945
|
type: "text/html",
|
|
3942
3946
|
text: o,
|
|
@@ -3955,40 +3959,40 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
|
|
|
3955
3959
|
const h = this.doc().scrollTop / this.doc().offsetHeight;
|
|
3956
3960
|
this.reportProgress({ progress: h, reference: this.wnd.innerHeight / this.doc().scrollHeight }), x(this.wnd), r(!0);
|
|
3957
3961
|
});
|
|
3958
|
-
}), e.register("go_start",
|
|
3962
|
+
}), e.register("go_start", J.moduleName, (n, r) => {
|
|
3959
3963
|
if (this.doc().scrollTop === 0)
|
|
3960
3964
|
return r(!1);
|
|
3961
3965
|
this.doc().scrollTop = 0, this.reportProgress({ progress: 0, reference: this.wnd.innerHeight / this.doc().scrollHeight }), r(!0);
|
|
3962
|
-
}), e.register("go_end",
|
|
3966
|
+
}), e.register("go_end", J.moduleName, (n, r) => {
|
|
3963
3967
|
if (this.doc().scrollTop === 0)
|
|
3964
3968
|
return r(!1);
|
|
3965
3969
|
this.doc().scrollTop = 0, this.reportProgress({ progress: 0, reference: this.wnd.innerHeight / this.doc().scrollHeight }), r(!0);
|
|
3966
|
-
}), e.register("unfocus",
|
|
3970
|
+
}), e.register("unfocus", J.moduleName, (n, r) => {
|
|
3967
3971
|
x(this.wnd), r(!0);
|
|
3968
3972
|
}), e.register([
|
|
3969
3973
|
"go_next",
|
|
3970
3974
|
"go_prev"
|
|
3971
|
-
],
|
|
3975
|
+
], J.moduleName, (n, r) => r(!1)), e.register("focus", J.moduleName, (n, r) => {
|
|
3972
3976
|
const s = this.doc().scrollTop / this.doc().offsetHeight;
|
|
3973
3977
|
this.reportProgress({ progress: s, reference: this.wnd.innerHeight / this.doc().scrollHeight }), r(!0);
|
|
3974
|
-
}), e.register("first_visible_locator",
|
|
3978
|
+
}), e.register("first_visible_locator", J.moduleName, (n, r) => {
|
|
3975
3979
|
const s = EA(t, !0);
|
|
3976
3980
|
this.comms.send("first_visible_locator", s.serialize()), r(!0);
|
|
3977
3981
|
}), e.log("ScrollSnapper Mounted"), !0;
|
|
3978
3982
|
}
|
|
3979
3983
|
unmount(t, e) {
|
|
3980
3984
|
var A;
|
|
3981
|
-
return e.unregisterAll(
|
|
3985
|
+
return e.unregisterAll(J.moduleName), this.resizeObserver.disconnect(), this.handleScroll && t.removeEventListener("scroll", this.handleScroll), (A = t.document.getElementById(je)) == null || A.remove(), e.log("ScrollSnapper Unmounted"), !0;
|
|
3982
3986
|
}
|
|
3983
3987
|
};
|
|
3984
3988
|
FA.moduleName = "scroll_snapper";
|
|
3985
|
-
let
|
|
3989
|
+
let ji = FA;
|
|
3986
3990
|
class UA extends Dt {
|
|
3987
3991
|
constructor() {
|
|
3988
3992
|
super(...arguments), this.pointerMoved = !1, this.onPointerUp = this.onPointUp.bind(this), this.onPointerMove = this.onPointMove.bind(this), this.onPointerDown = this.onPointDown.bind(this), this.onContextMenu = this.onContext.bind(this), this.onClicker = this.onClick.bind(this);
|
|
3989
3993
|
}
|
|
3990
3994
|
onPointUp(t) {
|
|
3991
|
-
var e, A,
|
|
3995
|
+
var e, A, n, r, s;
|
|
3992
3996
|
const o = this.wnd.getSelection();
|
|
3993
3997
|
if (o && ((e = o.toString()) == null ? void 0 : e.length) > 0) {
|
|
3994
3998
|
const h = (A = o.getRangeAt(0)) == null ? void 0 : A.getClientRects();
|
|
@@ -4000,7 +4004,7 @@ class UA extends Dt {
|
|
|
4000
4004
|
y: l.y,
|
|
4001
4005
|
width: l.width,
|
|
4002
4006
|
height: l.height,
|
|
4003
|
-
targetFrameSrc: (r = (
|
|
4007
|
+
targetFrameSrc: (r = (n = this.wnd) == null ? void 0 : n.location) == null ? void 0 : r.href
|
|
4004
4008
|
};
|
|
4005
4009
|
this.comms.send("text_selected", c);
|
|
4006
4010
|
}
|
|
@@ -4076,11 +4080,11 @@ const yA = class qt extends Dt {
|
|
|
4076
4080
|
Reflect.apply(A[1], A[2], A[3]);
|
|
4077
4081
|
break;
|
|
4078
4082
|
case 1:
|
|
4079
|
-
const
|
|
4080
|
-
t.removeEventListener(
|
|
4081
|
-
const s = new Event(
|
|
4082
|
-
bubbles:
|
|
4083
|
-
cancelable:
|
|
4083
|
+
const n = A[1], r = A[2];
|
|
4084
|
+
t.removeEventListener(n.type, t._readium_eventBlocker, !0);
|
|
4085
|
+
const s = new Event(n.type, {
|
|
4086
|
+
bubbles: n.bubbles,
|
|
4087
|
+
cancelable: n.cancelable
|
|
4084
4088
|
});
|
|
4085
4089
|
r ? r.dispatchEvent(s) : t.dispatchEvent(s);
|
|
4086
4090
|
break;
|
|
@@ -4109,8 +4113,8 @@ const yA = class qt extends Dt {
|
|
|
4109
4113
|
value: {
|
|
4110
4114
|
name: "readium-ts-toolkit",
|
|
4111
4115
|
version: "2.0.0-beta.1",
|
|
4112
|
-
hasFeature: (
|
|
4113
|
-
switch (
|
|
4116
|
+
hasFeature: (n, r = "") => {
|
|
4117
|
+
switch (n) {
|
|
4114
4118
|
case "dom-manipulation":
|
|
4115
4119
|
return !0;
|
|
4116
4120
|
case "layout-changes":
|
|
@@ -4131,18 +4135,18 @@ const yA = class qt extends Dt {
|
|
|
4131
4135
|
}
|
|
4132
4136
|
},
|
|
4133
4137
|
writable: !1
|
|
4134
|
-
}), "getAnimations" in t.document && t.document.getAnimations().forEach((
|
|
4135
|
-
|
|
4136
|
-
}), e.register("activate", qt.moduleName, (
|
|
4138
|
+
}), "getAnimations" in t.document && t.document.getAnimations().forEach((n) => {
|
|
4139
|
+
n.cancel(), this.allAnimations.add(n);
|
|
4140
|
+
}), e.register("activate", qt.moduleName, (n, r) => {
|
|
4137
4141
|
this.allAnimations.forEach((s) => {
|
|
4138
4142
|
s.cancel(), s.play();
|
|
4139
4143
|
}), r(!0);
|
|
4140
|
-
}), e.register("unfocus", qt.moduleName, (
|
|
4144
|
+
}), e.register("unfocus", qt.moduleName, (n, r) => {
|
|
4141
4145
|
this.pauseAllMedia(t), this.allAnimations.forEach((s) => s.pause()), r(!0);
|
|
4142
4146
|
});
|
|
4143
4147
|
const A = t.document.querySelectorAll("audio,video");
|
|
4144
|
-
for (let
|
|
4145
|
-
const r = A[
|
|
4148
|
+
for (let n = 0; n < A.length; n++) {
|
|
4149
|
+
const r = A[n];
|
|
4146
4150
|
r.addEventListener("play", this.onMediaPlayEvent, {
|
|
4147
4151
|
passive: !0
|
|
4148
4152
|
}), r.addEventListener("pause", this.onMediaPauseEvent, {
|
|
@@ -4171,16 +4175,16 @@ const Ve = "readium-viewport", RA = class At extends CA {
|
|
|
4171
4175
|
"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no"
|
|
4172
4176
|
), t.document.head.appendChild(A), t.addEventListener("orientationchange", this.onViewportWidthChanged), t.addEventListener("resize", this.onViewportWidthChanged), this.onViewportWidthChanged({
|
|
4173
4177
|
target: t
|
|
4174
|
-
}), e.register("get_properties", At.moduleName, (
|
|
4178
|
+
}), e.register("get_properties", At.moduleName, (n, r) => {
|
|
4175
4179
|
uA(t), r(!0);
|
|
4176
|
-
}), e.register("update_properties", At.moduleName, (
|
|
4177
|
-
|
|
4178
|
-
}), e.register("set_property", At.moduleName, (
|
|
4179
|
-
const s =
|
|
4180
|
+
}), e.register("update_properties", At.moduleName, (n, r) => {
|
|
4181
|
+
n["--RS__viewportWidth"] = `${t.innerWidth}px`, Ei(t, n), r(!0);
|
|
4182
|
+
}), e.register("set_property", At.moduleName, (n, r) => {
|
|
4183
|
+
const s = n;
|
|
4180
4184
|
Nt(t, s[0], s[1]), r(!0);
|
|
4181
|
-
}), e.register("remove_property", At.moduleName, (
|
|
4182
|
-
le(t,
|
|
4183
|
-
}), e.register("activate", At.moduleName, (
|
|
4185
|
+
}), e.register("remove_property", At.moduleName, (n, r) => {
|
|
4186
|
+
le(t, n), r(!0);
|
|
4187
|
+
}), e.register("activate", At.moduleName, (n, r) => {
|
|
4184
4188
|
this.unblock(t), r(!0);
|
|
4185
4189
|
}), e.log("ReflowableSetup Mounted"), !0;
|
|
4186
4190
|
}
|
|
@@ -4190,7 +4194,7 @@ const Ve = "readium-viewport", RA = class At extends CA {
|
|
|
4190
4194
|
}
|
|
4191
4195
|
};
|
|
4192
4196
|
RA.moduleName = "reflowable_setup";
|
|
4193
|
-
let
|
|
4197
|
+
let Vi = RA;
|
|
4194
4198
|
const De = "readium-fixed-style", QA = class Z extends CA {
|
|
4195
4199
|
mount(t, e) {
|
|
4196
4200
|
if (!super.mount(t, e))
|
|
@@ -4209,12 +4213,12 @@ const De = "readium-fixed-style", QA = class Z extends CA {
|
|
|
4209
4213
|
min-height: 100%;
|
|
4210
4214
|
|
|
4211
4215
|
/*cursor: var() TODO*/
|
|
4212
|
-
}`, t.document.head.appendChild(A), e.register("set_property", Z.moduleName, (
|
|
4213
|
-
const s =
|
|
4216
|
+
}`, t.document.head.appendChild(A), e.register("set_property", Z.moduleName, (n, r) => {
|
|
4217
|
+
const s = n;
|
|
4214
4218
|
Nt(t, s[0], s[1]), r(!0);
|
|
4215
|
-
}), e.register("remove_property", Z.moduleName, (
|
|
4216
|
-
le(t,
|
|
4217
|
-
}), e.register("first_visible_locator", Z.moduleName, (
|
|
4219
|
+
}), e.register("remove_property", Z.moduleName, (n, r) => {
|
|
4220
|
+
le(t, n), r(!0);
|
|
4221
|
+
}), e.register("first_visible_locator", Z.moduleName, (n, r) => r(!1)), e.register("unfocus", Z.moduleName, (n, r) => {
|
|
4218
4222
|
x(t), r(!0);
|
|
4219
4223
|
}), e.register([
|
|
4220
4224
|
"focus",
|
|
@@ -4225,7 +4229,7 @@ const De = "readium-fixed-style", QA = class Z extends CA {
|
|
|
4225
4229
|
"go_start",
|
|
4226
4230
|
"go_text",
|
|
4227
4231
|
"go_progression"
|
|
4228
|
-
], Z.moduleName, (
|
|
4232
|
+
], Z.moduleName, (n, r) => r(!0)), e.register("activate", Z.moduleName, (n, r) => {
|
|
4229
4233
|
this.unblock(t), r(!0);
|
|
4230
4234
|
}), e.log("FixedSetup Mounted"), !0;
|
|
4231
4235
|
}
|
|
@@ -4235,12 +4239,12 @@ const De = "readium-fixed-style", QA = class Z extends CA {
|
|
|
4235
4239
|
}
|
|
4236
4240
|
};
|
|
4237
4241
|
QA.moduleName = "fixed_setup";
|
|
4238
|
-
let
|
|
4239
|
-
const
|
|
4242
|
+
let Di = QA;
|
|
4243
|
+
const bi = [
|
|
4240
4244
|
"fixed_setup",
|
|
4241
4245
|
"decorator",
|
|
4242
4246
|
"peripherals"
|
|
4243
|
-
],
|
|
4247
|
+
], vi = [
|
|
4244
4248
|
"reflowable_setup",
|
|
4245
4249
|
"decorator",
|
|
4246
4250
|
"peripherals",
|
|
@@ -4248,13 +4252,13 @@ const Di = [
|
|
|
4248
4252
|
"scroll_snapper"
|
|
4249
4253
|
], _t = new Map([
|
|
4250
4254
|
// All modules go here
|
|
4255
|
+
Di,
|
|
4251
4256
|
Vi,
|
|
4252
|
-
ji,
|
|
4253
4257
|
UA,
|
|
4254
4258
|
Ci,
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
].map((
|
|
4259
|
+
Ti,
|
|
4260
|
+
ji
|
|
4261
|
+
].map((i) => [i.moduleName, i]));
|
|
4258
4262
|
class St {
|
|
4259
4263
|
/**
|
|
4260
4264
|
* @param wnd Window instance to operate on
|
|
@@ -4266,11 +4270,11 @@ class St {
|
|
|
4266
4270
|
if (A.length) {
|
|
4267
4271
|
if (typeof t > "u")
|
|
4268
4272
|
throw Error("Loader is not in a web browser");
|
|
4269
|
-
t.parent !== t && this.comms.log("Loader is probably in a frame"), this.loadedModules = A.map((
|
|
4270
|
-
const r = this.loadModule(
|
|
4273
|
+
t.parent !== t && this.comms.log("Loader is probably in a frame"), this.loadedModules = A.map((n) => {
|
|
4274
|
+
const r = this.loadModule(n);
|
|
4271
4275
|
if (r)
|
|
4272
4276
|
return r.mount(this.wnd, this.comms), r;
|
|
4273
|
-
}).filter((
|
|
4277
|
+
}).filter((n) => n !== void 0);
|
|
4274
4278
|
}
|
|
4275
4279
|
}
|
|
4276
4280
|
loadModule(t) {
|
|
@@ -4295,7 +4299,7 @@ class St {
|
|
|
4295
4299
|
const e = _t.get(t);
|
|
4296
4300
|
if (e === void 0)
|
|
4297
4301
|
return this.comms.log(`Module "${t}" does not exist in the library`), !1;
|
|
4298
|
-
const A = this.loadedModules.findIndex((
|
|
4302
|
+
const A = this.loadedModules.findIndex((n) => n instanceof e);
|
|
4299
4303
|
return A < 0 ? !1 : (this.loadedModules[A].unmount(this.wnd, this.comms), this.loadedModules.splice(A, 1), !0);
|
|
4300
4304
|
}
|
|
4301
4305
|
/**
|
|
@@ -4315,8 +4319,8 @@ class $t {
|
|
|
4315
4319
|
this.channelId = Ot();
|
|
4316
4320
|
}
|
|
4317
4321
|
this.gc = setInterval(() => {
|
|
4318
|
-
this.registry.forEach((A,
|
|
4319
|
-
performance.now() - A.time > Pi && (console.warn(
|
|
4322
|
+
this.registry.forEach((A, n) => {
|
|
4323
|
+
performance.now() - A.time > Pi && (console.warn(n, "event for", A.key, "was never handled!"), this.registry.delete(n));
|
|
4320
4324
|
});
|
|
4321
4325
|
}, 5e3), window.addEventListener("message", this.handler), this.send("_ping", void 0);
|
|
4322
4326
|
}
|
|
@@ -4365,7 +4369,7 @@ class $t {
|
|
|
4365
4369
|
* Send a message to the window using postMessage-based comms communication
|
|
4366
4370
|
* @returns Identifier associated with the message
|
|
4367
4371
|
*/
|
|
4368
|
-
send(t, e, A,
|
|
4372
|
+
send(t, e, A, n = !1, r = []) {
|
|
4369
4373
|
const s = Ot();
|
|
4370
4374
|
return A && this.registry.set(s, {
|
|
4371
4375
|
// Add callback to the registry
|
|
@@ -4379,7 +4383,7 @@ class $t {
|
|
|
4379
4383
|
id: s,
|
|
4380
4384
|
data: e,
|
|
4381
4385
|
key: t,
|
|
4382
|
-
strict:
|
|
4386
|
+
strict: n
|
|
4383
4387
|
},
|
|
4384
4388
|
"/",
|
|
4385
4389
|
// Same origin
|
|
@@ -4387,13 +4391,13 @@ class $t {
|
|
|
4387
4391
|
), s;
|
|
4388
4392
|
}
|
|
4389
4393
|
}
|
|
4390
|
-
class
|
|
4394
|
+
class Gi {
|
|
4391
4395
|
constructor(t) {
|
|
4392
4396
|
this.hidden = !0, this.destroyed = !1, this.currModules = [], this.frame = document.createElement("iframe"), this.frame.classList.add("readium-navigator-iframe"), this.frame.style.visibility = "hidden", this.frame.style.setProperty("aria-hidden", "true"), this.frame.style.opacity = "0", this.frame.style.position = "absolute", this.frame.style.pointerEvents = "none", this.frame.style.transition = "visibility 0s, opacity 0.1s linear", this.source = t;
|
|
4393
4397
|
}
|
|
4394
4398
|
async load(t) {
|
|
4395
4399
|
return new Promise((e, A) => {
|
|
4396
|
-
var
|
|
4400
|
+
var n;
|
|
4397
4401
|
if (this.loader) {
|
|
4398
4402
|
const r = this.frame.contentWindow;
|
|
4399
4403
|
if ([...this.currModules].sort().join("|") === [...t].sort().join("|")) {
|
|
@@ -4403,7 +4407,7 @@ class vi {
|
|
|
4403
4407
|
}
|
|
4404
4408
|
return;
|
|
4405
4409
|
}
|
|
4406
|
-
(
|
|
4410
|
+
(n = this.comms) == null || n.halt(), this.loader.destroy(), this.loader = new St(r, t), this.currModules = t, this.comms = void 0;
|
|
4407
4411
|
try {
|
|
4408
4412
|
e(r);
|
|
4409
4413
|
} catch {
|
|
@@ -4434,8 +4438,8 @@ class vi {
|
|
|
4434
4438
|
if (!this.destroyed) {
|
|
4435
4439
|
if (this.frame.style.visibility = "hidden", this.frame.style.setProperty("aria-hidden", "true"), this.frame.style.opacity = "0", this.frame.style.pointerEvents = "none", this.hidden = !0, this.frame.parentElement)
|
|
4436
4440
|
return this.comms === void 0 || !this.comms.ready ? void 0 : new Promise((e, A) => {
|
|
4437
|
-
var
|
|
4438
|
-
(
|
|
4441
|
+
var n;
|
|
4442
|
+
(n = this.comms) == null || n.send("unfocus", void 0, (r) => {
|
|
4439
4443
|
var s;
|
|
4440
4444
|
(s = this.comms) == null || s.halt(), e();
|
|
4441
4445
|
});
|
|
@@ -4449,8 +4453,8 @@ class vi {
|
|
|
4449
4453
|
if (!this.frame.parentElement)
|
|
4450
4454
|
throw Error("Trying to show frame that is not attached to the DOM");
|
|
4451
4455
|
return this.comms ? this.comms.resume() : this.comms = new $t(this.frame.contentWindow, this.source), new Promise((e, A) => {
|
|
4452
|
-
var
|
|
4453
|
-
(
|
|
4456
|
+
var n;
|
|
4457
|
+
(n = this.comms) == null || n.send("activate", void 0, () => {
|
|
4454
4458
|
var r;
|
|
4455
4459
|
(r = this.comms) == null || r.send("focus", void 0, () => {
|
|
4456
4460
|
var o;
|
|
@@ -4463,8 +4467,8 @@ class vi {
|
|
|
4463
4467
|
});
|
|
4464
4468
|
}
|
|
4465
4469
|
setCSSProperties(t) {
|
|
4466
|
-
var e, A,
|
|
4467
|
-
this.destroyed || !this.frame.contentWindow || (this.hidden && (this.comms ? (e = this.comms) == null || e.resume() : this.comms = new $t(this.frame.contentWindow, this.source)), (A = this.comms) == null || A.send("update_properties", t), this.hidden && ((
|
|
4470
|
+
var e, A, n;
|
|
4471
|
+
this.destroyed || !this.frame.contentWindow || (this.hidden && (this.comms ? (e = this.comms) == null || e.resume() : this.comms = new $t(this.frame.contentWindow, this.source)), (A = this.comms) == null || A.send("update_properties", t), this.hidden && ((n = this.comms) == null || n.halt()));
|
|
4468
4472
|
}
|
|
4469
4473
|
get iframe() {
|
|
4470
4474
|
if (this.destroyed)
|
|
@@ -4494,8 +4498,8 @@ class vi {
|
|
|
4494
4498
|
return this.loader;
|
|
4495
4499
|
}
|
|
4496
4500
|
}
|
|
4497
|
-
const be = 5,
|
|
4498
|
-
class
|
|
4501
|
+
const be = 5, ve = 3;
|
|
4502
|
+
class Hi {
|
|
4499
4503
|
constructor(t, e, A) {
|
|
4500
4504
|
this.pool = /* @__PURE__ */ new Map(), this.blobs = /* @__PURE__ */ new Map(), this.inprogress = /* @__PURE__ */ new Map(), this.pendingUpdates = /* @__PURE__ */ new Map(), this.container = t, this.positions = e, this.currentCssProperties = A;
|
|
4501
4505
|
}
|
|
@@ -4505,14 +4509,14 @@ class Gi {
|
|
|
4505
4509
|
for (; e.value; )
|
|
4506
4510
|
A.push(e.value), e = t.next();
|
|
4507
4511
|
A.length > 0 && await Promise.allSettled(A), this.inprogress.clear();
|
|
4508
|
-
let
|
|
4512
|
+
let n = this.pool.values(), r = n.next();
|
|
4509
4513
|
for (; r.value; )
|
|
4510
|
-
await r.value.destroy(), r =
|
|
4514
|
+
await r.value.destroy(), r = n.next();
|
|
4511
4515
|
this.pool.clear(), this.blobs.forEach((s) => URL.revokeObjectURL(s)), this.container.childNodes.forEach((s) => {
|
|
4512
4516
|
(s.nodeType === Node.ELEMENT_NODE || s.nodeType === Node.TEXT_NODE) && s.remove();
|
|
4513
4517
|
});
|
|
4514
4518
|
}
|
|
4515
|
-
async update(t, e, A,
|
|
4519
|
+
async update(t, e, A, n = !1) {
|
|
4516
4520
|
let r = this.positions.findIndex((a) => a.locations.position === e.locations.position);
|
|
4517
4521
|
if (r < 0)
|
|
4518
4522
|
throw Error(`Locator not found in position list: ${e.locations.position} > ${this.positions.reduce((a, h) => h.locations.position || 0 > a ? h.locations.position || 0 : a, 0)}`);
|
|
@@ -4522,14 +4526,14 @@ class Gi {
|
|
|
4522
4526
|
var M, B, E;
|
|
4523
4527
|
const l = [], c = [];
|
|
4524
4528
|
this.positions.forEach((f, F) => {
|
|
4525
|
-
(F > r + be || F < r - be) && (l.includes(f.href) || l.push(f.href)), F < r +
|
|
4529
|
+
(F > r + be || F < r - be) && (l.includes(f.href) || l.push(f.href)), F < r + ve && F > r - ve && (c.includes(f.href) || c.push(f.href));
|
|
4526
4530
|
}), l.forEach(async (f) => {
|
|
4527
4531
|
var F;
|
|
4528
4532
|
c.includes(f) || this.pool.has(f) && (await ((F = this.pool.get(f)) == null ? void 0 : F.destroy()), this.pool.delete(f), this.pendingUpdates.has(f) && this.pendingUpdates.set(f, { inPool: !1 }));
|
|
4529
4533
|
}), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((f) => URL.revokeObjectURL(f)), this.blobs.clear()), this.currentBaseURL = t.baseURL;
|
|
4530
4534
|
const g = async (f) => {
|
|
4531
4535
|
var U;
|
|
4532
|
-
if (
|
|
4536
|
+
if (n && (this.blobs.forEach((Y) => URL.revokeObjectURL(Y)), this.blobs.clear(), this.pendingUpdates.clear()), this.pendingUpdates.has(f) && ((U = this.pendingUpdates.get(f)) == null ? void 0 : U.inPool) === !1) {
|
|
4533
4537
|
const Y = this.blobs.get(f);
|
|
4534
4538
|
Y && (URL.revokeObjectURL(Y), this.blobs.delete(f), this.pendingUpdates.delete(f));
|
|
4535
4539
|
}
|
|
@@ -4549,7 +4553,7 @@ class Gi {
|
|
|
4549
4553
|
const nt = await new rA(t, this.currentBaseURL || "", F, this.currentCssProperties).build();
|
|
4550
4554
|
this.blobs.set(f, nt);
|
|
4551
4555
|
}
|
|
4552
|
-
const w = new
|
|
4556
|
+
const w = new Gi(this.blobs.get(f));
|
|
4553
4557
|
f !== s && await w.hide(), this.container.appendChild(w.iframe), await w.load(A), this.pool.set(f, w);
|
|
4554
4558
|
};
|
|
4555
4559
|
try {
|
|
@@ -4558,7 +4562,7 @@ class Gi {
|
|
|
4558
4562
|
h(f);
|
|
4559
4563
|
}
|
|
4560
4564
|
const m = this.pool.get(s);
|
|
4561
|
-
if ((m == null ? void 0 : m.source) !== ((M = this._currentFrame) == null ? void 0 : M.source) ||
|
|
4565
|
+
if ((m == null ? void 0 : m.source) !== ((M = this._currentFrame) == null ? void 0 : M.source) || n) {
|
|
4562
4566
|
await ((B = this._currentFrame) == null ? void 0 : B.hide()), m && await m.load(A);
|
|
4563
4567
|
const f = (((E = e == null ? void 0 : e.locations) == null ? void 0 : E.progression) ?? 0) > 0;
|
|
4564
4568
|
m && await m.show(f ? e.locations.progression : void 0), this._currentFrame = m;
|
|
@@ -4568,12 +4572,12 @@ class Gi {
|
|
|
4568
4572
|
this.inprogress.set(s, o), await o, this.inprogress.delete(s);
|
|
4569
4573
|
}
|
|
4570
4574
|
setCSSProperties(t) {
|
|
4571
|
-
if (!((A,
|
|
4572
|
-
const r = Object.keys(A), s = Object.keys(
|
|
4575
|
+
if (!((A, n) => {
|
|
4576
|
+
const r = Object.keys(A), s = Object.keys(n);
|
|
4573
4577
|
if (r.length !== s.length)
|
|
4574
4578
|
return !1;
|
|
4575
4579
|
for (const o of r)
|
|
4576
|
-
if (A[o] !==
|
|
4580
|
+
if (A[o] !== n[o])
|
|
4577
4581
|
return !1;
|
|
4578
4582
|
return !0;
|
|
4579
4583
|
})(this.currentCssProperties || {}, t)) {
|
|
@@ -4609,12 +4613,12 @@ class Gi {
|
|
|
4609
4613
|
}), t;
|
|
4610
4614
|
}
|
|
4611
4615
|
}
|
|
4612
|
-
class
|
|
4616
|
+
class ki {
|
|
4613
4617
|
constructor(t, e, A) {
|
|
4614
4618
|
this.currModules = [], this.cachedPage = void 0, this.peripherals = t, this.debugHref = A, this.frame = document.createElement("iframe"), this.frame.classList.add("readium-navigator-iframe"), this.frame.classList.add("blank"), this.frame.scrolling = "no", this.frame.style.visibility = "hidden", this.frame.style.setProperty("aria-hidden", "true"), this.frame.style.display = "none", this.frame.style.position = "absolute", this.frame.style.pointerEvents = "none", this.frame.style.transformOrigin = "0 0", this.frame.style.transform = "scale(1)", this.frame.style.background = "#fff", this.frame.style.touchAction = "none", this.frame.dataset.originalHref = A, this.source = "about:blank", this.wrapper = document.createElement("div"), this.wrapper.style.position = "relative", this.wrapper.style.float = this.wrapper.style.cssFloat = e === I.rtl ? "right" : "left", this.wrapper.appendChild(this.frame);
|
|
4615
4619
|
}
|
|
4616
4620
|
async load(t, e) {
|
|
4617
|
-
return this.source === e && this.loadPromise && [...this.currModules].sort().join("|") === [...t].sort().join("|") ? this.loadPromise : (this.loaded && this.source !== e && this.window.stop(), this.source = e, this.loadPromise = new Promise((A,
|
|
4621
|
+
return this.source === e && this.loadPromise && [...this.currModules].sort().join("|") === [...t].sort().join("|") ? this.loadPromise : (this.loaded && this.source !== e && this.window.stop(), this.source = e, this.loadPromise = new Promise((A, n) => {
|
|
4618
4622
|
var r;
|
|
4619
4623
|
if (this.loader && this.loaded) {
|
|
4620
4624
|
const s = this.frame.contentWindow;
|
|
@@ -4641,7 +4645,7 @@ class Hi {
|
|
|
4641
4645
|
}
|
|
4642
4646
|
}, { once: !0 }), this.frame.addEventListener("error", (s) => {
|
|
4643
4647
|
try {
|
|
4644
|
-
|
|
4648
|
+
n(s.error), this.loadPromise = void 0;
|
|
4645
4649
|
} catch {
|
|
4646
4650
|
}
|
|
4647
4651
|
}, { once: !0 }), this.frame.style.removeProperty("display"), this.frame.contentWindow.location.replace(this.source);
|
|
@@ -4654,9 +4658,9 @@ class Hi {
|
|
|
4654
4658
|
);
|
|
4655
4659
|
if (e) {
|
|
4656
4660
|
const A = /(\w+) *= *([^\s,]+)/g;
|
|
4657
|
-
let
|
|
4658
|
-
for (;
|
|
4659
|
-
|
|
4661
|
+
let n, r = 0, s = 0;
|
|
4662
|
+
for (; n = A.exec(e.content); )
|
|
4663
|
+
n[1] === "width" ? r = Number.parseFloat(n[2]) : n[1] === "height" && (s = Number.parseFloat(n[2]));
|
|
4660
4664
|
if (r > 0 && s > 0)
|
|
4661
4665
|
return { width: r, height: s };
|
|
4662
4666
|
}
|
|
@@ -4672,12 +4676,12 @@ class Hi {
|
|
|
4672
4676
|
this.frame.style.height = `${e.height}px`, this.frame.style.width = `${e.width}px`;
|
|
4673
4677
|
const A = Math.min(this.wrapper.clientWidth / e.width, this.wrapper.clientHeight / e.height);
|
|
4674
4678
|
this.frame.style.transform = `scale(${A})`;
|
|
4675
|
-
const
|
|
4676
|
-
if (this.frame.style.top = `${r / 2}px`, t ===
|
|
4677
|
-
const s = this.wrapper.clientWidth -
|
|
4679
|
+
const n = this.frame.getBoundingClientRect(), r = this.wrapper.clientHeight - n.height;
|
|
4680
|
+
if (this.frame.style.top = `${r / 2}px`, t === W.left) {
|
|
4681
|
+
const s = this.wrapper.clientWidth - n.width;
|
|
4678
4682
|
this.frame.style.left = `${s}px`;
|
|
4679
|
-
} else if (t ===
|
|
4680
|
-
const s = this.wrapper.clientWidth -
|
|
4683
|
+
} else if (t === W.center) {
|
|
4684
|
+
const s = this.wrapper.clientWidth - n.width;
|
|
4681
4685
|
this.frame.style.left = `${s / 2}px`;
|
|
4682
4686
|
} else
|
|
4683
4687
|
this.frame.style.left = "0px";
|
|
@@ -4690,7 +4694,7 @@ class Hi {
|
|
|
4690
4694
|
async unload() {
|
|
4691
4695
|
var t, e;
|
|
4692
4696
|
if (this.loaded)
|
|
4693
|
-
return this.deselect(), this.frame.style.visibility = "hidden", this.frame.style.setProperty("aria-hidden", "true"), this.frame.style.pointerEvents = "none", this.frame.classList.add("blank"), this.frame.classList.remove("loaded"), (t = this.comms) == null || t.halt(), (e = this.loader) == null || e.destroy(), this.comms = void 0, this.frame.blur(), new Promise((A,
|
|
4697
|
+
return this.deselect(), this.frame.style.visibility = "hidden", this.frame.style.setProperty("aria-hidden", "true"), this.frame.style.pointerEvents = "none", this.frame.classList.add("blank"), this.frame.classList.remove("loaded"), (t = this.comms) == null || t.halt(), (e = this.loader) == null || e.destroy(), this.comms = void 0, this.frame.blur(), new Promise((A, n) => {
|
|
4694
4698
|
this.frame.addEventListener("load", () => {
|
|
4695
4699
|
try {
|
|
4696
4700
|
this.showPromise = void 0, A();
|
|
@@ -4698,7 +4702,7 @@ class Hi {
|
|
|
4698
4702
|
}
|
|
4699
4703
|
}, { once: !0 }), this.frame.addEventListener("error", (r) => {
|
|
4700
4704
|
try {
|
|
4701
|
-
this.showPromise = void 0,
|
|
4705
|
+
this.showPromise = void 0, n(r.error);
|
|
4702
4706
|
} catch {
|
|
4703
4707
|
}
|
|
4704
4708
|
}, { once: !0 }), this.source = "about:blank", this.frame.contentWindow.location.replace("about:blank"), this.frame.style.display = "none";
|
|
@@ -4712,8 +4716,8 @@ class Hi {
|
|
|
4712
4716
|
var t;
|
|
4713
4717
|
if (this.frame.parentElement)
|
|
4714
4718
|
return this.comms === void 0 ? void 0 : new Promise((e, A) => {
|
|
4715
|
-
var
|
|
4716
|
-
(
|
|
4719
|
+
var n;
|
|
4720
|
+
(n = this.comms) == null || n.send("unfocus", void 0, (r) => {
|
|
4717
4721
|
var s;
|
|
4718
4722
|
(s = this.comms) == null || s.halt(), this.showPromise = void 0, e();
|
|
4719
4723
|
});
|
|
@@ -4730,7 +4734,7 @@ class Hi {
|
|
|
4730
4734
|
return;
|
|
4731
4735
|
}
|
|
4732
4736
|
return this.showPromise ? (this.cachedPage !== t && (this.update(t), this.cachedPage = t), this.showPromise) : (this.cachedPage = t, this.comms ? this.comms.resume() : this.comms = new $t(this.frame.contentWindow, this.source), this.showPromise = new Promise((e, A) => {
|
|
4733
|
-
this.comms.send("focus", void 0, (
|
|
4737
|
+
this.comms.send("focus", void 0, (n) => {
|
|
4734
4738
|
this.update(this.cachedPage), e();
|
|
4735
4739
|
});
|
|
4736
4740
|
}), this.showPromise);
|
|
@@ -4795,13 +4799,13 @@ class Hi {
|
|
|
4795
4799
|
*/
|
|
4796
4800
|
class YA {
|
|
4797
4801
|
constructor() {
|
|
4798
|
-
const t = navigator.userAgentData, e = navigator.userAgent, A = (r) => (typeof r == "string" || typeof r == "number") && r ? String(r).replace(/_/g, ".").split(".").map((s) => parseInt(s) || 0) : [],
|
|
4802
|
+
const t = navigator.userAgentData, e = navigator.userAgent, A = (r) => (typeof r == "string" || typeof r == "number") && r ? String(r).replace(/_/g, ".").split(".").map((s) => parseInt(s) || 0) : [], n = (r = "") => {
|
|
4799
4803
|
if (!r)
|
|
4800
4804
|
return [];
|
|
4801
4805
|
const s = new RegExp("^.*" + r + "[ :\\/]?(\\d+([\\._]\\d+)*).*$");
|
|
4802
4806
|
return s.test(e) ? A(e.replace(s, "$1")) : [];
|
|
4803
4807
|
};
|
|
4804
|
-
this.OS = ((r) => (/(macOS|Mac OS X)/.test(e) ? (/\(iP(hone|od touch);/.test(e) && (r.iOS =
|
|
4808
|
+
this.OS = ((r) => (/(macOS|Mac OS X)/.test(e) ? (/\(iP(hone|od touch);/.test(e) && (r.iOS = n("CPU (?:iPhone )?OS ")), /\(iPad;/.test(e) ? r.iOS = r.iPadOS = n("CPU (?:iPhone )?OS ") : /(macOS|Mac OS X) \d/.test(e) && (document.ontouchend !== void 0 ? r.iOS = r.iPadOS = n() : r.macOS = n("(?:macOS|Mac OS X) "))) : /Windows( NT)? \d/.test(e) ? r.Windows = ((s) => s[0] !== 6 || !s[1] ? s : s[1] === 1 ? [7] : s[1] === 2 ? [8] : [8, 1])(n("Windows(?: NT)?")) : /Android \d/.test(e) ? r.Android = n("Android") : /CrOS/.test(e) ? r.ChromeOS = n() : /X11;/.test(e) && (r.Linux = n()), r))({}), t && t.getHighEntropyValues(["architecture", "model", "platform", "platformVersion", "uaFullVersion"]).then((r) => ((s) => {
|
|
4805
4809
|
const o = r.platform, a = r.platformVersion;
|
|
4806
4810
|
if (!(!o || !a)) {
|
|
4807
4811
|
if (/^i(OS|P(hone|od touch))$/.test(o))
|
|
@@ -4828,7 +4832,7 @@ class YA {
|
|
|
4828
4832
|
const o = t.brands.reduce((a, h) => (a[h.brand] = [h.version * 1], a), {});
|
|
4829
4833
|
o["Google Chrome"] ? (s = !0, r.Blink = r.Chromium = o.Chromium || [], r.Chrome = o["Google Chrome"]) : o["Microsoft Edge"] ? (s = !0, r.Blink = r.Chromium = o.Chromium || [], r.Edge = o["Microsoft Edge"]) : o.Opera && (s = !0, r.Blink = r.Chromium = o.Chromium || [], r.Opera = o.Opera);
|
|
4830
4834
|
}
|
|
4831
|
-
return s || (/ Gecko\/\d/.test(e) ? (r.Gecko =
|
|
4835
|
+
return s || (/ 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 = ((o) => o[0] ? o : n("Chrome"))(n("Chromium")), / EdgA?\/\d/.test(e) ? r.Edge = ((o) => o[0] ? o : 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 = ((o) => o[0] ? o : 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 = ((o) => o[0] ? o : n("MSIE"))(n("rv")))), /[\[; ]FB(AN|_IAB)\//.test(e) && (r.Facebook = n("FBAV")), / Line\/\d/.test(e) && (r.LINE = n("Line")), r;
|
|
4832
4836
|
})({}), this.Env = { get: () => [this.OS, this.UA].reduce((r, s) => {
|
|
4833
4837
|
for (const o in s)
|
|
4834
4838
|
s[o] && r.push(o);
|
|
@@ -4836,7 +4840,7 @@ class YA {
|
|
|
4836
4840
|
}, []) };
|
|
4837
4841
|
}
|
|
4838
4842
|
}
|
|
4839
|
-
class
|
|
4843
|
+
class Ji extends YA {
|
|
4840
4844
|
get iOSRequest() {
|
|
4841
4845
|
const t = navigator.userAgentData, e = navigator.userAgent;
|
|
4842
4846
|
if (this.OS.iOS && !this.OS.iPadOS)
|
|
@@ -4845,9 +4849,9 @@ class ki extends YA {
|
|
|
4845
4849
|
return /\(iPad;/.test(e) || t && /^iPad(OS)?$/.test(t.platform) ? "mobile" : "desktop";
|
|
4846
4850
|
}
|
|
4847
4851
|
}
|
|
4848
|
-
const kt = new YA(), xt = new
|
|
4849
|
-
var
|
|
4850
|
-
class
|
|
4852
|
+
const kt = new YA(), xt = new Ji();
|
|
4853
|
+
var Wi = /* @__PURE__ */ ((i) => (i[i.Left = 0] = "Left", i[i.Center = 1] = "Center", i[i.Right = 2] = "Right", i))(Wi || {}), Li = /* @__PURE__ */ ((i) => (i[i.Top = 0] = "Top", i[i.Middle = 1] = "Middle", i[i.Bottom = 2] = "Bottom", i))(Li || {});
|
|
4854
|
+
class Oi {
|
|
4851
4855
|
constructor() {
|
|
4852
4856
|
this.outerWidth = 0, this.outerHeight = 0, this.HTML = document.documentElement, this.Head = document.head, this.Body = document.body;
|
|
4853
4857
|
}
|
|
@@ -4855,21 +4859,21 @@ class Li {
|
|
|
4855
4859
|
kt.OS.iOS || (this.outerHeight = window.outerHeight - window.innerHeight, kt.OS.Android && kt.UA.Chrome && window.screen.height > window.innerHeight && (this.outerHeight = (window.screen.height - window.innerHeight) / 1.5), this.outerWidth = window.outerWidth - window.innerWidth);
|
|
4856
4860
|
}
|
|
4857
4861
|
getBibiEventCoord(t, e = 0) {
|
|
4858
|
-
var
|
|
4862
|
+
var n;
|
|
4859
4863
|
const A = { X: 0, Y: 0 };
|
|
4860
|
-
return /^touch/.test(t.type) ? (A.X = t.touches[e].screenX, A.Y = t.touches[e].screenY) : (A.X = t.screenX, A.Y = t.screenY), (((
|
|
4864
|
+
return /^touch/.test(t.type) ? (A.X = t.touches[e].screenX, A.Y = t.touches[e].screenY) : (A.X = t.screenX, A.Y = t.screenY), (((n = t.target.ownerDocument) == null ? void 0 : n.documentElement) || t.target.documentElement) === this.HTML && (A.X -= this.HTML.scrollLeft + this.Body.scrollLeft, A.Y -= this.HTML.scrollTop + this.Body.scrollTop), A.X -= this.outerWidth, A.Y -= this.outerHeight, A;
|
|
4861
4865
|
}
|
|
4862
4866
|
getTouchDistance(t) {
|
|
4863
4867
|
if (t.touches.length !== 2)
|
|
4864
4868
|
return 0;
|
|
4865
|
-
const e = t.touches[0].screenX - this.outerWidth, A = t.touches[0].screenY - this.outerHeight,
|
|
4866
|
-
return Math.sqrt(Math.pow(
|
|
4869
|
+
const e = t.touches[0].screenX - this.outerWidth, A = t.touches[0].screenY - this.outerHeight, n = t.touches[1].screenX - this.outerWidth, r = t.touches[1].screenY - this.outerHeight;
|
|
4870
|
+
return Math.sqrt(Math.pow(n - e, 2) + Math.pow(r - A, 2));
|
|
4867
4871
|
}
|
|
4868
4872
|
getTouchCenter(t) {
|
|
4869
4873
|
if (t.touches.length !== 2)
|
|
4870
4874
|
return null;
|
|
4871
|
-
const e = this.HTML.scrollLeft + this.Body.scrollLeft, A = this.HTML.scrollTop + this.Body.scrollTop,
|
|
4872
|
-
return { X: (
|
|
4875
|
+
const e = this.HTML.scrollLeft + this.Body.scrollLeft, A = this.HTML.scrollTop + this.Body.scrollTop, n = t.touches[0].screenX - this.outerWidth - e, r = t.touches[0].screenY - this.outerHeight - A, s = t.touches[1].screenX - this.outerWidth - e, o = t.touches[1].screenY - this.outerHeight - A;
|
|
4876
|
+
return { X: (n + s) / 2, Y: (r + o) / 2 };
|
|
4873
4877
|
}
|
|
4874
4878
|
getBibiEvent(t) {
|
|
4875
4879
|
if (!t)
|
|
@@ -4881,7 +4885,7 @@ class Li {
|
|
|
4881
4885
|
};
|
|
4882
4886
|
const e = this.getBibiEventCoord(t);
|
|
4883
4887
|
let A = 0.3;
|
|
4884
|
-
const
|
|
4888
|
+
const n = {
|
|
4885
4889
|
X: e.X / window.innerWidth,
|
|
4886
4890
|
Y: e.Y / window.innerHeight
|
|
4887
4891
|
};
|
|
@@ -4891,15 +4895,15 @@ class Li {
|
|
|
4891
4895
|
X: null,
|
|
4892
4896
|
Y: null
|
|
4893
4897
|
};
|
|
4894
|
-
return
|
|
4898
|
+
return n.X < o ? h.X = 0 : a < n.X ? h.X = 2 : h.X = 1, n.Y < r ? h.Y = 0 : s < n.Y ? h.Y = 2 : h.Y = 1, {
|
|
4895
4899
|
Target: t.target,
|
|
4896
4900
|
Coord: e,
|
|
4897
|
-
Ratio:
|
|
4901
|
+
Ratio: n,
|
|
4898
4902
|
Division: h
|
|
4899
4903
|
};
|
|
4900
4904
|
}
|
|
4901
4905
|
}
|
|
4902
|
-
class
|
|
4906
|
+
class Xi {
|
|
4903
4907
|
constructor() {
|
|
4904
4908
|
this._DOM = {
|
|
4905
4909
|
show: !1,
|
|
@@ -4917,8 +4921,8 @@ class Oi {
|
|
|
4917
4921
|
return this._DOM;
|
|
4918
4922
|
}
|
|
4919
4923
|
}
|
|
4920
|
-
const
|
|
4921
|
-
class
|
|
4924
|
+
const Pe = 6, Jt = 1.02, Ge = 50;
|
|
4925
|
+
class Zi {
|
|
4922
4926
|
constructor(t, e = !1) {
|
|
4923
4927
|
this.dragState = 0, this.minimumMoved = !1, this.pan = {
|
|
4924
4928
|
startX: 0,
|
|
@@ -4937,7 +4941,7 @@ class Xi {
|
|
|
4937
4941
|
target: { X: 0, Y: 0 },
|
|
4938
4942
|
touchN: 0,
|
|
4939
4943
|
startTranslate: { X: 0, Y: 0 }
|
|
4940
|
-
}, this._scale = 1, this.scaleDebouncer = 0, this.frameBounds = null, this.debugger = null, this.btouchstartHandler = this.touchstartHandler.bind(this), this.btouchendHandler = this.touchendHandler.bind(this), this.btouchmoveHandler = this.touchmoveHandler.bind(this), this.bdblclickHandler = this.dblclickHandler.bind(this), this.bmousedownHandler = this.mousedownHandler.bind(this), this.bmouseupHandler = this.mouseupHandler.bind(this), this.bmousemoveHandler = this.mousemoveHandler.bind(this), this.moveFrame = 0, this.manager = t, this.coordinator = new
|
|
4944
|
+
}, this._scale = 1, this.scaleDebouncer = 0, this.frameBounds = null, this.debugger = null, this.btouchstartHandler = this.touchstartHandler.bind(this), this.btouchendHandler = this.touchendHandler.bind(this), this.btouchmoveHandler = this.touchmoveHandler.bind(this), this.bdblclickHandler = this.dblclickHandler.bind(this), this.bmousedownHandler = this.mousedownHandler.bind(this), this.bmouseupHandler = this.mouseupHandler.bind(this), this.bmousemoveHandler = this.mousemoveHandler.bind(this), this.moveFrame = 0, this.manager = t, this.coordinator = new Oi(), this.attachEvents(), e && (this.debugger = new Xi());
|
|
4941
4945
|
}
|
|
4942
4946
|
get scale() {
|
|
4943
4947
|
return this._scale;
|
|
@@ -4998,7 +5002,7 @@ class Xi {
|
|
|
4998
5002
|
* touchstart event handler
|
|
4999
5003
|
*/
|
|
5000
5004
|
touchstartHandler(t) {
|
|
5001
|
-
var
|
|
5005
|
+
var n, r;
|
|
5002
5006
|
if (["TEXTAREA", "OPTION", "INPUT", "SELECT"].indexOf(t.target.nodeName) !== -1)
|
|
5003
5007
|
return;
|
|
5004
5008
|
switch (t.stopPropagation(), this.frameBounds = this.manager.currentBounds, this.coordinator.refreshOuterPixels(this.frameBounds), t.touches.length) {
|
|
@@ -5007,7 +5011,7 @@ class Xi {
|
|
|
5007
5011
|
case 2: {
|
|
5008
5012
|
t.preventDefault(), this.pinch.startDistance = this.coordinator.getTouchDistance(t);
|
|
5009
5013
|
const s = this.startTouch(t);
|
|
5010
|
-
this.pan.startX = s.X, this.pan.startY = s.Y, this.dragState = 2, this.manager.updateBookStyle(!0), this.isScaled ? (this.pinch.target.X -= this.pan.translateX * (this.pinch.startScale / this.scale), this.pinch.target.Y -= this.pan.translateY * (this.pinch.startScale / this.scale), this.pinch.target = { X: 0, Y: 0 }, this.pinch.startScale = 1 / this.scale) : (this.pinch.target = { X: 0, Y: 0 }, this.pinch.startScale = this.scale), this.pinch.startTranslate = { X: this.pan.translateX, Y: this.pan.translateY }, (
|
|
5014
|
+
this.pan.startX = s.X, this.pan.startY = s.Y, this.dragState = 2, this.manager.updateBookStyle(!0), this.isScaled ? (this.pinch.target.X -= this.pan.translateX * (this.pinch.startScale / this.scale), this.pinch.target.Y -= this.pan.translateY * (this.pinch.startScale / this.scale), this.pinch.target = { X: 0, Y: 0 }, this.pinch.startScale = 1 / this.scale) : (this.pinch.target = { X: 0, Y: 0 }, this.pinch.startScale = this.scale), this.pinch.startTranslate = { X: this.pan.translateX, Y: this.pan.translateY }, (n = this.debugger) != null && n.show && (this.debugger.DOM.touch2.style.display = "", this.debugger.DOM.center.style.display = "", this.debugger.DOM.pinchTarget.style.display = "");
|
|
5011
5015
|
return;
|
|
5012
5016
|
}
|
|
5013
5017
|
case 1:
|
|
@@ -5036,8 +5040,8 @@ class Xi {
|
|
|
5036
5040
|
this.pan.endX && !this.isScaled ? (this.pinch.touchN && (this.pan.endX = this.pan.startX), this.updateAfterDrag()) : !this.pinch.touchN && Math.abs(this.pan.overscrollX) > Ge && Math.abs(this.pan.overscrollY) < Ge / 2 && (this.pan.startX = 0, this.pan.endX = -this.pan.overscrollX, this.updateAfterDrag()), this.dragState = 0, this.minimumMoved = !1, this.clearPinch(), (e = this.debugger) != null && e.show && (this.debugger.DOM.center.style.display = "none", this.debugger.DOM.touch1.style.display = "none", this.debugger.DOM.touch2.style.display = "none");
|
|
5037
5041
|
else if (t.touches.length === 1) {
|
|
5038
5042
|
this.dragState = 1, t.touches[0].identifier !== this.pan.touchID && (this.pan.touchID = t.touches[0].identifier), (A = this.debugger) != null && A.show && (this.debugger.DOM.center.style.display = "none", this.debugger.DOM.touch2.style.display = "none", this.debugger.DOM.pinchTarget.style.display = "none");
|
|
5039
|
-
const
|
|
5040
|
-
this.pan.startX =
|
|
5043
|
+
const n = this.startTouch(t);
|
|
5044
|
+
this.pan.startX = n.X, this.pan.startY = n.Y;
|
|
5041
5045
|
}
|
|
5042
5046
|
window.setTimeout(() => {
|
|
5043
5047
|
this.manager.updateBookStyle(!0), this.dragState === 0 && (this.scale < Jt && (this.pan.translateX = 0, this.pan.translateY = 0), this.clearPan()), this.manager.updateBookStyle(!0);
|
|
@@ -5052,13 +5056,13 @@ class Xi {
|
|
|
5052
5056
|
const e = this.coordinator.getBibiEventCoord(t);
|
|
5053
5057
|
Math.abs(this.pan.startY - e.Y) + Math.abs(this.pan.startX - e.X) > 5 && (this.minimumMoved || (this.manager.deselect(), this.minimumMoved = !0), this.dragState < 1 && (this.dragState = 1));
|
|
5054
5058
|
const A = (s = this.coordinator) == null ? void 0 : s.getTouchDistance(t);
|
|
5055
|
-
let
|
|
5059
|
+
let n = !1;
|
|
5056
5060
|
const r = this.scale;
|
|
5057
5061
|
if (this.dragState === 2 && A) {
|
|
5058
5062
|
if (this.pinch.touchN++, this.pinch.touchN < 4)
|
|
5059
5063
|
return;
|
|
5060
5064
|
let c = A / this.pinch.startDistance * this.scale;
|
|
5061
|
-
c >=
|
|
5065
|
+
c >= Pe && (c = Pe), c <= Jt && (c = 1), this.scale = c, this.pinch.startDistance = A, n = !0;
|
|
5062
5066
|
}
|
|
5063
5067
|
if (this.pan.letItGo === !1 && (this.pan.letItGo = Math.abs(this.pan.startY - e.Y) < Math.abs(this.pan.startX - e.X)), (o = this.debugger) != null && o.show && (this.debugger.DOM.touch1.style.top = `${e.Y - 10}px`, this.debugger.DOM.touch1.style.left = `${e.X - 10}px`, this.debugger.DOM.touch1.innerText = `${e.X.toFixed(2)},${e.Y.toFixed(2)}`), this.dragState > 0 && this.isScaled || this.dragState > 1) {
|
|
5064
5068
|
if (this.dragState === 1) {
|
|
@@ -5083,12 +5087,12 @@ class Xi {
|
|
|
5083
5087
|
this.pan.translateX = E, this.pan.translateY = f, (h = this.debugger) != null && h.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)}`);
|
|
5084
5088
|
}
|
|
5085
5089
|
const c = this.frameBounds.width / 6, g = this.frameBounds.height / 6;
|
|
5086
|
-
this.pan.translateX < -c && (this.pan.overscrollX = -(c + this.pan.translateX), this.pan.translateX = -c), this.pan.translateY < -g && (this.pan.overscrollY = -(g + this.pan.translateY), this.pan.translateY = -g), this.pan.translateX > c && (this.pan.overscrollX = c - this.pan.translateX, this.pan.translateX = c), this.pan.translateY > g && (this.pan.overscrollY = g - this.pan.translateY, this.pan.translateY = g),
|
|
5090
|
+
this.pan.translateX < -c && (this.pan.overscrollX = -(c + this.pan.translateX), this.pan.translateX = -c), this.pan.translateY < -g && (this.pan.overscrollY = -(g + this.pan.translateY), this.pan.translateY = -g), this.pan.translateX > c && (this.pan.overscrollX = c - this.pan.translateX, this.pan.translateX = c), this.pan.translateY > g && (this.pan.overscrollY = g - this.pan.translateY, this.pan.translateY = g), n = !0, (l = this.debugger) != null && l.show && (this.debugger.DOM.stats.innerText = `TX: ${this.pan.translateX.toFixed(2)}
|
|
5087
5091
|
TY: ${this.pan.translateY.toFixed(2)}
|
|
5088
5092
|
Zoom: ${this.scale.toFixed(2)}
|
|
5089
5093
|
Overscroll: ${this.pan.overscrollX.toFixed(2)},${this.pan.overscrollY.toFixed(2)}`);
|
|
5090
5094
|
}
|
|
5091
|
-
if (
|
|
5095
|
+
if (n) {
|
|
5092
5096
|
this.manager.updateBookStyle();
|
|
5093
5097
|
return;
|
|
5094
5098
|
}
|
|
@@ -5140,16 +5144,16 @@ Overscroll: ${this.pan.overscrollX.toFixed(2)},${this.pan.overscrollY.toFixed(2)
|
|
|
5140
5144
|
t > 0 && e > this.manager.threshold && this.manager.slength > this.manager.perPage ? this.manager.listener("no_less", void 0) : t < 0 && e > this.manager.threshold && this.manager.slength > this.manager.perPage && this.manager.listener("no_more", void 0), this.manager.slideToCurrent(!0, !0);
|
|
5141
5145
|
}
|
|
5142
5146
|
}
|
|
5143
|
-
class
|
|
5147
|
+
class Ki {
|
|
5144
5148
|
// TODO getter
|
|
5145
5149
|
constructor(t) {
|
|
5146
5150
|
this.shift = !0, this.spreads = [], this.nLandscape = 0, this.index(t), this.testShift(t), console.log(`Indexed ${this.spreads.length} spreads for ${t.readingOrder.items.length} items`);
|
|
5147
5151
|
}
|
|
5148
5152
|
index(t, e = !1) {
|
|
5149
|
-
this.nLandscape = 0, t.readingOrder.items.forEach((A,
|
|
5153
|
+
this.nLandscape = 0, t.readingOrder.items.forEach((A, n) => {
|
|
5150
5154
|
var s, o, a, h, l;
|
|
5151
|
-
e || (t.readingOrder.items[
|
|
5152
|
-
number:
|
|
5155
|
+
e || (t.readingOrder.items[n] = A.addProperties({
|
|
5156
|
+
number: n + 1,
|
|
5153
5157
|
isImage: ((s = A.type) == null ? void 0 : s.indexOf("image/")) === 0
|
|
5154
5158
|
}));
|
|
5155
5159
|
const r = ((o = A.properties) == null ? void 0 : o.getOrientation()) === it.landscape;
|
|
@@ -5159,26 +5163,26 @@ class Zi {
|
|
|
5159
5163
|
"center"
|
|
5160
5164
|
) : (
|
|
5161
5165
|
// Center it
|
|
5162
|
-
((this.shift ? 0 : 1) +
|
|
5166
|
+
((this.shift ? 0 : 1) + n - this.nLandscape) % 2 ? t.metadata.readingProgression === I.rtl ? "right" : "left" : t.metadata.readingProgression === I.rtl ? "left" : "right"
|
|
5163
5167
|
)
|
|
5164
5168
|
})), (r || (l = A.properties) != null && l.otherProperties.addBlank) && this.nLandscape++;
|
|
5165
5169
|
}), e && (this.spreads = []), this.buildSpreads(t.readingOrder);
|
|
5166
5170
|
}
|
|
5167
5171
|
testShift(t) {
|
|
5168
5172
|
let e = !1;
|
|
5169
|
-
this.spreads.forEach((A,
|
|
5173
|
+
this.spreads.forEach((A, n) => {
|
|
5170
5174
|
var o, a, h, l, c;
|
|
5171
5175
|
if (A.length > 1)
|
|
5172
5176
|
return;
|
|
5173
5177
|
const r = A[0], s = (o = r.properties) == null ? void 0 : o.getOrientation();
|
|
5174
|
-
|
|
5178
|
+
n === 0 && (s === it.landscape || s !== it.portrait && ((r.width || 0) > (r.height || 0) || ((a = r.properties) == null ? void 0 : a.getSpread()) === Ct.both)) && (this.shift = !1), e && ((h = r.properties) == null ? void 0 : h.getPage()) === W.center && this.spreads[n - 1][0].addProperties({ addBlank: !0 }), s === it.portrait && ((l = r.properties) == null ? void 0 : l.getPage()) !== "center" && ((c = r.properties) == null ? void 0 : c.otherProperties.number) > 1 ? e = !0 : e = !1;
|
|
5175
5179
|
}), this.shift || this.index(t, !0);
|
|
5176
5180
|
}
|
|
5177
5181
|
buildSpreads(t) {
|
|
5178
5182
|
let e = [];
|
|
5179
|
-
t.items.forEach((A,
|
|
5183
|
+
t.items.forEach((A, n) => {
|
|
5180
5184
|
var r;
|
|
5181
|
-
!
|
|
5185
|
+
!n && this.shift ? this.spreads.push([A]) : ((r = A.properties) == null ? void 0 : r.getPage()) === W.center ? (e.length > 0 && this.spreads.push(e), this.spreads.push([A]), e = []) : e.length >= 2 ? (this.spreads.push(e), e = [A]) : e.push(A);
|
|
5182
5186
|
}), e.length > 0 && this.spreads.push(e);
|
|
5183
5187
|
}
|
|
5184
5188
|
currentSpread(t, e) {
|
|
@@ -5188,15 +5192,15 @@ class Zi {
|
|
|
5188
5192
|
return this.spreads.find((e) => e.includes(t)) || void 0;
|
|
5189
5193
|
}
|
|
5190
5194
|
}
|
|
5191
|
-
const He = 8, ke = 5,
|
|
5192
|
-
class
|
|
5195
|
+
const He = 8, ke = 5, qi = 300, _i = 15e3, $i = 250, tn = 150, en = 500;
|
|
5196
|
+
class An {
|
|
5193
5197
|
constructor(t, e, A) {
|
|
5194
|
-
var
|
|
5195
|
-
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.width = 0, this.height = 0, this.transform = "", this.currentSlide = 0, this.spread = !0, this.orientationInternal = -1, this.container = t, this.positions = e, this.pub = A, this.spreadPresentation = ((
|
|
5198
|
+
var n;
|
|
5199
|
+
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.width = 0, this.height = 0, this.transform = "", this.currentSlide = 0, this.spread = !0, this.orientationInternal = -1, this.container = t, this.positions = e, this.pub = A, this.spreadPresentation = ((n = A.metadata.getPresentation()) == null ? void 0 : n.spread) || Ct.auto, this.pub.metadata.effectiveReadingProgression !== I.rtl && this.pub.metadata.effectiveReadingProgression !== I.ltr)
|
|
5196
5200
|
throw Error("Unsupported reading progression for EPUB");
|
|
5197
|
-
this.spreader = new
|
|
5201
|
+
this.spreader = new Ki(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 Zi(this), this.pub.readingOrder.items.forEach((r) => {
|
|
5198
5202
|
var o, a;
|
|
5199
|
-
const s = new
|
|
5203
|
+
const s = new ki(this.peripherals, this.pub.metadata.effectiveReadingProgression, r.href);
|
|
5200
5204
|
this.spineElement.appendChild(s.element), this.pool.set(r.href, s), s.width = 100 / this.length * (((o = r.properties) == null ? void 0 : o.getOrientation()) === it.landscape || (a = r.properties) != null && a.otherProperties.addBlank ? this.perPage : 1), s.height = this.height;
|
|
5201
5205
|
});
|
|
5202
5206
|
}
|
|
@@ -5214,16 +5218,16 @@ class en {
|
|
|
5214
5218
|
*/
|
|
5215
5219
|
resizeHandler(t = !0, e = !0) {
|
|
5216
5220
|
this.currentSlide + this.perPage > this.length && (this.currentSlide = this.length <= this.perPage ? 0 : this.length - 1), this.containerHeightCached = this.container.clientHeight, this.orientationInternal = -1, this.updateSpineStyle(!0), t && (this.currentSlide = this.reAlign(), this.slideToCurrent(!e, e)), clearTimeout(this.resizeTimeout), this.resizeTimeout = window.setTimeout(() => {
|
|
5217
|
-
this.pool.forEach((A,
|
|
5221
|
+
this.pool.forEach((A, n) => {
|
|
5218
5222
|
var a, h;
|
|
5219
|
-
let r = this.pub.readingOrder.items.findIndex((l) => l.href ===
|
|
5223
|
+
let r = this.pub.readingOrder.items.findIndex((l) => l.href === n);
|
|
5220
5224
|
const s = this.pub.readingOrder.items[r];
|
|
5221
5225
|
if (A.width = 100 / this.length * (((a = s.properties) == null ? void 0 : a.getOrientation()) === it.landscape || (h = s.properties) != null && h.otherProperties.addBlank ? this.perPage : 1), A.height = this.height, !A.loaded)
|
|
5222
5226
|
return;
|
|
5223
5227
|
const o = this.spreader.findByLink(s);
|
|
5224
5228
|
A.update(this.spreadPosition(o, s));
|
|
5225
5229
|
});
|
|
5226
|
-
},
|
|
5230
|
+
}, $i);
|
|
5227
5231
|
}
|
|
5228
5232
|
/**
|
|
5229
5233
|
* It is important that these values be cached to avoid spamming them on redraws, they are expensive.
|
|
@@ -5249,8 +5253,8 @@ class en {
|
|
|
5249
5253
|
updateSpineStyle(t, e = !0) {
|
|
5250
5254
|
let A = "0";
|
|
5251
5255
|
this.updateDimensions(), this.perPage > 1 && (A = `${this.width / 2}px`);
|
|
5252
|
-
const
|
|
5253
|
-
transition: t ? `all ${e ?
|
|
5256
|
+
const n = {
|
|
5257
|
+
transition: t ? `all ${e ? tn : en}ms ease-out` : "all 0ms ease-out",
|
|
5254
5258
|
marginRight: this.rtl ? A : "0",
|
|
5255
5259
|
marginLeft: this.rtl ? "0" : A,
|
|
5256
5260
|
width: `${this.width / this.perPage * this.length}px`,
|
|
@@ -5258,12 +5262,12 @@ class en {
|
|
|
5258
5262
|
// Static (should be moved to CSS)
|
|
5259
5263
|
contain: "content"
|
|
5260
5264
|
};
|
|
5261
|
-
Object.assign(this.spineElement.style,
|
|
5265
|
+
Object.assign(this.spineElement.style, n);
|
|
5262
5266
|
}
|
|
5263
5267
|
updateBookStyle(t = !1) {
|
|
5264
5268
|
var e, A;
|
|
5265
5269
|
if (t) {
|
|
5266
|
-
const
|
|
5270
|
+
const n = {
|
|
5267
5271
|
overflow: "hidden",
|
|
5268
5272
|
direction: this.pub.metadata.effectiveReadingProgression,
|
|
5269
5273
|
cursor: "",
|
|
@@ -5277,7 +5281,7 @@ class en {
|
|
|
5277
5281
|
transition: (e = this.peripherals) != null && e.dragState ? "none" : "transform .15s ease-in-out",
|
|
5278
5282
|
touchAction: "none"
|
|
5279
5283
|
};
|
|
5280
|
-
Object.assign(this.bookElement.style,
|
|
5284
|
+
Object.assign(this.bookElement.style, n);
|
|
5281
5285
|
}
|
|
5282
5286
|
this.bookElement.style.transform = `scale(${((A = this.peripherals) == null ? void 0 : A.scale) || 1})` + (this.peripherals ? ` translate3d(${this.peripherals.pan.translateX}px, ${this.peripherals.pan.translateY}px, 0px)` : "");
|
|
5283
5287
|
}
|
|
@@ -5373,9 +5377,9 @@ class en {
|
|
|
5373
5377
|
for (; e.value; )
|
|
5374
5378
|
A.push(e.value), e = t.next();
|
|
5375
5379
|
A.length > 0 && await Promise.allSettled(A), this.inprogress.clear();
|
|
5376
|
-
let
|
|
5380
|
+
let n = this.pool.values(), r = n.next();
|
|
5377
5381
|
for (; r.value; )
|
|
5378
|
-
await r.value.destroy(), r =
|
|
5382
|
+
await r.value.destroy(), r = n.next();
|
|
5379
5383
|
this.pool.clear(), this.blobs.forEach((s) => URL.revokeObjectURL(s)), this.container.childNodes.forEach((s) => {
|
|
5380
5384
|
(s.nodeType === Node.ELEMENT_NODE || s.nodeType === Node.TEXT_NODE) && s.remove();
|
|
5381
5385
|
});
|
|
@@ -5387,7 +5391,7 @@ class en {
|
|
|
5387
5391
|
return t % 2 && !this.single && t++, t;
|
|
5388
5392
|
}
|
|
5389
5393
|
spreadPosition(t, e) {
|
|
5390
|
-
return this.perPage < 2 || t.length < 2 ?
|
|
5394
|
+
return this.perPage < 2 || t.length < 2 ? W.center : e.href === t[0].href ? this.rtl ? W.right : W.left : this.rtl ? W.left : W.right;
|
|
5391
5395
|
}
|
|
5392
5396
|
async waitForItem(t) {
|
|
5393
5397
|
if (this.inprogress.has(t) && await this.inprogress.get(t), this.delayedShow.has(t)) {
|
|
@@ -5401,7 +5405,7 @@ class en {
|
|
|
5401
5405
|
e > 0 && clearTimeout(e), this.delayedShow.delete(t);
|
|
5402
5406
|
}
|
|
5403
5407
|
}
|
|
5404
|
-
async update(t, e, A,
|
|
5408
|
+
async update(t, e, A, n = !1) {
|
|
5405
5409
|
let r = this.pub.readingOrder.items.findIndex((a) => a.href === e.href);
|
|
5406
5410
|
if (r < 0)
|
|
5407
5411
|
throw Error("Href not found in reading order");
|
|
@@ -5431,10 +5435,10 @@ class en {
|
|
|
5431
5435
|
this.delayedTimeout.set(M, 0);
|
|
5432
5436
|
const Y = this.makeSpread(this.reAlign(B)), nt = this.spreadPosition(Y, E), mt = this.pool.get(M);
|
|
5433
5437
|
await mt.load(A, this.blobs.get(M)), this.peripherals.isScaled || await mt.show(nt), this.delayedShow.delete(M), w = !0, f();
|
|
5434
|
-
},
|
|
5438
|
+
}, qi);
|
|
5435
5439
|
setTimeout(() => {
|
|
5436
5440
|
!w && this.delayedShow.has(M) && F(`Offscreen load timeout: ${M}`);
|
|
5437
|
-
},
|
|
5441
|
+
}, _i), this.delayedTimeout.set(M, U);
|
|
5438
5442
|
}));
|
|
5439
5443
|
}
|
|
5440
5444
|
};
|
|
@@ -5489,13 +5493,13 @@ class en {
|
|
|
5489
5493
|
}), t;
|
|
5490
5494
|
}
|
|
5491
5495
|
get currentNumbers() {
|
|
5492
|
-
var e, A,
|
|
5496
|
+
var e, A, n, r;
|
|
5493
5497
|
if (this.perPage < 2)
|
|
5494
5498
|
return [(e = this.pub.readingOrder.items[this.currentSlide].properties) == null ? void 0 : e.otherProperties.number];
|
|
5495
5499
|
const t = this.spreader.currentSpread(this.currentSlide, this.perPage);
|
|
5496
5500
|
return t.length > 1 ? [
|
|
5497
5501
|
(A = t[0].properties) == null ? void 0 : A.otherProperties.number,
|
|
5498
|
-
(
|
|
5502
|
+
(n = t[t.length - 1].properties) == null ? void 0 : n.otherProperties.number
|
|
5499
5503
|
] : [(r = t[0].properties) == null ? void 0 : r.otherProperties.number];
|
|
5500
5504
|
}
|
|
5501
5505
|
deselect() {
|
|
@@ -5503,80 +5507,80 @@ class en {
|
|
|
5503
5507
|
(t = this.currentFrames) == null || t.forEach((e) => e == null ? void 0 : e.deselect());
|
|
5504
5508
|
}
|
|
5505
5509
|
}
|
|
5506
|
-
function
|
|
5507
|
-
if (typeof
|
|
5508
|
-
throw new TypeError("Path must be a string. Received " + JSON.stringify(
|
|
5510
|
+
function L(i) {
|
|
5511
|
+
if (typeof i != "string")
|
|
5512
|
+
throw new TypeError("Path must be a string. Received " + JSON.stringify(i));
|
|
5509
5513
|
}
|
|
5510
|
-
function Je(
|
|
5511
|
-
for (var e = "", A = 0,
|
|
5512
|
-
if (o <
|
|
5513
|
-
s =
|
|
5514
|
+
function Je(i, t) {
|
|
5515
|
+
for (var e = "", A = 0, n = -1, r = 0, s, o = 0; o <= i.length; ++o) {
|
|
5516
|
+
if (o < i.length)
|
|
5517
|
+
s = i.charCodeAt(o);
|
|
5514
5518
|
else {
|
|
5515
5519
|
if (s === 47)
|
|
5516
5520
|
break;
|
|
5517
5521
|
s = 47;
|
|
5518
5522
|
}
|
|
5519
5523
|
if (s === 47) {
|
|
5520
|
-
if (!(
|
|
5521
|
-
if (
|
|
5524
|
+
if (!(n === o - 1 || r === 1))
|
|
5525
|
+
if (n !== o - 1 && r === 2) {
|
|
5522
5526
|
if (e.length < 2 || A !== 2 || e.charCodeAt(e.length - 1) !== 46 || e.charCodeAt(e.length - 2) !== 46) {
|
|
5523
5527
|
if (e.length > 2) {
|
|
5524
5528
|
var a = e.lastIndexOf("/");
|
|
5525
5529
|
if (a !== e.length - 1) {
|
|
5526
|
-
a === -1 ? (e = "", A = 0) : (e = e.slice(0, a), A = e.length - 1 - e.lastIndexOf("/")),
|
|
5530
|
+
a === -1 ? (e = "", A = 0) : (e = e.slice(0, a), A = e.length - 1 - e.lastIndexOf("/")), n = o, r = 0;
|
|
5527
5531
|
continue;
|
|
5528
5532
|
}
|
|
5529
5533
|
} else if (e.length === 2 || e.length === 1) {
|
|
5530
|
-
e = "", A = 0,
|
|
5534
|
+
e = "", A = 0, n = o, r = 0;
|
|
5531
5535
|
continue;
|
|
5532
5536
|
}
|
|
5533
5537
|
}
|
|
5534
5538
|
t && (e.length > 0 ? e += "/.." : e = "..", A = 2);
|
|
5535
5539
|
} else
|
|
5536
|
-
e.length > 0 ? e += "/" +
|
|
5537
|
-
|
|
5540
|
+
e.length > 0 ? e += "/" + i.slice(n + 1, o) : e = i.slice(n + 1, o), A = o - n - 1;
|
|
5541
|
+
n = o, r = 0;
|
|
5538
5542
|
} else
|
|
5539
5543
|
s === 46 && r !== -1 ? ++r : r = -1;
|
|
5540
5544
|
}
|
|
5541
5545
|
return e;
|
|
5542
5546
|
}
|
|
5543
|
-
function
|
|
5547
|
+
function nn(i, t) {
|
|
5544
5548
|
var e = t.dir || t.root, A = t.base || (t.name || "") + (t.ext || "");
|
|
5545
|
-
return e ? e === t.root ? e + A : e +
|
|
5549
|
+
return e ? e === t.root ? e + A : e + i + A : A;
|
|
5546
5550
|
}
|
|
5547
5551
|
var ht = {
|
|
5548
5552
|
// path.resolve([from ...], to)
|
|
5549
5553
|
resolve: function() {
|
|
5550
|
-
for (var t = "", e = !1, A,
|
|
5554
|
+
for (var t = "", e = !1, A, n = arguments.length - 1; n >= -1 && !e; n--) {
|
|
5551
5555
|
var r;
|
|
5552
|
-
|
|
5556
|
+
n >= 0 ? r = arguments[n] : (A === void 0 && (A = process.cwd()), r = A), L(r), r.length !== 0 && (t = r + "/" + t, e = r.charCodeAt(0) === 47);
|
|
5553
5557
|
}
|
|
5554
5558
|
return t = Je(t, !e), e ? t.length > 0 ? "/" + t : "/" : t.length > 0 ? t : ".";
|
|
5555
5559
|
},
|
|
5556
5560
|
normalize: function(t) {
|
|
5557
|
-
if (
|
|
5561
|
+
if (L(t), t.length === 0)
|
|
5558
5562
|
return ".";
|
|
5559
5563
|
var e = t.charCodeAt(0) === 47, A = t.charCodeAt(t.length - 1) === 47;
|
|
5560
5564
|
return t = Je(t, !e), t.length === 0 && !e && (t = "."), t.length > 0 && A && (t += "/"), e ? "/" + t : t;
|
|
5561
5565
|
},
|
|
5562
5566
|
isAbsolute: function(t) {
|
|
5563
|
-
return
|
|
5567
|
+
return L(t), t.length > 0 && t.charCodeAt(0) === 47;
|
|
5564
5568
|
},
|
|
5565
5569
|
join: function() {
|
|
5566
5570
|
if (arguments.length === 0)
|
|
5567
5571
|
return ".";
|
|
5568
5572
|
for (var t, e = 0; e < arguments.length; ++e) {
|
|
5569
5573
|
var A = arguments[e];
|
|
5570
|
-
|
|
5574
|
+
L(A), A.length > 0 && (t === void 0 ? t = A : t += "/" + A);
|
|
5571
5575
|
}
|
|
5572
5576
|
return t === void 0 ? "." : ht.normalize(t);
|
|
5573
5577
|
},
|
|
5574
5578
|
relative: function(t, e) {
|
|
5575
|
-
if (
|
|
5579
|
+
if (L(t), L(e), t === e || (t = ht.resolve(t), e = ht.resolve(e), t === e))
|
|
5576
5580
|
return "";
|
|
5577
5581
|
for (var A = 1; A < t.length && t.charCodeAt(A) === 47; ++A)
|
|
5578
5582
|
;
|
|
5579
|
-
for (var
|
|
5583
|
+
for (var n = t.length, r = n - A, s = 1; s < e.length && e.charCodeAt(s) === 47; ++s)
|
|
5580
5584
|
;
|
|
5581
5585
|
for (var o = e.length, a = o - s, h = r < a ? r : a, l = -1, c = 0; c <= h; ++c) {
|
|
5582
5586
|
if (c === h) {
|
|
@@ -5595,31 +5599,31 @@ var ht = {
|
|
|
5595
5599
|
g === 47 && (l = c);
|
|
5596
5600
|
}
|
|
5597
5601
|
var M = "";
|
|
5598
|
-
for (c = A + l + 1; c <=
|
|
5599
|
-
(c ===
|
|
5602
|
+
for (c = A + l + 1; c <= n; ++c)
|
|
5603
|
+
(c === n || t.charCodeAt(c) === 47) && (M.length === 0 ? M += ".." : M += "/..");
|
|
5600
5604
|
return M.length > 0 ? M + e.slice(s + l) : (s += l, e.charCodeAt(s) === 47 && ++s, e.slice(s));
|
|
5601
5605
|
},
|
|
5602
5606
|
_makeLong: function(t) {
|
|
5603
5607
|
return t;
|
|
5604
5608
|
},
|
|
5605
5609
|
dirname: function(t) {
|
|
5606
|
-
if (
|
|
5610
|
+
if (L(t), t.length === 0)
|
|
5607
5611
|
return ".";
|
|
5608
|
-
for (var e = t.charCodeAt(0), A = e === 47,
|
|
5612
|
+
for (var e = t.charCodeAt(0), A = e === 47, n = -1, r = !0, s = t.length - 1; s >= 1; --s)
|
|
5609
5613
|
if (e = t.charCodeAt(s), e === 47) {
|
|
5610
5614
|
if (!r) {
|
|
5611
|
-
|
|
5615
|
+
n = s;
|
|
5612
5616
|
break;
|
|
5613
5617
|
}
|
|
5614
5618
|
} else
|
|
5615
5619
|
r = !1;
|
|
5616
|
-
return
|
|
5620
|
+
return n === -1 ? A ? "/" : "." : A && n === 1 ? "//" : t.slice(0, n);
|
|
5617
5621
|
},
|
|
5618
5622
|
basename: function(t, e) {
|
|
5619
5623
|
if (e !== void 0 && typeof e != "string")
|
|
5620
5624
|
throw new TypeError('"ext" argument must be a string');
|
|
5621
|
-
|
|
5622
|
-
var A = 0,
|
|
5625
|
+
L(t);
|
|
5626
|
+
var A = 0, n = -1, r = !0, s;
|
|
5623
5627
|
if (e !== void 0 && e.length > 0 && e.length <= t.length) {
|
|
5624
5628
|
if (e.length === t.length && e === t)
|
|
5625
5629
|
return "";
|
|
@@ -5632,9 +5636,9 @@ var ht = {
|
|
|
5632
5636
|
break;
|
|
5633
5637
|
}
|
|
5634
5638
|
} else
|
|
5635
|
-
a === -1 && (r = !1, a = s + 1), o >= 0 && (h === e.charCodeAt(o) ? --o === -1 && (
|
|
5639
|
+
a === -1 && (r = !1, a = s + 1), o >= 0 && (h === e.charCodeAt(o) ? --o === -1 && (n = s) : (o = -1, n = a));
|
|
5636
5640
|
}
|
|
5637
|
-
return A ===
|
|
5641
|
+
return A === n ? n = a : n === -1 && (n = t.length), t.slice(A, n);
|
|
5638
5642
|
} else {
|
|
5639
5643
|
for (s = t.length - 1; s >= 0; --s)
|
|
5640
5644
|
if (t.charCodeAt(s) === 47) {
|
|
@@ -5643,13 +5647,13 @@ var ht = {
|
|
|
5643
5647
|
break;
|
|
5644
5648
|
}
|
|
5645
5649
|
} else
|
|
5646
|
-
|
|
5647
|
-
return
|
|
5650
|
+
n === -1 && (r = !1, n = s + 1);
|
|
5651
|
+
return n === -1 ? "" : t.slice(A, n);
|
|
5648
5652
|
}
|
|
5649
5653
|
},
|
|
5650
5654
|
extname: function(t) {
|
|
5651
|
-
|
|
5652
|
-
for (var e = -1, A = 0,
|
|
5655
|
+
L(t);
|
|
5656
|
+
for (var e = -1, A = 0, n = -1, r = !0, s = 0, o = t.length - 1; o >= 0; --o) {
|
|
5653
5657
|
var a = t.charCodeAt(o);
|
|
5654
5658
|
if (a === 47) {
|
|
5655
5659
|
if (!r) {
|
|
@@ -5658,24 +5662,24 @@ var ht = {
|
|
|
5658
5662
|
}
|
|
5659
5663
|
continue;
|
|
5660
5664
|
}
|
|
5661
|
-
|
|
5665
|
+
n === -1 && (r = !1, n = o + 1), a === 46 ? e === -1 ? e = o : s !== 1 && (s = 1) : e !== -1 && (s = -1);
|
|
5662
5666
|
}
|
|
5663
|
-
return e === -1 ||
|
|
5667
|
+
return e === -1 || n === -1 || // We saw a non-dot character immediately before the dot
|
|
5664
5668
|
s === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
5665
|
-
s === 1 && e ===
|
|
5669
|
+
s === 1 && e === n - 1 && e === A + 1 ? "" : t.slice(e, n);
|
|
5666
5670
|
},
|
|
5667
5671
|
format: function(t) {
|
|
5668
5672
|
if (t === null || typeof t != "object")
|
|
5669
5673
|
throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof t);
|
|
5670
|
-
return
|
|
5674
|
+
return nn("/", t);
|
|
5671
5675
|
},
|
|
5672
5676
|
parse: function(t) {
|
|
5673
|
-
|
|
5677
|
+
L(t);
|
|
5674
5678
|
var e = { root: "", dir: "", base: "", ext: "", name: "" };
|
|
5675
5679
|
if (t.length === 0)
|
|
5676
5680
|
return e;
|
|
5677
|
-
var A = t.charCodeAt(0),
|
|
5678
|
-
|
|
5681
|
+
var A = t.charCodeAt(0), n = A === 47, r;
|
|
5682
|
+
n ? (e.root = "/", r = 1) : r = 0;
|
|
5679
5683
|
for (var s = -1, o = 0, a = -1, h = !0, l = t.length - 1, c = 0; l >= r; --l) {
|
|
5680
5684
|
if (A = t.charCodeAt(l), A === 47) {
|
|
5681
5685
|
if (!h) {
|
|
@@ -5688,7 +5692,7 @@ var ht = {
|
|
|
5688
5692
|
}
|
|
5689
5693
|
return s === -1 || a === -1 || // We saw a non-dot character immediately before the dot
|
|
5690
5694
|
c === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
5691
|
-
c === 1 && s === a - 1 && s === o + 1 ? a !== -1 && (o === 0 &&
|
|
5695
|
+
c === 1 && s === a - 1 && s === o + 1 ? a !== -1 && (o === 0 && n ? e.base = e.name = t.slice(1, a) : e.base = e.name = t.slice(o, a)) : (o === 0 && n ? (e.name = t.slice(1, s), e.base = t.slice(1, a)) : (e.name = t.slice(o, s), e.base = t.slice(o, a)), e.ext = t.slice(s, a)), o > 0 ? e.dir = t.slice(0, o - 1) : n && (e.dir = "/"), e;
|
|
5692
5696
|
},
|
|
5693
5697
|
sep: "/",
|
|
5694
5698
|
delimiter: ":",
|
|
@@ -5696,9 +5700,9 @@ var ht = {
|
|
|
5696
5700
|
posix: null
|
|
5697
5701
|
};
|
|
5698
5702
|
ht.posix = ht;
|
|
5699
|
-
var We = ht, pt = /* @__PURE__ */ ((
|
|
5703
|
+
var We = ht, pt = /* @__PURE__ */ ((i) => (i.start = "start", i.left = "left", i.right = "right", i.justify = "justify", i))(pt || {}), Bt = /* @__PURE__ */ ((i) => (i.day = "day", i.sepia = "sepia", i.night = "night", i.custom = "custom", i))(Bt || {}), y = /* @__PURE__ */ ((i) => (i.margin = "margin", i.lineLength = "lineLength", i.columns = "columns", i))(y || {});
|
|
5700
5704
|
const Tt = {
|
|
5701
|
-
range: [0.7,
|
|
5705
|
+
range: [0.7, 4],
|
|
5702
5706
|
step: 0.05
|
|
5703
5707
|
}, jt = {
|
|
5704
5708
|
range: [100, 1e3],
|
|
@@ -5707,43 +5711,43 @@ const Tt = {
|
|
|
5707
5711
|
range: [50, 250],
|
|
5708
5712
|
step: 10
|
|
5709
5713
|
};
|
|
5710
|
-
function
|
|
5711
|
-
return
|
|
5714
|
+
function rn(i, t) {
|
|
5715
|
+
return i == null || t == null || i <= t ? i : void 0;
|
|
5712
5716
|
}
|
|
5713
|
-
function
|
|
5714
|
-
return
|
|
5717
|
+
function sn(i, t) {
|
|
5718
|
+
return i == null || t == null || i >= t ? i : void 0;
|
|
5715
5719
|
}
|
|
5716
|
-
function T(
|
|
5717
|
-
return typeof
|
|
5720
|
+
function T(i) {
|
|
5721
|
+
return typeof i == "string" ? i : i === null ? null : void 0;
|
|
5718
5722
|
}
|
|
5719
|
-
function
|
|
5720
|
-
return typeof
|
|
5723
|
+
function C(i) {
|
|
5724
|
+
return typeof i == "boolean" || i == null ? i : void 0;
|
|
5721
5725
|
}
|
|
5722
|
-
function lt(
|
|
5723
|
-
if (
|
|
5724
|
-
return
|
|
5726
|
+
function lt(i, t) {
|
|
5727
|
+
if (i !== void 0)
|
|
5728
|
+
return i === null ? null : t[i] !== void 0 ? i : void 0;
|
|
5725
5729
|
}
|
|
5726
|
-
function ct(
|
|
5727
|
-
return typeof
|
|
5730
|
+
function ct(i) {
|
|
5731
|
+
return typeof i == "boolean" || typeof i == "number" && i >= 0 ? i : i === null ? null : void 0;
|
|
5728
5732
|
}
|
|
5729
|
-
function
|
|
5730
|
-
if (
|
|
5731
|
-
return
|
|
5733
|
+
function z(i) {
|
|
5734
|
+
if (i !== void 0)
|
|
5735
|
+
return i === null ? null : i < 0 ? void 0 : i;
|
|
5732
5736
|
}
|
|
5733
|
-
function gt(
|
|
5734
|
-
if (
|
|
5737
|
+
function gt(i, t) {
|
|
5738
|
+
if (i === void 0)
|
|
5735
5739
|
return;
|
|
5736
|
-
if (
|
|
5740
|
+
if (i === null)
|
|
5737
5741
|
return null;
|
|
5738
5742
|
const e = Math.min(...t), A = Math.max(...t);
|
|
5739
|
-
return
|
|
5743
|
+
return i >= e && i <= A ? i : void 0;
|
|
5740
5744
|
}
|
|
5741
|
-
function Wt(
|
|
5742
|
-
return
|
|
5745
|
+
function Wt(i, t) {
|
|
5746
|
+
return i === void 0 ? t : i;
|
|
5743
5747
|
}
|
|
5744
5748
|
class Et {
|
|
5745
5749
|
constructor(t = {}) {
|
|
5746
|
-
this.backgroundColor = T(t.backgroundColor), this.blendFilter =
|
|
5750
|
+
this.backgroundColor = T(t.backgroundColor), this.blendFilter = C(t.blendFilter), this.constraint = z(t.constraint), this.columnCount = z(t.columnCount), this.darkenFilter = ct(t.darkenFilter), this.deprecatedFontSize = C(t.deprecatedFontSize), this.fontFamily = T(t.fontFamily), this.fontSize = gt(t.fontSize, Tt.range), this.fontSizeNormalize = C(t.fontSizeNormalize), this.fontOpticalSizing = C(t.fontOpticalSizing), this.fontOverride = C(t.fontOverride), this.fontWeight = gt(t.fontWeight, jt.range), this.fontWidth = gt(t.fontWidth, Vt.range), this.hyphens = C(t.hyphens), this.invertFilter = ct(t.invertFilter), this.invertGaijiFilter = ct(t.invertGaijiFilter), this.iPadOSPatch = C(t.iPadOSPatch), this.layoutStrategy = lt(t.layoutStrategy, y), this.letterSpacing = z(t.letterSpacing), this.ligatures = C(t.ligatures), this.lineHeight = z(t.lineHeight), this.linkColor = T(t.linkColor), this.noRuby = C(t.noRuby), this.pageGutter = z(t.pageGutter), this.paragraphIndent = z(t.paragraphIndent), this.paragraphSpacing = z(t.paragraphSpacing), this.scroll = C(t.scroll), this.selectionBackgroundColor = T(t.selectionBackgroundColor), this.selectionTextColor = T(t.selectionTextColor), this.textAlign = lt(t.textAlign, pt), this.textColor = T(t.textColor), this.textNormalization = C(t.textNormalization), this.theme = lt(t.theme, Bt), this.visitedColor = T(t.visitedColor), this.wordSpacing = z(t.wordSpacing), this.optimalLineLength = z(t.optimalLineLength), this.maximalLineLength = z(t.maximalLineLength), this.minimalLineLength = z(t.minimalLineLength);
|
|
5747
5751
|
}
|
|
5748
5752
|
static serialize(t) {
|
|
5749
5753
|
const { ...e } = t;
|
|
@@ -5760,53 +5764,29 @@ class Et {
|
|
|
5760
5764
|
merging(t) {
|
|
5761
5765
|
const e = { ...this };
|
|
5762
5766
|
for (const A of Object.keys(t))
|
|
5763
|
-
t[A] !== void 0 && (A !== "maximalLineLength" || t[A] === null || t[A] >= (t.
|
|
5767
|
+
t[A] !== void 0 && (A !== "maximalLineLength" || t[A] === null || t[A] >= (t.optimalLineLength ?? e.optimalLineLength ?? 65)) && (A !== "minimalLineLength" || t[A] === null || t[A] <= (t.optimalLineLength ?? e.optimalLineLength ?? 65)) && (e[A] = t[A]);
|
|
5764
5768
|
return new Et(e);
|
|
5765
5769
|
}
|
|
5766
5770
|
}
|
|
5767
|
-
const
|
|
5768
|
-
RS__oldStyleTf:
|
|
5769
|
-
RS__modernTf:
|
|
5770
|
-
RS__sansTf:
|
|
5771
|
-
RS__humanistTf:
|
|
5772
|
-
RS__monospaceTf:
|
|
5773
|
-
},
|
|
5771
|
+
const on = "'Iowan Old Style', Sitka, 'Sitka Text', Palatino, 'Book Antiqua', 'URW Palladio L', P052, serif", an = "Athelas, Constantia, Charter, 'Bitstream Charter', Cambria, 'Georgia Pro', Georgia, serif", hn = "-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI Variable', 'Segoe UI', Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Liberation Sans', Arial, sans-serif", ln = "Seravek, Calibri, 'Gill Sans Nova', Roboto, Ubuntu, 'DejaVu Sans', source-sans-pro, sans-serif", cn = "ui-monospace, 'Andale Mono', 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace", gn = {
|
|
5772
|
+
RS__oldStyleTf: on,
|
|
5773
|
+
RS__modernTf: an,
|
|
5774
|
+
RS__sansTf: hn,
|
|
5775
|
+
RS__humanistTf: ln,
|
|
5776
|
+
RS__monospaceTf: cn
|
|
5777
|
+
}, dn = 16, Le = gn.RS__oldStyleTf;
|
|
5774
5778
|
class ft {
|
|
5775
5779
|
constructor(t) {
|
|
5776
|
-
this._optimalLineLength = null, this._canvas = document.createElement("canvas"), this._optimalChars = t.optimalChars, this._minChars = t.minChars, this._maxChars = t.maxChars, this.
|
|
5777
|
-
}
|
|
5778
|
-
set minChars(t) {
|
|
5779
|
-
t !== this._minChars && (this._minChars = t, this._minDivider = this._minChars && this._minChars < this._optimalChars ? this._optimalChars / this._minChars : this._minChars === null ? null : 1);
|
|
5780
|
-
}
|
|
5781
|
-
set optimalChars(t) {
|
|
5782
|
-
t !== this._optimalChars && (this._optimalChars = t, this._optimalLineLength = this.getOptimalLineLength());
|
|
5783
|
-
}
|
|
5784
|
-
set maxChars(t) {
|
|
5785
|
-
t !== this._maxChars && (this._maxChars = t, this._maxMultiplier = this._maxChars && this._maxChars > this._optimalChars ? this._maxChars / this._optimalChars : this._maxChars === null ? null : 1);
|
|
5786
|
-
}
|
|
5787
|
-
set userChars(t) {
|
|
5788
|
-
t !== this._userChars && (this._userChars = t, this._userMultiplier = this._userChars ? this._userChars / this._optimalChars : null);
|
|
5789
|
-
}
|
|
5790
|
-
set letterSpacing(t) {
|
|
5791
|
-
t !== this._letterSpacing && (this._letterSpacing = Math.round(t * this._baseFontSize), this._optimalLineLength = this.getOptimalLineLength());
|
|
5792
|
-
}
|
|
5793
|
-
set wordSpacing(t) {
|
|
5794
|
-
t !== this._wordSpacing && (this._wordSpacing = Math.round(t * this._baseFontSize), this._optimalLineLength = this.getOptimalLineLength());
|
|
5795
|
-
}
|
|
5796
|
-
set baseFontSize(t) {
|
|
5797
|
-
this._baseFontSize = t, this._optimalLineLength = this.getOptimalLineLength();
|
|
5798
|
-
}
|
|
5799
|
-
set fontFace(t) {
|
|
5800
|
-
this._fontFace = t || Le, this._optimalLineLength = this.getOptimalLineLength();
|
|
5780
|
+
this._optimalLineLength = null, this._canvas = document.createElement("canvas"), this._optimalChars = t.optimalChars, this._minChars = t.minChars, this._maxChars = t.maxChars, this._baseFontSize = t.baseFontSize || dn, this._fontFace = t.fontFace || Le, this._sample = t.sample || null, this._pageGutter = t.pageGutter || 0, this._letterSpacing = t.letterSpacing ? Math.round(t.letterSpacing * this._baseFontSize) : 0, this._wordSpacing = t.wordSpacing ? Math.round(t.wordSpacing * this._baseFontSize) : 0, this._isCJK = t.isCJK || !1, this._getRelative = t.getRelative || !1, this._padding = this._pageGutter * 2, this._minDivider = this._minChars && this._minChars < this._optimalChars ? this._optimalChars / this._minChars : this._minChars === null ? null : 1, this._maxMultiplier = this._maxChars && this._maxChars > this._optimalChars ? this._maxChars / this._optimalChars : this._maxChars === null ? null : 1, this._approximatedWordSpaces = ft.approximateWordSpaces(this._optimalChars, this._sample);
|
|
5801
5781
|
}
|
|
5802
|
-
|
|
5803
|
-
|
|
5782
|
+
updateMultipliers() {
|
|
5783
|
+
this._minDivider = this._minChars && this._minChars < this._optimalChars ? this._optimalChars / this._minChars : this._minChars === null ? null : 1, this._maxMultiplier = this._maxChars && this._maxChars > this._optimalChars ? this._maxChars / this._optimalChars : this._maxChars === null ? null : 1;
|
|
5804
5784
|
}
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
t !== this.
|
|
5785
|
+
// Batch update to guarantee up-to-date values
|
|
5786
|
+
// Not filtering because pretty much everything can
|
|
5787
|
+
// trigger a recomputation anyway.
|
|
5788
|
+
update(t) {
|
|
5789
|
+
t.optimalChars && (this._optimalChars = t.optimalChars), t.minChars !== void 0 && (this._minChars = t.minChars), t.maxChars !== void 0 && (this._maxChars = t.maxChars), t.baseFontSize && (this._baseFontSize = t.baseFontSize), t.fontFace !== void 0 && (this._fontFace = t.fontFace || Le), t.letterSpacing && (this._letterSpacing = t.letterSpacing), t.wordSpacing && (this._wordSpacing = t.wordSpacing), t.isCJK != null && (this._isCJK = t.isCJK), t.pageGutter && (this._pageGutter = t.pageGutter), t.getRelative && (this._getRelative = t.getRelative), t.sample && (this._sample = t.sample, this._approximatedWordSpaces = ft.approximateWordSpaces(this._optimalChars, this._sample)), this.updateMultipliers(), this._optimalLineLength = this.getOptimalLineLength();
|
|
5810
5790
|
}
|
|
5811
5791
|
get baseFontSize() {
|
|
5812
5792
|
return this._baseFontSize;
|
|
@@ -5814,9 +5794,6 @@ class ft {
|
|
|
5814
5794
|
get minimalLineLength() {
|
|
5815
5795
|
return this._optimalLineLength || (this._optimalLineLength = this.getOptimalLineLength()), this._minDivider !== null ? Math.round(this._optimalLineLength / this._minDivider + this._padding) / (this._getRelative ? this._baseFontSize : 1) : null;
|
|
5816
5796
|
}
|
|
5817
|
-
get userLineLength() {
|
|
5818
|
-
return this._optimalLineLength || (this._optimalLineLength = this.getOptimalLineLength()), this._userMultiplier !== null ? Math.round(this._optimalLineLength * this._userMultiplier + this._padding) / (this._getRelative ? this._baseFontSize : 1) : null;
|
|
5819
|
-
}
|
|
5820
5797
|
get maximalLineLength() {
|
|
5821
5798
|
return this._optimalLineLength || (this._optimalLineLength = this.getOptimalLineLength()), this._maxMultiplier !== null ? Math.round(this._optimalLineLength * this._maxMultiplier + this._padding) / (this._getRelative ? this._baseFontSize : 1) : null;
|
|
5822
5799
|
}
|
|
@@ -5826,7 +5803,6 @@ class ft {
|
|
|
5826
5803
|
get all() {
|
|
5827
5804
|
return this._optimalLineLength || (this._optimalLineLength = this.getOptimalLineLength()), {
|
|
5828
5805
|
min: this.minimalLineLength,
|
|
5829
|
-
user: this.userLineLength,
|
|
5830
5806
|
max: this.maximalLineLength,
|
|
5831
5807
|
optimal: this.optimalLineLength,
|
|
5832
5808
|
baseFontSize: this._baseFontSize
|
|
@@ -5835,8 +5811,8 @@ class ft {
|
|
|
5835
5811
|
static approximateWordSpaces(t, e) {
|
|
5836
5812
|
let A = 0;
|
|
5837
5813
|
if (e && e.length >= t) {
|
|
5838
|
-
const
|
|
5839
|
-
A = (
|
|
5814
|
+
const n = e.match(/([\s]+)/gi);
|
|
5815
|
+
A = (n ? n.length : 0) * (t / e.length);
|
|
5840
5816
|
}
|
|
5841
5817
|
return A;
|
|
5842
5818
|
}
|
|
@@ -5866,16 +5842,16 @@ class ft {
|
|
|
5866
5842
|
if (e.font = `${this._baseFontSize}px ${t}`, this._sample && this._sample.length >= this._optimalChars && (A = this._sample.slice(0, this._optimalChars)), Object.hasOwn(e, "letterSpacing") && Object.hasOwn(e, "wordSpacing"))
|
|
5867
5843
|
return e.letterSpacing = this._letterSpacing.toString() + "px", e.wordSpacing = this._wordSpacing.toString() + "px", e.measureText(A).width;
|
|
5868
5844
|
{
|
|
5869
|
-
const
|
|
5870
|
-
return e.measureText(A).width +
|
|
5845
|
+
const n = this._letterSpacing * (this._optimalChars - 1), r = this._wordSpacing * ft.approximateWordSpaces(this._optimalChars, this._sample);
|
|
5846
|
+
return e.measureText(A).width + n + r;
|
|
5871
5847
|
}
|
|
5872
5848
|
} else
|
|
5873
5849
|
return this.getLineLengthFallback();
|
|
5874
5850
|
}
|
|
5875
5851
|
}
|
|
5876
|
-
class
|
|
5852
|
+
class un {
|
|
5877
5853
|
constructor(t) {
|
|
5878
|
-
this.backgroundColor = T(t.backgroundColor) || null, this.blendFilter =
|
|
5854
|
+
this.backgroundColor = T(t.backgroundColor) || null, this.blendFilter = C(t.blendFilter) ?? !1, this.constraint = z(t.constraint) || 0, this.columnCount = z(t.columnCount) || null, this.darkenFilter = ct(t.darkenFilter) ?? !1, this.deprecatedFontSize = C(t.deprecatedFontSize), (this.deprecatedFontSize === !1 || this.deprecatedFontSize === null) && (this.deprecatedFontSize = !CSS.supports("zoom", "1")), this.fontFamily = T(t.fontFamily) || null, this.fontSize = gt(t.fontSize, Tt.range) || 1, this.fontSizeNormalize = C(t.fontSizeNormalize) ?? !1, this.fontOpticalSizing = C(t.fontOpticalSizing) ?? null, this.fontOverride = C(t.fontOverride) ?? null, this.fontWeight = gt(t.fontWeight, jt.range) || null, this.fontWidth = gt(t.fontWidth, Vt.range) || null, this.hyphens = C(t.hyphens) ?? null, this.invertFilter = ct(t.invertFilter) ?? !1, this.invertGaijiFilter = ct(t.invertGaijiFilter) ?? !1, this.iPadOSPatch = t.iPadOSPatch === !1 ? !1 : xt.OS.iPadOS && xt.iOSRequest === "desktop", this.layoutStrategy = lt(t.layoutStrategy, y) || y.lineLength, this.letterSpacing = z(t.letterSpacing) || null, this.ligatures = C(t.ligatures) ?? null, this.lineHeight = z(t.lineHeight) || null, this.linkColor = T(t.linkColor) || null, this.noRuby = C(t.noRuby) ?? !1, this.pageGutter = Wt(z(t.pageGutter), 20), this.paragraphIndent = z(t.paragraphIndent) ?? null, this.paragraphSpacing = z(t.paragraphSpacing) ?? null, this.scroll = C(t.scroll) ?? !1, this.selectionBackgroundColor = T(t.selectionBackgroundColor) || null, this.selectionTextColor = T(t.selectionTextColor) || null, this.textAlign = lt(t.textAlign, pt) || null, this.textColor = T(t.textColor) || null, this.textNormalization = C(t.textNormalization) ?? !1, this.theme = lt(t.theme, Bt) || null, this.visitedColor = T(t.visitedColor) || null, this.wordSpacing = z(t.wordSpacing) || null, this.optimalLineLength = z(t.optimalLineLength) || 65, this.maximalLineLength = Wt(sn(t.maximalLineLength, this.optimalLineLength), 80), this.minimalLineLength = Wt(rn(t.minimalLineLength, this.optimalLineLength), 40);
|
|
5879
5855
|
}
|
|
5880
5856
|
}
|
|
5881
5857
|
class V {
|
|
@@ -5883,9 +5859,9 @@ class V {
|
|
|
5883
5859
|
initialValue: t = null,
|
|
5884
5860
|
effectiveValue: e,
|
|
5885
5861
|
isEffective: A,
|
|
5886
|
-
onChange:
|
|
5862
|
+
onChange: n
|
|
5887
5863
|
}) {
|
|
5888
|
-
this._value = t, this._effectiveValue = e, this._isEffective = A, this._onChange =
|
|
5864
|
+
this._value = t, this._effectiveValue = e, this._isEffective = A, this._onChange = n;
|
|
5889
5865
|
}
|
|
5890
5866
|
set value(t) {
|
|
5891
5867
|
this._value = t, this._onChange(this._value);
|
|
@@ -5903,7 +5879,7 @@ class V {
|
|
|
5903
5879
|
this._value = null;
|
|
5904
5880
|
}
|
|
5905
5881
|
}
|
|
5906
|
-
class
|
|
5882
|
+
class k extends V {
|
|
5907
5883
|
set value(t) {
|
|
5908
5884
|
this._value = t, this._onChange(this._value);
|
|
5909
5885
|
}
|
|
@@ -5928,10 +5904,10 @@ class Lt extends V {
|
|
|
5928
5904
|
initialValue: t = null,
|
|
5929
5905
|
effectiveValue: e,
|
|
5930
5906
|
isEffective: A,
|
|
5931
|
-
onChange:
|
|
5907
|
+
onChange: n,
|
|
5932
5908
|
supportedValues: r
|
|
5933
5909
|
}) {
|
|
5934
|
-
super({ initialValue: t, effectiveValue: e, isEffective: A, onChange:
|
|
5910
|
+
super({ initialValue: t, effectiveValue: e, isEffective: A, onChange: n }), this._supportedValues = r;
|
|
5935
5911
|
}
|
|
5936
5912
|
set value(t) {
|
|
5937
5913
|
if (t && !this._supportedValues.includes(t))
|
|
@@ -5959,11 +5935,11 @@ class S extends V {
|
|
|
5959
5935
|
initialValue: t = null,
|
|
5960
5936
|
effectiveValue: e,
|
|
5961
5937
|
isEffective: A,
|
|
5962
|
-
onChange:
|
|
5938
|
+
onChange: n,
|
|
5963
5939
|
supportedRange: r,
|
|
5964
5940
|
step: s
|
|
5965
5941
|
}) {
|
|
5966
|
-
super({ initialValue: t, effectiveValue: e, isEffective: A, onChange:
|
|
5942
|
+
super({ initialValue: t, effectiveValue: e, isEffective: A, onChange: n }), this._supportedRange = r, this._step = s, this._decimals = this._step.toString().includes(".") ? this._step.toString().split(".")[1].length : 0;
|
|
5967
5943
|
}
|
|
5968
5944
|
set value(t) {
|
|
5969
5945
|
if (t && (t < this._supportedRange[0] || t > this._supportedRange[1]))
|
|
@@ -6004,18 +5980,18 @@ class S extends V {
|
|
|
6004
5980
|
this._value = null;
|
|
6005
5981
|
}
|
|
6006
5982
|
}
|
|
6007
|
-
const
|
|
6008
|
-
RS__backgroundColor:
|
|
6009
|
-
RS__textColor:
|
|
6010
|
-
RS__linkColor:
|
|
6011
|
-
RS__visitedColor:
|
|
6012
|
-
RS__selectionBackgroundColor:
|
|
6013
|
-
RS__selectionTextColor:
|
|
5983
|
+
const mn = "#FFFFFF", Mn = "#121212", fn = "#0000EE", pn = "#551A8B", Bn = "#b4d8fe", En = "inherit", rt = {
|
|
5984
|
+
RS__backgroundColor: mn,
|
|
5985
|
+
RS__textColor: Mn,
|
|
5986
|
+
RS__linkColor: fn,
|
|
5987
|
+
RS__visitedColor: pn,
|
|
5988
|
+
RS__selectionBackgroundColor: Bn,
|
|
5989
|
+
RS__selectionTextColor: En
|
|
6014
5990
|
};
|
|
6015
5991
|
class Oe {
|
|
6016
5992
|
constructor(t, e, A) {
|
|
6017
|
-
var
|
|
6018
|
-
this.preferences = t, this.settings = e, this.metadata = A, this.layout = ((r = (
|
|
5993
|
+
var n, r;
|
|
5994
|
+
this.preferences = t, this.settings = e, this.metadata = A, this.layout = ((r = (n = this.metadata) == null ? void 0 : n.getPresentation()) == null ? void 0 : r.layout) || p.reflowable;
|
|
6019
5995
|
}
|
|
6020
5996
|
clear() {
|
|
6021
5997
|
this.preferences = new Et({ optimalLineLength: 65 });
|
|
@@ -6034,7 +6010,7 @@ class Oe {
|
|
|
6034
6010
|
});
|
|
6035
6011
|
}
|
|
6036
6012
|
get blendFilter() {
|
|
6037
|
-
return new
|
|
6013
|
+
return new k({
|
|
6038
6014
|
initialValue: this.preferences.blendFilter,
|
|
6039
6015
|
effectiveValue: this.settings.blendFilter || !1,
|
|
6040
6016
|
isEffective: this.preferences.blendFilter !== null,
|
|
@@ -6076,7 +6052,7 @@ class Oe {
|
|
|
6076
6052
|
});
|
|
6077
6053
|
}
|
|
6078
6054
|
get deprecatedFontSize() {
|
|
6079
|
-
return new
|
|
6055
|
+
return new k({
|
|
6080
6056
|
initialValue: this.preferences.deprecatedFontSize,
|
|
6081
6057
|
effectiveValue: CSS.supports("zoom", "1") ? this.settings.deprecatedFontSize || !1 : !0,
|
|
6082
6058
|
isEffective: this.layout === p.reflowable,
|
|
@@ -6108,7 +6084,7 @@ class Oe {
|
|
|
6108
6084
|
});
|
|
6109
6085
|
}
|
|
6110
6086
|
get fontSizeNormalize() {
|
|
6111
|
-
return new
|
|
6087
|
+
return new k({
|
|
6112
6088
|
initialValue: this.preferences.fontSizeNormalize,
|
|
6113
6089
|
effectiveValue: this.settings.fontSizeNormalize || !1,
|
|
6114
6090
|
isEffective: this.layout === p.reflowable && this.preferences.fontSizeNormalize !== null,
|
|
@@ -6118,7 +6094,7 @@ class Oe {
|
|
|
6118
6094
|
});
|
|
6119
6095
|
}
|
|
6120
6096
|
get fontOpticalSizing() {
|
|
6121
|
-
return new
|
|
6097
|
+
return new k({
|
|
6122
6098
|
initialValue: this.preferences.fontOpticalSizing,
|
|
6123
6099
|
effectiveValue: this.settings.fontOpticalSizing || !0,
|
|
6124
6100
|
isEffective: this.layout === p.reflowable && this.preferences.fontOpticalSizing !== null,
|
|
@@ -6127,6 +6103,16 @@ class Oe {
|
|
|
6127
6103
|
}
|
|
6128
6104
|
});
|
|
6129
6105
|
}
|
|
6106
|
+
get fontOverride() {
|
|
6107
|
+
return new k({
|
|
6108
|
+
initialValue: this.preferences.fontOverride,
|
|
6109
|
+
effectiveValue: this.settings.fontOverride || !1,
|
|
6110
|
+
isEffective: this.layout === p.reflowable && this.preferences.fontOverride !== null,
|
|
6111
|
+
onChange: (t) => {
|
|
6112
|
+
this.updatePreference("fontOverride", t || null);
|
|
6113
|
+
}
|
|
6114
|
+
});
|
|
6115
|
+
}
|
|
6130
6116
|
get fontWeight() {
|
|
6131
6117
|
return new S({
|
|
6132
6118
|
initialValue: this.preferences.fontWeight,
|
|
@@ -6153,7 +6139,7 @@ class Oe {
|
|
|
6153
6139
|
}
|
|
6154
6140
|
get hyphens() {
|
|
6155
6141
|
var t;
|
|
6156
|
-
return new
|
|
6142
|
+
return new k({
|
|
6157
6143
|
initialValue: this.preferences.hyphens,
|
|
6158
6144
|
effectiveValue: this.settings.hyphens || !1,
|
|
6159
6145
|
isEffective: this.layout === p.reflowable && ((t = this.metadata) == null ? void 0 : t.effectiveReadingProgression) === I.ltr && this.preferences.hyphens !== null,
|
|
@@ -6187,7 +6173,7 @@ class Oe {
|
|
|
6187
6173
|
});
|
|
6188
6174
|
}
|
|
6189
6175
|
get iPadOSPatch() {
|
|
6190
|
-
return new
|
|
6176
|
+
return new k({
|
|
6191
6177
|
initialValue: this.preferences.iPadOSPatch,
|
|
6192
6178
|
effectiveValue: this.settings.iPadOSPatch || !1,
|
|
6193
6179
|
isEffective: this.layout === p.reflowable,
|
|
@@ -6221,7 +6207,7 @@ class Oe {
|
|
|
6221
6207
|
}
|
|
6222
6208
|
get ligatures() {
|
|
6223
6209
|
var t, e;
|
|
6224
|
-
return new
|
|
6210
|
+
return new k({
|
|
6225
6211
|
initialValue: this.preferences.ligatures,
|
|
6226
6212
|
effectiveValue: this.settings.ligatures || !0,
|
|
6227
6213
|
isEffective: this.layout === p.reflowable && ((e = (t = this.metadata) == null ? void 0 : t.languages) == null ? void 0 : e.some((A) => A === "ar" || A === "fa")) && this.preferences.ligatures !== null || !1,
|
|
@@ -6242,18 +6228,6 @@ class Oe {
|
|
|
6242
6228
|
step: 0.1
|
|
6243
6229
|
});
|
|
6244
6230
|
}
|
|
6245
|
-
get lineLength() {
|
|
6246
|
-
return new S({
|
|
6247
|
-
initialValue: this.preferences.lineLength,
|
|
6248
|
-
effectiveValue: this.settings.lineLength || this.settings.optimalLineLength,
|
|
6249
|
-
isEffective: this.layout === p.reflowable && this.preferences.lineLength !== null,
|
|
6250
|
-
onChange: (t) => {
|
|
6251
|
-
this.updatePreference("lineLength", t || null);
|
|
6252
|
-
},
|
|
6253
|
-
supportedRange: [20, 100],
|
|
6254
|
-
step: 1
|
|
6255
|
-
});
|
|
6256
|
-
}
|
|
6257
6231
|
get linkColor() {
|
|
6258
6232
|
return new V({
|
|
6259
6233
|
initialValue: this.preferences.linkColor,
|
|
@@ -6290,7 +6264,7 @@ class Oe {
|
|
|
6290
6264
|
}
|
|
6291
6265
|
get noRuby() {
|
|
6292
6266
|
var t, e;
|
|
6293
|
-
return new
|
|
6267
|
+
return new k({
|
|
6294
6268
|
initialValue: this.preferences.noRuby,
|
|
6295
6269
|
effectiveValue: this.settings.noRuby || !1,
|
|
6296
6270
|
isEffective: this.layout === p.reflowable && ((e = (t = this.metadata) == null ? void 0 : t.languages) == null ? void 0 : e.includes("ja")) || !1,
|
|
@@ -6303,7 +6277,7 @@ class Oe {
|
|
|
6303
6277
|
return new S({
|
|
6304
6278
|
initialValue: this.preferences.optimalLineLength,
|
|
6305
6279
|
effectiveValue: this.settings.optimalLineLength,
|
|
6306
|
-
isEffective: this.layout === p.reflowable
|
|
6280
|
+
isEffective: this.layout === p.reflowable,
|
|
6307
6281
|
onChange: (t) => {
|
|
6308
6282
|
this.updatePreference("optimalLineLength", t);
|
|
6309
6283
|
},
|
|
@@ -6346,7 +6320,7 @@ class Oe {
|
|
|
6346
6320
|
});
|
|
6347
6321
|
}
|
|
6348
6322
|
get scroll() {
|
|
6349
|
-
return new
|
|
6323
|
+
return new k({
|
|
6350
6324
|
initialValue: this.preferences.scroll,
|
|
6351
6325
|
effectiveValue: this.settings.scroll || !1,
|
|
6352
6326
|
isEffective: this.layout === p.reflowable,
|
|
@@ -6397,7 +6371,7 @@ class Oe {
|
|
|
6397
6371
|
});
|
|
6398
6372
|
}
|
|
6399
6373
|
get textNormalization() {
|
|
6400
|
-
return new
|
|
6374
|
+
return new k({
|
|
6401
6375
|
initialValue: this.preferences.textNormalization,
|
|
6402
6376
|
effectiveValue: this.settings.textNormalization || !1,
|
|
6403
6377
|
isEffective: this.layout === p.reflowable,
|
|
@@ -6442,12 +6416,12 @@ class Oe {
|
|
|
6442
6416
|
}
|
|
6443
6417
|
class Xe {
|
|
6444
6418
|
constructor(t, e) {
|
|
6445
|
-
this.backgroundColor = t.backgroundColor || e.backgroundColor || null, this.blendFilter = typeof t.blendFilter == "boolean" ? t.blendFilter : e.blendFilter ?? null, this.columnCount = t.columnCount !== void 0 ? t.columnCount : e.columnCount !== void 0 ? e.columnCount : null, this.constraint = t.constraint || e.constraint, this.darkenFilter = typeof t.darkenFilter == "boolean" ? t.darkenFilter : e.darkenFilter ?? null, this.deprecatedFontSize = typeof t.deprecatedFontSize == "boolean" ? t.deprecatedFontSize : e.deprecatedFontSize ?? null, this.fontFamily = t.fontFamily || e.fontFamily || null, this.fontSize = t.fontSize !== void 0 ? t.fontSize : e.fontSize !== void 0 ? e.fontSize : null, this.fontSizeNormalize = typeof t.fontSizeNormalize == "boolean" ? t.fontSizeNormalize : e.fontSizeNormalize ?? null, this.fontOpticalSizing = typeof t.fontOpticalSizing == "boolean" ? t.fontOpticalSizing : e.fontOpticalSizing ?? null, this.fontWeight = t.fontWeight !== void 0 ? t.fontWeight : e.fontWeight !== void 0 ? e.fontWeight : null, this.fontWidth = t.fontWidth !== void 0 ? t.fontWidth : e.fontWidth !== void 0 ? e.fontWidth : null, this.hyphens = typeof t.hyphens == "boolean" ? t.hyphens : e.hyphens ?? null, this.invertFilter = typeof t.invertFilter == "boolean" ? t.invertFilter : e.invertFilter ?? null, this.invertGaijiFilter = typeof t.invertGaijiFilter == "boolean" ? t.invertGaijiFilter : e.invertGaijiFilter ?? null, this.iPadOSPatch = this.deprecatedFontSize || t.iPadOSPatch === !1 ? !1 : t.iPadOSPatch === !0 ? xt.OS.iPadOS && xt.iOSRequest === "desktop" : e.iPadOSPatch, this.layoutStrategy = t.layoutStrategy || e.layoutStrategy || null, this.letterSpacing = t.letterSpacing !== void 0 ? t.letterSpacing : e.letterSpacing !== void 0 ? e.letterSpacing : null, this.ligatures = typeof t.ligatures == "boolean" ? t.ligatures : e.ligatures ?? null, this.lineHeight = t.lineHeight !== void 0 ? t.lineHeight : e.lineHeight !== void 0 ? e.lineHeight : null, this.
|
|
6419
|
+
this.backgroundColor = t.backgroundColor || e.backgroundColor || null, this.blendFilter = typeof t.blendFilter == "boolean" ? t.blendFilter : e.blendFilter ?? null, this.columnCount = t.columnCount !== void 0 ? t.columnCount : e.columnCount !== void 0 ? e.columnCount : null, this.constraint = t.constraint || e.constraint, this.darkenFilter = typeof t.darkenFilter == "boolean" ? t.darkenFilter : e.darkenFilter ?? null, this.deprecatedFontSize = typeof t.deprecatedFontSize == "boolean" ? t.deprecatedFontSize : e.deprecatedFontSize ?? null, this.fontFamily = t.fontFamily || e.fontFamily || null, this.fontSize = t.fontSize !== void 0 ? t.fontSize : e.fontSize !== void 0 ? e.fontSize : null, this.fontSizeNormalize = typeof t.fontSizeNormalize == "boolean" ? t.fontSizeNormalize : e.fontSizeNormalize ?? null, this.fontOpticalSizing = typeof t.fontOpticalSizing == "boolean" ? t.fontOpticalSizing : e.fontOpticalSizing ?? null, this.fontOverride = typeof t.fontOverride == "boolean" ? t.fontOverride : e.fontOverride ?? null, this.fontWeight = t.fontWeight !== void 0 ? t.fontWeight : e.fontWeight !== void 0 ? e.fontWeight : null, this.fontWidth = t.fontWidth !== void 0 ? t.fontWidth : e.fontWidth !== void 0 ? e.fontWidth : null, this.hyphens = typeof t.hyphens == "boolean" ? t.hyphens : e.hyphens ?? null, this.invertFilter = typeof t.invertFilter == "boolean" ? t.invertFilter : e.invertFilter ?? null, this.invertGaijiFilter = typeof t.invertGaijiFilter == "boolean" ? t.invertGaijiFilter : e.invertGaijiFilter ?? null, this.iPadOSPatch = this.deprecatedFontSize || t.iPadOSPatch === !1 ? !1 : t.iPadOSPatch === !0 ? xt.OS.iPadOS && xt.iOSRequest === "desktop" : e.iPadOSPatch, this.layoutStrategy = t.layoutStrategy || e.layoutStrategy || null, this.letterSpacing = t.letterSpacing !== void 0 ? t.letterSpacing : e.letterSpacing !== void 0 ? e.letterSpacing : null, this.ligatures = typeof t.ligatures == "boolean" ? t.ligatures : e.ligatures ?? null, this.lineHeight = t.lineHeight !== void 0 ? t.lineHeight : e.lineHeight !== void 0 ? e.lineHeight : null, this.linkColor = t.linkColor || e.linkColor || null, this.maximalLineLength = t.maximalLineLength === null ? null : t.maximalLineLength || e.maximalLineLength || null, this.minimalLineLength = t.minimalLineLength === null ? null : t.minimalLineLength || e.minimalLineLength || null, this.noRuby = typeof t.noRuby == "boolean" ? t.noRuby : e.noRuby ?? null, this.optimalLineLength = t.optimalLineLength || e.optimalLineLength, this.pageGutter = t.pageGutter !== void 0 ? t.pageGutter : e.pageGutter !== void 0 ? e.pageGutter : null, this.paragraphIndent = t.paragraphIndent !== void 0 ? t.paragraphIndent : e.paragraphIndent !== void 0 ? e.paragraphIndent : null, this.paragraphSpacing = t.paragraphSpacing !== void 0 ? t.paragraphSpacing : e.paragraphSpacing !== void 0 ? e.paragraphSpacing : null, this.scroll = typeof t.scroll == "boolean" ? t.scroll : e.scroll ?? null, this.selectionBackgroundColor = t.selectionBackgroundColor || e.selectionBackgroundColor || null, this.selectionTextColor = t.selectionTextColor || e.selectionTextColor || null, this.textAlign = t.textAlign || e.textAlign || null, this.textColor = t.textColor || e.textColor || null, this.textNormalization = typeof t.textNormalization == "boolean" ? t.textNormalization : e.textNormalization ?? null, this.theme = t.theme || e.theme || null, this.visitedColor = t.visitedColor || e.visitedColor || null, this.wordSpacing = t.wordSpacing !== void 0 ? t.wordSpacing : e.wordSpacing !== void 0 ? e.wordSpacing : null;
|
|
6446
6420
|
}
|
|
6447
6421
|
}
|
|
6448
|
-
function yt(
|
|
6449
|
-
const t = getComputedStyle(
|
|
6450
|
-
return
|
|
6422
|
+
function yt(i) {
|
|
6423
|
+
const t = getComputedStyle(i), e = parseFloat(t.paddingLeft || "0"), A = parseFloat(t.paddingRight || "0");
|
|
6424
|
+
return i.clientWidth - e - A;
|
|
6451
6425
|
}
|
|
6452
6426
|
class zA {
|
|
6453
6427
|
constructor() {
|
|
@@ -6485,7 +6459,7 @@ class NA extends zA {
|
|
|
6485
6459
|
return this.a11yNormalize && (t["--USER__a11yNormalize"] = this.toFlag("a11y")), this.appearance && (t["--USER__appearance"] = this.toFlag(this.appearance)), this.backgroundColor && (t["--USER__backgroundColor"] = this.backgroundColor), this.blendFilter && (t["--USER__blendFilter"] = this.toFlag("blend")), this.bodyHyphens && (t["--USER__bodyHyphens"] = this.bodyHyphens), this.colCount && (t["--USER__colCount"] = this.toUnitless(this.colCount)), this.darkenFilter === !0 ? t["--USER__darkenFilter"] = this.toFlag("darken") : typeof this.darkenFilter == "number" && (t["--USER__darkenFilter"] = this.toPercentage(this.darkenFilter)), this.deprecatedFontSize && (t["--USER__fontSizeImplementation"] = this.toFlag("deprecatedFontSize")), this.fontFamily && (t["--USER__fontFamily"] = this.fontFamily), this.fontOpticalSizing != null && (t["--USER__fontOpticalSizing"] = this.fontOpticalSizing), this.fontOverride && (t["--USER__fontOverride"] = this.toFlag("font")), this.fontSize != null && (t["--USER__fontSize"] = this.toPercentage(this.fontSize, !0)), this.fontSizeNormalize && (t["--USER__fontSizeNormalize"] = this.toFlag("normalize")), this.fontWeight != null && (t["--USER__fontWeight"] = this.toUnitless(this.fontWeight)), this.fontWidth != null && (t["--USER__fontWidth"] = typeof this.fontWidth == "string" ? this.fontWidth : this.toUnitless(this.fontWidth)), this.invertFilter === !0 ? t["--USER__invertFilter"] = this.toFlag("invert") : typeof this.invertFilter == "number" && (t["--USER__invertFilter"] = this.toPercentage(this.invertFilter)), this.invertGaijiFilter === !0 ? t["--USER__invertGaiji"] = this.toFlag("invertGaiji") : typeof this.invertGaijiFilter == "number" && (t["--USER__invertGaiji"] = this.toPercentage(this.invertGaijiFilter)), this.iPadOSPatch && (t["--USER__iPadOSPatch"] = this.toFlag("iPadOSPatch")), this.letterSpacing != null && (t["--USER__letterSpacing"] = this.toRem(this.letterSpacing)), this.ligatures && (t["--USER__ligatures"] = this.ligatures), this.lineHeight != null && (t["--USER__lineHeight"] = this.toUnitless(this.lineHeight)), this.lineLength != null && (t["--USER__lineLength"] = this.toPx(this.lineLength)), this.linkColor && (t["--USER__linkColor"] = this.linkColor), this.noRuby && (t["--USER__noRuby"] = this.toFlag("noRuby")), this.paraIndent != null && (t["--USER__paraIndent"] = this.toRem(this.paraIndent)), this.paraSpacing != null && (t["--USER__paraSpacing"] = this.toRem(this.paraSpacing)), this.selectionBackgroundColor && (t["--USER__selectionBackgroundColor"] = this.selectionBackgroundColor), this.selectionTextColor && (t["--USER__selectionTextColor"] = this.selectionTextColor), this.textAlign && (t["--USER__textAlign"] = this.textAlign), this.textColor && (t["--USER__textColor"] = this.textColor), this.view && (t["--USER__view"] = this.toFlag(this.view)), this.visitedColor && (t["--USER__visitedColor"] = this.visitedColor), this.wordSpacing != null && (t["--USER__wordSpacing"] = this.toRem(this.wordSpacing)), t;
|
|
6486
6460
|
}
|
|
6487
6461
|
}
|
|
6488
|
-
class
|
|
6462
|
+
class wn extends zA {
|
|
6489
6463
|
constructor(t) {
|
|
6490
6464
|
super(), this.backgroundColor = t.backgroundColor ?? null, this.baseFontFamily = t.baseFontFamily ?? null, this.baseFontSize = t.baseFontSize ?? null, this.baseLineHeight = t.baseLineHeight ?? null, this.boxSizingMedia = t.boxSizingMedia ?? null, this.boxSizingTable = t.boxSizingTable ?? null, this.colWidth = t.colWidth ?? null, this.colCount = t.colCount ?? null, this.colGap = t.colGap ?? null, this.codeFontFamily = t.codeFontFamily ?? null, this.compFontFamily = t.compFontFamily ?? null, this.defaultLineLength = t.defaultLineLength ?? null, this.flowSpacing = t.flowSpacing ?? null, this.humanistTf = t.humanistTf ?? null, this.linkColor = t.linkColor ?? null, this.maxMediaWidth = t.maxMediaWidth ?? null, this.maxMediaHeight = t.maxMediaHeight ?? null, this.modernTf = t.modernTf ?? null, this.monospaceTf = t.monospaceTf ?? null, this.noVerticalPagination = t.noVerticalPagination ?? null, this.oldStyleTf = t.oldStyleTf ?? null, this.pageGutter = t.pageGutter ?? null, this.paraIndent = t.paraIndent ?? null, this.paraSpacing = t.paraSpacing ?? null, this.primaryColor = t.primaryColor ?? null, this.sansSerifJa = t.sansSerifJa ?? null, this.sansSerifJaV = t.sansSerifJaV ?? null, this.sansTf = t.sansTf ?? null, this.secondaryColor = t.secondaryColor ?? null, this.selectionBackgroundColor = t.selectionBackgroundColor ?? null, this.selectionTextColor = t.selectionTextColor ?? null, this.serifJa = t.serifJa ?? null, this.serifJaV = t.serifJaV ?? null, this.textColor = t.textColor ?? null, this.typeScale = t.typeScale ?? null, this.visitedColor = t.visitedColor ?? null;
|
|
6491
6465
|
}
|
|
@@ -6494,18 +6468,17 @@ class En extends zA {
|
|
|
6494
6468
|
return this.backgroundColor && (t["--RS__backgroundColor"] = this.backgroundColor), this.baseFontFamily && (t["--RS__baseFontFamily"] = this.baseFontFamily), this.baseFontSize != null && (t["--RS__baseFontSize"] = this.toRem(this.baseFontSize)), this.baseLineHeight != null && (t["--RS__baseLineHeight"] = this.toUnitless(this.baseLineHeight)), this.boxSizingMedia && (t["--RS__boxSizingMedia"] = this.boxSizingMedia), this.boxSizingTable && (t["--RS__boxSizingTable"] = this.boxSizingTable), this.colWidth != null && (t["--RS__colWidth"] = this.colWidth), this.colCount != null && (t["--RS__colCount"] = this.toUnitless(this.colCount)), this.colGap != null && (t["--RS__colGap"] = this.toPx(this.colGap)), this.codeFontFamily && (t["--RS__codeFontFamily"] = this.codeFontFamily), this.compFontFamily && (t["--RS__compFontFamily"] = this.compFontFamily), this.defaultLineLength != null && (t["--RS__defaultLineLength"] = this.toPx(this.defaultLineLength)), this.flowSpacing != null && (t["--RS__flowSpacing"] = this.toRem(this.flowSpacing)), this.humanistTf && (t["--RS__humanistTf"] = this.humanistTf), this.linkColor && (t["--RS__linkColor"] = this.linkColor), this.maxMediaWidth && (t["--RS__maxMediaWidth"] = this.toVw(this.maxMediaWidth)), this.maxMediaHeight && (t["--RS__maxMediaHeight"] = this.toVh(this.maxMediaHeight)), this.modernTf && (t["--RS__modernTf"] = this.modernTf), this.monospaceTf && (t["--RS__monospaceTf"] = this.monospaceTf), this.noVerticalPagination && (t["--RS__disablePagination"] = this.toFlag("noVerticalPagination")), this.oldStyleTf && (t["--RS__oldStyleTf"] = this.oldStyleTf), this.pageGutter != null && (t["--RS__pageGutter"] = this.toPx(this.pageGutter)), this.paraIndent != null && (t["--RS__paraIndent"] = this.toRem(this.paraIndent)), this.paraSpacing != null && (t["--RS__paraSpacing"] = this.toRem(this.paraSpacing)), this.primaryColor && (t["--RS__primaryColor"] = this.primaryColor), this.sansSerifJa && (t["--RS__sans-serif-ja"] = this.sansSerifJa), this.sansSerifJaV && (t["--RS__sans-serif-ja-v"] = this.sansSerifJaV), this.sansTf && (t["--RS__sansTf"] = this.sansTf), this.secondaryColor && (t["--RS__secondaryColor"] = this.secondaryColor), this.selectionBackgroundColor && (t["--RS__selectionBackgroundColor"] = this.selectionBackgroundColor), this.selectionTextColor && (t["--RS__selectionTextColor"] = this.selectionTextColor), this.serifJa && (t["--RS__serif-ja"] = this.serifJa), this.serifJaV && (t["--RS__serif-ja-v"] = this.serifJaV), this.textColor && (t["--RS__textColor"] = this.textColor), this.typeScale && (t["--RS__typeScale"] = this.toUnitless(this.typeScale)), this.visitedColor && (t["--RS__visitedColor"] = this.visitedColor), t;
|
|
6495
6469
|
}
|
|
6496
6470
|
}
|
|
6497
|
-
class
|
|
6471
|
+
class In {
|
|
6498
6472
|
constructor(t) {
|
|
6499
6473
|
this.rsProperties = t.rsProperties, this.userProperties = t.userProperties, this.lineLengths = t.lineLengths, this.container = t.container, this.containerParent = t.container.parentElement || document.documentElement, this.constraint = t.constraint, this.layoutStrategy = t.layoutStrategy || y.lineLength, this.cachedColCount = t.userProperties.colCount, this.effectiveContainerWidth = yt(this.containerParent);
|
|
6500
6474
|
}
|
|
6501
6475
|
update(t) {
|
|
6502
|
-
this.cachedColCount = t.columnCount, t.constraint !== this.constraint && (this.constraint = t.constraint), t.layoutStrategy && t.layoutStrategy !== this.layoutStrategy && (this.layoutStrategy = t.layoutStrategy), t.pageGutter !== this.rsProperties.pageGutter && (this.rsProperties.pageGutter = t.pageGutter), this.
|
|
6476
|
+
this.cachedColCount = t.columnCount, t.constraint !== this.constraint && (this.constraint = t.constraint), t.layoutStrategy && t.layoutStrategy !== this.layoutStrategy && (this.layoutStrategy = t.layoutStrategy), t.pageGutter !== this.rsProperties.pageGutter && (this.rsProperties.pageGutter = t.pageGutter), this.lineLengths.update({
|
|
6503
6477
|
fontFace: t.fontFamily,
|
|
6504
6478
|
letterSpacing: t.letterSpacing,
|
|
6505
6479
|
pageGutter: t.pageGutter,
|
|
6506
6480
|
wordSpacing: t.wordSpacing,
|
|
6507
6481
|
optimalChars: t.optimalLineLength,
|
|
6508
|
-
userChars: t.lineLength,
|
|
6509
6482
|
minChars: t.minimalLineLength,
|
|
6510
6483
|
maxChars: t.maximalLineLength
|
|
6511
6484
|
});
|
|
@@ -6522,39 +6495,41 @@ class wn {
|
|
|
6522
6495
|
deprecatedFontSize: t.deprecatedFontSize,
|
|
6523
6496
|
fontFamily: t.fontFamily,
|
|
6524
6497
|
fontOpticalSizing: typeof t.fontOpticalSizing != "boolean" ? null : t.fontOpticalSizing ? "auto" : "none",
|
|
6525
|
-
fontOverride: !!(t.textNormalization || t.fontFamily),
|
|
6498
|
+
fontOverride: t.fontOverride !== null ? t.fontOverride : !!(t.textNormalization || t.fontFamily),
|
|
6526
6499
|
fontSize: t.fontSize,
|
|
6527
6500
|
fontSizeNormalize: t.fontSizeNormalize,
|
|
6528
6501
|
fontWeight: t.fontWeight,
|
|
6529
6502
|
fontWidth: t.fontWidth,
|
|
6530
6503
|
invertFilter: t.invertFilter,
|
|
6504
|
+
invertGaijiFilter: t.invertGaijiFilter,
|
|
6531
6505
|
iPadOSPatch: t.iPadOSPatch,
|
|
6532
6506
|
letterSpacing: t.letterSpacing,
|
|
6533
6507
|
ligatures: typeof t.ligatures != "boolean" ? null : t.ligatures ? "common-ligatures" : "none",
|
|
6534
6508
|
lineHeight: t.lineHeight,
|
|
6535
6509
|
lineLength: e == null ? void 0 : e.effectiveLineLength,
|
|
6510
|
+
linkColor: t.linkColor,
|
|
6536
6511
|
noRuby: t.noRuby,
|
|
6537
6512
|
paraIndent: t.paragraphIndent,
|
|
6538
6513
|
paraSpacing: t.paragraphSpacing,
|
|
6514
|
+
selectionBackgroundColor: t.selectionBackgroundColor,
|
|
6515
|
+
selectionTextColor: t.selectionTextColor,
|
|
6539
6516
|
textAlign: t.textAlign,
|
|
6540
6517
|
textColor: t.textColor,
|
|
6541
6518
|
view: typeof t.scroll != "boolean" ? null : t.scroll ? "scroll" : "paged",
|
|
6519
|
+
visitedColor: t.visitedColor,
|
|
6542
6520
|
wordSpacing: t.wordSpacing
|
|
6543
6521
|
};
|
|
6544
6522
|
this.userProperties = new NA(A);
|
|
6545
6523
|
}
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
}
|
|
6549
|
-
updateLayout(t, e, A, i) {
|
|
6550
|
-
return A ?? this.userProperties.view === "scroll" ? this.computeScrollLength(t, e) : this.paginate(t, e, i);
|
|
6524
|
+
updateLayout(t, e, A, n) {
|
|
6525
|
+
return A ?? this.userProperties.view === "scroll" ? this.computeScrollLength(t, e) : this.paginate(t, e, n);
|
|
6551
6526
|
}
|
|
6552
6527
|
getCompensatedMetrics(t, e) {
|
|
6553
|
-
const A = t || this.userProperties.fontSize || 1,
|
|
6528
|
+
const A = t || this.userProperties.fontSize || 1, n = A < 1 ? this.layoutStrategy === y.margin ? 1 / (A + 3e-3) : 1 / A : e ? A : 1;
|
|
6554
6529
|
return {
|
|
6555
6530
|
zoomFactor: A,
|
|
6556
|
-
zoomCompensation:
|
|
6557
|
-
optimal: Math.round(this.lineLengths.
|
|
6531
|
+
zoomCompensation: n,
|
|
6532
|
+
optimal: Math.round(this.lineLengths.optimalLineLength) * A,
|
|
6558
6533
|
minimal: this.lineLengths.minimalLineLength !== null ? Math.round(this.lineLengths.minimalLineLength * A) : null,
|
|
6559
6534
|
maximal: this.lineLengths.maximalLineLength !== null ? Math.round(this.lineLengths.maximalLineLength * A) : null
|
|
6560
6535
|
};
|
|
@@ -6563,8 +6538,8 @@ class wn {
|
|
|
6563
6538
|
// TODO: As scroll shows, the effective line-length
|
|
6564
6539
|
// should be the same as uncompensated when scale >= 1
|
|
6565
6540
|
paginate(t, e, A) {
|
|
6566
|
-
const
|
|
6567
|
-
let l = 1, c =
|
|
6541
|
+
const n = Math.round(yt(this.containerParent) - this.constraint), r = this.getCompensatedMetrics(t, e), s = r.zoomCompensation, o = r.optimal, a = r.minimal, h = r.maximal;
|
|
6542
|
+
let l = 1, c = n;
|
|
6568
6543
|
if (A === void 0)
|
|
6569
6544
|
return {
|
|
6570
6545
|
colCount: void 0,
|
|
@@ -6573,66 +6548,66 @@ class wn {
|
|
|
6573
6548
|
};
|
|
6574
6549
|
if (A === null) {
|
|
6575
6550
|
if (this.layoutStrategy === y.margin)
|
|
6576
|
-
if (
|
|
6577
|
-
l = Math.floor(
|
|
6551
|
+
if (n >= o) {
|
|
6552
|
+
l = Math.floor(n / o);
|
|
6578
6553
|
const g = Math.round(l * (o * s));
|
|
6579
|
-
c = Math.min(g,
|
|
6554
|
+
c = Math.min(g, n);
|
|
6580
6555
|
} else
|
|
6581
|
-
l = 1, c =
|
|
6556
|
+
l = 1, c = n;
|
|
6582
6557
|
else if (this.layoutStrategy === y.lineLength)
|
|
6583
|
-
if (
|
|
6584
|
-
l = 1, c =
|
|
6558
|
+
if (n < o || h === null)
|
|
6559
|
+
l = 1, c = n;
|
|
6585
6560
|
else {
|
|
6586
|
-
l = Math.floor(
|
|
6561
|
+
l = Math.floor(n / o);
|
|
6587
6562
|
const g = Math.round(l * (h * s));
|
|
6588
|
-
c = Math.min(g,
|
|
6563
|
+
c = Math.min(g, n);
|
|
6589
6564
|
}
|
|
6590
6565
|
else if (this.layoutStrategy === y.columns)
|
|
6591
|
-
if (
|
|
6566
|
+
if (n >= o)
|
|
6592
6567
|
if (h === null)
|
|
6593
|
-
l = Math.floor(
|
|
6568
|
+
l = Math.floor(n / o), c = n;
|
|
6594
6569
|
else {
|
|
6595
|
-
l = Math.floor(
|
|
6570
|
+
l = Math.floor(n / (a || o));
|
|
6596
6571
|
const g = Math.round(l * (o * s));
|
|
6597
|
-
c = Math.min(g,
|
|
6572
|
+
c = Math.min(g, n);
|
|
6598
6573
|
}
|
|
6599
6574
|
else
|
|
6600
|
-
l = 1, c =
|
|
6575
|
+
l = 1, c = n;
|
|
6601
6576
|
} else if (A > 1) {
|
|
6602
6577
|
const g = Math.round(A * (a !== null ? a : o));
|
|
6603
|
-
if (
|
|
6578
|
+
if (n >= g) {
|
|
6604
6579
|
if (l = A, this.layoutStrategy === y.margin) {
|
|
6605
6580
|
const m = Math.round(l * (o * s));
|
|
6606
|
-
c = Math.min(m,
|
|
6581
|
+
c = Math.min(m, n);
|
|
6607
6582
|
} else if (this.layoutStrategy === y.lineLength || this.layoutStrategy === y.columns) {
|
|
6608
6583
|
if (h === null)
|
|
6609
|
-
c =
|
|
6584
|
+
c = n;
|
|
6610
6585
|
else {
|
|
6611
6586
|
const m = Math.round(l * (h * s));
|
|
6612
|
-
c = Math.min(m,
|
|
6587
|
+
c = Math.min(m, n);
|
|
6613
6588
|
}
|
|
6614
6589
|
this.layoutStrategy === y.columns && console.error("Columns strategy is not compatible with a column count whose value is a number. Falling back to lineLength strategy.");
|
|
6615
6590
|
}
|
|
6616
6591
|
} else {
|
|
6617
|
-
a !== null &&
|
|
6592
|
+
a !== null && n < Math.round(A * a) ? l = Math.floor(n / a) : l = A;
|
|
6618
6593
|
const m = Math.round(l * (o * s));
|
|
6619
|
-
c = Math.min(m,
|
|
6594
|
+
c = Math.min(m, n);
|
|
6620
6595
|
}
|
|
6621
|
-
} else if (l = 1,
|
|
6596
|
+
} else if (l = 1, n >= o) {
|
|
6622
6597
|
if (this.layoutStrategy === y.margin) {
|
|
6623
6598
|
const g = Math.round(o * s);
|
|
6624
|
-
c = Math.min(g,
|
|
6599
|
+
c = Math.min(g, n);
|
|
6625
6600
|
} else if (this.layoutStrategy === y.lineLength || this.layoutStrategy === y.columns) {
|
|
6626
6601
|
if (h === null)
|
|
6627
|
-
c =
|
|
6602
|
+
c = n;
|
|
6628
6603
|
else {
|
|
6629
6604
|
const g = Math.round(h * s);
|
|
6630
|
-
c = Math.min(g,
|
|
6605
|
+
c = Math.min(g, n);
|
|
6631
6606
|
}
|
|
6632
6607
|
this.layoutStrategy === y.columns && console.error("Columns strategy is not compatible with a column count whose value is a number. Falling back to lineLength strategy.");
|
|
6633
6608
|
}
|
|
6634
6609
|
} else
|
|
6635
|
-
c =
|
|
6610
|
+
c = n;
|
|
6636
6611
|
return {
|
|
6637
6612
|
colCount: l,
|
|
6638
6613
|
effectiveContainerWidth: c,
|
|
@@ -6641,7 +6616,7 @@ class wn {
|
|
|
6641
6616
|
}
|
|
6642
6617
|
// This behaves as paginate where colCount = 1
|
|
6643
6618
|
computeScrollLength(t, e) {
|
|
6644
|
-
const A = Math.round(yt(this.containerParent) - this.constraint),
|
|
6619
|
+
const A = Math.round(yt(this.containerParent) - this.constraint), n = this.getCompensatedMetrics(t && (t < 1 || e) ? t : 1, e), r = n.zoomCompensation, s = n.optimal, o = n.maximal;
|
|
6645
6620
|
let a, h = A, l = Math.round(s * r);
|
|
6646
6621
|
if (this.layoutStrategy === y.margin) {
|
|
6647
6622
|
const c = Math.min(Math.round(s * r), A);
|
|
@@ -6667,27 +6642,27 @@ class wn {
|
|
|
6667
6642
|
this.userProperties.colCount = t.colCount, this.userProperties.lineLength = t.effectiveLineLength, this.effectiveContainerWidth = t.effectiveContainerWidth, this.container.style.width = `${this.effectiveContainerWidth}px`;
|
|
6668
6643
|
}
|
|
6669
6644
|
}
|
|
6670
|
-
const
|
|
6671
|
-
frameLoaded:
|
|
6645
|
+
const Fn = (i) => ({
|
|
6646
|
+
frameLoaded: i.frameLoaded || (() => {
|
|
6672
6647
|
}),
|
|
6673
|
-
positionChanged:
|
|
6648
|
+
positionChanged: i.positionChanged || (() => {
|
|
6674
6649
|
}),
|
|
6675
|
-
tap:
|
|
6676
|
-
click:
|
|
6677
|
-
zoom:
|
|
6650
|
+
tap: i.tap || (() => !1),
|
|
6651
|
+
click: i.click || (() => !1),
|
|
6652
|
+
zoom: i.zoom || (() => {
|
|
6678
6653
|
}),
|
|
6679
|
-
miscPointer:
|
|
6654
|
+
miscPointer: i.miscPointer || (() => {
|
|
6680
6655
|
}),
|
|
6681
|
-
customEvent:
|
|
6656
|
+
customEvent: i.customEvent || (() => {
|
|
6682
6657
|
}),
|
|
6683
|
-
handleLocator:
|
|
6684
|
-
textSelected:
|
|
6658
|
+
handleLocator: i.handleLocator || (() => !1),
|
|
6659
|
+
textSelected: i.textSelected || (() => {
|
|
6685
6660
|
})
|
|
6686
6661
|
});
|
|
6687
6662
|
class SA extends ZA {
|
|
6688
|
-
constructor(t, e, A,
|
|
6689
|
-
super(), this._preferencesEditor = null, this.pub = e, this.layout = SA.determineLayout(e), this.container = t, this.listeners =
|
|
6690
|
-
rsProperties: new
|
|
6663
|
+
constructor(t, e, A, n = [], r = void 0, s = { preferences: {}, defaults: {} }) {
|
|
6664
|
+
super(), this._preferencesEditor = null, this.pub = e, this.layout = SA.determineLayout(e), this.container = t, this.listeners = Fn(A), this.currentLocation = r, n.length && (this.positions = n), this._preferences = new Et(s.preferences), this._defaults = new un(s.defaults), this._settings = new Xe(this._preferences, this._defaults), this._css = new In({
|
|
6665
|
+
rsProperties: new wn({}),
|
|
6691
6666
|
userProperties: new NA({}),
|
|
6692
6667
|
lineLengths: new ft({
|
|
6693
6668
|
optimalChars: this._settings.optimalLineLength,
|
|
@@ -6711,13 +6686,13 @@ class SA extends ZA {
|
|
|
6711
6686
|
async load() {
|
|
6712
6687
|
var t;
|
|
6713
6688
|
if ((t = this.positions) != null && t.length || (this.positions = await this.pub.positionsFromManifest()), this.layout === p.fixed)
|
|
6714
|
-
this.framePool = new
|
|
6689
|
+
this.framePool = new An(this.container, this.positions, this.pub), this.framePool.listener = (e, A) => {
|
|
6715
6690
|
this.eventListener(e, A);
|
|
6716
6691
|
};
|
|
6717
6692
|
else {
|
|
6718
6693
|
await this.updateCSS(!1);
|
|
6719
6694
|
const e = this.compileCSSProperties(this._css);
|
|
6720
|
-
this.framePool = new
|
|
6695
|
+
this.framePool = new Hi(this.container, this.positions, e);
|
|
6721
6696
|
}
|
|
6722
6697
|
this.currentLocation === void 0 && (this.currentLocation = this.positions[0]), await this.resizeHandler(), await this.apply();
|
|
6723
6698
|
}
|
|
@@ -6748,10 +6723,10 @@ class SA extends ZA {
|
|
|
6748
6723
|
}
|
|
6749
6724
|
compileCSSProperties(t) {
|
|
6750
6725
|
const e = {};
|
|
6751
|
-
for (const [A,
|
|
6752
|
-
e[A] =
|
|
6753
|
-
for (const [A,
|
|
6754
|
-
e[A] =
|
|
6726
|
+
for (const [A, n] of Object.entries(t.rsProperties.toCSSProperties()))
|
|
6727
|
+
e[A] = n;
|
|
6728
|
+
for (const [A, n] of Object.entries(t.userProperties.toCSSProperties()))
|
|
6729
|
+
e[A] = n;
|
|
6755
6730
|
return e;
|
|
6756
6731
|
}
|
|
6757
6732
|
async commitCSS(t) {
|
|
@@ -6790,7 +6765,7 @@ class SA extends ZA {
|
|
|
6790
6765
|
* outside the readium-controller navigator. Be careful!
|
|
6791
6766
|
*/
|
|
6792
6767
|
eventListener(t, e) {
|
|
6793
|
-
var A,
|
|
6768
|
+
var A, n, r, s, o, a;
|
|
6794
6769
|
switch (t) {
|
|
6795
6770
|
case "_pong":
|
|
6796
6771
|
this.listeners.frameLoaded(this._cframes[0].iframe.contentWindow), this.listeners.positionChanged(this.currentLocation);
|
|
@@ -6845,7 +6820,7 @@ class SA extends ZA {
|
|
|
6845
6820
|
} else {
|
|
6846
6821
|
if (this.layout === p.fixed && this.framePool.doNotDisturb && (l.doNotDisturb = !0), this.layout === p.fixed && (this.currentProgression === I.rtl || this.currentProgression === I.ltr) && this.framePool.currentFrames.length > 1) {
|
|
6847
6822
|
const m = this.framePool.currentFrames;
|
|
6848
|
-
l.targetFrameSrc === ((
|
|
6823
|
+
l.targetFrameSrc === ((n = m[this.currentProgression === I.rtl ? 0 : 1]) == null ? void 0 : n.source) && (l.x += (((s = (r = m[this.currentProgression === I.rtl ? 1 : 0]) == null ? void 0 : r.iframe.contentWindow) == null ? void 0 : s.innerWidth) ?? 0) * window.devicePixelRatio);
|
|
6849
6824
|
}
|
|
6850
6825
|
if (t === "click" ? this.listeners.click(l) : this.listeners.tap(l))
|
|
6851
6826
|
break;
|
|
@@ -6884,7 +6859,7 @@ class SA extends ZA {
|
|
|
6884
6859
|
}
|
|
6885
6860
|
determineModules() {
|
|
6886
6861
|
let t = Array.from(_t.keys());
|
|
6887
|
-
return this.layout === p.fixed ? t.filter((e) =>
|
|
6862
|
+
return this.layout === p.fixed ? t.filter((e) => bi.includes(e)) : (t = t.filter((e) => vi.includes(e)), this.readingProgression === I.ttb || this.readingProgression === I.btt ? t = t.filter((e) => e !== "column_snapper") : t = t.filter((e) => e !== "scroll_snapper"), t);
|
|
6888
6863
|
}
|
|
6889
6864
|
// Start listening to messages from the current iframe
|
|
6890
6865
|
attachListener() {
|
|
@@ -6892,8 +6867,8 @@ class SA extends ZA {
|
|
|
6892
6867
|
if (t.length === 0)
|
|
6893
6868
|
throw Error("no cframe to attach listener to");
|
|
6894
6869
|
t.forEach((e) => {
|
|
6895
|
-
e.msg && (e.msg.listener = (A,
|
|
6896
|
-
this.eventListener(A,
|
|
6870
|
+
e.msg && (e.msg.listener = (A, n) => {
|
|
6871
|
+
this.eventListener(A, n);
|
|
6897
6872
|
});
|
|
6898
6873
|
});
|
|
6899
6874
|
}
|
|
@@ -6906,7 +6881,7 @@ class SA extends ZA {
|
|
|
6906
6881
|
await ((t = this.framePool) == null ? void 0 : t.destroy());
|
|
6907
6882
|
}
|
|
6908
6883
|
async changeResource(t) {
|
|
6909
|
-
var
|
|
6884
|
+
var n, r;
|
|
6910
6885
|
if (t === 0)
|
|
6911
6886
|
return !1;
|
|
6912
6887
|
if (this.layout === p.fixed) {
|
|
@@ -6942,7 +6917,7 @@ class SA extends ZA {
|
|
|
6942
6917
|
Math.min(this.pub.readingOrder.items.length - 1, e + t)
|
|
6943
6918
|
);
|
|
6944
6919
|
if (A === e)
|
|
6945
|
-
return (r = (
|
|
6920
|
+
return (r = (n = this._cframes[0]) == null ? void 0 : n.msg) == null || r.send("shake", void 0, async (s) => {
|
|
6946
6921
|
}), !1;
|
|
6947
6922
|
if (e > A) {
|
|
6948
6923
|
for (let s = this.positions.length - 1; s >= 0; s--)
|
|
@@ -6961,8 +6936,8 @@ class SA extends ZA {
|
|
|
6961
6936
|
return await this.apply(), !0;
|
|
6962
6937
|
}
|
|
6963
6938
|
findLastPositionInProgressionRange(t, e) {
|
|
6964
|
-
const A = t.findLastIndex((
|
|
6965
|
-
const r =
|
|
6939
|
+
const A = t.findLastIndex((n) => {
|
|
6940
|
+
const r = n.locations.progression;
|
|
6966
6941
|
return !!(r && r > Math.min(...e) && r <= Math.max(...e));
|
|
6967
6942
|
});
|
|
6968
6943
|
return A !== -1 ? t[A] : void 0;
|
|
@@ -6971,16 +6946,16 @@ class SA extends ZA {
|
|
|
6971
6946
|
const e = this.positions.filter(
|
|
6972
6947
|
(r) => r.href === this.currentLocation.href
|
|
6973
6948
|
);
|
|
6974
|
-
let A = this.currentLocation,
|
|
6949
|
+
let A = this.currentLocation, n;
|
|
6975
6950
|
return e.some((r, s) => {
|
|
6976
6951
|
const o = r.locations.progression ?? 0;
|
|
6977
6952
|
if (t.progress <= o) {
|
|
6978
6953
|
A = r;
|
|
6979
6954
|
const a = e.splice(s + 1, e.length), h = [t.progress, t.progress + t.reference];
|
|
6980
|
-
return
|
|
6955
|
+
return n = this.findLastPositionInProgressionRange(a, h), !0;
|
|
6981
6956
|
} else
|
|
6982
6957
|
return !1;
|
|
6983
|
-
}), { first: A, last:
|
|
6958
|
+
}), { first: A, last: n };
|
|
6984
6959
|
}
|
|
6985
6960
|
async syncLocation(t) {
|
|
6986
6961
|
const e = this.findNearestPositions(t);
|
|
@@ -6990,14 +6965,14 @@ class SA extends ZA {
|
|
|
6990
6965
|
}), this.lastLocationInView = e.last, this.listeners.positionChanged(this.currentLocation), await this.framePool.update(this.pub, this.currentLocation, this.determineModules());
|
|
6991
6966
|
}
|
|
6992
6967
|
goBackward(t, e) {
|
|
6993
|
-
var A,
|
|
6994
|
-
this.layout === p.fixed ? (this.changeResource(-1), e(!0)) : (
|
|
6968
|
+
var A, n;
|
|
6969
|
+
this.layout === p.fixed ? (this.changeResource(-1), e(!0)) : (n = (A = this._cframes[0]) == null ? void 0 : A.msg) == null || n.send("go_prev", void 0, async (r) => {
|
|
6995
6970
|
e(r ? !0 : await this.changeResource(-1));
|
|
6996
6971
|
});
|
|
6997
6972
|
}
|
|
6998
6973
|
goForward(t, e) {
|
|
6999
|
-
var A,
|
|
7000
|
-
this.layout === p.fixed ? (this.changeResource(1), e(!0)) : (
|
|
6974
|
+
var A, n;
|
|
6975
|
+
this.layout === p.fixed ? (this.changeResource(1), e(!0)) : (n = (A = this._cframes[0]) == null ? void 0 : A.msg) == null || n.send("go_next", void 0, async (r) => {
|
|
7001
6976
|
e(r ? !0 : await this.changeResource(1));
|
|
7002
6977
|
});
|
|
7003
6978
|
}
|
|
@@ -7022,25 +6997,25 @@ class SA extends ZA {
|
|
|
7022
6997
|
}
|
|
7023
6998
|
async loadLocator(t, e) {
|
|
7024
6999
|
var a, h;
|
|
7025
|
-
let A = !1,
|
|
7000
|
+
let A = !1, n = typeof t.locations.getCssSelector == "function" && t.locations.getCssSelector();
|
|
7026
7001
|
if ((a = t.text) != null && a.highlight ? A = await new Promise((l, c) => {
|
|
7027
7002
|
var g, m;
|
|
7028
7003
|
this._cframes[0].msg.send(
|
|
7029
7004
|
"go_text",
|
|
7030
|
-
|
|
7005
|
+
n ? [
|
|
7031
7006
|
(g = t.text) == null ? void 0 : g.serialize(),
|
|
7032
|
-
|
|
7007
|
+
n
|
|
7033
7008
|
// Include CSS selector if it exists
|
|
7034
7009
|
] : (m = t.text) == null ? void 0 : m.serialize(),
|
|
7035
7010
|
(M) => l(M)
|
|
7036
7011
|
);
|
|
7037
|
-
}) :
|
|
7012
|
+
}) : n && (A = await new Promise((l, c) => {
|
|
7038
7013
|
this._cframes[0].msg.send(
|
|
7039
7014
|
"go_text",
|
|
7040
7015
|
[
|
|
7041
7016
|
"",
|
|
7042
7017
|
// No text!
|
|
7043
|
-
|
|
7018
|
+
n
|
|
7044
7019
|
// Just CSS selector
|
|
7045
7020
|
],
|
|
7046
7021
|
(g) => l(g)
|
|
@@ -7062,8 +7037,8 @@ class SA extends ZA {
|
|
|
7062
7037
|
}) : A = !0, e(A);
|
|
7063
7038
|
}
|
|
7064
7039
|
go(t, e, A) {
|
|
7065
|
-
const
|
|
7066
|
-
let r = this.pub.readingOrder.findWithHref(
|
|
7040
|
+
const n = t.href.split("#")[0];
|
|
7041
|
+
let r = this.pub.readingOrder.findWithHref(n);
|
|
7067
7042
|
if (!r)
|
|
7068
7043
|
return A(this.listeners.handleLocator(t));
|
|
7069
7044
|
this.currentLocation = this.positions.find((s) => s.href === r.href), this.apply().then(() => this.loadLocator(t, (s) => A(s))).then(() => {
|
|
@@ -7074,7 +7049,7 @@ class SA extends ZA {
|
|
|
7074
7049
|
return this.go(t.locator, e, A);
|
|
7075
7050
|
}
|
|
7076
7051
|
}
|
|
7077
|
-
class
|
|
7052
|
+
class yn {
|
|
7078
7053
|
constructor(t) {
|
|
7079
7054
|
var e;
|
|
7080
7055
|
this.sourceNode = null, this.listeners = {}, this.isMutedValue = !1, this.isPlayingValue = !1, this.isPausedValue = !1, this.isLoadingValue = !1, this.isLoadedValue = !1, this.isEndedValue = !1, this.playback = t.playback, this.audioContext = t.audioContext, this.gainNode = (e = this.audioContext) == null ? void 0 : e.createGain(), this.setVolume(this.playback.state.volume), this.mediaElement = document.createElement("audio"), this.mediaElement.crossOrigin = "use-credentials", this.mediaElement.addEventListener(
|
|
@@ -7249,35 +7224,35 @@ class Un {
|
|
|
7249
7224
|
}
|
|
7250
7225
|
}
|
|
7251
7226
|
export {
|
|
7252
|
-
|
|
7227
|
+
k as BooleanPreference,
|
|
7253
7228
|
Lt as EnumPreference,
|
|
7254
|
-
|
|
7229
|
+
un as EpubDefaults,
|
|
7255
7230
|
SA as EpubNavigator,
|
|
7256
7231
|
Et as EpubPreferences,
|
|
7257
7232
|
Oe as EpubPreferencesEditor,
|
|
7258
7233
|
Xe as EpubSettings,
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
|
|
7234
|
+
Oi as FXLCoordinator,
|
|
7235
|
+
ki as FXLFrameManager,
|
|
7236
|
+
An as FXLFramePoolManager,
|
|
7237
|
+
Zi as FXLPeripherals,
|
|
7238
|
+
Ki as FXLSpreader,
|
|
7264
7239
|
$t as FrameComms,
|
|
7265
|
-
|
|
7266
|
-
|
|
7267
|
-
|
|
7240
|
+
Gi as FrameManager,
|
|
7241
|
+
Hi as FramePoolManager,
|
|
7242
|
+
Wi as HorizontalThird,
|
|
7268
7243
|
y as LayoutStrategy,
|
|
7269
7244
|
ft as LineLengths,
|
|
7270
7245
|
XA as Navigator,
|
|
7271
7246
|
V as Preference,
|
|
7272
|
-
|
|
7247
|
+
wn as RSProperties,
|
|
7273
7248
|
S as RangePreference,
|
|
7274
|
-
|
|
7249
|
+
In as ReadiumCSS,
|
|
7275
7250
|
pt as TextAlignment,
|
|
7276
7251
|
Bt as Theme,
|
|
7277
7252
|
NA as UserProperties,
|
|
7278
|
-
|
|
7253
|
+
Li as VerticalThird,
|
|
7279
7254
|
ZA as VisualNavigator,
|
|
7280
|
-
|
|
7255
|
+
yn as WebAudioEngine,
|
|
7281
7256
|
Tt as fontSizeRangeConfig,
|
|
7282
7257
|
jt as fontWeightRangeConfig,
|
|
7283
7258
|
Vt as fontWidthRangeConfig,
|