@prose-reader/core 1.343.0 → 1.344.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enhancers/html/renderer/createHtmlPageFromResource.d.ts +1 -0
- package/dist/index.cjs +14 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +413 -417
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -759,15 +759,16 @@ var Tt = class {
|
|
|
759
759
|
return s.length === 0 ? D(r) : v(s).pipe(T(() => r));
|
|
760
760
|
})), Lt = (e) => {
|
|
761
761
|
Ye(e?.contentDocument);
|
|
762
|
-
}, Rt =
|
|
762
|
+
}, Rt = [
|
|
763
|
+
"image/jpg",
|
|
764
|
+
"image/jpeg",
|
|
765
|
+
"image/png",
|
|
766
|
+
"image/webp",
|
|
767
|
+
"image/avif"
|
|
768
|
+
], zt = async (e, t) => {
|
|
763
769
|
if (typeof e == "string") return new Blob([e], { type: "text/html" });
|
|
764
770
|
let r = s(e.headers.get("Content-Type") || "") || n(t.href);
|
|
765
|
-
if (
|
|
766
|
-
"image/jpg",
|
|
767
|
-
"image/jpeg",
|
|
768
|
-
"image/png",
|
|
769
|
-
"image/webp"
|
|
770
|
-
].some((e) => e === r)) {
|
|
771
|
+
if (Rt.some((e) => e === r)) {
|
|
771
772
|
let n = await e.blob(), r = URL.createObjectURL(n), i = await createImageBitmap(n), { width: a, height: o } = {
|
|
772
773
|
width: i.width,
|
|
773
774
|
height: i.height
|
|
@@ -807,40 +808,35 @@ var Tt = class {
|
|
|
807
808
|
`], { type: "text/html" });
|
|
808
809
|
}
|
|
809
810
|
return await e.blob();
|
|
810
|
-
},
|
|
811
|
+
}, Bt = [
|
|
811
812
|
".txt",
|
|
812
813
|
".jpg",
|
|
813
814
|
".jpeg",
|
|
814
815
|
".png",
|
|
815
|
-
".webp"
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
"image/jpg",
|
|
819
|
-
"image/jpeg",
|
|
820
|
-
"image/png",
|
|
821
|
-
"image/webp"
|
|
822
|
-
], Vt = (e) => {
|
|
816
|
+
".webp",
|
|
817
|
+
".avif"
|
|
818
|
+
], Vt = ["text/plain", ...Rt], Ht = (e) => {
|
|
823
819
|
let t = e?.getAttribute("src");
|
|
824
820
|
t?.startsWith("blob:") && URL.revokeObjectURL(t);
|
|
825
|
-
},
|
|
821
|
+
}, Ut = ({ item: e, resourcesHandler: t }) => {
|
|
826
822
|
let n = (e, t) => {
|
|
827
|
-
|
|
823
|
+
Ht(e);
|
|
828
824
|
let n = URL.createObjectURL(t);
|
|
829
825
|
e.setAttribute("src", n);
|
|
830
826
|
};
|
|
831
827
|
return (r) => r.pipe(A((r) => C(t.getResource()).pipe(A((i) => {
|
|
832
|
-
let a =
|
|
833
|
-
return i instanceof URL && e.href.startsWith(window.location.origin) && !a ? (
|
|
828
|
+
let a = Bt.some((t) => e.href.endsWith(t)) || e.mediaType && Vt.includes(e.mediaType);
|
|
829
|
+
return i instanceof URL && e.href.startsWith(window.location.origin) && !a ? (Ht(r), r?.setAttribute("src", i.href), D(r)) : (i instanceof URL ? C(t.fetchResource()) : D(i)).pipe(A((t) => {
|
|
834
830
|
if (!(t instanceof Response)) throw Error("Invalid resource");
|
|
835
|
-
return
|
|
831
|
+
return zt(t, e);
|
|
836
832
|
}), M((e) => {
|
|
837
833
|
n(r, e);
|
|
838
834
|
}), T(() => r), _((t) => (L.error(`Error while trying to fetch or load resource for item ${e.id}`, i), L.error(t), D(r))));
|
|
839
835
|
}))));
|
|
840
|
-
},
|
|
836
|
+
}, Wt = (e) => {
|
|
841
837
|
let t = e.createElement("iframe");
|
|
842
838
|
return t.frameBorder = "no", t.tabIndex = 0, t.setAttribute("sandbox", "\n allow-same-origin \n allow-scripts \n allow-top-navigation-to-custom-protocols\n"), t.style.cssText = "\n overflow: hidden;\n background-color: transparent;\n border: 0px none transparent;\n padding: 0px;\n", t.setAttribute("role", "main"), t;
|
|
843
|
-
},
|
|
839
|
+
}, Gt = "body{margin:0}html,body{width:100%;height:100%}html[data-prose-reader-html-renderer-has-viewport-dimensions=false] body{display:flex}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=left] body{justify-content:flex-end}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=right] body{justify-content:flex-start}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=none] body{justify-content:center}:not(html.prose-reader-html-renderer-touch-enabled),:not(html.prose-reader-html-renderer-touch-enabled) body{touch-action:none}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;display:flex}html[data-prose-reader-html-renderer-has-viewport-dimensions=false] img{object-fit:contain;max-width:100%;height:100%}", Kt = ({ pageHeight: e, pageWidth: t, frameElement: n }) => {
|
|
844
840
|
let r = at(n), i = r.width, a = r.height;
|
|
845
841
|
!i && r.widthToken === "device-width" && (i = t), !a && r.heightToken === "device-height" && (a = e), !a && (i || r.widthToken === "device-width") && (a = e), !i && (a || r.heightToken === "device-height") && (i = t);
|
|
846
842
|
let o = r.hasViewport && i && a ? {
|
|
@@ -856,17 +852,17 @@ var Tt = class {
|
|
|
856
852
|
viewportDimensions: o
|
|
857
853
|
};
|
|
858
854
|
}
|
|
859
|
-
},
|
|
855
|
+
}, qt = /* @__PURE__ */ new WeakMap(), W = (e, t, n) => {
|
|
860
856
|
e.style.getPropertyValue(t) !== n && e.style.setProperty(t, n);
|
|
861
857
|
}, G = (e, t) => {
|
|
862
858
|
e.style.getPropertyValue(t) !== "" && e.style.removeProperty(t);
|
|
863
|
-
},
|
|
859
|
+
}, Jt = (e, t) => {
|
|
864
860
|
let n = `${t.width}px`, r = `${t.height}px`;
|
|
865
861
|
e.style.width !== n && (e.style.width = n), e.style.height !== r && (e.style.height = r);
|
|
866
|
-
},
|
|
862
|
+
}, Yt = (e, t, n) => {
|
|
867
863
|
let r = e.contentDocument?.documentElement;
|
|
868
864
|
r && r.getAttribute(t) !== n && r.setAttribute(t, n);
|
|
869
|
-
},
|
|
865
|
+
}, Xt = ({ hasViewportDimensions: e, viewportWidth: t, viewportHeight: n, computedScale: r, spreadPosition: i, blankPagePosition: a, isRTL: o, pageWidth: s, pageHeight: c }) => [
|
|
870
866
|
e ? "1" : "0",
|
|
871
867
|
t ?? "",
|
|
872
868
|
n ?? "",
|
|
@@ -876,7 +872,7 @@ var Tt = class {
|
|
|
876
872
|
o ? "1" : "0",
|
|
877
873
|
s,
|
|
878
874
|
c
|
|
879
|
-
].join("|"),
|
|
875
|
+
].join("|"), Zt = ({ frameElement: e, viewportDimensions: t, computedScale: n, spreadPosition: r, blankPagePosition: i, isRTL: a, pageWidth: o }) => {
|
|
880
876
|
if (t) {
|
|
881
877
|
W(e, "position", "absolute"), W(e, "top", "50%"), i === "before" ? r === "left" ? (W(e, "left", a ? "0" : "50%"), G(e, "right")) : r === "right" ? (W(e, "right", a ? "50%" : "0"), G(e, "left")) : (W(e, "left", a ? "25%" : "75%"), G(e, "right")) : r === "left" ? (W(e, "right", "0"), G(e, "left")) : r === "right" ? (W(e, "left", "0"), G(e, "right")) : (W(e, "left", i === "after" ? a ? "75%" : "25%" : "50%"), G(e, "right"));
|
|
882
878
|
let t = r === "none" ? "-50%" : "0", o = i === "before" ? r === "left" ? "left" : r === "right" ? "right" : "center" : r === "right" ? "left" : r === "left" ? "right" : "center";
|
|
@@ -884,14 +880,14 @@ var Tt = class {
|
|
|
884
880
|
return;
|
|
885
881
|
}
|
|
886
882
|
i === "before" ? a ? W(e, "margin-right", `${o}px`) : W(e, "margin-left", `${o}px`) : (G(e, "margin-left"), G(e, "margin-right"));
|
|
887
|
-
},
|
|
883
|
+
}, Qt = ({ minPageSpread: e, blankPagePosition: t, spreadPosition: n, pageHeight: r, pageWidth: i, frameElement: a, isRTL: o }) => {
|
|
888
884
|
let s = e * i;
|
|
889
885
|
if (a?.contentDocument && a?.contentWindow) {
|
|
890
|
-
let { viewportDimensions: e, computedScale: c = 1 } =
|
|
886
|
+
let { viewportDimensions: e, computedScale: c = 1 } = Kt({
|
|
891
887
|
frameElement: a,
|
|
892
888
|
pageHeight: r,
|
|
893
889
|
pageWidth: i
|
|
894
|
-
}) ?? {}, l = !!e, u = i, d = r, f =
|
|
890
|
+
}) ?? {}, l = !!e, u = i, d = r, f = Xt({
|
|
895
891
|
hasViewportDimensions: l,
|
|
896
892
|
viewportWidth: e?.width,
|
|
897
893
|
viewportHeight: e?.height,
|
|
@@ -902,16 +898,16 @@ var Tt = class {
|
|
|
902
898
|
pageWidth: i,
|
|
903
899
|
pageHeight: r
|
|
904
900
|
});
|
|
905
|
-
return
|
|
901
|
+
return qt.get(a) === f ? {
|
|
906
902
|
width: s,
|
|
907
903
|
height: d
|
|
908
|
-
} : (
|
|
904
|
+
} : (qt.set(a, f), Yt(a, "data-prose-reader-html-renderer-has-viewport-dimensions", l.toString()), e ? Jt(a, {
|
|
909
905
|
width: e.width ?? 1,
|
|
910
906
|
height: e.height ?? 1
|
|
911
|
-
}) :
|
|
907
|
+
}) : Jt(a, {
|
|
912
908
|
width: u,
|
|
913
909
|
height: d
|
|
914
|
-
}),
|
|
910
|
+
}), Zt({
|
|
915
911
|
frameElement: a,
|
|
916
912
|
viewportDimensions: e,
|
|
917
913
|
computedScale: c,
|
|
@@ -928,7 +924,7 @@ var Tt = class {
|
|
|
928
924
|
width: s,
|
|
929
925
|
height: r
|
|
930
926
|
};
|
|
931
|
-
},
|
|
927
|
+
}, $t = () => "\n body {\n margin: 0;\n }\n html {\n width: 100%;\n height: 100%;\n }\n body {\n width: 100%;\n height: 100%;\n margin: 0;\n }\n \n html, body {\n touch-action: none;\n }\n ", en = ({ isScrollable: e, enableTouch: t }) => `
|
|
932
928
|
|
|
933
929
|
html, body {
|
|
934
930
|
width: 100%;
|
|
@@ -937,7 +933,7 @@ var Tt = class {
|
|
|
937
933
|
${t ? "" : "\n touch-action: none\n "}
|
|
938
934
|
}
|
|
939
935
|
${e ? "\n img {\n height: auto !important;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n \n width: 100%;\n \n display: block;\n }\n " : ""}
|
|
940
|
-
`,
|
|
936
|
+
`, tn = ({ width: e, columnHeight: t, columnWidth: n }) => `
|
|
941
937
|
parsererror {
|
|
942
938
|
display: none !important;
|
|
943
939
|
}
|
|
@@ -1001,48 +997,48 @@ var Tt = class {
|
|
|
1001
997
|
td {
|
|
1002
998
|
max-width: ${n}px;
|
|
1003
999
|
}
|
|
1004
|
-
`,
|
|
1000
|
+
`, nn = ({ isUsingVerticalWriting: e, minimumWidth: t, pageHeight: n, pageWidth: r }) => {
|
|
1005
1001
|
let i = r - 0, a = n - 0, o = r - 0;
|
|
1006
1002
|
return e && (o = t - 0, i = a), {
|
|
1007
1003
|
columnHeight: a,
|
|
1008
1004
|
columnWidth: i,
|
|
1009
1005
|
width: o
|
|
1010
1006
|
};
|
|
1011
|
-
},
|
|
1007
|
+
}, rn = (e, t) => {
|
|
1012
1008
|
z(e.style, "width", `${t.width}px`), z(e.style, "height", `${t.height}px`);
|
|
1013
|
-
},
|
|
1009
|
+
}, an = ({ pageHeight: e, pageWidth: t, frameElement: n, manifest: r, renditionFlow: i, minPageSpread: a, isRTL: o, blankPagePosition: s, isImageType: c, enableTouch: l, isUsingVerticalWriting: u }) => {
|
|
1014
1010
|
let d = a * t, f = r.renditionLayout === "reflowable" && i === "scrolled-continuous", p = f ? Math.min(400, e) : e;
|
|
1015
1011
|
z(n.style, "width", `${t}px`), f ? B(n.style, "height") : z(n.style, "height", `${p}px`);
|
|
1016
|
-
let { viewportDimensions: m, computedScale: h = 1 } =
|
|
1012
|
+
let { viewportDimensions: m, computedScale: h = 1 } = Kt({
|
|
1017
1013
|
frameElement: n,
|
|
1018
1014
|
pageHeight: p,
|
|
1019
1015
|
pageWidth: t
|
|
1020
1016
|
}) ?? {}, g = r.renditionLayout === "pre-paginated";
|
|
1021
1017
|
if (n?.contentDocument && n?.contentWindow && n.contentDocument.body) {
|
|
1022
1018
|
let e = t, r = p;
|
|
1023
|
-
if (m?.hasViewport) H(n, "prose-reader-html-renderer-framce-css",
|
|
1019
|
+
if (m?.hasViewport) H(n, "prose-reader-html-renderer-framce-css", $t()), rn(n, {
|
|
1024
1020
|
width: m.width ?? 1,
|
|
1025
1021
|
height: m.height ?? 1
|
|
1026
1022
|
}), z(n.style, "position", "absolute"), z(n.style, "top", "50%"), z(n.style, "left", s === "before" ? o ? "25%" : "75%" : s === "after" ? o ? "75%" : "25%" : "50%"), z(n.style, "transform", `translate(-50%, -50%) scale(${h})`), z(n.style, "transform-origin", "center center");
|
|
1027
|
-
else if (H(n, "prose-reader-css", c ?
|
|
1023
|
+
else if (H(n, "prose-reader-css", c ? en({
|
|
1028
1024
|
isScrollable: i === "scrolled-continuous",
|
|
1029
1025
|
enableTouch: l
|
|
1030
|
-
}) :
|
|
1026
|
+
}) : tn(nn({
|
|
1031
1027
|
isUsingVerticalWriting: u,
|
|
1032
1028
|
minimumWidth: d,
|
|
1033
1029
|
pageHeight: p,
|
|
1034
1030
|
pageWidth: t
|
|
1035
|
-
})), !0), u) r = Math.ceil(n.contentDocument.documentElement.scrollHeight / p) * p,
|
|
1031
|
+
})), !0), u) r = Math.ceil(n.contentDocument.documentElement.scrollHeight / p) * p, rn(n, {
|
|
1036
1032
|
width: d,
|
|
1037
1033
|
height: r
|
|
1038
1034
|
});
|
|
1039
|
-
else if (i === "scrolled-continuous") r = n.contentDocument.body.scrollHeight,
|
|
1035
|
+
else if (i === "scrolled-continuous") r = n.contentDocument.body.scrollHeight, rn(n, {
|
|
1040
1036
|
width: d,
|
|
1041
1037
|
height: r
|
|
1042
1038
|
});
|
|
1043
1039
|
else {
|
|
1044
1040
|
let i = Math.ceil(n.contentDocument.documentElement.scrollWidth / t);
|
|
1045
|
-
e = g ? t : i * t,
|
|
1041
|
+
e = g ? t : i * t, rn(n, {
|
|
1046
1042
|
width: e,
|
|
1047
1043
|
height: r
|
|
1048
1044
|
});
|
|
@@ -1052,25 +1048,25 @@ var Tt = class {
|
|
|
1052
1048
|
height: r
|
|
1053
1049
|
};
|
|
1054
1050
|
}
|
|
1055
|
-
},
|
|
1051
|
+
}, on = class extends At {
|
|
1056
1052
|
constructor(...e) {
|
|
1057
1053
|
super(...e), this.isPrePaginated = () => this.item.renditionLayout === "pre-paginated" || !this.item.renditionLayout && this.context.manifest.renditionLayout === "pre-paginated", this.isImageType = () => !!(this.item.mediaType ?? n(this.item.href))?.startsWith("image/");
|
|
1058
1054
|
}
|
|
1059
1055
|
onCreateDocument() {
|
|
1060
|
-
let e =
|
|
1056
|
+
let e = Wt(this.context.document);
|
|
1061
1057
|
return this.setDocumentContainer(e), D(e);
|
|
1062
1058
|
}
|
|
1063
1059
|
onLoadDocument() {
|
|
1064
1060
|
let e = this.getFrameElement();
|
|
1065
1061
|
if (!e) throw Error("invalid frame");
|
|
1066
|
-
return D(e).pipe(
|
|
1062
|
+
return D(e).pipe(Ut({
|
|
1067
1063
|
item: this.item,
|
|
1068
1064
|
resourcesHandler: this.resourcesHandler,
|
|
1069
1065
|
settings: this.settings
|
|
1070
1066
|
}), yt(this.context.bridgeEvent.viewportFree$), M((e) => {
|
|
1071
1067
|
this.prepareFrameForAttach(e), this.attach();
|
|
1072
1068
|
}), ot, M((e) => {
|
|
1073
|
-
this.isPrePaginated() ? H(e, "prose-reader-css",
|
|
1069
|
+
this.isPrePaginated() ? H(e, "prose-reader-css", Gt) : this.isImageType();
|
|
1074
1070
|
}), It({
|
|
1075
1071
|
context: this.context,
|
|
1076
1072
|
item: this.item,
|
|
@@ -1081,13 +1077,13 @@ var Tt = class {
|
|
|
1081
1077
|
}
|
|
1082
1078
|
onUnload() {
|
|
1083
1079
|
let e = this.getFrameElement();
|
|
1084
|
-
Lt(e),
|
|
1080
|
+
Lt(e), Ht(e), this.detach();
|
|
1085
1081
|
}
|
|
1086
1082
|
onLayout({ minPageSpread: e, blankPagePosition: t, spreadPosition: n }) {
|
|
1087
1083
|
let { width: r, height: i } = this.viewport.pageSize, a = this.getFrameElement();
|
|
1088
1084
|
if (!a) return D(void 0);
|
|
1089
1085
|
let o = this.settings.values.computedPageTurnMode === "scrollable";
|
|
1090
|
-
if (a.contentDocument?.documentElement && (R(a.contentDocument.documentElement, "data-prose-reader-html-renderer-spread-position", n), o ? a.contentDocument?.documentElement.classList.add("prose-reader-html-renderer-touch-enabled") : a.contentDocument?.documentElement.classList.remove("prose-reader-html-renderer-touch-enabled")), this.isPrePaginated()) return D(
|
|
1086
|
+
if (a.contentDocument?.documentElement && (R(a.contentDocument.documentElement, "data-prose-reader-html-renderer-spread-position", n), o ? a.contentDocument?.documentElement.classList.add("prose-reader-html-renderer-touch-enabled") : a.contentDocument?.documentElement.classList.remove("prose-reader-html-renderer-touch-enabled")), this.isPrePaginated()) return D(Qt({
|
|
1091
1087
|
blankPagePosition: t,
|
|
1092
1088
|
frameElement: a,
|
|
1093
1089
|
isRTL: this.context.isRTL(),
|
|
@@ -1097,7 +1093,7 @@ var Tt = class {
|
|
|
1097
1093
|
spreadPosition: n
|
|
1098
1094
|
}));
|
|
1099
1095
|
let s = !!this.writingMode?.startsWith("vertical"), c = this.isImageType();
|
|
1100
|
-
return D(
|
|
1096
|
+
return D(an({
|
|
1101
1097
|
pageHeight: i,
|
|
1102
1098
|
pageWidth: r,
|
|
1103
1099
|
frameElement: a,
|
|
@@ -1155,11 +1151,11 @@ var Tt = class {
|
|
|
1155
1151
|
getDocumentFrame() {
|
|
1156
1152
|
return this.getFrameElement();
|
|
1157
1153
|
}
|
|
1158
|
-
},
|
|
1154
|
+
}, sn = (e) => (t) => {
|
|
1159
1155
|
let n = e({
|
|
1160
1156
|
...t,
|
|
1161
1157
|
getRenderer(e) {
|
|
1162
|
-
return t.getRenderer?.(e) ?? ((e) => new
|
|
1158
|
+
return t.getRenderer?.(e) ?? ((e) => new on(e));
|
|
1163
1159
|
}
|
|
1164
1160
|
}), r = kt(n);
|
|
1165
1161
|
return r.pipe(j(n.$.destroy$)).subscribe(), {
|
|
@@ -1174,7 +1170,7 @@ function K(e) {
|
|
|
1174
1170
|
}
|
|
1175
1171
|
//#endregion
|
|
1176
1172
|
//#region src/spineItem/types.ts
|
|
1177
|
-
var
|
|
1173
|
+
var cn = class {
|
|
1178
1174
|
constructor(e) {
|
|
1179
1175
|
this.left = e.left, this.right = e.right, this.top = e.top, this.bottom = e.bottom, this.width = e.width, this.height = e.height, this.x = e.x, this.y = e.y;
|
|
1180
1176
|
}
|
|
@@ -1182,47 +1178,47 @@ var sn = class {
|
|
|
1182
1178
|
constructor(e) {
|
|
1183
1179
|
this.__symbol = Symbol("SpineItemPosition"), this.x = e.x, this.y = e.y;
|
|
1184
1180
|
}
|
|
1185
|
-
},
|
|
1181
|
+
}, ln = class {
|
|
1186
1182
|
constructor(e) {
|
|
1187
1183
|
this.__symbol = Symbol("SpineItemPagePosition"), this.x = e.x, this.y = e.y;
|
|
1188
1184
|
}
|
|
1189
|
-
},
|
|
1185
|
+
}, un = class extends cn {
|
|
1190
1186
|
constructor(...e) {
|
|
1191
1187
|
super(...e), this.__symbol = "SpineItemPageLayout";
|
|
1192
1188
|
}
|
|
1193
|
-
},
|
|
1189
|
+
}, dn = class extends cn {
|
|
1194
1190
|
constructor(...e) {
|
|
1195
1191
|
super(...e), this.__symbol = "SpineItemSpineLayout";
|
|
1196
1192
|
}
|
|
1197
|
-
},
|
|
1193
|
+
}, fn = class extends cn {
|
|
1198
1194
|
constructor(...e) {
|
|
1199
1195
|
super(...e), this.__symbol = "SpineItemPageSpineLayout";
|
|
1200
1196
|
}
|
|
1201
|
-
},
|
|
1197
|
+
}, pn = class {
|
|
1202
1198
|
constructor(e) {
|
|
1203
1199
|
this.x = e.x, this.y = e.y;
|
|
1204
1200
|
}
|
|
1205
|
-
}, J = class e extends
|
|
1201
|
+
}, J = class e extends pn {
|
|
1206
1202
|
constructor(...e) {
|
|
1207
1203
|
super(...e), this.__symbol = "SpinePosition";
|
|
1208
1204
|
}
|
|
1209
1205
|
static from(t) {
|
|
1210
1206
|
return new e(t);
|
|
1211
1207
|
}
|
|
1212
|
-
}, Y = class e extends
|
|
1208
|
+
}, Y = class e extends pn {
|
|
1213
1209
|
constructor(...e) {
|
|
1214
1210
|
super(...e), this.__symbol = "UnboundSpinePosition";
|
|
1215
1211
|
}
|
|
1216
1212
|
static from(t) {
|
|
1217
1213
|
return new e(t);
|
|
1218
1214
|
}
|
|
1219
|
-
},
|
|
1215
|
+
}, mn = (e, t) => {
|
|
1220
1216
|
let n = t.getBoundingClientRect(), { x: r, y: i } = e, { left: a, top: o } = n, s = n.width / t.offsetWidth, c = n.height / t.offsetHeight, l = r - a, u = i - o;
|
|
1221
1217
|
return {
|
|
1222
1218
|
x: l / s,
|
|
1223
1219
|
y: u / c
|
|
1224
1220
|
};
|
|
1225
|
-
},
|
|
1221
|
+
}, hn = (e, t) => new Y(mn(e, t)), gn = (e) => ({ getSpinePositionFromClientPosition: (t) => e.spine.element ? hn(t, e.spine.element) : void 0 }), _n = (e) => {
|
|
1226
1222
|
let t, n = e.context.watch("rootElement").pipe(P((e) => e ? new f(() => (t = e.ownerDocument.createElement("div"), t.style.cssText = "\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n visibility: hidden;\n ", e.appendChild(t), () => {
|
|
1227
1223
|
t?.remove(), t = void 0;
|
|
1228
1224
|
})) : d)), r = (e) => de(e, h).pipe(I(() => {
|
|
@@ -1231,24 +1227,24 @@ var sn = class {
|
|
|
1231
1227
|
t && z(t.style, "visibility", "visible");
|
|
1232
1228
|
})), a = r(e.viewportFree$).pipe(ke(1));
|
|
1233
1229
|
return E(n, e.settings.values$.pipe(Ce(() => e.settings.values.computedPageTurnMode), be()).pipe(P((e) => e === "controlled" ? i.pipe(P(() => a)) : r(D(void 0))), F(e.$.destroy$)));
|
|
1234
|
-
},
|
|
1230
|
+
}, vn = "@prose-reader/core", yn = 0, bn = 200, X = "prose-reader", xn = `${X}-style`, Sn = `data-${X}-id`, Cn = `${X}-viewport`, wn = `${X}-scroll-navigator`, Tn = `${X}-spine-item`, En = `--${X}-absolute-viewport-width`, Dn = `--${X}-absolute-viewport-height`, On = `${X}-enhancer-loading`, kn = `${On}-container`, An = `${On}-logo`, jn = `${On}-details`, Mn = ({ container: e, item: t }) => {
|
|
1235
1231
|
let n = e.ownerDocument.createElement("div");
|
|
1236
|
-
n.classList.add(
|
|
1232
|
+
n.classList.add(kn);
|
|
1237
1233
|
let r = n.ownerDocument.createElement("div");
|
|
1238
|
-
r.classList.add(
|
|
1234
|
+
r.classList.add(An), r.innerText = "prose";
|
|
1239
1235
|
let i = n.ownerDocument.createElement("div");
|
|
1240
|
-
return i.classList.add(
|
|
1241
|
-
},
|
|
1242
|
-
z(e.style, "color",
|
|
1243
|
-
},
|
|
1236
|
+
return i.classList.add(jn), i.setAttribute("data-details-element", "true"), i.innerText = `loading ${t.id}`, n.appendChild(r), n.appendChild(i), n;
|
|
1237
|
+
}, Nn = (e) => e === "sepia" ? "#939393" : "rgb(202, 202, 202)", Pn = ({ loadingElement: e, theme: t }) => {
|
|
1238
|
+
z(e.style, "color", Nn(t));
|
|
1239
|
+
}, Fn = (e) => {
|
|
1244
1240
|
let t = /* @__PURE__ */ new WeakMap();
|
|
1245
1241
|
return e.hookManager.register("item.onBeforeContainerAttach", ({ element: n, item: r }) => {
|
|
1246
1242
|
z(n.style, "z-index", "0");
|
|
1247
|
-
let i =
|
|
1243
|
+
let i = Mn({
|
|
1248
1244
|
container: n,
|
|
1249
1245
|
item: r
|
|
1250
1246
|
});
|
|
1251
|
-
|
|
1247
|
+
Pn({
|
|
1252
1248
|
loadingElement: i,
|
|
1253
1249
|
theme: e.theme.get()
|
|
1254
1250
|
}), t.set(n, i), n.appendChild(i);
|
|
@@ -1261,27 +1257,27 @@ var sn = class {
|
|
|
1261
1257
|
})), e.theme.$.theme$.pipe(I((n) => {
|
|
1262
1258
|
for (let r of e.spineItemsManager.items) {
|
|
1263
1259
|
let e = t.get(r.containerElement);
|
|
1264
|
-
e &&
|
|
1260
|
+
e && Pn({
|
|
1265
1261
|
loadingElement: e,
|
|
1266
1262
|
theme: n
|
|
1267
1263
|
});
|
|
1268
1264
|
}
|
|
1269
1265
|
})));
|
|
1270
|
-
},
|
|
1266
|
+
}, In = (e) => {
|
|
1271
1267
|
e.hookManager.register("item.onDocumentLoad", async ({ itemId: t }) => {
|
|
1272
1268
|
let n = e.spineItemsManager.get(t)?.renderer.getDocumentFrame();
|
|
1273
1269
|
n && R(n, "scrolling", "no");
|
|
1274
1270
|
});
|
|
1275
|
-
},
|
|
1271
|
+
}, Ln = (e) => {
|
|
1276
1272
|
e.hookManager.register("item.onAfterLayout", ({ item: t, blankPagePosition: n, minimumWidth: r }) => {
|
|
1277
1273
|
let i = e.spineItemsManager.get(t.id), a = i?.renderer.getDocumentFrame();
|
|
1278
1274
|
if (i?.renditionLayout !== "reflowable" || !V(a, "iframe")) return;
|
|
1279
1275
|
let { hasViewport: o } = at(a), { width: s } = e.viewport.pageSize, c = i?.renderer.getDocumentFrame();
|
|
1280
1276
|
o && n === "none" && s < r && V(c, "iframe") && z(c.style, "left", e.context.isRTL() ? "75%" : "25%");
|
|
1281
1277
|
});
|
|
1282
|
-
},
|
|
1278
|
+
}, Rn = (e) => e.spineItemsObserver.itemStateChange$.pipe(M(({ item: e, isReady: t, isDirty: n }) => {
|
|
1283
1279
|
e.containerElement.dataset.isDirty = n.toString(), e.containerElement.dataset.isReady = t.toString();
|
|
1284
|
-
})),
|
|
1280
|
+
})), zn = class extends Tt {
|
|
1285
1281
|
computeOutputSettings(e) {
|
|
1286
1282
|
return e;
|
|
1287
1283
|
}
|
|
@@ -1300,20 +1296,20 @@ var sn = class {
|
|
|
1300
1296
|
layoutLayerTransition: !0
|
|
1301
1297
|
};
|
|
1302
1298
|
}
|
|
1303
|
-
},
|
|
1299
|
+
}, Bn = ({ manifest: e, spreadMode: t }) => e.renditionFlow !== "scrolled-continuous" && t, Vn = (e) => e === void 0 || e === "auto" || e === "landscape" || e === "both", Hn = ({ manifest: e, viewport: t }) => {
|
|
1304
1300
|
let n = t.width > t.height;
|
|
1305
|
-
return !!(!n && e.renditionSpread === "portrait" || n &&
|
|
1306
|
-
},
|
|
1301
|
+
return !!(!n && e.renditionSpread === "portrait" || n && Vn(e.renditionSpread));
|
|
1302
|
+
}, Un = ({ manifest: e, viewport: t }) => Bn({
|
|
1307
1303
|
manifest: e,
|
|
1308
|
-
spreadMode:
|
|
1304
|
+
spreadMode: Hn({
|
|
1309
1305
|
manifest: e,
|
|
1310
1306
|
viewport: t
|
|
1311
1307
|
})
|
|
1312
|
-
}),
|
|
1308
|
+
}), Wn = (e) => v([e.viewport.watch(["width", "height"]), e.context.watch("manifest")]).pipe(M(([t, n]) => e.settings.update({ spreadMode: Hn({
|
|
1313
1309
|
manifest: n,
|
|
1314
1310
|
viewport: t
|
|
1315
|
-
}) }))),
|
|
1316
|
-
let { pageHorizontalMargin: r, pageVerticalMargin: i, layoutAutoResize: a, layoutLayerTransition: o } = t, s = e(t), c = new
|
|
1311
|
+
}) }))), Gn = (e) => (t) => {
|
|
1312
|
+
let { pageHorizontalMargin: r, pageVerticalMargin: i, layoutAutoResize: a, layoutLayerTransition: o } = t, s = e(t), c = new zn({
|
|
1317
1313
|
pageHorizontalMargin: r,
|
|
1318
1314
|
pageVerticalMargin: i,
|
|
1319
1315
|
layoutAutoResize: a,
|
|
@@ -1353,7 +1349,7 @@ var sn = class {
|
|
|
1353
1349
|
}
|
|
1354
1350
|
`);
|
|
1355
1351
|
}
|
|
1356
|
-
}),
|
|
1352
|
+
}), Ln(s), In(s), s.hookManager.register("item.onDocumentCreated", ({ documentContainer: e }) => {
|
|
1357
1353
|
z(e.style, "opacity", "0"), c.values.layoutLayerTransition && z(e.style, "transition", "opacity 800ms");
|
|
1358
1354
|
}), s.hookManager.register("item.onBeforeLayout", ({ item: e }) => {
|
|
1359
1355
|
let t = s.spineItemsManager.get(e.id)?.renderer.documentContainer;
|
|
@@ -1364,7 +1360,7 @@ var sn = class {
|
|
|
1364
1360
|
t && z(t.style, "opacity", "1");
|
|
1365
1361
|
})), u = c.values$.pipe(xe(({ layoutAutoResize: e }) => e === "container"), P(() => s.context.watch("rootElement")), xe(K), P((e) => vt(e)), ye(100), xe(K), I(() => {
|
|
1366
1362
|
s?.layout();
|
|
1367
|
-
})), d =
|
|
1363
|
+
})), d = _n(s);
|
|
1368
1364
|
c.watch(["pageHorizontalMargin", "pageVerticalMargin"]).pipe(De(1), I(() => {
|
|
1369
1365
|
s.layout();
|
|
1370
1366
|
}), F(s.$.destroy$)).subscribe();
|
|
@@ -1372,7 +1368,7 @@ var sn = class {
|
|
|
1372
1368
|
refCount: !0,
|
|
1373
1369
|
bufferSize: 1
|
|
1374
1370
|
}));
|
|
1375
|
-
return E(l, d, u, f,
|
|
1371
|
+
return E(l, d, u, f, Rn(s), Wn(s), Fn(s)).pipe(F(s.$.destroy$)).subscribe(), {
|
|
1376
1372
|
...s,
|
|
1377
1373
|
destroy: () => {
|
|
1378
1374
|
c.destroy(), s.destroy();
|
|
@@ -1380,9 +1376,9 @@ var sn = class {
|
|
|
1380
1376
|
settings: c,
|
|
1381
1377
|
layout$: s.spine.layout$,
|
|
1382
1378
|
layoutInfo$: f,
|
|
1383
|
-
coordinates:
|
|
1379
|
+
coordinates: gn(s)
|
|
1384
1380
|
};
|
|
1385
|
-
},
|
|
1381
|
+
}, Kn = (e) => (t) => {
|
|
1386
1382
|
let n = e(t), r = n.context.document.defaultView?.IntersectionObserver ?? IntersectionObserver, i = new r((e) => {
|
|
1387
1383
|
e.forEach((e) => {
|
|
1388
1384
|
let t = e.target, n = Array.from(t.contentDocument?.body.getElementsByTagName("audio") || []);
|
|
@@ -1421,14 +1417,14 @@ var sn = class {
|
|
|
1421
1417
|
...n,
|
|
1422
1418
|
destroy: s
|
|
1423
1419
|
};
|
|
1424
|
-
},
|
|
1420
|
+
}, qn = (e) => (t) => t.pipe(A((t) => e.pipe(x((e) => e === "free"), S(), T(() => t)))), Jn = ({ navigation$: e, navigationState$: t }) => e.pipe(qn(t)), Yn = (e) => Jn(e).pipe(fe(1)), Xn = (e) => (t) => t.pipe(j(Yn(e))), Zn = (e) => e.navigation.navigation$.pipe(x((e) => e.triggeredBy === "user"), qn(e.navigation.navigationState$), T((t) => {
|
|
1425
1421
|
let n = t.requestedPosition, r = t.requestedVisibleArea;
|
|
1426
1422
|
return n && r ? e.navigation.navigationResolver.getBoundaryForPosition(n, r) : void 0;
|
|
1427
|
-
}), x((e) => e !== void 0), T((e) => ({ boundary: e })), O()),
|
|
1423
|
+
}), x((e) => e !== void 0), T((e) => ({ boundary: e })), O()), Qn = (e, t) => e.links$.pipe(M((n) => {
|
|
1428
1424
|
if (!V(n.target, "a") || n.type !== "click") return;
|
|
1429
1425
|
let r = new URL(n.target.href), i = `${r.origin}${r.pathname}`;
|
|
1430
1426
|
e.context.manifest.spineItems.some((e) => e.href === i) && t.goToUrl(r);
|
|
1431
|
-
})), Z = L.namespace("navigation"),
|
|
1427
|
+
})), Z = L.namespace("navigation"), $n = ({ position: e, spineItem: t, pageHeight: n, pageWidth: r, spineItemLocator: i }) => {
|
|
1432
1428
|
let a = new q({
|
|
1433
1429
|
x: e.x - r,
|
|
1434
1430
|
y: e.y
|
|
@@ -1437,10 +1433,10 @@ var sn = class {
|
|
|
1437
1433
|
x: e.x,
|
|
1438
1434
|
y: e.y + n
|
|
1439
1435
|
})), i.getSpineItemClosestPositionFromUnsafePosition(a, t);
|
|
1440
|
-
},
|
|
1436
|
+
}, er = ({ position: e, navigationResolver: t, computedPageTurnDirection: n, spineItemsManager: r, spineLocator: i, viewport: a }) => {
|
|
1441
1437
|
let o = n, s = i.getSpineItemFromPosition(e) || r.get(0), c = e;
|
|
1442
1438
|
if (!s) return c;
|
|
1443
|
-
let l = i.getSpineItemPositionFromSpinePosition(e, s), u =
|
|
1439
|
+
let l = i.getSpineItemPositionFromSpinePosition(e, s), u = $n({
|
|
1444
1440
|
position: l,
|
|
1445
1441
|
spineItem: s,
|
|
1446
1442
|
pageHeight: a.pageSize.height,
|
|
@@ -1457,12 +1453,12 @@ var sn = class {
|
|
|
1457
1453
|
y: e.y - a.pageSize.height,
|
|
1458
1454
|
x: 0
|
|
1459
1455
|
});
|
|
1460
|
-
},
|
|
1456
|
+
}, tr = ({ position: e, spineItem: t, context: n, navigationResolver: r, spineItemsManager: i, spineLocator: a, computedPageTurnDirection: o, viewport: s, settings: c }) => {
|
|
1461
1457
|
if (c.values.computedPageTurnMode === "scrollable" && o === "vertical") return new Y({
|
|
1462
1458
|
x: e.x,
|
|
1463
1459
|
y: e.y - s.pageSize.height
|
|
1464
1460
|
});
|
|
1465
|
-
let l =
|
|
1461
|
+
let l = er({
|
|
1466
1462
|
position: e,
|
|
1467
1463
|
viewport: s,
|
|
1468
1464
|
navigationResolver: r,
|
|
@@ -1480,7 +1476,7 @@ var sn = class {
|
|
|
1480
1476
|
y: l.y
|
|
1481
1477
|
}));
|
|
1482
1478
|
if (o === "vertical" && e.y !== l.y) return r.getAdjustedPositionForSpread(l);
|
|
1483
|
-
let c =
|
|
1479
|
+
let c = er({
|
|
1484
1480
|
position: l,
|
|
1485
1481
|
viewport: s,
|
|
1486
1482
|
navigationResolver: r,
|
|
@@ -1491,7 +1487,7 @@ var sn = class {
|
|
|
1491
1487
|
return r.getAdjustedPositionForSpread(c);
|
|
1492
1488
|
}
|
|
1493
1489
|
return r.getAdjustedPositionForSpread(l);
|
|
1494
|
-
},
|
|
1490
|
+
}, nr = ({ position: e, spineItem: t, pageHeight: n, pageWidth: r, spineItemLocator: i }) => {
|
|
1495
1491
|
let a = new q({
|
|
1496
1492
|
x: e.x + r,
|
|
1497
1493
|
y: e.y
|
|
@@ -1500,10 +1496,10 @@ var sn = class {
|
|
|
1500
1496
|
x: e.x,
|
|
1501
1497
|
y: e.y - n
|
|
1502
1498
|
})), i.getSpineItemClosestPositionFromUnsafePosition(a, t);
|
|
1503
|
-
},
|
|
1499
|
+
}, rr = ({ position: e, navigationResolver: t, computedPageTurnDirection: n, spineItemsManager: r, spineLocator: i, viewport: a }) => {
|
|
1504
1500
|
let o = n, s = i.getSpineItemFromPosition(e) || r.get(0), c = e;
|
|
1505
1501
|
if (!s) return c;
|
|
1506
|
-
let l = i.getSpineItemPositionFromSpinePosition(e, s), u =
|
|
1502
|
+
let l = i.getSpineItemPositionFromSpinePosition(e, s), u = nr({
|
|
1507
1503
|
position: l,
|
|
1508
1504
|
spineItem: s,
|
|
1509
1505
|
pageHeight: a.pageSize.height,
|
|
@@ -1520,12 +1516,12 @@ var sn = class {
|
|
|
1520
1516
|
y: e.y + a.pageSize.height,
|
|
1521
1517
|
x: 0
|
|
1522
1518
|
});
|
|
1523
|
-
},
|
|
1519
|
+
}, ir = ({ position: e, spineItem: t, context: n, navigationResolver: r, spineItemsManager: i, spineLocator: a, computedPageTurnDirection: o, viewport: s, settings: c }) => {
|
|
1524
1520
|
if (c.values.computedPageTurnMode === "scrollable" && o === "vertical") return new Y({
|
|
1525
1521
|
x: e.x,
|
|
1526
1522
|
y: e.y + s.pageSize.height
|
|
1527
1523
|
});
|
|
1528
|
-
let l =
|
|
1524
|
+
let l = rr({
|
|
1529
1525
|
position: e,
|
|
1530
1526
|
viewport: s,
|
|
1531
1527
|
navigationResolver: r,
|
|
@@ -1543,7 +1539,7 @@ var sn = class {
|
|
|
1543
1539
|
y: l.y
|
|
1544
1540
|
}));
|
|
1545
1541
|
if (o === "vertical" && e.y !== l.y) return r.getAdjustedPositionForSpread(l);
|
|
1546
|
-
let c =
|
|
1542
|
+
let c = rr({
|
|
1547
1543
|
position: l,
|
|
1548
1544
|
viewport: s,
|
|
1549
1545
|
navigationResolver: r,
|
|
@@ -1554,7 +1550,7 @@ var sn = class {
|
|
|
1554
1550
|
return r.getAdjustedPositionForSpread(c);
|
|
1555
1551
|
}
|
|
1556
1552
|
return r.getAdjustedPositionForSpread(l);
|
|
1557
|
-
},
|
|
1553
|
+
}, ar = class {
|
|
1558
1554
|
constructor(e) {
|
|
1559
1555
|
this.reader = e, this.movingLastDelta = {
|
|
1560
1556
|
x: 0,
|
|
@@ -1593,10 +1589,10 @@ var sn = class {
|
|
|
1593
1589
|
return this.reader.navigation.navigate({ position: r });
|
|
1594
1590
|
}
|
|
1595
1591
|
turnRightOrBottom() {
|
|
1596
|
-
return this.turnWith(
|
|
1592
|
+
return this.turnWith(ir);
|
|
1597
1593
|
}
|
|
1598
1594
|
turnLeftOrTop() {
|
|
1599
|
-
return this.turnWith(
|
|
1595
|
+
return this.turnWith(tr);
|
|
1600
1596
|
}
|
|
1601
1597
|
goToCfi(e, t = { animate: !0 }) {
|
|
1602
1598
|
return this.reader.navigation.navigate({
|
|
@@ -1707,7 +1703,7 @@ var sn = class {
|
|
|
1707
1703
|
});
|
|
1708
1704
|
}
|
|
1709
1705
|
}
|
|
1710
|
-
},
|
|
1706
|
+
}, or = class extends U {
|
|
1711
1707
|
constructor(e) {
|
|
1712
1708
|
super({
|
|
1713
1709
|
lastDelta: {
|
|
@@ -1765,11 +1761,11 @@ var sn = class {
|
|
|
1765
1761
|
destroy() {
|
|
1766
1762
|
this.isDestroyed || (this.isDestroyed = !0, this.destroySubject.next(), this.destroySubject.complete());
|
|
1767
1763
|
}
|
|
1768
|
-
},
|
|
1764
|
+
}, sr = 500, cr = class extends Q {
|
|
1769
1765
|
constructor(e, t) {
|
|
1770
1766
|
super(), this.scrollNavigationController = e, this.lock = t, this.navigationSubject = new m(), this.navigation$ = this.navigationSubject.asObservable(), E(this.scrollNavigationController.userScroll$.pipe(oe((e) => {
|
|
1771
1767
|
let t = this.lock();
|
|
1772
|
-
return E(this.scrollNavigationController.userScroll$, D(e)).pipe(te(
|
|
1768
|
+
return E(this.scrollNavigationController.userScroll$, D(e)).pipe(te(sr, h), S(), M(() => {
|
|
1773
1769
|
let e = this.scrollNavigationController.fromScrollPosition(this.scrollNavigationController.scrollPosition);
|
|
1774
1770
|
this.navigationSubject.next({
|
|
1775
1771
|
animation: !1,
|
|
@@ -1781,7 +1777,7 @@ var sn = class {
|
|
|
1781
1777
|
}));
|
|
1782
1778
|
}))).pipe(j(this.destroy$)).subscribe();
|
|
1783
1779
|
}
|
|
1784
|
-
},
|
|
1780
|
+
}, lr = (e) => e.pagination.state$.pipe(N(e.settings.values$), T(([t, { computedPageTurnDirection: n }]) => {
|
|
1785
1781
|
let { spineItems: r, readingDirection: i } = e.context.manifest, a = r.length ?? 0, o = t.beginSpineItemIndex === 0, s = t.endSpineItemIndex === Math.max(a - 1, 0), c = t.endSpineItemIndex === Math.max(a - 1, 0), l = t.beginSpineItemIndex === 0, u = t.beginPageIndexInSpineItem === 0, d = t.endPageIndexInSpineItem === t.endNumberOfPagesInSpineItem - 1;
|
|
1786
1782
|
return {
|
|
1787
1783
|
canTurnLeft: n !== "vertical" && !u,
|
|
@@ -1791,7 +1787,7 @@ var sn = class {
|
|
|
1791
1787
|
canGoLeftSpineItem: n !== "vertical" && (i === "ltr" && !o || i === "rtl" && !c),
|
|
1792
1788
|
canGoRightSpineItem: n !== "vertical" && (i === "ltr" && !s || i === "rtl" && !l)
|
|
1793
1789
|
};
|
|
1794
|
-
}), b(a)),
|
|
1790
|
+
}), b(a)), ur = ({ reader: e, duration: t }) => (n) => {
|
|
1795
1791
|
let r, i = () => {
|
|
1796
1792
|
r?.(), r = void 0;
|
|
1797
1793
|
};
|
|
@@ -1801,9 +1797,9 @@ var sn = class {
|
|
|
1801
1797
|
trailing: !0,
|
|
1802
1798
|
leading: !0
|
|
1803
1799
|
}), M(i), se(i));
|
|
1804
|
-
},
|
|
1805
|
-
let n = e(t), r =
|
|
1806
|
-
E(
|
|
1800
|
+
}, dr = (e) => (t) => {
|
|
1801
|
+
let n = e(t), r = lr(n), i = Zn(n), a = new ar(n), o = new or(n), s = new cr(n.navigation.scrollNavigationController, n.navigation.lock);
|
|
1802
|
+
E(Qn(n, a), s.navigation$.pipe(M((e) => {
|
|
1807
1803
|
n.navigation.navigate(e);
|
|
1808
1804
|
}))).pipe(j(n.$.destroy$)).subscribe();
|
|
1809
1805
|
let c = (e) => {
|
|
@@ -1819,7 +1815,7 @@ var sn = class {
|
|
|
1819
1815
|
...n.navigation,
|
|
1820
1816
|
state$: r,
|
|
1821
1817
|
outOfSpineBoundary$: i,
|
|
1822
|
-
throttleLock: ({ duration: e, trigger: t }) => t.pipe(
|
|
1818
|
+
throttleLock: ({ duration: e, trigger: t }) => t.pipe(ur({
|
|
1823
1819
|
duration: e,
|
|
1824
1820
|
reader: n
|
|
1825
1821
|
})),
|
|
@@ -1845,7 +1841,7 @@ var sn = class {
|
|
|
1845
1841
|
goToAbsolutePageIndex: a.goToAbsolutePageIndex.bind(a)
|
|
1846
1842
|
}
|
|
1847
1843
|
};
|
|
1848
|
-
},
|
|
1844
|
+
}, fr = (e, t) => {
|
|
1849
1845
|
if ("cfi" in t) {
|
|
1850
1846
|
let { itemIndex: n, ...r } = e.cfi.parseCfi(t.cfi);
|
|
1851
1847
|
return {
|
|
@@ -1864,7 +1860,7 @@ var sn = class {
|
|
|
1864
1860
|
itemIndex: n.index,
|
|
1865
1861
|
node: null
|
|
1866
1862
|
};
|
|
1867
|
-
},
|
|
1863
|
+
}, pr = (e, t) => {
|
|
1868
1864
|
let n = e?.itemPageIndex, { itemIndex: r, ...i } = t.cfi.parseCfi(e.cfi), a = t.spineItemsManager.get(r);
|
|
1869
1865
|
return a ? xt().pipe(N(a.isReady$), T(([, o]) => {
|
|
1870
1866
|
let { node: s = null, offset: c, range: l } = o ? t.cfi.resolveCfi({ cfi: e.cfi }) : {};
|
|
@@ -1888,7 +1884,7 @@ var sn = class {
|
|
|
1888
1884
|
itemIndex: r,
|
|
1889
1885
|
...i
|
|
1890
1886
|
});
|
|
1891
|
-
},
|
|
1887
|
+
}, mr = class {
|
|
1892
1888
|
constructor(e) {
|
|
1893
1889
|
this.reader = e, this.locatorsByKey = /* @__PURE__ */ new Map(), this.deregisterMemoizedStream = (e) => {
|
|
1894
1890
|
let t = this.locatorsByKey.get(e);
|
|
@@ -1896,7 +1892,7 @@ var sn = class {
|
|
|
1896
1892
|
}, this.locate = (e, t) => {
|
|
1897
1893
|
let n = {
|
|
1898
1894
|
resource: e,
|
|
1899
|
-
meta:
|
|
1895
|
+
meta: fr(this.reader, e)
|
|
1900
1896
|
};
|
|
1901
1897
|
return St(() => {
|
|
1902
1898
|
let r = this.reader.spineItemsManager.get(n.meta.itemIndex ?? 0), i = r?.renditionLayout === "reflowable", a = t.mode === "shallow" || !i || !r ? () => {} : this.reader.spine.spineItemsLoader.forceOpen([r.index]), o = "cfi" in e ? e.cfi : void 0, s = o ? this.locatorsByKey.get(o) : void 0, c = (e) => e.pipe(se(() => {
|
|
@@ -1908,7 +1904,7 @@ var sn = class {
|
|
|
1908
1904
|
resource: e,
|
|
1909
1905
|
meta: t
|
|
1910
1906
|
}))));
|
|
1911
|
-
let l = this.reader.spine.layout$.pipe(te(10), pe(n), me((e) =>
|
|
1907
|
+
let l = this.reader.spine.layout$.pipe(te(10), pe(n), me((e) => pr(e.meta, this.reader).pipe(T((t) => ({
|
|
1912
1908
|
...e,
|
|
1913
1909
|
meta: t
|
|
1914
1910
|
}))), n), k({
|
|
@@ -1925,7 +1921,7 @@ var sn = class {
|
|
|
1925
1921
|
locateResource(e, t) {
|
|
1926
1922
|
return Array.isArray(e) ? St(() => v(e.map((e) => this.locate(e, t ?? {}))).pipe(ne([]))) : this.locate(e, t ?? {});
|
|
1927
1923
|
}
|
|
1928
|
-
},
|
|
1924
|
+
}, hr = L.namespace("spine"), gr = ({ position: e, pageSize: t }) => new fn({
|
|
1929
1925
|
...e,
|
|
1930
1926
|
left: e.x,
|
|
1931
1927
|
top: e.y,
|
|
@@ -1933,7 +1929,7 @@ var sn = class {
|
|
|
1933
1929
|
height: t.height,
|
|
1934
1930
|
bottom: e.y + t.height,
|
|
1935
1931
|
right: e.x + t.width
|
|
1936
|
-
}),
|
|
1932
|
+
}), _r = 10, vr = (e) => {
|
|
1937
1933
|
let { spineItem: t, ...n } = e;
|
|
1938
1934
|
if (!e.spineItem.value.isLoaded) return {
|
|
1939
1935
|
...n,
|
|
@@ -1947,7 +1943,7 @@ var sn = class {
|
|
|
1947
1943
|
...n,
|
|
1948
1944
|
firstVisibleNode: ze(r, e.layout)
|
|
1949
1945
|
};
|
|
1950
|
-
},
|
|
1946
|
+
}, yr = (e) => new f((t) => {
|
|
1951
1947
|
if (e.length === 0) {
|
|
1952
1948
|
t.next([]), t.complete();
|
|
1953
1949
|
return;
|
|
@@ -1957,13 +1953,13 @@ var sn = class {
|
|
|
1957
1953
|
}, o = () => {
|
|
1958
1954
|
n = void 0;
|
|
1959
1955
|
let a = 0;
|
|
1960
|
-
for (; r < e.length && a <
|
|
1956
|
+
for (; r < e.length && a < _r;) {
|
|
1961
1957
|
let t = e[r];
|
|
1962
1958
|
if (!t) {
|
|
1963
1959
|
r = e.length;
|
|
1964
1960
|
break;
|
|
1965
1961
|
}
|
|
1966
|
-
i[r] =
|
|
1962
|
+
i[r] = vr(t), r += 1, a += 1;
|
|
1967
1963
|
}
|
|
1968
1964
|
if (r >= e.length) {
|
|
1969
1965
|
t.next(i), t.complete();
|
|
@@ -1976,9 +1972,9 @@ var sn = class {
|
|
|
1976
1972
|
return s(), () => {
|
|
1977
1973
|
a();
|
|
1978
1974
|
};
|
|
1979
|
-
}),
|
|
1975
|
+
}), br = class e extends U {
|
|
1980
1976
|
constructor(t, n, r, i, a, o) {
|
|
1981
|
-
super({ pages: [] }), this.spineLayout = t, this.spineItemsManager = n, this.spineItemLocator = r, this.context = i, this.locator = a, this.viewport = o, this.fromSpineItemPageIndex = (t, n) => e.fromSpineItemPageIndex(this.value, t, n), this.fromNextPageWithinSameSpineItem = (t) => e.fromNextPageWithinSameSpineItem(this.value, t), this.fromAbsolutePageIndex = (t) => e.fromAbsolutePageIndex(this.value, t), this.observeFromAbsolutePageIndex = (e) => this.pipe(T(() => this.fromAbsolutePageIndex(e))), this.layout$ = t.layout$.pipe(N(o), A(([, { pageSize: e }]) =>
|
|
1977
|
+
super({ pages: [] }), this.spineLayout = t, this.spineItemsManager = n, this.spineItemLocator = r, this.context = i, this.locator = a, this.viewport = o, this.fromSpineItemPageIndex = (t, n) => e.fromSpineItemPageIndex(this.value, t, n), this.fromNextPageWithinSameSpineItem = (t) => e.fromNextPageWithinSameSpineItem(this.value, t), this.fromAbsolutePageIndex = (t) => e.fromAbsolutePageIndex(this.value, t), this.observeFromAbsolutePageIndex = (e) => this.pipe(T(() => this.fromAbsolutePageIndex(e))), this.layout$ = t.layout$.pipe(N(o), A(([, { pageSize: e }]) => yr(n.items.reduce((t, n, i) => {
|
|
1982
1978
|
for (let o = 0; o < n.numberOfPages; o += 1) {
|
|
1983
1979
|
let s = r.getSpineItemPositionFromPageIndex({
|
|
1984
1980
|
spineItem: n,
|
|
@@ -1988,11 +1984,11 @@ var sn = class {
|
|
|
1988
1984
|
spineItemPosition: s
|
|
1989
1985
|
}), l = t.length;
|
|
1990
1986
|
t.push({
|
|
1991
|
-
absoluteLayout:
|
|
1987
|
+
absoluteLayout: gr({
|
|
1992
1988
|
pageSize: e,
|
|
1993
1989
|
position: c
|
|
1994
1990
|
}),
|
|
1995
|
-
layout: new
|
|
1991
|
+
layout: new un({
|
|
1996
1992
|
left: s.x,
|
|
1997
1993
|
right: s.x + e.width,
|
|
1998
1994
|
top: s.y,
|
|
@@ -2009,7 +2005,7 @@ var sn = class {
|
|
|
2009
2005
|
});
|
|
2010
2006
|
}
|
|
2011
2007
|
return t;
|
|
2012
|
-
}, []))), T((e) => (
|
|
2008
|
+
}, []))), T((e) => (hr.info("Pages layout", e), { pages: e })), O()), this.layout$.pipe(j(this.destroy$)).subscribe(this.next.bind(this));
|
|
2013
2009
|
}
|
|
2014
2010
|
static {
|
|
2015
2011
|
this.fromSpineItemPageIndex = (e, t, n) => {
|
|
@@ -2023,20 +2019,20 @@ var sn = class {
|
|
|
2023
2019
|
static {
|
|
2024
2020
|
this.fromAbsolutePageIndex = (e, t) => e.pages.find((e) => e.absolutePageIndex === t);
|
|
2025
2021
|
}
|
|
2026
|
-
},
|
|
2022
|
+
}, xr = (e) => {
|
|
2027
2023
|
let t = e.indexOf("#");
|
|
2028
2024
|
return t >= 0 ? e.substring(0, t) : e;
|
|
2029
|
-
},
|
|
2025
|
+
}, Sr = (e) => {
|
|
2030
2026
|
if (!e) return;
|
|
2031
2027
|
let t = e.indexOf("#");
|
|
2032
2028
|
if (!(t < 0)) return e.substring(t + 1) || void 0;
|
|
2033
|
-
},
|
|
2029
|
+
}, Cr = (e) => {
|
|
2034
2030
|
try {
|
|
2035
2031
|
return decodeURIComponent(e);
|
|
2036
2032
|
} catch {
|
|
2037
2033
|
return e;
|
|
2038
2034
|
}
|
|
2039
|
-
},
|
|
2035
|
+
}, wr = (e, t = []) => e.flatMap((e) => {
|
|
2040
2036
|
let n = [...t, {
|
|
2041
2037
|
title: e.title,
|
|
2042
2038
|
path: e.path
|
|
@@ -2044,24 +2040,24 @@ var sn = class {
|
|
|
2044
2040
|
return [{
|
|
2045
2041
|
chain: n,
|
|
2046
2042
|
href: e.href || e.path,
|
|
2047
|
-
anchorId:
|
|
2048
|
-
}, ...
|
|
2049
|
-
}),
|
|
2043
|
+
anchorId: Sr(e.href) ?? Sr(e.path)
|
|
2044
|
+
}, ...wr(e.contents, n)];
|
|
2045
|
+
}), Tr = (e) => {
|
|
2050
2046
|
let t = /* @__PURE__ */ new Map();
|
|
2051
2047
|
return e.spineItems.forEach((e, n) => {
|
|
2052
2048
|
t.has(e.href) || t.set(e.href, n);
|
|
2053
2049
|
}), t;
|
|
2054
|
-
},
|
|
2055
|
-
let n =
|
|
2056
|
-
return
|
|
2057
|
-
let t =
|
|
2050
|
+
}, Er = (e, t) => {
|
|
2051
|
+
let n = Tr(t);
|
|
2052
|
+
return wr(e).map((e) => {
|
|
2053
|
+
let t = xr(e.href), r = n.get(t) ?? -1;
|
|
2058
2054
|
return {
|
|
2059
2055
|
...e,
|
|
2060
2056
|
hrefWithoutAnchor: t,
|
|
2061
2057
|
spineItemIndex: r
|
|
2062
2058
|
};
|
|
2063
2059
|
});
|
|
2064
|
-
},
|
|
2060
|
+
}, Dr = ({ manifest: e, tocIndex: t }) => {
|
|
2065
2061
|
let n = /* @__PURE__ */ new Map();
|
|
2066
2062
|
t.forEach((e, t) => {
|
|
2067
2063
|
let r = n.get(e.hrefWithoutAnchor);
|
|
@@ -2074,19 +2070,19 @@ var sn = class {
|
|
|
2074
2070
|
let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
2075
2071
|
for (let a of e.spineItems) {
|
|
2076
2072
|
if (r.has(a.href)) continue;
|
|
2077
|
-
let e =
|
|
2073
|
+
let e = xr(a.href), o = i.get(e);
|
|
2078
2074
|
if (!o) {
|
|
2079
2075
|
let r = [];
|
|
2080
|
-
for (let [t, i] of n)
|
|
2076
|
+
for (let [t, i] of n) Or(e, t) && r.push(...i);
|
|
2081
2077
|
r.sort((e, t) => e - t), o = r.map((e) => t[e]), i.set(e, o);
|
|
2082
2078
|
}
|
|
2083
2079
|
r.set(a.href, o);
|
|
2084
2080
|
}
|
|
2085
2081
|
return r;
|
|
2086
|
-
},
|
|
2082
|
+
}, Or = (e, t) => e === t || e.endsWith(t) || t.endsWith(e), kr = (e, t) => {
|
|
2087
2083
|
let n = e.endsWith(t), r = e.substring(0, e.lastIndexOf("/")), i = t.substring(0, t.lastIndexOf("/")), a = r !== "" && r.endsWith(i);
|
|
2088
2084
|
return n || a;
|
|
2089
|
-
},
|
|
2085
|
+
}, Ar = (e) => {
|
|
2090
2086
|
let [t, ...n] = e;
|
|
2091
2087
|
if (!t) return;
|
|
2092
2088
|
let r = {
|
|
@@ -2101,7 +2097,7 @@ var sn = class {
|
|
|
2101
2097
|
i.subChapter = t, i = t;
|
|
2102
2098
|
}
|
|
2103
2099
|
return r;
|
|
2104
|
-
},
|
|
2100
|
+
}, jr = ({ doc: e, node: t, offset: n }) => {
|
|
2105
2101
|
let r = e.createRange();
|
|
2106
2102
|
if (t.nodeType === Node.TEXT_NODE || t.nodeType === Node.CDATA_SECTION_NODE || t.nodeType === Node.COMMENT_NODE) {
|
|
2107
2103
|
let e = t, i = Math.max(0, Math.min(n, e.length));
|
|
@@ -2111,18 +2107,18 @@ var sn = class {
|
|
|
2111
2107
|
r.setStart(t, i);
|
|
2112
2108
|
}
|
|
2113
2109
|
return r.collapse(!0), r;
|
|
2114
|
-
},
|
|
2110
|
+
}, Mr = ({ rangeToTest: e, upperBoundRange: t }) => e.compareBoundaryPoints(Range.START_TO_START, t) < 0, Nr = (e) => {
|
|
2115
2111
|
let t = e.createRange(), n = e.body ?? e.documentElement;
|
|
2116
2112
|
if (n) return t.selectNodeContents(n), t.collapse(!1), t;
|
|
2117
|
-
},
|
|
2113
|
+
}, Pr = ({ anchorNode: e, nextPageNode: t }) => e === t || e.contains(t), Fr = ({ node: e, offset: t, candidates: n, spineItem: r, nextPageEntry: i }) => {
|
|
2118
2114
|
if (!e || t === void 0 || !r || n.length === 0) return;
|
|
2119
2115
|
let a = r.renderer.getDocumentFrame()?.contentDocument;
|
|
2120
2116
|
if (!a || e.ownerDocument !== a) return;
|
|
2121
|
-
let o = i?.firstVisibleNode?.node, s = i?.firstVisibleNode?.offset, c = i ? o !== void 0 && s !== void 0 && o.ownerDocument === a ?
|
|
2117
|
+
let o = i?.firstVisibleNode?.node, s = i?.firstVisibleNode?.offset, c = i ? o !== void 0 && s !== void 0 && o.ownerDocument === a ? jr({
|
|
2122
2118
|
doc: a,
|
|
2123
2119
|
node: o,
|
|
2124
2120
|
offset: s
|
|
2125
|
-
}) : void 0 :
|
|
2121
|
+
}) : void 0 : Nr(a);
|
|
2126
2122
|
if (!c) return;
|
|
2127
2123
|
let l = i !== void 0 && o !== void 0 && o.ownerDocument === a, u, d, f;
|
|
2128
2124
|
for (let e of n) {
|
|
@@ -2130,53 +2126,53 @@ var sn = class {
|
|
|
2130
2126
|
f = e.chain;
|
|
2131
2127
|
continue;
|
|
2132
2128
|
}
|
|
2133
|
-
let t = a.getElementById(
|
|
2134
|
-
if (!t || l &&
|
|
2129
|
+
let t = a.getElementById(Cr(e.anchorId));
|
|
2130
|
+
if (!t || l && Pr({
|
|
2135
2131
|
anchorNode: t,
|
|
2136
2132
|
nextPageNode: o
|
|
2137
2133
|
})) continue;
|
|
2138
2134
|
let n = a.createRange();
|
|
2139
|
-
n.setStartBefore(t), n.collapse(!0),
|
|
2135
|
+
n.setStartBefore(t), n.collapse(!0), Mr({
|
|
2140
2136
|
rangeToTest: n,
|
|
2141
2137
|
upperBoundRange: c
|
|
2142
2138
|
}) && (!d || n.compareBoundaryPoints(Range.START_TO_START, d) > 0) && (u = e.chain, d = n);
|
|
2143
2139
|
}
|
|
2144
2140
|
let p = u ?? f;
|
|
2145
|
-
return p ?
|
|
2146
|
-
},
|
|
2141
|
+
return p ? Ar(p) : void 0;
|
|
2142
|
+
}, Ir = ({ candidate: e, hrefHasAnchor: t }) => {
|
|
2147
2143
|
if (t || !e.anchorId) return !1;
|
|
2148
2144
|
let n = e.chain[e.chain.length - 1], r = e.chain[e.chain.length - 2];
|
|
2149
|
-
return !n || !r ? !1 :
|
|
2150
|
-
},
|
|
2151
|
-
let r =
|
|
2152
|
-
for (let e of t)
|
|
2145
|
+
return !n || !r ? !1 : xr(n.path) === xr(r.path);
|
|
2146
|
+
}, Lr = ({ href: e, tocIndex: t, manifest: n }) => {
|
|
2147
|
+
let r = xr(e), i = e.includes("#"), a = n.spineItems.findIndex((e) => e.href === r), o;
|
|
2148
|
+
for (let e of t) kr(r, e.hrefWithoutAnchor) && (a < e.spineItemIndex || Ir({
|
|
2153
2149
|
candidate: e,
|
|
2154
2150
|
hrefHasAnchor: i
|
|
2155
2151
|
}) || (o = e.chain));
|
|
2156
2152
|
return o;
|
|
2157
|
-
},
|
|
2158
|
-
let { href: r } = n, i =
|
|
2153
|
+
}, Rr = (e, t, n) => {
|
|
2154
|
+
let { href: r } = n, i = Lr({
|
|
2159
2155
|
href: r,
|
|
2160
2156
|
tocIndex: t,
|
|
2161
2157
|
manifest: e
|
|
2162
2158
|
});
|
|
2163
|
-
return i ?
|
|
2164
|
-
},
|
|
2159
|
+
return i ? Ar(i) : void 0;
|
|
2160
|
+
}, zr = (e, t) => e ? e.spineItems.reduce((n, r) => (n[r.id] = Rr(e, t, r), n), {}) : {}, Br = (e, t, n) => e + t * n, Vr = (e, t, n) => {
|
|
2165
2161
|
let { height: r, width: i } = n.layoutInfo, { top: a, left: o } = e.spine.getSpineItemSpineLayoutInfo(n);
|
|
2166
2162
|
return e.settings.values.computedPageTurnDirection === "vertical" ? Math.max(0, Math.min(1, (t.y - a + e.viewport.absoluteViewport.height) / r)) : Math.max(0, Math.min(1, (t.x - o + e.viewport.absoluteViewport.width) / i));
|
|
2167
|
-
},
|
|
2163
|
+
}, Hr = (e, t, n, r, i, a) => i.isReady$.pipe(S(), N(e.layoutInfo$), T(([o, s]) => {
|
|
2168
2164
|
let c = a.renditionLayout === "pre-paginated", l = a.spineItems.length || 0, u = a.spineItems.slice(0, t).reduce((e, t) => e + (t.progressionWeight ?? 0), 0) || 0, d = e.spineItemsManager.getSpineItemIndex(i) ?? 0, f = a.spineItems.length ?? 0, p = s.pages.filter((e) => e.itemIndex === d).length ?? 0, m = a.spineItems[t]?.progressionWeight ?? (d + 1) / f, h = (n + 1) * (m / p);
|
|
2169
2165
|
!c && i.renditionLayout === "reflowable" && !o && (h = 0);
|
|
2170
2166
|
let g = u + h;
|
|
2171
|
-
return a.renditionFlow === "scrolled-continuous" && (h = o ?
|
|
2172
|
-
})),
|
|
2173
|
-
let a = e && n.beginPageIndexInSpineItem !== void 0 ?
|
|
2167
|
+
return a.renditionFlow === "scrolled-continuous" && (h = o ? Vr(e, r, i) : 0, g = Br(u, m, h)), t === l - 1 && n === p - 1 && g > .99 ? 1 : g;
|
|
2168
|
+
})), Ur = ({ beginItem: e, endItem: t, paginationInfo: n, chaptersData: r, pagesState: i }) => {
|
|
2169
|
+
let a = e && n.beginPageIndexInSpineItem !== void 0 ? br.fromSpineItemPageIndex(i, e.index, n.beginPageIndexInSpineItem) : void 0, o = a ? br.fromNextPageWithinSameSpineItem(i, a) : void 0, s = t && n.endPageIndexInSpineItem !== void 0 ? br.fromSpineItemPageIndex(i, t.index, n.endPageIndexInSpineItem) : void 0, c = s ? br.fromNextPageWithinSameSpineItem(i, s) : void 0, l = e ? Fr({
|
|
2174
2170
|
node: a?.firstVisibleNode?.node,
|
|
2175
2171
|
offset: a?.firstVisibleNode?.offset,
|
|
2176
2172
|
candidates: r.tocCandidatesBySpineHref.get(e.item.href) ?? [],
|
|
2177
2173
|
spineItem: e,
|
|
2178
2174
|
nextPageEntry: o
|
|
2179
|
-
}) : void 0, u = t ?
|
|
2175
|
+
}) : void 0, u = t ? Fr({
|
|
2180
2176
|
node: s?.firstVisibleNode?.node,
|
|
2181
2177
|
offset: s?.firstVisibleNode?.offset,
|
|
2182
2178
|
candidates: r.tocCandidatesBySpineHref.get(t.item.href) ?? [],
|
|
@@ -2191,39 +2187,39 @@ var sn = class {
|
|
|
2191
2187
|
endSpineItemReadingDirection: t?.readingDirection,
|
|
2192
2188
|
endAbsolutePageIndex: s?.absolutePageIndex
|
|
2193
2189
|
};
|
|
2194
|
-
},
|
|
2190
|
+
}, Wr = ({ items: e, pagesState: t }) => {
|
|
2195
2191
|
let n = e.map(() => 0);
|
|
2196
2192
|
for (let e of t.pages) n[e.itemIndex] = (n[e.itemIndex] ?? 0) + 1;
|
|
2197
2193
|
return {
|
|
2198
2194
|
numberOfPagesPerItems: n,
|
|
2199
2195
|
numberOfTotalPages: t.pages.length
|
|
2200
2196
|
};
|
|
2201
|
-
},
|
|
2197
|
+
}, Gr = (e, t) => e.numberOfTotalPages !== t.numberOfTotalPages || e.numberOfPagesPerItems.length !== t.numberOfPagesPerItems.length ? !1 : e.numberOfPagesPerItems.every((e, n) => e === t.numberOfPagesPerItems[n]), Kr = ({ reader: e, paginationInfo: t, navigationPosition: n, manifest: r }) => {
|
|
2202
2198
|
let i = e.spineItemsManager.get(t.endSpineItemIndex);
|
|
2203
|
-
return i ?
|
|
2204
|
-
},
|
|
2205
|
-
let t =
|
|
2199
|
+
return i ? Hr(e, t.endSpineItemIndex ?? 0, t.endPageIndexInSpineItem || 0, n, i, r) : D(0);
|
|
2200
|
+
}, qr = (e) => D(e.context.manifest).pipe(T((e) => {
|
|
2201
|
+
let t = Er(e.nav?.toc ?? [], e);
|
|
2206
2202
|
return {
|
|
2207
|
-
tocCandidatesBySpineHref:
|
|
2203
|
+
tocCandidatesBySpineHref: Dr({
|
|
2208
2204
|
manifest: e,
|
|
2209
2205
|
tocIndex: t
|
|
2210
2206
|
}),
|
|
2211
|
-
chaptersInfo:
|
|
2207
|
+
chaptersInfo: zr(e, t)
|
|
2212
2208
|
};
|
|
2213
|
-
})),
|
|
2209
|
+
})), Jr = (e) => ({
|
|
2214
2210
|
beginSpineItemIndex: e.beginSpineItemIndex,
|
|
2215
2211
|
beginPageIndexInSpineItem: e.beginPageIndexInSpineItem,
|
|
2216
2212
|
endSpineItemIndex: e.endSpineItemIndex,
|
|
2217
2213
|
endPageIndexInSpineItem: e.endPageIndexInSpineItem
|
|
2218
|
-
}),
|
|
2219
|
-
let t = e.pagination.state$, n = e.spine.pages.layout$, r =
|
|
2214
|
+
}), Yr = (e) => {
|
|
2215
|
+
let t = e.pagination.state$, n = e.spine.pages.layout$, r = qr(e).pipe(k({
|
|
2220
2216
|
bufferSize: 1,
|
|
2221
2217
|
refCount: !0
|
|
2222
2218
|
})), i = v([
|
|
2223
|
-
t.pipe(T(
|
|
2219
|
+
t.pipe(T(Jr), b(o)),
|
|
2224
2220
|
r,
|
|
2225
2221
|
n
|
|
2226
|
-
]).pipe(T(([t, n, r]) =>
|
|
2222
|
+
]).pipe(T(([t, n, r]) => Ur({
|
|
2227
2223
|
beginItem: e.spineItemsManager.get(t.beginSpineItemIndex),
|
|
2228
2224
|
endItem: e.spineItemsManager.get(t.endSpineItemIndex),
|
|
2229
2225
|
paginationInfo: t,
|
|
@@ -2236,21 +2232,21 @@ var sn = class {
|
|
|
2236
2232
|
t,
|
|
2237
2233
|
e.settings.watch(["computedSpreadMode"]).pipe(T((e) => e.computedSpreadMode ?? !1), b()),
|
|
2238
2234
|
i,
|
|
2239
|
-
n.pipe(T((t) =>
|
|
2235
|
+
n.pipe(T((t) => Wr({
|
|
2240
2236
|
items: e.spineItemsManager.items,
|
|
2241
2237
|
pagesState: t
|
|
2242
|
-
})), b(
|
|
2238
|
+
})), b(Gr))
|
|
2243
2239
|
]).pipe(T(([e, t, n, r]) => ({
|
|
2244
2240
|
...e,
|
|
2245
2241
|
...n,
|
|
2246
2242
|
isUsingSpread: t,
|
|
2247
2243
|
...r
|
|
2248
|
-
}))), s =
|
|
2244
|
+
}))), s = Jn(e.navigation).pipe(T(({ position: e }) => e), b(o));
|
|
2249
2245
|
return v([a, v([
|
|
2250
2246
|
t,
|
|
2251
2247
|
e.layout$,
|
|
2252
2248
|
s
|
|
2253
|
-
]).pipe(A(([t, n, r]) =>
|
|
2249
|
+
]).pipe(A(([t, n, r]) => Kr({
|
|
2254
2250
|
reader: e,
|
|
2255
2251
|
paginationInfo: t,
|
|
2256
2252
|
navigationPosition: r,
|
|
@@ -2259,7 +2255,7 @@ var sn = class {
|
|
|
2259
2255
|
...e,
|
|
2260
2256
|
...t
|
|
2261
2257
|
})), b(o), g(5));
|
|
2262
|
-
},
|
|
2258
|
+
}, Xr = (e) => (t) => {
|
|
2263
2259
|
let n = e(t), r = new l({
|
|
2264
2260
|
...n.pagination.state,
|
|
2265
2261
|
beginChapterInfo: void 0,
|
|
@@ -2275,7 +2271,7 @@ var sn = class {
|
|
|
2275
2271
|
endChapterInfo: void 0,
|
|
2276
2272
|
endSpineItemReadingDirection: void 0,
|
|
2277
2273
|
percentageEstimateOfBook: 0
|
|
2278
|
-
}), i = new
|
|
2274
|
+
}), i = new mr(n), a = Yr(n).pipe(M((e) => L.log("Pagination", e))).subscribe(r);
|
|
2279
2275
|
return {
|
|
2280
2276
|
...n,
|
|
2281
2277
|
locateResource: i.locateResource.bind(i),
|
|
@@ -2292,7 +2288,7 @@ var sn = class {
|
|
|
2292
2288
|
}
|
|
2293
2289
|
}
|
|
2294
2290
|
};
|
|
2295
|
-
},
|
|
2291
|
+
}, Zr = (e, t) => {
|
|
2296
2292
|
let n = e.node.ownerDocument?.createRange(), r = e.node.compareDocumentPosition(t.node);
|
|
2297
2293
|
if (n) {
|
|
2298
2294
|
try {
|
|
@@ -2310,10 +2306,10 @@ var sn = class {
|
|
|
2310
2306
|
}
|
|
2311
2307
|
return n;
|
|
2312
2308
|
}
|
|
2313
|
-
},
|
|
2309
|
+
}, Qr = ({ selection: e, spineItem: t }) => {
|
|
2314
2310
|
let { anchorNode: n, anchorOffset: r, focusNode: i, focusOffset: a } = e;
|
|
2315
2311
|
if (!(!n || !i)) try {
|
|
2316
|
-
return
|
|
2312
|
+
return Zr({
|
|
2317
2313
|
node: n,
|
|
2318
2314
|
offset: r
|
|
2319
2315
|
}, {
|
|
@@ -2327,7 +2323,7 @@ var sn = class {
|
|
|
2327
2323
|
});
|
|
2328
2324
|
return;
|
|
2329
2325
|
}
|
|
2330
|
-
},
|
|
2326
|
+
}, $r = class extends Q {
|
|
2331
2327
|
constructor(e) {
|
|
2332
2328
|
super();
|
|
2333
2329
|
let t = e.contentDocument || e.contentWindow?.document;
|
|
@@ -2343,10 +2339,10 @@ var sn = class {
|
|
|
2343
2339
|
}), x(K))), j(E(r, this.destroy$)));
|
|
2344
2340
|
}
|
|
2345
2341
|
}
|
|
2346
|
-
},
|
|
2342
|
+
}, ei = (e) => e.watch("isLoaded").pipe(A(() => {
|
|
2347
2343
|
let t = e.renderer.getDocumentFrame(), n = t?.contentDocument || t?.contentWindow?.document;
|
|
2348
2344
|
if (!t || !n) return d;
|
|
2349
|
-
let r = new
|
|
2345
|
+
let r = new $r(t);
|
|
2350
2346
|
return E(r.selectionChange$.pipe(T((e) => {
|
|
2351
2347
|
if (e?.toString()) return {
|
|
2352
2348
|
type: "change",
|
|
@@ -2359,10 +2355,10 @@ var sn = class {
|
|
|
2359
2355
|
})))).pipe(j(e.unloaded$), ae(void 0), se(() => {
|
|
2360
2356
|
r.destroy();
|
|
2361
2357
|
}));
|
|
2362
|
-
}), b()),
|
|
2358
|
+
}), b()), ti = (e) => (t) => {
|
|
2363
2359
|
let n = e(t), r, i = E(...n.spineItemsManager.items.map((e) => {
|
|
2364
2360
|
let t = n.spineItemsManager.getSpineItemIndex(e) ?? 0;
|
|
2365
|
-
return
|
|
2361
|
+
return ei(e).pipe(T((e) => {
|
|
2366
2362
|
if (e) return {
|
|
2367
2363
|
...e,
|
|
2368
2364
|
itemIndex: t
|
|
@@ -2386,10 +2382,10 @@ var sn = class {
|
|
|
2386
2382
|
selectionOver$: c,
|
|
2387
2383
|
lastSelectionOnPointerdown$: l,
|
|
2388
2384
|
getSelection: () => r,
|
|
2389
|
-
createOrderedRangeFromSelection:
|
|
2385
|
+
createOrderedRangeFromSelection: Qr
|
|
2390
2386
|
}
|
|
2391
2387
|
};
|
|
2392
|
-
},
|
|
2388
|
+
}, ni = [
|
|
2393
2389
|
{
|
|
2394
2390
|
name: "bright",
|
|
2395
2391
|
backgroundColor: "white"
|
|
@@ -2404,9 +2400,9 @@ var sn = class {
|
|
|
2404
2400
|
backgroundColor: "#191717",
|
|
2405
2401
|
foregroundColor: "#f1ebeb"
|
|
2406
2402
|
}
|
|
2407
|
-
],
|
|
2403
|
+
], ri = (e) => (t) => {
|
|
2408
2404
|
let n = e(t), r = new l(t.theme ?? "bright"), i = () => {
|
|
2409
|
-
let e =
|
|
2405
|
+
let e = ni.find((e) => e.name === r.value);
|
|
2410
2406
|
return `
|
|
2411
2407
|
body {
|
|
2412
2408
|
${e === void 0 ? "" : `background-color: ${e.backgroundColor} !important;`}
|
|
@@ -2419,7 +2415,7 @@ var sn = class {
|
|
|
2419
2415
|
` : ""}
|
|
2420
2416
|
`;
|
|
2421
2417
|
}, a = ({ container: e }) => {
|
|
2422
|
-
let t =
|
|
2418
|
+
let t = ni.find((e) => e.name === r.value);
|
|
2423
2419
|
return t && z(e.style, "background-color", t.backgroundColor), () => {};
|
|
2424
2420
|
}, o = () => {
|
|
2425
2421
|
n.spineItemsManager.items.forEach((e) => {
|
|
@@ -2445,7 +2441,7 @@ var sn = class {
|
|
|
2445
2441
|
$: { theme$: r.asObservable() }
|
|
2446
2442
|
}
|
|
2447
2443
|
};
|
|
2448
|
-
},
|
|
2444
|
+
}, ii = (e) => (t) => {
|
|
2449
2445
|
let n = e(t), r = (e) => !!(Ze(e) && (e.nodeName === "a" ? e : e.closest("a"))?.getAttribute("href")), i = (e, t, r) => {
|
|
2450
2446
|
let i = r.replace("${id}", n.id);
|
|
2451
2447
|
return $e(e, `${t}-${n.id}`, i);
|
|
@@ -2459,7 +2455,7 @@ var sn = class {
|
|
|
2459
2455
|
};
|
|
2460
2456
|
};
|
|
2461
2457
|
navigator.userAgent.indexOf("") > -1 && navigator.userAgent.indexOf("Chrome");
|
|
2462
|
-
var
|
|
2458
|
+
var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
2463
2459
|
let { clientWidth: r, clientHeight: i } = n.value.element, a = {
|
|
2464
2460
|
maxX: 0,
|
|
2465
2461
|
minX: r * (1 - t),
|
|
@@ -2470,25 +2466,25 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2470
2466
|
x: Math.min(Math.max(e.x, a.minX), a.maxX),
|
|
2471
2467
|
y: Math.min(Math.max(e.y, a.minY), a.maxY)
|
|
2472
2468
|
};
|
|
2473
|
-
},
|
|
2469
|
+
}, si = (e, t, n) => {
|
|
2474
2470
|
z(n.style, "transform-origin", "0 0");
|
|
2475
2471
|
let r = `translate3d(${t.x}px, ${t.y}px, 0px)`, i = `scale(${e})`;
|
|
2476
2472
|
z(n.style, "transform", `${r} ${i}`);
|
|
2477
|
-
},
|
|
2473
|
+
}, ci = (e, t, n, r) => {
|
|
2478
2474
|
let i = t / e, a = n.clientWidth, o = n.clientHeight, s = a / 2 - r.x, c = o / 2 - r.y;
|
|
2479
2475
|
return {
|
|
2480
2476
|
x: r.x + s * (1 - i),
|
|
2481
2477
|
y: r.y + c * (1 - i)
|
|
2482
2478
|
};
|
|
2483
|
-
},
|
|
2479
|
+
}, li = class {
|
|
2484
2480
|
constructor(e) {
|
|
2485
2481
|
this.x = e.x, this.y = e.y;
|
|
2486
2482
|
}
|
|
2487
|
-
},
|
|
2483
|
+
}, ui = class extends li {}, di = class extends li {
|
|
2488
2484
|
constructor(...e) {
|
|
2489
2485
|
super(...e), this.__symbol = Symbol("UnboundScrollPosition");
|
|
2490
2486
|
}
|
|
2491
|
-
},
|
|
2487
|
+
}, fi = class extends U {
|
|
2492
2488
|
constructor(e, t, n, r, i) {
|
|
2493
2489
|
super({ element: void 0 }), this.viewport = e, this.settings = t, this.hookManager = n, this.spine = r, this.context = i, this.navigateSubject = new m(), this.scrollingSubject = new l(!1), this.applyNavigationPosition = ({ position: e }) => {
|
|
2494
2490
|
let t = this.value.element;
|
|
@@ -2505,7 +2501,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2505
2501
|
let a = this.context.pipe(_t(["rootElement"]), M(({ rootElement: e }) => {
|
|
2506
2502
|
if (!e) return;
|
|
2507
2503
|
let t = this.context.document.createElement("div");
|
|
2508
|
-
t.setAttribute(`data-${
|
|
2504
|
+
t.setAttribute(`data-${wn}`, ""), t.appendChild(this.viewport.value.element), e.appendChild(t), this.update({ element: t });
|
|
2509
2505
|
})), o = v([t.watch(["computedPageTurnMode"]), this.watch("element")]).pipe(M(([{ computedPageTurnMode: e }, t]) => {
|
|
2510
2506
|
t && (e === "scrollable" ? z(t.style, "display", "block") : z(t.style, "display", "contents"));
|
|
2511
2507
|
})), s = this.navigateSubject.pipe(M(this.applyNavigationPosition));
|
|
@@ -2531,30 +2527,30 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2531
2527
|
}
|
|
2532
2528
|
fromSpinePosition(e) {
|
|
2533
2529
|
let t = this.viewport.scaleFactor;
|
|
2534
|
-
return new
|
|
2530
|
+
return new ui({
|
|
2535
2531
|
x: e.x * t,
|
|
2536
2532
|
y: e.y * t
|
|
2537
2533
|
});
|
|
2538
2534
|
}
|
|
2539
2535
|
get scrollPosition() {
|
|
2540
2536
|
let e = this.value.element;
|
|
2541
|
-
return new
|
|
2537
|
+
return new ui({
|
|
2542
2538
|
x: e?.scrollLeft ?? 0,
|
|
2543
2539
|
y: e?.scrollTop ?? 0
|
|
2544
2540
|
});
|
|
2545
2541
|
}
|
|
2546
|
-
},
|
|
2542
|
+
}, pi = (e, t, n, r, i) => {
|
|
2547
2543
|
let a = e.clientWidth, o = e.clientHeight, s = e.scrollLeft, c = e.scrollTop, l = s + a / 2 - r, u = c + o / 2 - i, d = n / t, f = l * d, p = u * d;
|
|
2548
|
-
return new
|
|
2544
|
+
return new di({
|
|
2549
2545
|
x: f - a / 2 + r,
|
|
2550
2546
|
y: p - o / 2 + i
|
|
2551
2547
|
});
|
|
2552
|
-
},
|
|
2553
|
-
let n = t.viewport, r = t.navigation.scrollNavigationController, i = n.value.element, a = r.value.element, o = r.value.element, s = Math.round(n.scaleFactor * 100) / 100, c = i.offsetLeft, l = i.offsetTop, u =
|
|
2548
|
+
}, mi = (e, t) => {
|
|
2549
|
+
let n = t.viewport, r = t.navigation.scrollNavigationController, i = n.value.element, a = r.value.element, o = r.value.element, s = Math.round(n.scaleFactor * 100) / 100, c = i.offsetLeft, l = i.offsetTop, u = pi(a ?? qe(), s, e, c, l), d = e < 1 ? "down" : "up";
|
|
2554
2550
|
o && R(o, `data-${X}-zooming-direction`, d), e < 1 ? z(i.style, "transform-origin", "top") : e > 1 && z(i.style, "transform-origin", `${c}px ${l}px`), z(i.style, "transform", `scale(${e})`);
|
|
2555
2551
|
let f = r.fromScrollPosition(u);
|
|
2556
2552
|
t.navigation.navigate({ position: f });
|
|
2557
|
-
},
|
|
2553
|
+
}, hi = 200, gi = class extends U {
|
|
2558
2554
|
constructor(e) {
|
|
2559
2555
|
super({
|
|
2560
2556
|
isZooming: !1,
|
|
@@ -2567,24 +2563,24 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2567
2563
|
let { scale: t = 1, animate: n = !1 } = e ?? {}, r = this.reader.viewport.value.element;
|
|
2568
2564
|
R(this.viewport.element, `data-${X}-zooming`, "true");
|
|
2569
2565
|
let i = this.scrollNavigationController.value.element;
|
|
2570
|
-
return i && R(i, `data-${X}-zooming`, this.isControlled ? "false" : "true"), n && this.isControlled && z(r.style, "transition", `transform ${
|
|
2566
|
+
return i && R(i, `data-${X}-zooming`, this.isControlled ? "false" : "true"), n && this.isControlled && z(r.style, "transition", `transform ${hi}ms`), this.mergeCompare({
|
|
2571
2567
|
isZooming: !0,
|
|
2572
2568
|
currentScale: 1,
|
|
2573
2569
|
currentPosition: {
|
|
2574
2570
|
x: 0,
|
|
2575
2571
|
y: 0
|
|
2576
2572
|
}
|
|
2577
|
-
}), this.updateZoom(t), t !== 1 && this.isControlled ? ve(e?.animate ?
|
|
2573
|
+
}), this.updateZoom(t), t !== 1 && this.isControlled ? ve(e?.animate ? hi : 0).pipe(M(() => {
|
|
2578
2574
|
this.reader.layout();
|
|
2579
2575
|
})) : u;
|
|
2580
2576
|
})), this.exitSubject.pipe(A((e) => {
|
|
2581
2577
|
let t = this.reader.viewport.value.element;
|
|
2582
2578
|
R(this.viewport.element, `data-${X}-zooming`, "false");
|
|
2583
2579
|
let n = this.scrollNavigationController.value.element;
|
|
2584
|
-
return n && (Ie(n, `data-${X}-zooming-direction`), R(n, `data-${X}-zooming`, "false")), e?.animate && this.isControlled && z(t.style, "transition", `transform ${
|
|
2580
|
+
return n && (Ie(n, `data-${X}-zooming-direction`), R(n, `data-${X}-zooming`, "false")), e?.animate && this.isControlled && z(t.style, "transition", `transform ${hi}ms`), this.updateZoom(1, {
|
|
2585
2581
|
x: 0,
|
|
2586
2582
|
y: 0
|
|
2587
|
-
}), B(t.style, "transform"), this.mergeCompare({ isZooming: !1 }), ve(e?.animate ?
|
|
2583
|
+
}), B(t.style, "transform"), this.mergeCompare({ isZooming: !1 }), ve(e?.animate ? hi : 0).pipe(M(() => {
|
|
2588
2584
|
let e = this.reader.viewport.value.element;
|
|
2589
2585
|
B(e.style, "transform-origin"), B(e.style, "transition"), this.isControlled && this.reader.layout();
|
|
2590
2586
|
}), j(this.enterSubject));
|
|
@@ -2597,17 +2593,17 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2597
2593
|
this.exitSubject.next(e);
|
|
2598
2594
|
}
|
|
2599
2595
|
move(e, t) {
|
|
2600
|
-
this.isControlled && (B(this.viewport.element.style, "transition"), this.updateZoom(this.value.currentScale, e, { constraints: t?.constrain === "within-viewport" ? (...e) =>
|
|
2596
|
+
this.isControlled && (B(this.viewport.element.style, "transition"), this.updateZoom(this.value.currentScale, e, { constraints: t?.constrain === "within-viewport" ? (...e) => oi(...e, this.reader.viewport) : void 0 }));
|
|
2601
2597
|
}
|
|
2602
2598
|
scaleAt(e, t) {
|
|
2603
2599
|
if (!this.value.isZooming) return;
|
|
2604
2600
|
B(this.viewport.element.style, "transition");
|
|
2605
2601
|
let n = Math.ceil(e * 100) / 100;
|
|
2606
|
-
this.updateZoom(n, void 0, { constraints: t?.constrain === "within-viewport" ? (...e) =>
|
|
2602
|
+
this.updateZoom(n, void 0, { constraints: t?.constrain === "within-viewport" ? (...e) => oi(...e, this.reader.viewport) : void 0 });
|
|
2607
2603
|
}
|
|
2608
2604
|
updateZoom(e, t, n) {
|
|
2609
2605
|
if (this.isControlled) {
|
|
2610
|
-
let r = t ||
|
|
2606
|
+
let r = t || ci(this.value.currentScale, e, this.viewport.element, this.value.currentPosition), i = n?.constraints?.(r, e) ?? r;
|
|
2611
2607
|
return this.applyZoom(e, i), this.mergeCompare({
|
|
2612
2608
|
currentScale: e,
|
|
2613
2609
|
currentPosition: i
|
|
@@ -2616,7 +2612,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2616
2612
|
this.applyZoom(e, t ?? this.value.currentPosition), this.mergeCompare({ currentScale: e });
|
|
2617
2613
|
}
|
|
2618
2614
|
applyZoom(e, t) {
|
|
2619
|
-
this.isControlled ?
|
|
2615
|
+
this.isControlled ? si(e, t, this.viewport.element) : mi(e, this.reader), this.reader.viewport.layout();
|
|
2620
2616
|
}
|
|
2621
2617
|
get isControlled() {
|
|
2622
2618
|
return this.reader.settings.values.computedPageTurnMode === "controlled";
|
|
@@ -2627,8 +2623,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2627
2623
|
get viewport() {
|
|
2628
2624
|
return this.reader.viewport.value;
|
|
2629
2625
|
}
|
|
2630
|
-
},
|
|
2631
|
-
let n = e(t), r = new
|
|
2626
|
+
}, _i = (e) => (t) => {
|
|
2627
|
+
let n = e(t), r = new gi(n), i = () => {
|
|
2632
2628
|
r.destroy(), n.destroy();
|
|
2633
2629
|
}, a = r;
|
|
2634
2630
|
return {
|
|
@@ -2645,12 +2641,12 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2645
2641
|
}
|
|
2646
2642
|
}
|
|
2647
2643
|
};
|
|
2648
|
-
},
|
|
2644
|
+
}, vi = (e) => Ae({
|
|
2649
2645
|
spineIndex: e.index,
|
|
2650
2646
|
spineId: e.id
|
|
2651
|
-
}),
|
|
2647
|
+
}), yi = ({ nodeOrRange: e, offset: t, item: n }) => {
|
|
2652
2648
|
let r = "ownerDocument" in e ? e.ownerDocument : e.startContainer.ownerDocument;
|
|
2653
|
-
return !r?.documentElement || e === r ?
|
|
2649
|
+
return !r?.documentElement || e === r ? vi(n) : Qe(e) ? Ae({
|
|
2654
2650
|
start: {
|
|
2655
2651
|
node: e.startContainer,
|
|
2656
2652
|
offset: e.startOffset,
|
|
@@ -2669,22 +2665,22 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2669
2665
|
spineIndex: n.index,
|
|
2670
2666
|
spineId: n.id
|
|
2671
2667
|
});
|
|
2672
|
-
},
|
|
2668
|
+
}, bi = ({ spineItem: e, pageNode: t }) => yi({
|
|
2673
2669
|
nodeOrRange: t.node,
|
|
2674
2670
|
offset: t.offset,
|
|
2675
2671
|
item: e
|
|
2676
|
-
}).trim(),
|
|
2672
|
+
}).trim(), xi = (e, t) => yi({
|
|
2677
2673
|
nodeOrRange: e,
|
|
2678
2674
|
item: t
|
|
2679
|
-
}),
|
|
2680
|
-
let t = Ne(e), n = ((
|
|
2675
|
+
}), Si = (e) => e.index.toString(), Ci = (e) => e[0]?.index === 6 && e.length > 1, wi = (e) => je(Ne(e)), Ti = (e) => Array.isArray(e) ? e[0] && Ci(e[0]) ? e[0] : void 0 : e.parent[0] && Ci(e.parent[0]) ? e.parent[0] : void 0, Ei = (e) => {
|
|
2676
|
+
let t = Ne(e), n = ((Ti(t) ?? [])[1]?.index ?? 2) / 2 - 1, r = Me(t);
|
|
2681
2677
|
return {
|
|
2682
2678
|
isCfiRange: r,
|
|
2683
2679
|
itemIndex: n,
|
|
2684
2680
|
offset: (r ? t.end.at(-1)?.at(-1)?.offset : t.at(-1)?.at(-1)?.offset) ?? 0
|
|
2685
2681
|
};
|
|
2686
|
-
},
|
|
2687
|
-
let { itemIndex: n, ...r } =
|
|
2682
|
+
}, Di = ({ cfi: e, spineItemsManager: t }) => {
|
|
2683
|
+
let { itemIndex: n, ...r } = Ei(e), i = t.get(n);
|
|
2688
2684
|
if (!i) return {
|
|
2689
2685
|
...r,
|
|
2690
2686
|
itemIndex: n,
|
|
@@ -2719,27 +2715,27 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2719
2715
|
spineItem: i,
|
|
2720
2716
|
node: null
|
|
2721
2717
|
};
|
|
2722
|
-
},
|
|
2718
|
+
}, Oi = class {
|
|
2723
2719
|
constructor(e, t) {
|
|
2724
2720
|
this.hookManager = e, this.spineItemsManager = t, this.transformForResolve = (e) => {
|
|
2725
2721
|
let { finalParams: t } = this.hookManager.executeSequential("cfi.beforeResolve", { cfi: e }, (e, t) => ({ cfi: t ?? e.cfi }));
|
|
2726
2722
|
return t.cfi;
|
|
2727
|
-
}, this.parseCfi = (e) =>
|
|
2723
|
+
}, this.parseCfi = (e) => Ei(this.transformForResolve(e)), this.getSpineItemFromCfi = (e) => {
|
|
2728
2724
|
let { itemIndex: t } = this.parseCfi(e);
|
|
2729
2725
|
if (t !== void 0) return this.spineItemsManager.get(t);
|
|
2730
|
-
}, this.isRootCfi = (e) =>
|
|
2731
|
-
cfi:
|
|
2726
|
+
}, this.isRootCfi = (e) => wi(e), this.generateRootCfi = (e) => this.transformGeneratedCfi({
|
|
2727
|
+
cfi: vi(e),
|
|
2732
2728
|
spineItem: e
|
|
2733
2729
|
}), this.generateCfiForSpineItemPage = ({ spineItem: e, pageNode: t }) => this.transformGeneratedCfi({
|
|
2734
|
-
cfi:
|
|
2730
|
+
cfi: bi({
|
|
2735
2731
|
spineItem: e,
|
|
2736
2732
|
pageNode: t
|
|
2737
2733
|
}),
|
|
2738
2734
|
spineItem: e
|
|
2739
2735
|
}), this.generateCfiFromRange = (e, t) => this.transformGeneratedCfi({
|
|
2740
|
-
cfi:
|
|
2736
|
+
cfi: xi(e, t),
|
|
2741
2737
|
spineItem: t
|
|
2742
|
-
}), this.resolveCfi = (e) =>
|
|
2738
|
+
}), this.resolveCfi = (e) => Di({
|
|
2743
2739
|
...e,
|
|
2744
2740
|
cfi: this.transformForResolve(e.cfi),
|
|
2745
2741
|
spineItemsManager: this.spineItemsManager
|
|
@@ -2752,17 +2748,17 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2752
2748
|
}));
|
|
2753
2749
|
return t.cfi;
|
|
2754
2750
|
}
|
|
2755
|
-
},
|
|
2751
|
+
}, ki = (e) => e.spineItems.every((t) => (t.renditionLayout ?? e.renditionLayout) === "pre-paginated"), Ai = class {
|
|
2756
2752
|
constructor() {
|
|
2757
2753
|
this.navigationSubject = new p(1), this.positionSubject = new p(1), this.viewportStateSubject = new l("free"), this.paginationSubject = new p(1), this.pagination$ = this.paginationSubject.asObservable(), this.viewportState$ = this.viewportStateSubject.asObservable(), this.viewportFree$ = this.viewportState$.pipe(x((e) => e === "free")), this.viewportBusy$ = this.viewportState$.pipe(x((e) => e === "busy")), this.navigation$ = this.navigationSubject.asObservable(), this.position$ = this.positionSubject.asObservable();
|
|
2758
2754
|
}
|
|
2759
|
-
},
|
|
2755
|
+
}, ji = class extends U {
|
|
2760
2756
|
constructor(e, t = globalThis.document) {
|
|
2761
2757
|
super({
|
|
2762
2758
|
manifest: e,
|
|
2763
2759
|
assumedRenditionLayout: e.renditionLayout ?? "reflowable",
|
|
2764
|
-
isFullyPrePaginated:
|
|
2765
|
-
}), this.bridgeEvent = new
|
|
2760
|
+
isFullyPrePaginated: ki(e)
|
|
2761
|
+
}), this.bridgeEvent = new Ai(), this.isRTL = () => this.value.manifest.readingDirection === "rtl", this.document = t;
|
|
2766
2762
|
}
|
|
2767
2763
|
update(e) {
|
|
2768
2764
|
this.mergeCompare(e);
|
|
@@ -2773,7 +2769,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2773
2769
|
get readingDirection() {
|
|
2774
2770
|
return this.manifest.readingDirection;
|
|
2775
2771
|
}
|
|
2776
|
-
},
|
|
2772
|
+
}, Mi = class extends U {
|
|
2777
2773
|
constructor(e, t) {
|
|
2778
2774
|
super({
|
|
2779
2775
|
supportedPageTurnAnimation: [
|
|
@@ -2800,7 +2796,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2800
2796
|
supportedPageTurnDirection: r === "scrollable" ? ["vertical"] : n === "reflowable" ? ["horizontal"] : ["horizontal", "vertical"]
|
|
2801
2797
|
})), j(this.destroy$)).subscribe(this.next.bind(this));
|
|
2802
2798
|
}
|
|
2803
|
-
},
|
|
2799
|
+
}, Ni = class {
|
|
2804
2800
|
constructor() {
|
|
2805
2801
|
this._hooks = [], this._hookExecutions = [];
|
|
2806
2802
|
}
|
|
@@ -2883,16 +2879,16 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2883
2879
|
let r = this._hookExecutions.filter((r) => n && r.ref === n || e === r.name && (!t || t && t === r.id));
|
|
2884
2880
|
return this._hookExecutions = this._hookExecutions.filter((e) => !r.includes(e)), v(r.map(({ destroyFn: e }) => e()));
|
|
2885
2881
|
}
|
|
2886
|
-
},
|
|
2882
|
+
}, Pi = "[data-prose-reader-spine-item][data-is-ready=false]{pointer-events:none;-webkit-user-select:none;user-select:none}.prose-reader-enhancer-loading-container{width:100%;height:100%;max-width:var(--prose-reader-absolute-viewport-width,100%);text-align:center;color:#cacaca;z-index:1;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}[data-prose-reader-spine-item][data-is-ready=true] .prose-reader-enhancer-loading-container{visibility:hidden;z-index:0}.prose-reader-enhancer-loading-logo{font-size:4em}.prose-reader-enhancer-loading-details{text-overflow:ellipsis;white-space:nowrap;width:80%;max-width:300px;font-size:1.2em;overflow:hidden}[data-prose-reader-scroll-navigator][data-prose-reader-zooming=true]{overflow:scroll}[data-prose-reader-scroll-navigator][data-prose-reader-zooming=true][data-prose-reader-zooming-direction=down]{overflow-x:auto}[data-prose-reader-scroll-navigator]{width:100%;height:100%;position:relative;overflow:hidden scroll}[data-prose-reader-viewport]{background-color:#fff;width:100%;height:100%;position:relative}.prose-reader-reader{background-color:#fff;position:relative;overflow:hidden}", Fi = (e) => ({
|
|
2887
2883
|
x: -e.x,
|
|
2888
2884
|
y: -e.y
|
|
2889
|
-
}),
|
|
2885
|
+
}), Ii = (e) => e instanceof DOMMatrix ? new J({
|
|
2890
2886
|
x: -e.e,
|
|
2891
2887
|
y: -e.f
|
|
2892
2888
|
}) : new J({
|
|
2893
2889
|
x: -e.x,
|
|
2894
2890
|
y: -e.y
|
|
2895
|
-
}),
|
|
2891
|
+
}), Li = L.namespace("navigation/ControlledNavigationController"), Ri = class extends Q {
|
|
2896
2892
|
constructor(e, t, n, r, i) {
|
|
2897
2893
|
super(), this.settings = e, this.hookManager = t, this.context = n, this.spine = r, this.viewport = i, this.navigateSubject = new m(), this.isActive = () => this.settings.values.computedPageTurnMode === "controlled", this.getNavigationVisibleArea = () => this.viewport.absoluteViewport, this.element$ = new l(n.document.createElement("div"));
|
|
2898
2894
|
let o = this.spine.element$.pipe(x(K), N(this.element$), M(([e, t]) => {
|
|
@@ -2905,8 +2901,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2905
2901
|
e.values.computedPageTurnMode === "scrollable" ? z(t.style, "display", "contents") : z(t.style, "display", "block");
|
|
2906
2902
|
}));
|
|
2907
2903
|
this.layout$ = s.pipe(M(() => {
|
|
2908
|
-
|
|
2909
|
-
}), O()), this.isNavigating$ = this.navigateSubject.pipe(b((e, t) => a(e.position, t.position)), T(({ animation: t, position: n }) => (
|
|
2904
|
+
Li.info("layout", e.values);
|
|
2905
|
+
}), O()), this.isNavigating$ = this.navigateSubject.pipe(b((e, t) => a(e.position, t.position)), T(({ animation: t, position: n }) => (Li.info("Navigation requested", {
|
|
2910
2906
|
animation: t,
|
|
2911
2907
|
position: n
|
|
2912
2908
|
}), {
|
|
@@ -2934,7 +2930,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2934
2930
|
}), pe(!1), k(1)), E(o, this.isNavigating$, this.layout$).pipe(j(this.destroy$)).subscribe();
|
|
2935
2931
|
}
|
|
2936
2932
|
applyNavigationPosition(e) {
|
|
2937
|
-
let t = this.element$.getValue(), n =
|
|
2933
|
+
let t = this.element$.getValue(), n = Fi(e);
|
|
2938
2934
|
z(t.style, "transform", `translate(${n.x}px, ${n.y}px)`), this.hookManager.execute("onViewportOffsetAdjust", void 0);
|
|
2939
2935
|
}
|
|
2940
2936
|
navigate(e) {
|
|
@@ -2948,22 +2944,22 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2948
2944
|
return !n || n === "none" ? new J({
|
|
2949
2945
|
x: 0,
|
|
2950
2946
|
y: 0
|
|
2951
|
-
}) :
|
|
2947
|
+
}) : Ii(new DOMMatrix(n));
|
|
2952
2948
|
}
|
|
2953
|
-
},
|
|
2949
|
+
}, zi = () => (e) => e.pipe(T(({ navigation: e, pagination: t, ...n }) => ({
|
|
2954
2950
|
navigation: {
|
|
2955
2951
|
...e,
|
|
2956
2952
|
paginationBeginCfi: t.beginCfi
|
|
2957
2953
|
},
|
|
2958
2954
|
...n
|
|
2959
|
-
}))),
|
|
2955
|
+
}))), Bi = (e, t, n) => e.bridgeEvent.pagination$.pipe(N(t), x(([e, t]) => e.navigationId === t.id), A(([e, t]) => (n.spineItemsManager.get(t.spineItem)?.isReady$.pipe(S()) ?? D(!1)).pipe(x((e) => e), T(() => ({
|
|
2960
2956
|
pagination: e,
|
|
2961
2957
|
navigation: t
|
|
2962
|
-
})))),
|
|
2958
|
+
})))), zi(), b((e, t) => e.navigation.paginationBeginCfi === t.navigation.paginationBeginCfi), T(({ navigation: e }) => ({
|
|
2963
2959
|
...e,
|
|
2964
2960
|
meta: { triggeredBy: "pagination" },
|
|
2965
2961
|
requestedPosition: e.position
|
|
2966
|
-
}))),
|
|
2962
|
+
}))), Vi = ({ navigationResolver: e, getNavigationVisibleArea: t }) => (n) => n.pipe(T(([n, r]) => {
|
|
2967
2963
|
let i = n.position, a = i ? t() : void 0, o = i && a ? e.clampPositionInSpine(i, a) : void 0;
|
|
2968
2964
|
return {
|
|
2969
2965
|
previousNavigation: r,
|
|
@@ -2978,7 +2974,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2978
2974
|
position: o
|
|
2979
2975
|
}
|
|
2980
2976
|
};
|
|
2981
|
-
})),
|
|
2977
|
+
})), Hi = ({ navigationResolver: e }) => (t) => t.pipe(T((t) => {
|
|
2982
2978
|
if (t.navigation.cfi) {
|
|
2983
2979
|
let n = e.getNavigationForCfi(t.navigation.cfi);
|
|
2984
2980
|
if (n) return {
|
|
@@ -2990,8 +2986,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
2990
2986
|
};
|
|
2991
2987
|
}
|
|
2992
2988
|
return t;
|
|
2993
|
-
})),
|
|
2994
|
-
let i =
|
|
2989
|
+
})), Ui = ({ navigation: e, previousNavigation: t, settings: n }) => e.directionFromLastNavigation ? e.directionFromLastNavigation : e.url !== void 0 || e.cfi !== void 0 ? "anchor" : t.spineItem === void 0 || e.spineItem || !e.position ? "forward" : n.values.computedPageTurnDirection === "vertical" ? e.position.y > t.position.y || e.position.y === t.position.y && t.directionFromLastNavigation !== "backward" ? "forward" : "backward" : Math.abs(e.position.x) > Math.abs(t.position.x) || e.position.x === t.position.x && t.directionFromLastNavigation !== "backward" ? "forward" : "backward", Wi = ({ context: e, settings: t }) => (n) => n.pipe(T(({ navigation: n, previousNavigation: r }) => {
|
|
2990
|
+
let i = Ui({
|
|
2995
2991
|
context: e,
|
|
2996
2992
|
navigation: n,
|
|
2997
2993
|
previousNavigation: r,
|
|
@@ -3005,7 +3001,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3005
3001
|
},
|
|
3006
3002
|
direction: i
|
|
3007
3003
|
};
|
|
3008
|
-
})),
|
|
3004
|
+
})), Gi = ({ spineItemsManager: e, navigationResolver: t, settings: n, viewport: r }) => (i) => i.pipe(T(({ navigation: i, ...a }) => {
|
|
3009
3005
|
let o = e.get(i.spineItem);
|
|
3010
3006
|
if (i.position) return n.values.computedPageTurnMode === "scrollable" ? {
|
|
3011
3007
|
navigation: {
|
|
@@ -3038,7 +3034,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3038
3034
|
},
|
|
3039
3035
|
...a
|
|
3040
3036
|
};
|
|
3041
|
-
})),
|
|
3037
|
+
})), Ki = ({ settings: e, spineItemsManager: t, navigationResolver: n, spineLocator: r, cfi: i }) => (a) => {
|
|
3042
3038
|
let o = (a) => {
|
|
3043
3039
|
let { position: o, spineItem: s, cfi: c, directionFromLastNavigation: l } = a, { navigationSnapThreshold: u, computedPageTurnMode: d } = e.values;
|
|
3044
3040
|
if (s !== void 0) {
|
|
@@ -3084,7 +3080,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3084
3080
|
...n
|
|
3085
3081
|
};
|
|
3086
3082
|
}));
|
|
3087
|
-
},
|
|
3083
|
+
}, qi = ({ spine: e }) => (t) => t.pipe(A(({ navigation: t, ...n }) => {
|
|
3088
3084
|
let r = e.getSpineItemSpineLayoutInfo(t.spineItem), i = e.spineItemsManager.get(t.spineItem);
|
|
3089
3085
|
return (i?.isReady$ ?? D(!1)).pipe(S(), T((e) => ({
|
|
3090
3086
|
navigation: {
|
|
@@ -3098,7 +3094,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3098
3094
|
},
|
|
3099
3095
|
...n
|
|
3100
3096
|
})));
|
|
3101
|
-
})),
|
|
3097
|
+
})), Ji = ({ settings: e, spineItemsManager: t, spineLocator: n, navigationResolver: r }) => (i) => {
|
|
3102
3098
|
let a = (i) => {
|
|
3103
3099
|
let { navigationSnapThreshold: a, computedPageTurnMode: o } = e.values, s = t.get(i.spineItem);
|
|
3104
3100
|
if (!(!s || !i.position)) {
|
|
@@ -3135,7 +3131,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3135
3131
|
},
|
|
3136
3132
|
...t
|
|
3137
3133
|
})));
|
|
3138
|
-
},
|
|
3134
|
+
}, Yi = ({ navigationResolver: e }) => (t) => t.pipe(T((t) => {
|
|
3139
3135
|
if (t.navigation.url) {
|
|
3140
3136
|
let n = e.getNavigationForUrl(t.navigation.url);
|
|
3141
3137
|
if (n) return {
|
|
@@ -3148,7 +3144,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3148
3144
|
};
|
|
3149
3145
|
}
|
|
3150
3146
|
return t;
|
|
3151
|
-
})),
|
|
3147
|
+
})), Xi = class {
|
|
3152
3148
|
constructor() {
|
|
3153
3149
|
this.isLockedSubject = new l(0), this.isLocked$ = this.isLockedSubject.pipe(T((e) => !!e), b());
|
|
3154
3150
|
}
|
|
@@ -3158,7 +3154,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3158
3154
|
e || (e = !0, this.isLockedSubject.next(this.isLockedSubject.getValue() - 1));
|
|
3159
3155
|
};
|
|
3160
3156
|
}
|
|
3161
|
-
},
|
|
3157
|
+
}, Zi = ({ spineLocator: e, navigation: t, navigationResolver: n, spineItemsManager: r, spine: i, cfiManager: a }) => {
|
|
3162
3158
|
let o = r.get(t.spineItem);
|
|
3163
3159
|
return o ? o.isReady$.pipe(S(), T((r) => {
|
|
3164
3160
|
let s = i.getSpineItemSpineLayoutInfo(o), c = e.isPositionWithinSpineItem(t.position, o), l = s.width - (t.spineItemWidth ?? 0), u = s.height - (t.spineItemHeight ?? 0), d = l !== 0 || u !== 0;
|
|
@@ -3198,7 +3194,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3198
3194
|
x: 0,
|
|
3199
3195
|
y: 0
|
|
3200
3196
|
}));
|
|
3201
|
-
},
|
|
3197
|
+
}, Qi = ({ navigation: e, spineLocator: t, spineItemsManager: n, settings: r, navigationResolver: i, spine: a }) => {
|
|
3202
3198
|
let { spineItem: o } = e, s = n.get(o);
|
|
3203
3199
|
if (!s) return new J({
|
|
3204
3200
|
x: 0,
|
|
@@ -3249,21 +3245,21 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3249
3245
|
}
|
|
3250
3246
|
}
|
|
3251
3247
|
return e.position;
|
|
3252
|
-
},
|
|
3248
|
+
}, $i = ({ navigation: e, spineItemsManager: t, settings: n, spineLocator: r, navigationResolver: i, spine: a, cfiManager: o }) => n.values.computedPageTurnMode === "scrollable" ? D(Qi({
|
|
3253
3249
|
navigation: e,
|
|
3254
3250
|
spineLocator: r,
|
|
3255
3251
|
navigationResolver: i,
|
|
3256
3252
|
settings: n,
|
|
3257
3253
|
spineItemsManager: t,
|
|
3258
3254
|
spine: a
|
|
3259
|
-
})) :
|
|
3255
|
+
})) : Zi({
|
|
3260
3256
|
navigation: e,
|
|
3261
3257
|
spineLocator: r,
|
|
3262
3258
|
navigationResolver: i,
|
|
3263
3259
|
spineItemsManager: t,
|
|
3264
3260
|
spine: a,
|
|
3265
3261
|
cfiManager: o
|
|
3266
|
-
}),
|
|
3262
|
+
}), ea = ({ settings: e, navigationResolver: t, context: n, spine: r, cfiManager: i }) => (a) => a.pipe(A((a) => $i({
|
|
3267
3263
|
spineLocator: r.locator,
|
|
3268
3264
|
navigation: a.navigation,
|
|
3269
3265
|
navigationResolver: t,
|
|
@@ -3279,7 +3275,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3279
3275
|
...a.navigation,
|
|
3280
3276
|
position: e
|
|
3281
3277
|
}
|
|
3282
|
-
}))))),
|
|
3278
|
+
}))))), ta = L.namespace("navigation/InternalNavigator"), na = (e, t) => e === t || !!e && !!t && e.x === t.x && e.y === t.y, ra = (e, t) => e === t || !!e && !!t && e.width === t.width && e.height === t.height, ia = (e, t) => e.id === t.id && na(e.position, t.position) && na(e.requestedPosition, t.requestedPosition) && ra(e.requestedVisibleArea, t.requestedVisibleArea), aa = class extends Q {
|
|
3283
3279
|
constructor(e, t, n, r, i, a, o, s, c, u) {
|
|
3284
3280
|
super(), this.settings = e, this.context = t, this.userNavigation$ = n, this.getActiveNavigationModeController = r, this.navigationModeLayout$ = i, this.navigationResolver = a, this.spine = o, this.viewport = s, this.cfiManager = c, this.isUserInteractionLocked$ = u, this.navigationSubject = new l({
|
|
3285
3281
|
animation: !1,
|
|
@@ -3301,40 +3297,40 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3301
3297
|
requestedPosition: n,
|
|
3302
3298
|
requestedVisibleArea: r,
|
|
3303
3299
|
triggeredBy: i.triggeredBy
|
|
3304
|
-
})), b(
|
|
3305
|
-
let d = n.pipe(N(this.navigationSubject),
|
|
3300
|
+
})), b(ia), k(1)), this.locker = new Xi();
|
|
3301
|
+
let d = n.pipe(N(this.navigationSubject), Vi({
|
|
3306
3302
|
navigationResolver: a,
|
|
3307
3303
|
getNavigationVisibleArea: () => r().getNavigationVisibleArea()
|
|
3308
|
-
}),
|
|
3304
|
+
}), Yi({ navigationResolver: a }), Hi({ navigationResolver: a }), Wi({
|
|
3309
3305
|
context: t,
|
|
3310
3306
|
settings: e
|
|
3311
|
-
}),
|
|
3307
|
+
}), Ki({
|
|
3312
3308
|
context: t,
|
|
3313
3309
|
cfi: c,
|
|
3314
3310
|
navigationResolver: a,
|
|
3315
3311
|
settings: e,
|
|
3316
3312
|
spineItemsManager: o.spineItemsManager,
|
|
3317
3313
|
spineLocator: o.locator
|
|
3318
|
-
}),
|
|
3314
|
+
}), Ji({
|
|
3319
3315
|
navigationResolver: a,
|
|
3320
3316
|
settings: e,
|
|
3321
3317
|
spineItemsManager: o.spineItemsManager,
|
|
3322
3318
|
spineLocator: o.locator
|
|
3323
|
-
}),
|
|
3319
|
+
}), qi({ spine: o })).pipe(Gi({
|
|
3324
3320
|
navigationResolver: a,
|
|
3325
3321
|
spineItemsManager: o.spineItemsManager,
|
|
3326
3322
|
settings: e,
|
|
3327
3323
|
viewport: s
|
|
3328
3324
|
}), N(u), A(([n, r]) => {
|
|
3329
3325
|
let i = n.navigation.cfi || n.navigation.url || e.values.computedPageTurnMode === "scrollable" || r;
|
|
3330
|
-
return D(n).pipe(i ? ce :
|
|
3326
|
+
return D(n).pipe(i ? ce : ea({
|
|
3331
3327
|
navigationResolver: a,
|
|
3332
3328
|
settings: e,
|
|
3333
3329
|
spine: o,
|
|
3334
3330
|
context: t,
|
|
3335
3331
|
cfiManager: c
|
|
3336
3332
|
}));
|
|
3337
|
-
}),
|
|
3333
|
+
}), Ji({
|
|
3338
3334
|
spineItemsManager: o.spineItemsManager,
|
|
3339
3335
|
spineLocator: o.locator,
|
|
3340
3336
|
settings: e,
|
|
@@ -3351,7 +3347,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3351
3347
|
E(E(E(i, o.layout$).pipe(A(() => D(null).pipe(A(() => u.pipe(x((e) => !e), S())), T(() => ({ navigation: {
|
|
3352
3348
|
...this.navigationSubject.getValue(),
|
|
3353
3349
|
animation: !1
|
|
3354
|
-
} })), j(E(f, d))))), f).pipe(
|
|
3350
|
+
} })), j(E(f, d))))), f).pipe(ea({
|
|
3355
3351
|
navigationResolver: a,
|
|
3356
3352
|
settings: e,
|
|
3357
3353
|
context: t,
|
|
@@ -3361,19 +3357,19 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3361
3357
|
...e,
|
|
3362
3358
|
meta: { triggeredBy: "restoration" },
|
|
3363
3359
|
requestedPosition: e.position
|
|
3364
|
-
} })),
|
|
3360
|
+
} })), Ki({
|
|
3365
3361
|
context: t,
|
|
3366
3362
|
cfi: c,
|
|
3367
3363
|
navigationResolver: a,
|
|
3368
3364
|
settings: e,
|
|
3369
3365
|
spineItemsManager: o.spineItemsManager,
|
|
3370
3366
|
spineLocator: o.locator
|
|
3371
|
-
}),
|
|
3367
|
+
}), qi({ spine: o }), Ji({
|
|
3372
3368
|
spineItemsManager: o.spineItemsManager,
|
|
3373
3369
|
spineLocator: o.locator,
|
|
3374
3370
|
settings: e,
|
|
3375
3371
|
navigationResolver: a
|
|
3376
|
-
}), T(({ navigation: e }) => e), O()), d,
|
|
3372
|
+
}), T(({ navigation: e }) => e), O()), d, Bi(t, this.navigationSubject, o)).pipe(N(this.navigationSubject), (e) => e.pipe(M(([e]) => {
|
|
3377
3373
|
let t = e.type === "scroll", n = e.meta.triggeredBy === "pagination", r = e.meta.triggeredBy === "restoration";
|
|
3378
3374
|
if (t && !r || n) return;
|
|
3379
3375
|
let i = {
|
|
@@ -3382,7 +3378,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3382
3378
|
};
|
|
3383
3379
|
this.getActiveNavigationModeController().navigate(i);
|
|
3384
3380
|
})), (e) => e.pipe(M(([e, t]) => {
|
|
3385
|
-
|
|
3381
|
+
ta.info(`navigation updated from ${e.meta.triggeredBy} of type ${e.type}`, {
|
|
3386
3382
|
previousNavigation: t,
|
|
3387
3383
|
currentNavigation: e
|
|
3388
3384
|
}), this.navigationSubject.next(e);
|
|
@@ -3391,24 +3387,24 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3391
3387
|
get navigation() {
|
|
3392
3388
|
return this.navigationSubject.getValue();
|
|
3393
3389
|
}
|
|
3394
|
-
},
|
|
3390
|
+
}, oa = (e, t, n) => {
|
|
3395
3391
|
let r = n - e, i = t * e * n / (n || 1);
|
|
3396
3392
|
return Math.max(0, Math.min(r, i));
|
|
3397
|
-
},
|
|
3398
|
-
let r =
|
|
3393
|
+
}, sa = (e, t) => (t || 0) === 0 || (e || 0) === 0 ? 1 : Math.floor(Math.max(1, e / t)), ca = (e, t, n) => {
|
|
3394
|
+
let r = sa(n, t), i = [...Array(r)].map((e, n) => n * t);
|
|
3399
3395
|
return e >= r * t ? i[i.length - 1] || 0 : i.find((n) => e < n + t) || 0;
|
|
3400
|
-
},
|
|
3396
|
+
}, la = (e, t, n) => {
|
|
3401
3397
|
let r = [...Array(n)].map((e, n) => n * t);
|
|
3402
3398
|
return e <= 0 || n === 0 ? 0 : e >= n * t ? n - 1 : r.findIndex((n) => e < n + t) ?? 0;
|
|
3403
|
-
},
|
|
3399
|
+
}, ua = ({ itemWidth: e, itemHeight: t, spineItemPosition: n }) => new q({
|
|
3404
3400
|
x: Math.min(e, Math.max(0, n.x)),
|
|
3405
3401
|
y: Math.min(t, Math.max(0, n.y))
|
|
3406
|
-
}),
|
|
3407
|
-
let l =
|
|
3402
|
+
}), da = ({ itemHeight: e, itemWidth: t, isUsingVerticalWriting: n, pageWidth: r, pageHeight: i, pageTurnDirection: a, pageTurnMode: o }) => a === "vertical" && o === "scrollable" ? 1 : n || a === "vertical" ? sa(e, i) : sa(t, r), fa = ({ itemWidth: e, itemHeight: t, position: n, isUsingVerticalWriting: r, pageWidth: i, pageHeight: a, pageTurnDirection: o, pageTurnMode: s, isRTL: c }) => {
|
|
3403
|
+
let l = ua({
|
|
3408
3404
|
spineItemPosition: n,
|
|
3409
3405
|
itemHeight: t,
|
|
3410
3406
|
itemWidth: e
|
|
3411
|
-
}).x, u =
|
|
3407
|
+
}).x, u = da({
|
|
3412
3408
|
isUsingVerticalWriting: r,
|
|
3413
3409
|
itemHeight: t,
|
|
3414
3410
|
itemWidth: e,
|
|
@@ -3417,15 +3413,15 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3417
3413
|
pageTurnDirection: o,
|
|
3418
3414
|
pageTurnMode: s
|
|
3419
3415
|
});
|
|
3420
|
-
if (r) return
|
|
3421
|
-
let d =
|
|
3416
|
+
if (r) return la(n.y, a, u);
|
|
3417
|
+
let d = la(l, i, u);
|
|
3422
3418
|
return c ? u - 1 - d : d;
|
|
3423
|
-
},
|
|
3419
|
+
}, pa = ({ pageIndex: e, itemLayout: t, context: n, isUsingVerticalWriting: r, viewport: i }) => {
|
|
3424
3420
|
if (r) return new q({
|
|
3425
3421
|
x: 0,
|
|
3426
|
-
y:
|
|
3422
|
+
y: oa(i.pageSize.height, e, t.height)
|
|
3427
3423
|
});
|
|
3428
|
-
let a =
|
|
3424
|
+
let a = oa(i.pageSize.width, e, t.width);
|
|
3429
3425
|
return n.isRTL() ? new q({
|
|
3430
3426
|
x: t.width - a - i.pageSize.width,
|
|
3431
3427
|
y: 0
|
|
@@ -3433,26 +3429,26 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3433
3429
|
x: a,
|
|
3434
3430
|
y: 0
|
|
3435
3431
|
});
|
|
3436
|
-
},
|
|
3432
|
+
}, ma = ({ context: e, settings: t, viewport: n }) => {
|
|
3437
3433
|
let r = (e, t, r) => {
|
|
3438
3434
|
let i;
|
|
3439
3435
|
e?.nodeName === "img" || e?.textContent === "" && e.nodeType === Node.ELEMENT_NODE ? i = e.getBoundingClientRect().x : e && (i = (e ? Ue(e, t) : void 0)?.getBoundingClientRect().x || i);
|
|
3440
3436
|
let a = r.layoutInfo?.width || 0, o = n.pageSize.width;
|
|
3441
3437
|
if (i !== void 0) return new q({
|
|
3442
|
-
x:
|
|
3438
|
+
x: ca(i, o, a),
|
|
3443
3439
|
y: 0
|
|
3444
3440
|
});
|
|
3445
3441
|
};
|
|
3446
3442
|
return {
|
|
3447
3443
|
getSpineItemPositionFromNode: r,
|
|
3448
|
-
getSpineItemPositionFromPageIndex: ({ pageIndex: t, spineItem: r }) =>
|
|
3444
|
+
getSpineItemPositionFromPageIndex: ({ pageIndex: t, spineItem: r }) => pa({
|
|
3449
3445
|
context: e,
|
|
3450
3446
|
isUsingVerticalWriting: !!r.isUsingVerticalWriting(),
|
|
3451
3447
|
itemLayout: r.layoutInfo,
|
|
3452
3448
|
pageIndex: t,
|
|
3453
3449
|
viewport: n
|
|
3454
3450
|
}),
|
|
3455
|
-
getSpineItemPageIndexFromPosition: (r) =>
|
|
3451
|
+
getSpineItemPageIndexFromPosition: (r) => fa({
|
|
3456
3452
|
...r,
|
|
3457
3453
|
isRTL: e.isRTL(),
|
|
3458
3454
|
pageWidth: n.pageSize.width,
|
|
@@ -3462,7 +3458,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3462
3458
|
}),
|
|
3463
3459
|
getSpineItemPageIndexFromNode: (i, a, o) => {
|
|
3464
3460
|
let s = r(i, a, o), { height: c, width: l } = o.layoutInfo;
|
|
3465
|
-
return s ?
|
|
3461
|
+
return s ? fa({
|
|
3466
3462
|
isUsingVerticalWriting: !!o.isUsingVerticalWriting(),
|
|
3467
3463
|
position: s,
|
|
3468
3464
|
itemHeight: c,
|
|
@@ -3477,35 +3473,35 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3477
3473
|
getSpineItemClosestPositionFromUnsafePosition: (e, t) => {
|
|
3478
3474
|
let { width: r, height: i } = t.layoutInfo;
|
|
3479
3475
|
return new q({
|
|
3480
|
-
x:
|
|
3481
|
-
y:
|
|
3476
|
+
x: ca(e.x, n.pageSize.width, r),
|
|
3477
|
+
y: ca(e.y, n.pageSize.height, i)
|
|
3482
3478
|
});
|
|
3483
3479
|
},
|
|
3484
3480
|
getSpineItemPagePositionFromSpineItemPosition: (t, r, i) => {
|
|
3485
3481
|
let { width: a, height: o } = i.layoutInfo, s = n.pageSize.width, c = n.pageSize.height;
|
|
3486
3482
|
if (i.isUsingVerticalWriting()) {
|
|
3487
|
-
let e =
|
|
3488
|
-
return new
|
|
3483
|
+
let e = oa(c, r, o);
|
|
3484
|
+
return new ln({
|
|
3489
3485
|
x: t.x,
|
|
3490
3486
|
y: t.y - e
|
|
3491
3487
|
});
|
|
3492
3488
|
}
|
|
3493
|
-
let l =
|
|
3489
|
+
let l = oa(s, r, a);
|
|
3494
3490
|
if (e.isRTL()) {
|
|
3495
3491
|
let e = a - (r + 1) * s;
|
|
3496
|
-
return new
|
|
3492
|
+
return new ln({
|
|
3497
3493
|
x: t.x - Math.max(0, e),
|
|
3498
3494
|
y: t.y
|
|
3499
3495
|
});
|
|
3500
3496
|
}
|
|
3501
|
-
return new
|
|
3497
|
+
return new ln({
|
|
3502
3498
|
x: t.x - l,
|
|
3503
3499
|
y: t.y
|
|
3504
3500
|
});
|
|
3505
3501
|
}
|
|
3506
3502
|
};
|
|
3507
|
-
},
|
|
3508
|
-
let r =
|
|
3503
|
+
}, ha = ({ context: e, settings: t, viewport: n }) => {
|
|
3504
|
+
let r = ma({
|
|
3509
3505
|
context: e,
|
|
3510
3506
|
settings: t,
|
|
3511
3507
|
viewport: n
|
|
@@ -3524,7 +3520,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3524
3520
|
y: 0
|
|
3525
3521
|
})
|
|
3526
3522
|
};
|
|
3527
|
-
},
|
|
3523
|
+
}, ga = ({ size: e, isRTL: t, spineItemsManager: n, spine: r }) => {
|
|
3528
3524
|
let i = n.get(n.items.length - 1);
|
|
3529
3525
|
if (!i) return;
|
|
3530
3526
|
let a = r.getSpineItemSpineLayoutInfo(i), o = Math.max(0, a.bottom - e.height);
|
|
@@ -3543,8 +3539,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3543
3539
|
yMin: 0,
|
|
3544
3540
|
yMax: o
|
|
3545
3541
|
};
|
|
3546
|
-
},
|
|
3547
|
-
let a =
|
|
3542
|
+
}, _a = ({ position: e, size: t, isRTL: n, spineItemsManager: r, spine: i }) => {
|
|
3543
|
+
let a = ga({
|
|
3548
3544
|
size: t,
|
|
3549
3545
|
isRTL: n,
|
|
3550
3546
|
spineItemsManager: r,
|
|
@@ -3559,8 +3555,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3559
3555
|
x: n ? Math.max(a.xMin, Math.min(a.xMax, e.x)) : Math.min(Math.max(a.xMin, e.x), a.xMax),
|
|
3560
3556
|
y: o
|
|
3561
3557
|
});
|
|
3562
|
-
},
|
|
3563
|
-
let a =
|
|
3558
|
+
}, va = ({ position: e, size: t, isRTL: n, spineItemsManager: r, spine: i }) => {
|
|
3559
|
+
let a = ga({
|
|
3564
3560
|
size: t,
|
|
3565
3561
|
isRTL: n,
|
|
3566
3562
|
spineItemsManager: r,
|
|
@@ -3586,7 +3582,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3586
3582
|
x: a,
|
|
3587
3583
|
y: i
|
|
3588
3584
|
});
|
|
3589
|
-
},
|
|
3585
|
+
}, ya = ({ viewportPosition: e, spineLocator: t, spineItemNavigationResolver: n, viewport: r }) => {
|
|
3590
3586
|
let i = t.getSpineItemFromPosition(e);
|
|
3591
3587
|
if (i) {
|
|
3592
3588
|
let a = t.getSpineItemPositionFromSpinePosition(e, i), o = n.getNavigationForPosition(i, a);
|
|
@@ -3603,9 +3599,9 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3603
3599
|
x: 0,
|
|
3604
3600
|
y: 0
|
|
3605
3601
|
});
|
|
3606
|
-
},
|
|
3602
|
+
}, ba = ({ pageIndex: e, spineItemsManager: t, spineItemId: n, spineLocator: r, spineItemNavigationResolver: i, viewport: a }) => {
|
|
3607
3603
|
let o = t.get(n);
|
|
3608
|
-
if (!o) return
|
|
3604
|
+
if (!o) return ya({
|
|
3609
3605
|
viewportPosition: new J({
|
|
3610
3606
|
x: e * a.pageSize.width,
|
|
3611
3607
|
y: 0
|
|
@@ -3626,7 +3622,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3626
3622
|
pageSizeWidth: a.pageSize.width,
|
|
3627
3623
|
visibleAreaRectWidth: a.absoluteViewport.width
|
|
3628
3624
|
});
|
|
3629
|
-
},
|
|
3625
|
+
}, xa = (e, t) => {
|
|
3630
3626
|
if (V(t, "iframe")) {
|
|
3631
3627
|
let n = t.contentDocument, r = e.trim();
|
|
3632
3628
|
if (!n || r.length === 0) return;
|
|
@@ -3640,11 +3636,11 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3640
3636
|
return;
|
|
3641
3637
|
}
|
|
3642
3638
|
}
|
|
3643
|
-
},
|
|
3644
|
-
let r =
|
|
3639
|
+
}, Sa = ({ anchor: e, spineItem: t, spine: n }) => {
|
|
3640
|
+
let r = xa(e, t.renderer.getDocumentFrame());
|
|
3645
3641
|
return r ? n.spineItemLocator.getSpineItemPositionFromNode(r, 0, t)?.x ?? 0 : 0;
|
|
3646
|
-
},
|
|
3647
|
-
let i =
|
|
3642
|
+
}, Ca = ({ anchor: e, spineItem: t, spineLocator: n, spine: r }) => {
|
|
3643
|
+
let i = Sa({
|
|
3648
3644
|
anchor: e,
|
|
3649
3645
|
spineItem: t,
|
|
3650
3646
|
spine: r
|
|
@@ -3656,8 +3652,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3656
3652
|
}),
|
|
3657
3653
|
spineItem: t
|
|
3658
3654
|
});
|
|
3659
|
-
},
|
|
3660
|
-
position:
|
|
3655
|
+
}, wa = ({ anchor: e, spineItem: t, spineLocator: n, spine: r, pageSizeWidth: i, visibleAreaRectWidth: a }) => $({
|
|
3656
|
+
position: Ca({
|
|
3661
3657
|
anchor: e,
|
|
3662
3658
|
spineItem: t,
|
|
3663
3659
|
spineLocator: n,
|
|
@@ -3665,14 +3661,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3665
3661
|
}),
|
|
3666
3662
|
pageSizeWidth: i,
|
|
3667
3663
|
visibleAreaRectWidth: a
|
|
3668
|
-
}),
|
|
3664
|
+
}), Ta = ({ spine: e, spineItemsManager: t, spineLocator: n, url: r, context: i, pageSizeWidth: a, visibleAreaRectWidth: o }) => {
|
|
3669
3665
|
try {
|
|
3670
3666
|
let s = r instanceof URL ? r : new URL(r), c = `${s.origin}${s.pathname}`, l = i.manifest.spineItems.find((e) => e.href === c);
|
|
3671
3667
|
if (l) {
|
|
3672
3668
|
let r = t.get(l.id);
|
|
3673
3669
|
if (r) return {
|
|
3674
3670
|
position: $({
|
|
3675
|
-
position:
|
|
3671
|
+
position: wa({
|
|
3676
3672
|
anchor: s.hash,
|
|
3677
3673
|
spineItem: r,
|
|
3678
3674
|
spine: e,
|
|
@@ -3691,7 +3687,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3691
3687
|
console.error(e);
|
|
3692
3688
|
return;
|
|
3693
3689
|
}
|
|
3694
|
-
},
|
|
3690
|
+
}, Ea = ({ spineItem: e, spineItemPosition: t, spineLocator: n, spineItemLocator: r, viewport: i }) => {
|
|
3695
3691
|
let a = r.getSpineItemClosestPositionFromUnsafePosition(t, e);
|
|
3696
3692
|
return $({
|
|
3697
3693
|
position: n.getSpinePositionFromSpineItemPosition({
|
|
@@ -3701,14 +3697,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3701
3697
|
pageSizeWidth: i.pageSize.width,
|
|
3702
3698
|
visibleAreaRectWidth: i.absoluteViewport.width
|
|
3703
3699
|
});
|
|
3704
|
-
},
|
|
3705
|
-
let s =
|
|
3700
|
+
}, Da = "spineNavigator", Oa = ({ context: e, spineItemsManager: t, locator: n, settings: r, spine: i, viewport: a, cfi: o }) => {
|
|
3701
|
+
let s = ha({
|
|
3706
3702
|
context: e,
|
|
3707
3703
|
settings: r,
|
|
3708
3704
|
viewport: a
|
|
3709
3705
|
});
|
|
3710
3706
|
return {
|
|
3711
|
-
getNavigationForUrl: (r) =>
|
|
3707
|
+
getNavigationForUrl: (r) => Ta({
|
|
3712
3708
|
context: e,
|
|
3713
3709
|
spineItemsManager: t,
|
|
3714
3710
|
spineLocator: n,
|
|
@@ -3717,14 +3713,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3717
3713
|
visibleAreaRectWidth: a.absoluteViewport.width,
|
|
3718
3714
|
spine: i
|
|
3719
3715
|
}),
|
|
3720
|
-
getNavigationForSpineItemPage: (e) =>
|
|
3716
|
+
getNavigationForSpineItemPage: (e) => ba({
|
|
3721
3717
|
...e,
|
|
3722
3718
|
spineItemsManager: t,
|
|
3723
3719
|
spineItemNavigationResolver: s,
|
|
3724
3720
|
spineLocator: n,
|
|
3725
3721
|
viewport: a
|
|
3726
3722
|
}),
|
|
3727
|
-
getNavigationFromSpineItemPosition: (e) =>
|
|
3723
|
+
getNavigationFromSpineItemPosition: (e) => Ea({
|
|
3728
3724
|
...e,
|
|
3729
3725
|
spineItemLocator: n.spineItemLocator,
|
|
3730
3726
|
spineLocator: n,
|
|
@@ -3733,7 +3729,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3733
3729
|
getNavigationForCfi: (e) => {
|
|
3734
3730
|
let { node: t, offset: r = 0, spineItem: i } = o.resolveCfi({ cfi: e });
|
|
3735
3731
|
if (!i) {
|
|
3736
|
-
L.warn(
|
|
3732
|
+
L.warn(Da, `unable to detect item id from cfi ${e}`);
|
|
3737
3733
|
return;
|
|
3738
3734
|
}
|
|
3739
3735
|
let c = t ? s.getNavigationFromNode(i, t, r) : new q({
|
|
@@ -3771,14 +3767,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3771
3767
|
y: 0
|
|
3772
3768
|
});
|
|
3773
3769
|
},
|
|
3774
|
-
getNavigationForPosition: (e) =>
|
|
3770
|
+
getNavigationForPosition: (e) => ya({
|
|
3775
3771
|
viewportPosition: e,
|
|
3776
3772
|
spineItemNavigationResolver: s,
|
|
3777
3773
|
spineLocator: n,
|
|
3778
3774
|
viewport: a
|
|
3779
3775
|
}),
|
|
3780
3776
|
getMostPredominantNavigationForPosition: (o) => {
|
|
3781
|
-
let c = r.values.computedPageTurnDirection, l = .5, u =
|
|
3777
|
+
let c = r.values.computedPageTurnDirection, l = .5, u = _a({
|
|
3782
3778
|
position: new J({
|
|
3783
3779
|
x: c === "horizontal" ? o.x + a.absoluteViewport.width * l : 0,
|
|
3784
3780
|
y: c === "horizontal" ? 0 : o.y + a.absoluteViewport.height * l
|
|
@@ -3788,21 +3784,21 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3788
3784
|
spineItemsManager: t,
|
|
3789
3785
|
spine: i
|
|
3790
3786
|
});
|
|
3791
|
-
return
|
|
3787
|
+
return ya({
|
|
3792
3788
|
spineItemNavigationResolver: s,
|
|
3793
3789
|
spineLocator: n,
|
|
3794
3790
|
viewportPosition: u,
|
|
3795
3791
|
viewport: a
|
|
3796
3792
|
});
|
|
3797
3793
|
},
|
|
3798
|
-
clampPositionInSpine: (n, r) =>
|
|
3794
|
+
clampPositionInSpine: (n, r) => _a({
|
|
3799
3795
|
position: n,
|
|
3800
3796
|
size: r,
|
|
3801
3797
|
isRTL: e.isRTL(),
|
|
3802
3798
|
spineItemsManager: t,
|
|
3803
3799
|
spine: i
|
|
3804
3800
|
}),
|
|
3805
|
-
getBoundaryForPosition: (n, r = a.absoluteViewport) =>
|
|
3801
|
+
getBoundaryForPosition: (n, r = a.absoluteViewport) => va({
|
|
3806
3802
|
position: n,
|
|
3807
3803
|
size: r,
|
|
3808
3804
|
isRTL: e.isRTL(),
|
|
@@ -3818,8 +3814,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3818
3814
|
}),
|
|
3819
3815
|
spineItemNavigator: s
|
|
3820
3816
|
};
|
|
3821
|
-
},
|
|
3822
|
-
let c = new m(), l = c.asObservable(), u = new
|
|
3817
|
+
}, ka = ({ spineItemsManager: e, context: t, hookManager: n, spine: r, settings: i, viewport: a, cfi: s }) => {
|
|
3818
|
+
let c = new m(), l = c.asObservable(), u = new Xi(), d = s, f = Oa({
|
|
3823
3819
|
cfi: d,
|
|
3824
3820
|
context: t,
|
|
3825
3821
|
settings: i,
|
|
@@ -3827,7 +3823,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3827
3823
|
locator: r.locator,
|
|
3828
3824
|
spine: r,
|
|
3829
3825
|
viewport: a
|
|
3830
|
-
}), p = new
|
|
3826
|
+
}), p = new Ri(i, n, t, r, a), h = new fi(a, i, n, r, t), g = [h, p], _ = new aa(i, t, l, () => g.find((e) => e.isActive()) ?? p, E(...g.flatMap((e) => e.layout$ ? [e.layout$] : [])), f, r, a, d, u.isLocked$), y = v([
|
|
3831
3827
|
...g.map((e) => e.isNavigating$),
|
|
3832
3828
|
u.isLocked$,
|
|
3833
3829
|
_.locker.isLocked$
|
|
@@ -3852,7 +3848,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3852
3848
|
navigation$: _.navigation$,
|
|
3853
3849
|
position$: ee
|
|
3854
3850
|
};
|
|
3855
|
-
},
|
|
3851
|
+
}, Aa = class extends U {
|
|
3856
3852
|
constructor(e, t) {
|
|
3857
3853
|
super({
|
|
3858
3854
|
beginPageIndexInSpineItem: void 0,
|
|
@@ -3869,7 +3865,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3869
3865
|
update(e) {
|
|
3870
3866
|
this.mergeCompare(e);
|
|
3871
3867
|
}
|
|
3872
|
-
},
|
|
3868
|
+
}, ja = class extends Q {
|
|
3873
3869
|
constructor(e, t, n, r, i, a, o) {
|
|
3874
3870
|
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spine = r, this.spineItemLocator = i, this.isNavigationLocked$ = a, this.cfi = o;
|
|
3875
3871
|
let s = E(this.context.bridgeEvent.navigation$, r.layout$).pipe(A(() => {
|
|
@@ -3928,7 +3924,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3928
3924
|
});
|
|
3929
3925
|
}))).pipe(j(this.destroy$)).subscribe();
|
|
3930
3926
|
}
|
|
3931
|
-
},
|
|
3927
|
+
}, Ma = class extends Q {
|
|
3932
3928
|
constructor(e) {
|
|
3933
3929
|
super();
|
|
3934
3930
|
let t = {
|
|
@@ -3969,7 +3965,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3969
3965
|
destroy() {
|
|
3970
3966
|
super.destroy(), this.outputSettingsUpdateSubject.complete();
|
|
3971
3967
|
}
|
|
3972
|
-
},
|
|
3968
|
+
}, Na = class extends Ma {
|
|
3973
3969
|
constructor(e, t) {
|
|
3974
3970
|
super(e), this.context = t, t.watch(["hasVerticalWriting"]).pipe(M(() => this.update(this.values)), j(this.destroy$)).subscribe();
|
|
3975
3971
|
}
|
|
@@ -3979,7 +3975,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
3979
3975
|
computedPageTurnAnimation: e.pageTurnAnimation,
|
|
3980
3976
|
computedPageTurnMode: e.pageTurnMode,
|
|
3981
3977
|
computedPageTurnAnimationDuration: 0,
|
|
3982
|
-
computedSpreadMode:
|
|
3978
|
+
computedSpreadMode: Bn({
|
|
3983
3979
|
spreadMode: e.spreadMode,
|
|
3984
3980
|
manifest: t
|
|
3985
3981
|
})
|
|
@@ -4009,7 +4005,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4009
4005
|
numberOfAdjacentSpineItemToPreLoad: 3
|
|
4010
4006
|
};
|
|
4011
4007
|
}
|
|
4012
|
-
},
|
|
4008
|
+
}, Pa = class extends Q {
|
|
4013
4009
|
constructor(e, n, r, i, a, o) {
|
|
4014
4010
|
super(), this.context = e, this.spineItemsManager = n, this.spineLocator = r, this.settings = i, this.spineLayout = a, this.viewport = o, this.forcedOpenSubject = new l(/* @__PURE__ */ new Map());
|
|
4015
4011
|
let s = this.forcedOpenSubject.pipe(T((e) => Array.from(e.keys()).sort((e, t) => e - t)), b(t), k({
|
|
@@ -4045,13 +4041,13 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4045
4041
|
destroy() {
|
|
4046
4042
|
super.destroy(), this.forcedOpenSubject.complete();
|
|
4047
4043
|
}
|
|
4048
|
-
},
|
|
4044
|
+
}, Fa = (e, t, n) => {
|
|
4049
4045
|
let r = (n.width - t.width) / 2, i = (n.height - t.height) / 2;
|
|
4050
4046
|
return new Y({
|
|
4051
4047
|
x: e.x - r,
|
|
4052
4048
|
y: e.y - i
|
|
4053
4049
|
});
|
|
4054
|
-
},
|
|
4050
|
+
}, Ia = class e extends DOMRect {
|
|
4055
4051
|
constructor(...e) {
|
|
4056
4052
|
super(...e), this.__symbol = Symbol("ViewportPosition");
|
|
4057
4053
|
}
|
|
@@ -4063,15 +4059,15 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4063
4059
|
let r = t;
|
|
4064
4060
|
return new e(r.x, r.y, r.width, r.height);
|
|
4065
4061
|
}
|
|
4066
|
-
},
|
|
4062
|
+
}, La = class {
|
|
4067
4063
|
constructor({ width: e, height: t }) {
|
|
4068
4064
|
this.__symbol = Symbol("AbsoluteViewport"), this.width = e, this.height = t;
|
|
4069
4065
|
}
|
|
4070
|
-
},
|
|
4066
|
+
}, Ra = class {
|
|
4071
4067
|
constructor({ width: e, height: t }) {
|
|
4072
4068
|
this.__symbol = Symbol("RelativeViewport"), this.width = e, this.height = t;
|
|
4073
4069
|
}
|
|
4074
|
-
},
|
|
4070
|
+
}, za = ({ pageIndex: e, spineItemOrId: t, spineItemsManager: n }) => {
|
|
4075
4071
|
let r = n.items, i = n.get(t);
|
|
4076
4072
|
if (!i) return;
|
|
4077
4073
|
let { currentAbsolutePage: a } = r.reduce((t, n) => {
|
|
@@ -4089,45 +4085,45 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4089
4085
|
found: !1
|
|
4090
4086
|
});
|
|
4091
4087
|
return a;
|
|
4092
|
-
},
|
|
4088
|
+
}, Ba = ({ itemHeight: e, itemWidth: t, visibleWidthOfItem: n, visibleHeightOfItem: r, threshold: i }) => {
|
|
4093
4089
|
let a = n / t, o = r / e;
|
|
4094
4090
|
return i.type === "percentage" ? a >= i.value && o >= i.value : n >= i.value && r >= i.value;
|
|
4095
|
-
},
|
|
4091
|
+
}, Va = ({ visibleWidthOfItem: e, visibleHeightOfItem: t, threshold: n, viewportPosition: r }) => {
|
|
4096
4092
|
let i = e / r.width, a = t / r.height;
|
|
4097
4093
|
return n.type === "percentage" ? a >= n.value && i >= n.value : t >= n.value && e >= n.value;
|
|
4098
|
-
},
|
|
4094
|
+
}, Ha = ({ itemPosition: { bottom: e, left: t, right: n, top: r, width: i, height: a }, threshold: o, viewportPosition: s, restrictToScreen: c }) => {
|
|
4099
4095
|
let l = s.x, u = s.x + (s.width - 1), d = s.y, f = Math.max(s.y + (s.height - 1), 0), p = Math.max(0, Math.min(n, u) - Math.max(t, l)), m = Math.max(0, Math.min(e, f) - Math.max(r, d));
|
|
4100
4096
|
if (p <= 0 || m <= 0) return { visible: !1 };
|
|
4101
|
-
let h =
|
|
4097
|
+
let h = Va({
|
|
4102
4098
|
threshold: o,
|
|
4103
4099
|
visibleHeightOfItem: m,
|
|
4104
4100
|
visibleWidthOfItem: p,
|
|
4105
4101
|
viewportPosition: s
|
|
4106
4102
|
});
|
|
4107
|
-
return c ? { visible: h } : { visible:
|
|
4103
|
+
return c ? { visible: h } : { visible: Ba({
|
|
4108
4104
|
itemHeight: a,
|
|
4109
4105
|
itemWidth: i,
|
|
4110
4106
|
threshold: o,
|
|
4111
4107
|
visibleHeightOfItem: m,
|
|
4112
4108
|
visibleWidthOfItem: p
|
|
4113
4109
|
}) || h };
|
|
4114
|
-
},
|
|
4110
|
+
}, Ua = ({ position: e, spineItemsManager: t, spineLayout: n }) => {
|
|
4115
4111
|
let r = t.items.find((t) => {
|
|
4116
4112
|
let { left: r, right: i, bottom: a, top: o } = n.getSpineItemSpineLayoutInfo(t), s = e.x >= r && e.x < i, c = e.y >= o && e.y < a;
|
|
4117
4113
|
return s && c;
|
|
4118
4114
|
});
|
|
4119
4115
|
return e.x === 0 && !r ? t.items[0] : r;
|
|
4120
|
-
},
|
|
4116
|
+
}, Wa = ({ spineItemPosition: e, itemLayout: { left: t, top: n } }) => new J({
|
|
4121
4117
|
x: t + e.x,
|
|
4122
4118
|
y: n + e.y
|
|
4123
|
-
}),
|
|
4124
|
-
let s =
|
|
4119
|
+
}), Ga = ({ position: e, threshold: t, restrictToScreen: n, spineItemsManager: r, spineLayout: i, useAbsoluteViewport: a = !0, viewport: o }) => {
|
|
4120
|
+
let s = Ua({
|
|
4125
4121
|
position: e,
|
|
4126
4122
|
spineItemsManager: r,
|
|
4127
4123
|
spineLayout: i
|
|
4128
|
-
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l =
|
|
4124
|
+
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l = Fa(e, o.absoluteViewport, c), u = Ia.from(l, c), d = [];
|
|
4129
4125
|
for (let e of r.items) {
|
|
4130
|
-
let { visible: r } =
|
|
4126
|
+
let { visible: r } = Ha({
|
|
4131
4127
|
itemPosition: i.getSpineItemSpineLayoutInfo(e),
|
|
4132
4128
|
threshold: t,
|
|
4133
4129
|
viewportPosition: u,
|
|
@@ -4142,14 +4138,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4142
4138
|
beginIndex: m ?? 0,
|
|
4143
4139
|
endIndex: h ?? 0
|
|
4144
4140
|
};
|
|
4145
|
-
},
|
|
4141
|
+
}, Ka = ({ spineItemsManager: e, context: t, spineItemLocator: n, settings: r, spineLayout: i, viewport: a }) => {
|
|
4146
4142
|
let o = (e, t) => {
|
|
4147
4143
|
let { left: n, top: r } = i.getSpineItemSpineLayoutInfo(t);
|
|
4148
4144
|
return new q({
|
|
4149
4145
|
x: Math.max(e.x - n, 0),
|
|
4150
4146
|
y: Math.max(e.y - r, 0)
|
|
4151
4147
|
});
|
|
4152
|
-
}, s = (e) =>
|
|
4148
|
+
}, s = (e) => Wa({
|
|
4153
4149
|
spineItemPosition: new q({
|
|
4154
4150
|
x: 0,
|
|
4155
4151
|
y: 0
|
|
@@ -4163,7 +4159,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4163
4159
|
return n.getSpineItemPageIndexFromNode(t, r || 0, i);
|
|
4164
4160
|
}, u = ({ position: e, threshold: t, spineItem: r, restrictToScreen: a, useAbsoluteViewport: o = !0, viewport: s }) => {
|
|
4165
4161
|
let c = r.numberOfPages, l = Array.from(Array(c)).map((e, t) => {
|
|
4166
|
-
let a =
|
|
4162
|
+
let a = Wa({
|
|
4167
4163
|
spineItemPosition: n.getSpineItemPositionFromPageIndex({
|
|
4168
4164
|
pageIndex: t,
|
|
4169
4165
|
spineItem: r
|
|
@@ -4182,8 +4178,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4182
4178
|
}
|
|
4183
4179
|
};
|
|
4184
4180
|
}).reduce((n, { absolutePosition: r, index: i }) => {
|
|
4185
|
-
let c = o ? s.absoluteViewport : s.relativeViewport, l =
|
|
4186
|
-
viewportPosition:
|
|
4181
|
+
let c = o ? s.absoluteViewport : s.relativeViewport, l = Fa(e, s.absoluteViewport, c), { visible: u } = Ha({
|
|
4182
|
+
viewportPosition: Ia.from(l, c),
|
|
4187
4183
|
restrictToScreen: a,
|
|
4188
4184
|
threshold: t,
|
|
4189
4185
|
itemPosition: r
|
|
@@ -4196,11 +4192,11 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4196
4192
|
};
|
|
4197
4193
|
};
|
|
4198
4194
|
return {
|
|
4199
|
-
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) =>
|
|
4195
|
+
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) => Wa({
|
|
4200
4196
|
itemLayout: i.getSpineItemSpineLayoutInfo(e),
|
|
4201
4197
|
spineItemPosition: t
|
|
4202
4198
|
}),
|
|
4203
|
-
_getAbsolutePageIndexFromPageIndex: (n) =>
|
|
4199
|
+
_getAbsolutePageIndexFromPageIndex: (n) => za({
|
|
4204
4200
|
...n,
|
|
4205
4201
|
context: t,
|
|
4206
4202
|
settings: r,
|
|
@@ -4208,7 +4204,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4208
4204
|
spineLayout: i
|
|
4209
4205
|
}),
|
|
4210
4206
|
getSpineItemPagePositionFromSpinePosition: (t) => {
|
|
4211
|
-
let r =
|
|
4207
|
+
let r = Ua({
|
|
4212
4208
|
position: t,
|
|
4213
4209
|
spineItemsManager: e,
|
|
4214
4210
|
spineLayout: i
|
|
@@ -4229,14 +4225,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4229
4225
|
},
|
|
4230
4226
|
getSpinePositionFromSpineItem: s,
|
|
4231
4227
|
getSpineItemPositionFromSpinePosition: o,
|
|
4232
|
-
getSpineItemFromPosition: (t) =>
|
|
4228
|
+
getSpineItemFromPosition: (t) => Ua({
|
|
4233
4229
|
position: t,
|
|
4234
4230
|
spineItemsManager: e,
|
|
4235
4231
|
spineLayout: i
|
|
4236
4232
|
}),
|
|
4237
4233
|
getSpineItemFromIframe: c,
|
|
4238
4234
|
getSpineItemPageIndexFromNode: l,
|
|
4239
|
-
getVisibleSpineItemsFromPosition: (t) =>
|
|
4235
|
+
getVisibleSpineItemsFromPosition: (t) => Ga({
|
|
4240
4236
|
settings: r,
|
|
4241
4237
|
spineItemsManager: e,
|
|
4242
4238
|
spineLayout: i,
|
|
@@ -4260,7 +4256,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4260
4256
|
});
|
|
4261
4257
|
}
|
|
4262
4258
|
};
|
|
4263
|
-
},
|
|
4259
|
+
}, qa = class extends Q {
|
|
4264
4260
|
constructor(e) {
|
|
4265
4261
|
super(), this.spineItemsManager = e;
|
|
4266
4262
|
let t = e.items;
|
|
@@ -4272,7 +4268,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4272
4268
|
item: e
|
|
4273
4269
|
}))))).pipe(O()), this.itemLoad$ = E(...t.map((e) => e.loaded$.pipe(T(() => e)))).pipe(O()), this.itemUnload$ = E(...t.map((e) => e.unloaded$.pipe(T(() => e)))).pipe(O());
|
|
4274
4270
|
}
|
|
4275
|
-
},
|
|
4271
|
+
}, Ja = class extends Q {
|
|
4276
4272
|
constructor(e, t, n, r, i) {
|
|
4277
4273
|
super(), this.spineItemsManager = e, this.spineItemsObserver = t, this.context = n, this.settings = r, this.viewport = i, this.externalLayoutTrigger = new m(), this.spineItemsRelativeLayouts = [];
|
|
4278
4274
|
let a = E(t.itemLoad$, t.itemUnload$).pipe(T(() => ({ immediate: !1 }))), o = E(this.externalLayoutTrigger, a);
|
|
@@ -4310,7 +4306,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4310
4306
|
}
|
|
4311
4307
|
getSpineItemSpineLayoutInfo(e) {
|
|
4312
4308
|
let t = this.spineItemsManager.getSpineItemIndex(e) ?? 0;
|
|
4313
|
-
return this.spineItemsRelativeLayouts[t] || new
|
|
4309
|
+
return this.spineItemsRelativeLayouts[t] || new dn({
|
|
4314
4310
|
left: 0,
|
|
4315
4311
|
right: 0,
|
|
4316
4312
|
top: 0,
|
|
@@ -4340,7 +4336,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4340
4336
|
};
|
|
4341
4337
|
}
|
|
4342
4338
|
createSpineItemLayout(e, t, n, r, i, a, o) {
|
|
4343
|
-
if (e) return new
|
|
4339
|
+
if (e) return new dn({
|
|
4344
4340
|
left: n,
|
|
4345
4341
|
right: i + n,
|
|
4346
4342
|
top: r,
|
|
@@ -4351,7 +4347,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4351
4347
|
y: r
|
|
4352
4348
|
});
|
|
4353
4349
|
let s = t ? o - n - i : n;
|
|
4354
|
-
return new
|
|
4350
|
+
return new dn({
|
|
4355
4351
|
right: t ? o - n : n + i,
|
|
4356
4352
|
left: s,
|
|
4357
4353
|
x: s,
|
|
@@ -4362,16 +4358,16 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4362
4358
|
y: r
|
|
4363
4359
|
});
|
|
4364
4360
|
}
|
|
4365
|
-
},
|
|
4361
|
+
}, Ya = class extends Q {
|
|
4366
4362
|
constructor(e, t, n, r, i, a) {
|
|
4367
|
-
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spineItemLocator = r, this.settings = i, this.viewport = a, this.elementSubject = new l(void 0), this.element$ = this.elementSubject.asObservable(), this.spineItemsObserver = new
|
|
4363
|
+
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spineItemLocator = r, this.settings = i, this.viewport = a, this.elementSubject = new l(void 0), this.element$ = this.elementSubject.asObservable(), this.spineItemsObserver = new qa(n), this.spineLayout = new Ja(n, this.spineItemsObserver, e, i, a), this.locator = Ka({
|
|
4368
4364
|
context: e,
|
|
4369
4365
|
spineItemsManager: n,
|
|
4370
4366
|
spineItemLocator: r,
|
|
4371
4367
|
settings: i,
|
|
4372
4368
|
spineLayout: this.spineLayout,
|
|
4373
4369
|
viewport: a
|
|
4374
|
-
}), this.spineItemsLoader = new
|
|
4370
|
+
}), this.spineItemsLoader = new Pa(this.context, n, this.locator, i, this.spineLayout, this.viewport), this.pages = new br(this.spineLayout, this.spineItemsManager, this.spineItemLocator, this.context, this.locator, this.viewport);
|
|
4375
4371
|
let o = e.watch("rootElement").pipe(xe(K), I(() => {
|
|
4376
4372
|
let e = this.context.document.createElement("div");
|
|
4377
4373
|
e.style.cssText = "\n height: 100%;\n position: relative;\n ", e.className = `${X}-spine`, this.elementSubject.next(e);
|
|
@@ -4397,7 +4393,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4397
4393
|
destroy() {
|
|
4398
4394
|
super.destroy(), this.pages.destroy(), this.spineItemsLoader.destroy(), this.elementSubject.getValue()?.remove(), this.elementSubject.complete();
|
|
4399
4395
|
}
|
|
4400
|
-
},
|
|
4396
|
+
}, Xa = class extends At {
|
|
4401
4397
|
onUnload() {}
|
|
4402
4398
|
onCreateDocument() {
|
|
4403
4399
|
return D(this.context.document.createElement("div"));
|
|
@@ -4412,10 +4408,10 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4412
4408
|
return u;
|
|
4413
4409
|
}
|
|
4414
4410
|
getDocumentFrame() {}
|
|
4415
|
-
},
|
|
4411
|
+
}, Za = class extends Q {
|
|
4416
4412
|
constructor(e, t, n, i, a, s, c) {
|
|
4417
4413
|
super(), this.item = e, this.containerElement = t, this.context = n, this.hookManager = i, this.renderer = a, this.settings = s, this.viewport = c, this.layoutTriggerSubject = new m(), this.lastLayout = null, this.computeLayoutInformation = ({ isLastItem: e, horizontalOffset: t, spreadPosition: n }) => {
|
|
4418
|
-
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c =
|
|
4414
|
+
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c = ki(s);
|
|
4419
4415
|
if (this.settings.values.computedSpreadMode) {
|
|
4420
4416
|
!c && this.renderer.renditionLayout === "reflowable" && !e && (i = this.viewport.value.pageSize.width * 2), !c && this.renderer.renditionLayout === "reflowable" && e && o && (i = this.viewport.value.pageSize.width * 2);
|
|
4421
4417
|
let t = o && e && c, s = r(this.item);
|
|
@@ -4497,7 +4493,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4497
4493
|
height: e.height ? parseFloat(e.height) : 0
|
|
4498
4494
|
};
|
|
4499
4495
|
}
|
|
4500
|
-
},
|
|
4496
|
+
}, Qa = class extends U {
|
|
4501
4497
|
constructor(e, t, n, r, i, a) {
|
|
4502
4498
|
super({
|
|
4503
4499
|
isLoaded: !1,
|
|
@@ -4518,7 +4514,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4518
4514
|
this.mergeCompare({ isDirty: !0 });
|
|
4519
4515
|
}, this.destroy = () => {
|
|
4520
4516
|
this.isDestroyed || (super.destroy(), this._layout.destroy(), this.renderer.destroy(), this.containerElement.remove());
|
|
4521
|
-
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement =
|
|
4517
|
+
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement = $a(e, t.document);
|
|
4522
4518
|
let o = this.settings.values.getRenderer?.(e);
|
|
4523
4519
|
this.resourcesHandler = new Mt(e, this.settings);
|
|
4524
4520
|
let s = {
|
|
@@ -4530,7 +4526,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4530
4526
|
resourcesHandler: this.resourcesHandler,
|
|
4531
4527
|
viewport: this.viewport
|
|
4532
4528
|
};
|
|
4533
|
-
this.renderer = o ? o(s) : new
|
|
4529
|
+
this.renderer = o ? o(s) : new Xa(s), this._layout = new Za(e, this.containerElement, t, r, this.renderer, this.settings, this.viewport);
|
|
4534
4530
|
let c = this.renderer.state$.pipe(I(({ state: e, error: t }) => {
|
|
4535
4531
|
this.mergeCompare({
|
|
4536
4532
|
isLoaded: e === "loaded",
|
|
@@ -4567,7 +4563,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4567
4563
|
return this._layout.layoutInfo;
|
|
4568
4564
|
}
|
|
4569
4565
|
get numberOfPages() {
|
|
4570
|
-
return
|
|
4566
|
+
return da({
|
|
4571
4567
|
isUsingVerticalWriting: !!this.isUsingVerticalWriting(),
|
|
4572
4568
|
itemHeight: this._layout.layoutInfo.height,
|
|
4573
4569
|
itemWidth: this._layout.layoutInfo.width,
|
|
@@ -4577,12 +4573,12 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4577
4573
|
pageTurnMode: this.settings.values.pageTurnMode
|
|
4578
4574
|
});
|
|
4579
4575
|
}
|
|
4580
|
-
},
|
|
4576
|
+
}, $a = (e, t) => {
|
|
4581
4577
|
let n = t.createElement("div");
|
|
4582
|
-
return n.setAttribute(`data-${
|
|
4583
|
-
},
|
|
4578
|
+
return n.setAttribute(`data-${Tn}`, ""), n.classList.add("spineItem"), n.classList.add(`spineItem-${e.renditionLayout ?? "reflowable"}`), n.style.cssText = "\n position: absolute;\n overflow: hidden;\n ", n.dataset.isReady = "false", n;
|
|
4579
|
+
}, eo = class extends Q {
|
|
4584
4580
|
constructor(e, t, n, r) {
|
|
4585
|
-
super(), this.context = e, this.settings = t, this.hookManager = n, this.viewport = r, this.items = e.manifest.spineItems.map((i, a) => new
|
|
4581
|
+
super(), this.context = e, this.settings = t, this.hookManager = n, this.viewport = r, this.items = e.manifest.spineItems.map((i, a) => new Qa(i, e, t, n, a, r));
|
|
4586
4582
|
}
|
|
4587
4583
|
get(e) {
|
|
4588
4584
|
return typeof e == "number" ? this.items[e] : typeof e == "string" ? this.items.find(({ item: t }) => t.id === e) : e;
|
|
@@ -4592,17 +4588,17 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4592
4588
|
return n > r ? "after" : n === r ? "same" : "before";
|
|
4593
4589
|
}
|
|
4594
4590
|
getSpineItemIndex(e) {
|
|
4595
|
-
return (e instanceof
|
|
4591
|
+
return (e instanceof Qa ? e : this.get(e))?.index;
|
|
4596
4592
|
}
|
|
4597
4593
|
destroy() {
|
|
4598
4594
|
this.items.forEach((e) => {
|
|
4599
4595
|
e.destroy();
|
|
4600
4596
|
}), super.destroy();
|
|
4601
4597
|
}
|
|
4602
|
-
},
|
|
4598
|
+
}, to = class extends U {
|
|
4603
4599
|
constructor(e, t) {
|
|
4604
4600
|
let n = e.document.createElement("div");
|
|
4605
|
-
n.setAttribute(`data-${
|
|
4601
|
+
n.setAttribute(`data-${Cn}`, ""), super({
|
|
4606
4602
|
element: n,
|
|
4607
4603
|
pageSize: {
|
|
4608
4604
|
width: 1,
|
|
@@ -4625,7 +4621,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4625
4621
|
}
|
|
4626
4622
|
syncAbsoluteViewportCssVariables(e) {
|
|
4627
4623
|
let { style: t } = this.value.element;
|
|
4628
|
-
e.width > 0 ? z(t,
|
|
4624
|
+
e.width > 0 ? z(t, En, `${e.width}px`) : B(t, En), e.height > 0 ? z(t, Dn, `${e.height}px`) : B(t, Dn);
|
|
4629
4625
|
}
|
|
4630
4626
|
layout() {
|
|
4631
4627
|
let e = {
|
|
@@ -4638,7 +4634,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4638
4634
|
}), this.layoutSubject.next();
|
|
4639
4635
|
}
|
|
4640
4636
|
get absoluteViewport() {
|
|
4641
|
-
return new
|
|
4637
|
+
return new La({
|
|
4642
4638
|
width: this.value.width,
|
|
4643
4639
|
height: this.value.height
|
|
4644
4640
|
});
|
|
@@ -4652,7 +4648,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4652
4648
|
}
|
|
4653
4649
|
get relativeViewport() {
|
|
4654
4650
|
let e = this.absoluteViewport, t = this.scaleFactor;
|
|
4655
|
-
return new
|
|
4651
|
+
return new Ra({
|
|
4656
4652
|
width: e.width / t,
|
|
4657
4653
|
height: e.height / t
|
|
4658
4654
|
});
|
|
@@ -4660,12 +4656,12 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4660
4656
|
destroy() {
|
|
4661
4657
|
super.destroy(), this.layoutSubject.complete(), this.value.element.remove();
|
|
4662
4658
|
}
|
|
4663
|
-
},
|
|
4664
|
-
let i = crypto.randomUUID(), a = `${
|
|
4659
|
+
}, no = ({ manifest: e, cfi: t, ownerDocument: n = globalThis.document, ...r }) => {
|
|
4660
|
+
let i = crypto.randomUUID(), a = `${xn}-core-${i}`, o = new m(), s = new m(), c = new Ni(), l = new ji(e, n), u = new Na(r, l), d = new Mi(l, u), f = new to(l, u), p = new eo(l, u, c, f), h = new Oi(c, p), g = ma({
|
|
4665
4661
|
context: l,
|
|
4666
4662
|
settings: u,
|
|
4667
4663
|
viewport: f
|
|
4668
|
-
}), _ = new
|
|
4664
|
+
}), _ = new Aa(l, p), v = new Ya(l, _, p, g, u, f), y = ka({
|
|
4669
4665
|
cfi: h,
|
|
4670
4666
|
context: l,
|
|
4671
4667
|
spineItemsManager: p,
|
|
@@ -4673,15 +4669,15 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4673
4669
|
spine: v,
|
|
4674
4670
|
settings: u,
|
|
4675
4671
|
viewport: f
|
|
4676
|
-
}), ee = new
|
|
4672
|
+
}), ee = new ja(l, _, p, v, g, y.isLocked$, h);
|
|
4677
4673
|
y.navigationState$.subscribe(l.bridgeEvent.viewportStateSubject), y.navigation$.subscribe(l.bridgeEvent.navigationSubject), y.position$.subscribe(l.bridgeEvent.positionSubject), _.subscribe(l.bridgeEvent.paginationSubject);
|
|
4678
4674
|
let te = (e = {}) => {
|
|
4679
4675
|
o.next(e);
|
|
4680
4676
|
}, ne = (e) => {
|
|
4681
4677
|
if (l.value.rootElement) throw Error("This reader is already mounted. A reader renders a single book, destroy it and create a new reader instead.");
|
|
4682
4678
|
if (e.ownerDocument !== l.document) throw Error("The container element must belong to the reader's document. Pass `ownerDocument` to `createReader` when mounting into a foreign document (eg: an iframe's contentDocument).");
|
|
4683
|
-
L.log("mount", { containerElement: e }), $e(l.document, a,
|
|
4684
|
-
let t =
|
|
4679
|
+
L.log("mount", { containerElement: e }), $e(l.document, a, Pi);
|
|
4680
|
+
let t = ao(e, i);
|
|
4685
4681
|
l.update({ rootElement: t }), te({ immediate: !0 });
|
|
4686
4682
|
}, re = u.watch(["computedSpreadMode"]).pipe(De(1), I(() => te())), ie = E(o.pipe(I((e) => {
|
|
4687
4683
|
l.value.rootElement && (f.layout(), v.layout(e));
|
|
@@ -4699,7 +4695,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4699
4695
|
mount: ne,
|
|
4700
4696
|
destroy: () => {
|
|
4701
4697
|
let e = l.value.rootElement;
|
|
4702
|
-
e && (et(l.document, a),
|
|
4698
|
+
e && (et(l.document, a), oo(e)), ie.unsubscribe(), p.destroy(), ee.destroy(), u.destroy(), _.destroy(), l.destroy(), y.destroy(), v.destroy(), d.destroy(), s.next(), s.complete(), f.destroy();
|
|
4703
4699
|
},
|
|
4704
4700
|
pagination: {
|
|
4705
4701
|
get state() {
|
|
@@ -4718,17 +4714,17 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4718
4714
|
features: d,
|
|
4719
4715
|
$: { destroy$: s }
|
|
4720
4716
|
};
|
|
4721
|
-
},
|
|
4722
|
-
e.classList.remove(
|
|
4723
|
-
},
|
|
4717
|
+
}, ro = `${X}-reader`, io = "data-prose-reader-container", ao = (e, t) => (e.classList.add(ro), R(e, Sn, t), R(e, io, t), e), oo = (e) => {
|
|
4718
|
+
e.classList.remove(ro), e.removeAttribute(Sn), e.removeAttribute(io);
|
|
4719
|
+
}, so = ti(Ot(ai(Dt(ct(ii(_i(dr(sn(Kn(lt(pt(Xr(Gn(ri(no))))))))))))))), co = (e) => (t) => e(t), lo = 5e3, uo = (e, { itemReadinessTimeoutMs: t = lo } = {}) => Zn(e).pipe(A((n) => {
|
|
4724
4720
|
if (n.boundary === "start") return D(n);
|
|
4725
4721
|
let r = e.spineItemsManager.items, i = r[r.length - 1];
|
|
4726
4722
|
return i ? i.value.isReady ? D(n) : i.isReady$.pipe(x(Boolean), S(), T(() => n), t === Infinity ? ce : _e({
|
|
4727
4723
|
first: t,
|
|
4728
4724
|
with: () => u
|
|
4729
|
-
}),
|
|
4725
|
+
}), Xn(e.navigation)) : u;
|
|
4730
4726
|
}), O());
|
|
4731
4727
|
//#endregion
|
|
4732
|
-
export {
|
|
4728
|
+
export { pn as AbstractSpinePosition, Dn as CSS_VAR_ABSOLUTE_VIEWPORT_HEIGHT, En as CSS_VAR_ABSOLUTE_VIEWPORT_WIDTH, Oi as CfiManager, ji as Context, Ri as ControlledNavigationController, Q as DestroyableClass, At as DocumentRenderer, Mi as Features, Sn as HTML_ATTRIBUTE_DATA_READER_ID, X as HTML_PREFIX, wn as HTML_PREFIX_SCROLL_NAVIGATOR, Tn as HTML_PREFIX_SPINE_ITEM, Cn as HTML_PREFIX_VIEWPORT, xn as HTML_STYLE_PREFIX, Ni as HookManager, aa as InternalNavigator, cn as LayoutEntry, Xi as Locker, bn as PAGINATION_UPDATE_AFTER_VIEWPORT_ADJUSTMENT_DEBOUNCE, vn as PROSE_READER_NAMESPACE, br as Pages, Aa as Pagination, ja as PaginationController, U as ReactiveEntity, Mt as ResourceHandler, mr as ResourcesLocator, fi as ScrollNavigationController, ui as ScrollPosition, Ma as SettingsManager, Ya as Spine, Qa as SpineItem, un as SpineItemPageLayout, fn as SpineItemPageSpineLayout, q as SpineItemPosition, dn as SpineItemSpineLayout, eo as SpineItemsManager, qa as SpineItemsObserver, J as SpinePosition, di as UnboundScrollPosition, ln as UnboundSpineItemPagePosition, Y as UnboundSpinePosition, yn as VIEWPORT_ADJUSTMENT_THROTTLE, to as Viewport, pr as consolidate, so as createReader, St as deferIdle, bt as deferNextResult, bi as generateCfiForSpineItemPage, xi as generateCfiFromRange, vi as generateRootCfi, nt as getAttributeValueFromString, mt as getBase64FromBlob, at as getFrameViewportInfo, Si as getItemAnchor, sn as htmlEnhancer, xt as idle, $e as injectCSS, rt as injectCSSToFrame, K as isDefined, Ze as isHtmlElement, V as isHtmlTagElement, wi as isRootCfi, a as isShallowEqual, Gn as layoutEnhancer, gt as mapKeysTo, uo as observeBookBoundaryReached, wt as observeIntersection, Ct as observeMutation, Yn as observeNextSettledNavigation, vt as observeResize, Jn as observeSettledNavigation, Xr as paginationEnhancer, Ei as parseCfi, ht as pick, Ie as removeAttributeIfPresent, it as removeCSS, B as removeStylePropertyIfPresent, Di as resolveCfi, co as rootEnhancer, R as setAttributeIfChanged, Le as setPropertyIfChanged, z as setStylePropertyIfChanged, Hn as shouldEnableSpreadModeForViewport, Un as shouldUseComputedSpreadModeForViewport, gr as spinePositionToSpineItemSpineLayout, Xn as takeUntilNextNavigationSettled, H as upsertCSSToFrame, ot as waitForFrameLoad, st as waitForFrameReady, qn as waitForNavigationSettled, yt as waitForSwitch, _t as watchKeys };
|
|
4733
4729
|
|
|
4734
4730
|
//# sourceMappingURL=index.js.map
|