@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/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 = async (e, t) => {
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
- }, zt = [
811
+ }, Bt = [
811
812
  ".txt",
812
813
  ".jpg",
813
814
  ".jpeg",
814
815
  ".png",
815
- ".webp"
816
- ], Bt = [
817
- "text/plain",
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
- }, Ht = ({ item: e, resourcesHandler: t }) => {
821
+ }, Ut = ({ item: e, resourcesHandler: t }) => {
826
822
  let n = (e, t) => {
827
- Vt(e);
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 = zt.some((t) => e.href.endsWith(t)) || e.mediaType && Bt.includes(e.mediaType);
833
- return i instanceof URL && e.href.startsWith(window.location.origin) && !a ? (Vt(r), r?.setAttribute("src", i.href), D(r)) : (i instanceof URL ? C(t.fetchResource()) : D(i)).pipe(A((t) => {
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 Rt(t, e);
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
- }, Ut = (e) => {
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
- }, Wt = "body{margin:0}html,body{width:100%;height:100%}html[data-prose-reader-html-renderer-has-viewport-dimensions=false] body{display:flex}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=left] body{justify-content:flex-end}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=right] body{justify-content:flex-start}html[data-prose-reader-html-renderer-has-viewport-dimensions=false][data-prose-reader-html-renderer-spread-position=none] body{justify-content:center}:not(html.prose-reader-html-renderer-touch-enabled),:not(html.prose-reader-html-renderer-touch-enabled) body{touch-action:none}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;display:flex}html[data-prose-reader-html-renderer-has-viewport-dimensions=false] img{object-fit:contain;max-width:100%;height:100%}", Gt = ({ pageHeight: e, pageWidth: t, frameElement: n }) => {
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
- }, Kt = /* @__PURE__ */ new WeakMap(), W = (e, t, n) => {
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
- }, qt = (e, t) => {
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
- }, Jt = (e, t, n) => {
862
+ }, Yt = (e, t, n) => {
867
863
  let r = e.contentDocument?.documentElement;
868
864
  r && r.getAttribute(t) !== n && r.setAttribute(t, n);
869
- }, Yt = ({ hasViewportDimensions: e, viewportWidth: t, viewportHeight: n, computedScale: r, spreadPosition: i, blankPagePosition: a, isRTL: o, pageWidth: s, pageHeight: c }) => [
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("|"), Xt = ({ frameElement: e, viewportDimensions: t, computedScale: n, spreadPosition: r, blankPagePosition: i, isRTL: a, pageWidth: o }) => {
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
- }, Zt = ({ minPageSpread: e, blankPagePosition: t, spreadPosition: n, pageHeight: r, pageWidth: i, frameElement: a, isRTL: o }) => {
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 } = Gt({
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 = Yt({
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 Kt.get(a) === f ? {
901
+ return qt.get(a) === f ? {
906
902
  width: s,
907
903
  height: d
908
- } : (Kt.set(a, f), Jt(a, "data-prose-reader-html-renderer-has-viewport-dimensions", l.toString()), e ? qt(a, {
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
- }) : qt(a, {
907
+ }) : Jt(a, {
912
908
  width: u,
913
909
  height: d
914
- }), Xt({
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
- }, Qt = () => "\n body {\n margin: 0;\n }\n html {\n width: 100%;\n height: 100%;\n }\n body {\n width: 100%;\n height: 100%;\n margin: 0;\n }\n \n html, body {\n touch-action: none;\n }\n ", $t = ({ isScrollable: e, enableTouch: t }) => `
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
- `, en = ({ width: e, columnHeight: t, columnWidth: n }) => `
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
- `, tn = ({ isUsingVerticalWriting: e, minimumWidth: t, pageHeight: n, pageWidth: r }) => {
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
- }, nn = (e, t) => {
1007
+ }, rn = (e, t) => {
1012
1008
  z(e.style, "width", `${t.width}px`), z(e.style, "height", `${t.height}px`);
1013
- }, rn = ({ pageHeight: e, pageWidth: t, frameElement: n, manifest: r, renditionFlow: i, minPageSpread: a, isRTL: o, blankPagePosition: s, isImageType: c, enableTouch: l, isUsingVerticalWriting: u }) => {
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 } = Gt({
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", Qt()), nn(n, {
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 ? $t({
1023
+ else if (H(n, "prose-reader-css", c ? en({
1028
1024
  isScrollable: i === "scrolled-continuous",
1029
1025
  enableTouch: l
1030
- }) : en(tn({
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, nn(n, {
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, nn(n, {
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, nn(n, {
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
- }, an = class extends At {
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 = Ut(this.context.document);
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(Ht({
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", Wt) : this.isImageType();
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), Vt(e), this.detach();
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(Zt({
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(rn({
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
- }, on = (e) => (t) => {
1154
+ }, sn = (e) => (t) => {
1159
1155
  let n = e({
1160
1156
  ...t,
1161
1157
  getRenderer(e) {
1162
- return t.getRenderer?.(e) ?? ((e) => new an(e));
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 sn = class {
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
- }, cn = class {
1181
+ }, ln = class {
1186
1182
  constructor(e) {
1187
1183
  this.__symbol = Symbol("SpineItemPagePosition"), this.x = e.x, this.y = e.y;
1188
1184
  }
1189
- }, ln = class extends sn {
1185
+ }, un = class extends cn {
1190
1186
  constructor(...e) {
1191
1187
  super(...e), this.__symbol = "SpineItemPageLayout";
1192
1188
  }
1193
- }, un = class extends sn {
1189
+ }, dn = class extends cn {
1194
1190
  constructor(...e) {
1195
1191
  super(...e), this.__symbol = "SpineItemSpineLayout";
1196
1192
  }
1197
- }, dn = class extends sn {
1193
+ }, fn = class extends cn {
1198
1194
  constructor(...e) {
1199
1195
  super(...e), this.__symbol = "SpineItemPageSpineLayout";
1200
1196
  }
1201
- }, fn = class {
1197
+ }, pn = class {
1202
1198
  constructor(e) {
1203
1199
  this.x = e.x, this.y = e.y;
1204
1200
  }
1205
- }, J = class e extends fn {
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 fn {
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
- }, pn = (e, t) => {
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
- }, mn = (e, t) => new Y(pn(e, t)), hn = (e) => ({ getSpinePositionFromClientPosition: (t) => e.spine.element ? mn(t, e.spine.element) : void 0 }), gn = (e) => {
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
- }, _n = "@prose-reader/core", vn = 0, yn = 200, X = "prose-reader", bn = `${X}-style`, xn = `data-${X}-id`, Sn = `${X}-viewport`, Cn = `${X}-scroll-navigator`, wn = `${X}-spine-item`, Tn = `--${X}-absolute-viewport-width`, En = `--${X}-absolute-viewport-height`, Dn = `${X}-enhancer-loading`, On = `${Dn}-container`, kn = `${Dn}-logo`, An = `${Dn}-details`, jn = ({ container: e, item: t }) => {
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(On);
1232
+ n.classList.add(kn);
1237
1233
  let r = n.ownerDocument.createElement("div");
1238
- r.classList.add(kn), r.innerText = "prose";
1234
+ r.classList.add(An), r.innerText = "prose";
1239
1235
  let i = n.ownerDocument.createElement("div");
1240
- return i.classList.add(An), i.setAttribute("data-details-element", "true"), i.innerText = `loading ${t.id}`, n.appendChild(r), n.appendChild(i), n;
1241
- }, Mn = (e) => e === "sepia" ? "#939393" : "rgb(202, 202, 202)", Nn = ({ loadingElement: e, theme: t }) => {
1242
- z(e.style, "color", Mn(t));
1243
- }, Pn = (e) => {
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 = jn({
1243
+ let i = Mn({
1248
1244
  container: n,
1249
1245
  item: r
1250
1246
  });
1251
- Nn({
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 && Nn({
1260
+ e && Pn({
1265
1261
  loadingElement: e,
1266
1262
  theme: n
1267
1263
  });
1268
1264
  }
1269
1265
  })));
1270
- }, Fn = (e) => {
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
- }, In = (e) => {
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
- }, Ln = (e) => e.spineItemsObserver.itemStateChange$.pipe(M(({ item: e, isReady: t, isDirty: n }) => {
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
- })), Rn = class extends Tt {
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
- }, zn = ({ manifest: e, spreadMode: t }) => e.renditionFlow !== "scrolled-continuous" && t, Bn = (e) => e === void 0 || e === "auto" || e === "landscape" || e === "both", Vn = ({ manifest: e, viewport: t }) => {
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 && Bn(e.renditionSpread));
1306
- }, Hn = ({ manifest: e, viewport: t }) => zn({
1301
+ return !!(!n && e.renditionSpread === "portrait" || n && Vn(e.renditionSpread));
1302
+ }, Un = ({ manifest: e, viewport: t }) => Bn({
1307
1303
  manifest: e,
1308
- spreadMode: Vn({
1304
+ spreadMode: Hn({
1309
1305
  manifest: e,
1310
1306
  viewport: t
1311
1307
  })
1312
- }), Un = (e) => v([e.viewport.watch(["width", "height"]), e.context.watch("manifest")]).pipe(M(([t, n]) => e.settings.update({ spreadMode: Vn({
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
- }) }))), Wn = (e) => (t) => {
1316
- let { pageHorizontalMargin: r, pageVerticalMargin: i, layoutAutoResize: a, layoutLayerTransition: o } = t, s = e(t), c = new Rn({
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
- }), In(s), Fn(s), s.hookManager.register("item.onDocumentCreated", ({ documentContainer: e }) => {
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 = gn(s);
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, Ln(s), Un(s), Pn(s)).pipe(F(s.$.destroy$)).subscribe(), {
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: hn(s)
1379
+ coordinates: gn(s)
1384
1380
  };
1385
- }, Gn = (e) => (t) => {
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
- }, Kn = (e) => (t) => t.pipe(A((t) => e.pipe(x((e) => e === "free"), S(), T(() => t)))), qn = ({ navigation$: e, navigationState$: t }) => e.pipe(Kn(t)), Jn = (e) => qn(e).pipe(fe(1)), Yn = (e) => (t) => t.pipe(j(Jn(e))), Xn = (e) => e.navigation.navigation$.pipe(x((e) => e.triggeredBy === "user"), Kn(e.navigation.navigationState$), T((t) => {
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()), Zn = (e, t) => e.links$.pipe(M((n) => {
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"), Qn = ({ position: e, spineItem: t, pageHeight: n, pageWidth: r, spineItemLocator: i }) => {
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
- }, $n = ({ position: e, navigationResolver: t, computedPageTurnDirection: n, spineItemsManager: r, spineLocator: i, viewport: a }) => {
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 = Qn({
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
- }, er = ({ position: e, spineItem: t, context: n, navigationResolver: r, spineItemsManager: i, spineLocator: a, computedPageTurnDirection: o, viewport: s, settings: c }) => {
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 = $n({
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 = $n({
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
- }, tr = ({ position: e, spineItem: t, pageHeight: n, pageWidth: r, spineItemLocator: i }) => {
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
- }, nr = ({ position: e, navigationResolver: t, computedPageTurnDirection: n, spineItemsManager: r, spineLocator: i, viewport: a }) => {
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 = tr({
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
- }, rr = ({ position: e, spineItem: t, context: n, navigationResolver: r, spineItemsManager: i, spineLocator: a, computedPageTurnDirection: o, viewport: s, settings: c }) => {
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 = nr({
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 = nr({
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
- }, ir = class {
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(rr);
1592
+ return this.turnWith(ir);
1597
1593
  }
1598
1594
  turnLeftOrTop() {
1599
- return this.turnWith(er);
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
- }, ar = class extends U {
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
- }, or = 500, sr = class extends Q {
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(or, h), S(), M(() => {
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
- }, cr = (e) => e.pagination.state$.pipe(N(e.settings.values$), T(([t, { computedPageTurnDirection: n }]) => {
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)), lr = ({ reader: e, duration: t }) => (n) => {
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
- }, ur = (e) => (t) => {
1805
- let n = e(t), r = cr(n), i = Xn(n), a = new ir(n), o = new ar(n), s = new sr(n.navigation.scrollNavigationController, n.navigation.lock);
1806
- E(Zn(n, a), s.navigation$.pipe(M((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(lr({
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
- }, dr = (e, t) => {
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
- }, fr = (e, t) => {
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
- }, pr = class {
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: dr(this.reader, e)
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) => fr(e.meta, this.reader).pipe(T((t) => ({
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
- }, mr = L.namespace("spine"), hr = ({ position: e, pageSize: t }) => new dn({
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
- }), gr = 10, _r = (e) => {
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
- }, vr = (e) => new f((t) => {
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 < gr;) {
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] = _r(t), r += 1, a += 1;
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
- }), yr = class e extends U {
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 }]) => vr(n.items.reduce((t, n, i) => {
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: hr({
1987
+ absoluteLayout: gr({
1992
1988
  pageSize: e,
1993
1989
  position: c
1994
1990
  }),
1995
- layout: new ln({
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) => (mr.info("Pages layout", e), { pages: e })), O()), this.layout$.pipe(j(this.destroy$)).subscribe(this.next.bind(this));
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
- }, br = (e) => {
2022
+ }, xr = (e) => {
2027
2023
  let t = e.indexOf("#");
2028
2024
  return t >= 0 ? e.substring(0, t) : e;
2029
- }, xr = (e) => {
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
- }, Sr = (e) => {
2029
+ }, Cr = (e) => {
2034
2030
  try {
2035
2031
  return decodeURIComponent(e);
2036
2032
  } catch {
2037
2033
  return e;
2038
2034
  }
2039
- }, Cr = (e, t = []) => e.flatMap((e) => {
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: xr(e.href) ?? xr(e.path)
2048
- }, ...Cr(e.contents, n)];
2049
- }), wr = (e) => {
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
- }, Tr = (e, t) => {
2055
- let n = wr(t);
2056
- return Cr(e).map((e) => {
2057
- let t = br(e.href), r = n.get(t) ?? -1;
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
- }, Er = ({ manifest: e, tocIndex: t }) => {
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 = br(a.href), o = i.get(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) Dr(e, t) && r.push(...i);
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
- }, Dr = (e, t) => e === t || e.endsWith(t) || t.endsWith(e), Or = (e, t) => {
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
- }, kr = (e) => {
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
- }, Ar = ({ doc: e, node: t, offset: n }) => {
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
- }, jr = ({ rangeToTest: e, upperBoundRange: t }) => e.compareBoundaryPoints(Range.START_TO_START, t) < 0, Mr = (e) => {
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
- }, Nr = ({ anchorNode: e, nextPageNode: t }) => e === t || e.contains(t), Pr = ({ node: e, offset: t, candidates: n, spineItem: r, nextPageEntry: i }) => {
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 ? Ar({
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 : Mr(a);
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(Sr(e.anchorId));
2134
- if (!t || l && Nr({
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), jr({
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 ? kr(p) : void 0;
2146
- }, Fr = ({ candidate: e, hrefHasAnchor: t }) => {
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 : br(n.path) === br(r.path);
2150
- }, Ir = ({ href: e, tocIndex: t, manifest: n }) => {
2151
- let r = br(e), i = e.includes("#"), a = n.spineItems.findIndex((e) => e.href === r), o;
2152
- for (let e of t) Or(r, e.hrefWithoutAnchor) && (a < e.spineItemIndex || Fr({
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
- }, Lr = (e, t, n) => {
2158
- let { href: r } = n, i = Ir({
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 ? kr(i) : void 0;
2164
- }, Rr = (e, t) => e ? e.spineItems.reduce((n, r) => (n[r.id] = Lr(e, t, r), n), {}) : {}, zr = (e, t, n) => e + t * n, Br = (e, t, n) => {
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
- }, Vr = (e, t, n, r, i, a) => i.isReady$.pipe(S(), N(e.layoutInfo$), T(([o, s]) => {
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 ? Br(e, r, i) : 0, g = zr(u, m, h)), t === l - 1 && n === p - 1 && g > .99 ? 1 : g;
2172
- })), Hr = ({ beginItem: e, endItem: t, paginationInfo: n, chaptersData: r, pagesState: i }) => {
2173
- let a = e && n.beginPageIndexInSpineItem !== void 0 ? yr.fromSpineItemPageIndex(i, e.index, n.beginPageIndexInSpineItem) : void 0, o = a ? yr.fromNextPageWithinSameSpineItem(i, a) : void 0, s = t && n.endPageIndexInSpineItem !== void 0 ? yr.fromSpineItemPageIndex(i, t.index, n.endPageIndexInSpineItem) : void 0, c = s ? yr.fromNextPageWithinSameSpineItem(i, s) : void 0, l = e ? Pr({
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 ? Pr({
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
- }, Ur = ({ items: e, pagesState: t }) => {
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
- }, Wr = (e, t) => e.numberOfTotalPages !== t.numberOfTotalPages || e.numberOfPagesPerItems.length !== t.numberOfPagesPerItems.length ? !1 : e.numberOfPagesPerItems.every((e, n) => e === t.numberOfPagesPerItems[n]), Gr = ({ reader: e, paginationInfo: t, navigationPosition: n, manifest: r }) => {
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 ? Vr(e, t.endSpineItemIndex ?? 0, t.endPageIndexInSpineItem || 0, n, i, r) : D(0);
2204
- }, Kr = (e) => D(e.context.manifest).pipe(T((e) => {
2205
- let t = Tr(e.nav?.toc ?? [], e);
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: Er({
2203
+ tocCandidatesBySpineHref: Dr({
2208
2204
  manifest: e,
2209
2205
  tocIndex: t
2210
2206
  }),
2211
- chaptersInfo: Rr(e, t)
2207
+ chaptersInfo: zr(e, t)
2212
2208
  };
2213
- })), qr = (e) => ({
2209
+ })), Jr = (e) => ({
2214
2210
  beginSpineItemIndex: e.beginSpineItemIndex,
2215
2211
  beginPageIndexInSpineItem: e.beginPageIndexInSpineItem,
2216
2212
  endSpineItemIndex: e.endSpineItemIndex,
2217
2213
  endPageIndexInSpineItem: e.endPageIndexInSpineItem
2218
- }), Jr = (e) => {
2219
- let t = e.pagination.state$, n = e.spine.pages.layout$, r = Kr(e).pipe(k({
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(qr), b(o)),
2219
+ t.pipe(T(Jr), b(o)),
2224
2220
  r,
2225
2221
  n
2226
- ]).pipe(T(([t, n, r]) => Hr({
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) => Ur({
2235
+ n.pipe(T((t) => Wr({
2240
2236
  items: e.spineItemsManager.items,
2241
2237
  pagesState: t
2242
- })), b(Wr))
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 = qn(e.navigation).pipe(T(({ position: e }) => e), b(o));
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]) => Gr({
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
- }, Yr = (e) => (t) => {
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 pr(n), a = Jr(n).pipe(M((e) => L.log("Pagination", e))).subscribe(r);
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
- }, Xr = (e, t) => {
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
- }, Zr = ({ selection: e, spineItem: t }) => {
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 Xr({
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
- }, Qr = class extends Q {
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
- }, $r = (e) => e.watch("isLoaded").pipe(A(() => {
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 Qr(t);
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()), ei = (e) => (t) => {
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 $r(e).pipe(T((e) => {
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: Zr
2385
+ createOrderedRangeFromSelection: Qr
2390
2386
  }
2391
2387
  };
2392
- }, ti = [
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
- ], ni = (e) => (t) => {
2403
+ ], ri = (e) => (t) => {
2408
2404
  let n = e(t), r = new l(t.theme ?? "bright"), i = () => {
2409
- let e = ti.find((e) => e.name === r.value);
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 = ti.find((e) => e.name === r.value);
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
- }, ri = (e) => (t) => {
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 ii = (e) => (t) => e(t), ai = (e, t, n) => {
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
- }, oi = (e, t, n) => {
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
- }, si = (e, t, n, r) => {
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
- }, ci = class {
2479
+ }, li = class {
2484
2480
  constructor(e) {
2485
2481
  this.x = e.x, this.y = e.y;
2486
2482
  }
2487
- }, li = class extends ci {}, ui = class extends ci {
2483
+ }, ui = class extends li {}, di = class extends li {
2488
2484
  constructor(...e) {
2489
2485
  super(...e), this.__symbol = Symbol("UnboundScrollPosition");
2490
2486
  }
2491
- }, di = class extends U {
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-${Cn}`, ""), t.appendChild(this.viewport.value.element), e.appendChild(t), this.update({ element: t });
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 li({
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 li({
2537
+ return new ui({
2542
2538
  x: e?.scrollLeft ?? 0,
2543
2539
  y: e?.scrollTop ?? 0
2544
2540
  });
2545
2541
  }
2546
- }, fi = (e, t, n, r, i) => {
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 ui({
2544
+ return new di({
2549
2545
  x: f - a / 2 + r,
2550
2546
  y: p - o / 2 + i
2551
2547
  });
2552
- }, pi = (e, t) => {
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 = fi(a ?? qe(), s, e, c, l), d = e < 1 ? "down" : "up";
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
- }, mi = 200, hi = class extends U {
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 ${mi}ms`), this.mergeCompare({
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 ? mi : 0).pipe(M(() => {
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 ${mi}ms`), this.updateZoom(1, {
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 ? mi : 0).pipe(M(() => {
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) => ai(...e, this.reader.viewport) : void 0 }));
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) => ai(...e, this.reader.viewport) : void 0 });
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 || si(this.value.currentScale, e, this.viewport.element, this.value.currentPosition), i = n?.constraints?.(r, e) ?? r;
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 ? oi(e, t, this.viewport.element) : pi(e, this.reader), this.reader.viewport.layout();
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
- }, gi = (e) => (t) => {
2631
- let n = e(t), r = new hi(n), i = () => {
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
- }, _i = (e) => Ae({
2644
+ }, vi = (e) => Ae({
2649
2645
  spineIndex: e.index,
2650
2646
  spineId: e.id
2651
- }), vi = ({ nodeOrRange: e, offset: t, item: n }) => {
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 ? _i(n) : Qe(e) ? Ae({
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
- }, yi = ({ spineItem: e, pageNode: t }) => vi({
2668
+ }, bi = ({ spineItem: e, pageNode: t }) => yi({
2673
2669
  nodeOrRange: t.node,
2674
2670
  offset: t.offset,
2675
2671
  item: e
2676
- }).trim(), bi = (e, t) => vi({
2672
+ }).trim(), xi = (e, t) => yi({
2677
2673
  nodeOrRange: e,
2678
2674
  item: t
2679
- }), xi = (e) => e.index.toString(), Si = (e) => e[0]?.index === 6 && e.length > 1, Ci = (e) => je(Ne(e)), wi = (e) => Array.isArray(e) ? e[0] && Si(e[0]) ? e[0] : void 0 : e.parent[0] && Si(e.parent[0]) ? e.parent[0] : void 0, Ti = (e) => {
2680
- let t = Ne(e), n = ((wi(t) ?? [])[1]?.index ?? 2) / 2 - 1, r = Me(t);
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
- }, Ei = ({ cfi: e, spineItemsManager: t }) => {
2687
- let { itemIndex: n, ...r } = Ti(e), i = t.get(n);
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
- }, Di = class {
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) => Ti(this.transformForResolve(e)), this.getSpineItemFromCfi = (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) => Ci(e), this.generateRootCfi = (e) => this.transformGeneratedCfi({
2731
- cfi: _i(e),
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: yi({
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: bi(e, t),
2736
+ cfi: xi(e, t),
2741
2737
  spineItem: t
2742
- }), this.resolveCfi = (e) => Ei({
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
- }, Oi = (e) => e.spineItems.every((t) => (t.renditionLayout ?? e.renditionLayout) === "pre-paginated"), ki = class {
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
- }, Ai = class extends U {
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: Oi(e)
2765
- }), this.bridgeEvent = new ki(), this.isRTL = () => this.value.manifest.readingDirection === "rtl", this.document = t;
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
- }, ji = class extends U {
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
- }, Mi = class {
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
- }, Ni = "[data-prose-reader-spine-item][data-is-ready=false]{pointer-events:none;-webkit-user-select:none;user-select:none}.prose-reader-enhancer-loading-container{width:100%;height:100%;max-width:var(--prose-reader-absolute-viewport-width,100%);text-align:center;color:#cacaca;z-index:1;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}[data-prose-reader-spine-item][data-is-ready=true] .prose-reader-enhancer-loading-container{visibility:hidden;z-index:0}.prose-reader-enhancer-loading-logo{font-size:4em}.prose-reader-enhancer-loading-details{text-overflow:ellipsis;white-space:nowrap;width:80%;max-width:300px;font-size:1.2em;overflow:hidden}[data-prose-reader-scroll-navigator][data-prose-reader-zooming=true]{overflow:scroll}[data-prose-reader-scroll-navigator][data-prose-reader-zooming=true][data-prose-reader-zooming-direction=down]{overflow-x:auto}[data-prose-reader-scroll-navigator]{width:100%;height:100%;position:relative;overflow:hidden scroll}[data-prose-reader-viewport]{background-color:#fff;width:100%;height:100%;position:relative}.prose-reader-reader{background-color:#fff;position:relative;overflow:hidden}", Pi = (e) => ({
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
- }), Fi = (e) => e instanceof DOMMatrix ? new J({
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
- }), Ii = L.namespace("navigation/ControlledNavigationController"), Li = class extends Q {
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
- Ii.info("layout", e.values);
2909
- }), O()), this.isNavigating$ = this.navigateSubject.pipe(b((e, t) => a(e.position, t.position)), T(({ animation: t, position: n }) => (Ii.info("Navigation requested", {
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 = Pi(e);
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
- }) : Fi(new DOMMatrix(n));
2947
+ }) : Ii(new DOMMatrix(n));
2952
2948
  }
2953
- }, Ri = () => (e) => e.pipe(T(({ navigation: e, pagination: t, ...n }) => ({
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
- }))), zi = (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(() => ({
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
- })))), Ri(), b((e, t) => e.navigation.paginationBeginCfi === t.navigation.paginationBeginCfi), T(({ navigation: e }) => ({
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
- }))), Bi = ({ navigationResolver: e, getNavigationVisibleArea: t }) => (n) => n.pipe(T(([n, r]) => {
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
- })), Vi = ({ navigationResolver: e }) => (t) => t.pipe(T((t) => {
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
- })), Hi = ({ navigation: e, previousNavigation: t, settings: n }) => e.directionFromLastNavigation ? e.directionFromLastNavigation : e.url !== void 0 || e.cfi !== void 0 ? "anchor" : t.spineItem === void 0 || e.spineItem || !e.position ? "forward" : n.values.computedPageTurnDirection === "vertical" ? e.position.y > t.position.y || e.position.y === t.position.y && t.directionFromLastNavigation !== "backward" ? "forward" : "backward" : Math.abs(e.position.x) > Math.abs(t.position.x) || e.position.x === t.position.x && t.directionFromLastNavigation !== "backward" ? "forward" : "backward", Ui = ({ context: e, settings: t }) => (n) => n.pipe(T(({ navigation: n, previousNavigation: r }) => {
2994
- let i = Hi({
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
- })), Wi = ({ spineItemsManager: e, navigationResolver: t, settings: n, viewport: r }) => (i) => i.pipe(T(({ navigation: i, ...a }) => {
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
- })), Gi = ({ settings: e, spineItemsManager: t, navigationResolver: n, spineLocator: r, cfi: i }) => (a) => {
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
- }, Ki = ({ spine: e }) => (t) => t.pipe(A(({ navigation: t, ...n }) => {
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
- })), qi = ({ settings: e, spineItemsManager: t, spineLocator: n, navigationResolver: r }) => (i) => {
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
- }, Ji = ({ navigationResolver: e }) => (t) => t.pipe(T((t) => {
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
- })), Yi = class {
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
- }, Xi = ({ spineLocator: e, navigation: t, navigationResolver: n, spineItemsManager: r, spine: i, cfiManager: a }) => {
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
- }, Zi = ({ navigation: e, spineLocator: t, spineItemsManager: n, settings: r, navigationResolver: i, spine: a }) => {
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
- }, Qi = ({ navigation: e, spineItemsManager: t, settings: n, spineLocator: r, navigationResolver: i, spine: a, cfiManager: o }) => n.values.computedPageTurnMode === "scrollable" ? D(Zi({
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
- })) : Xi({
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
- }), $i = ({ settings: e, navigationResolver: t, context: n, spine: r, cfiManager: i }) => (a) => a.pipe(A((a) => Qi({
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
- }))))), ea = L.namespace("navigation/InternalNavigator"), ta = (e, t) => e === t || !!e && !!t && e.x === t.x && e.y === t.y, na = (e, t) => e === t || !!e && !!t && e.width === t.width && e.height === t.height, ra = (e, t) => e.id === t.id && ta(e.position, t.position) && ta(e.requestedPosition, t.requestedPosition) && na(e.requestedVisibleArea, t.requestedVisibleArea), ia = class extends Q {
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(ra), k(1)), this.locker = new Yi();
3305
- let d = n.pipe(N(this.navigationSubject), Bi({
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
- }), Ji({ navigationResolver: a }), Vi({ navigationResolver: a }), Ui({
3304
+ }), Yi({ navigationResolver: a }), Hi({ navigationResolver: a }), Wi({
3309
3305
  context: t,
3310
3306
  settings: e
3311
- }), Gi({
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
- }), qi({
3314
+ }), Ji({
3319
3315
  navigationResolver: a,
3320
3316
  settings: e,
3321
3317
  spineItemsManager: o.spineItemsManager,
3322
3318
  spineLocator: o.locator
3323
- }), Ki({ spine: o })).pipe(Wi({
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 : $i({
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
- }), qi({
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($i({
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
- } })), Gi({
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
- }), Ki({ spine: o }), qi({
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, zi(t, this.navigationSubject, o)).pipe(N(this.navigationSubject), (e) => e.pipe(M(([e]) => {
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
- ea.info(`navigation updated from ${e.meta.triggeredBy} of type ${e.type}`, {
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
- }, aa = (e, t, n) => {
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
- }, oa = (e, t) => (t || 0) === 0 || (e || 0) === 0 ? 1 : Math.floor(Math.max(1, e / t)), sa = (e, t, n) => {
3398
- let r = oa(n, t), i = [...Array(r)].map((e, n) => n * t);
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
- }, ca = (e, t, n) => {
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
- }, la = ({ itemWidth: e, itemHeight: t, spineItemPosition: n }) => new q({
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
- }), ua = ({ itemHeight: e, itemWidth: t, isUsingVerticalWriting: n, pageWidth: r, pageHeight: i, pageTurnDirection: a, pageTurnMode: o }) => a === "vertical" && o === "scrollable" ? 1 : n || a === "vertical" ? oa(e, i) : oa(t, r), da = ({ itemWidth: e, itemHeight: t, position: n, isUsingVerticalWriting: r, pageWidth: i, pageHeight: a, pageTurnDirection: o, pageTurnMode: s, isRTL: c }) => {
3407
- let l = la({
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 = ua({
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 ca(n.y, a, u);
3421
- let d = ca(l, i, u);
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
- }, fa = ({ pageIndex: e, itemLayout: t, context: n, isUsingVerticalWriting: r, viewport: i }) => {
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: aa(i.pageSize.height, e, t.height)
3422
+ y: oa(i.pageSize.height, e, t.height)
3427
3423
  });
3428
- let a = aa(i.pageSize.width, e, t.width);
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
- }, pa = ({ context: e, settings: t, viewport: n }) => {
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: sa(i, o, a),
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 }) => fa({
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) => da({
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 ? da({
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: sa(e.x, n.pageSize.width, r),
3481
- y: sa(e.y, n.pageSize.height, i)
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 = aa(c, r, o);
3488
- return new cn({
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 = aa(s, r, a);
3489
+ let l = oa(s, r, a);
3494
3490
  if (e.isRTL()) {
3495
3491
  let e = a - (r + 1) * s;
3496
- return new cn({
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 cn({
3497
+ return new ln({
3502
3498
  x: t.x - l,
3503
3499
  y: t.y
3504
3500
  });
3505
3501
  }
3506
3502
  };
3507
- }, ma = ({ context: e, settings: t, viewport: n }) => {
3508
- let r = pa({
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
- }, ha = ({ size: e, isRTL: t, spineItemsManager: n, spine: r }) => {
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
- }, ga = ({ position: e, size: t, isRTL: n, spineItemsManager: r, spine: i }) => {
3547
- let a = ha({
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
- }, _a = ({ position: e, size: t, isRTL: n, spineItemsManager: r, spine: i }) => {
3563
- let a = ha({
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
- }, va = ({ viewportPosition: e, spineLocator: t, spineItemNavigationResolver: n, viewport: r }) => {
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
- }, ya = ({ pageIndex: e, spineItemsManager: t, spineItemId: n, spineLocator: r, spineItemNavigationResolver: i, viewport: a }) => {
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 va({
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
- }, ba = (e, t) => {
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
- }, xa = ({ anchor: e, spineItem: t, spine: n }) => {
3644
- let r = ba(e, t.renderer.getDocumentFrame());
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
- }, Sa = ({ anchor: e, spineItem: t, spineLocator: n, spine: r }) => {
3647
- let i = xa({
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
- }, Ca = ({ anchor: e, spineItem: t, spineLocator: n, spine: r, pageSizeWidth: i, visibleAreaRectWidth: a }) => $({
3660
- position: Sa({
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
- }), wa = ({ spine: e, spineItemsManager: t, spineLocator: n, url: r, context: i, pageSizeWidth: a, visibleAreaRectWidth: o }) => {
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: Ca({
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
- }, Ta = ({ spineItem: e, spineItemPosition: t, spineLocator: n, spineItemLocator: r, viewport: i }) => {
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
- }, Ea = "spineNavigator", Da = ({ context: e, spineItemsManager: t, locator: n, settings: r, spine: i, viewport: a, cfi: o }) => {
3705
- let s = ma({
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) => wa({
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) => ya({
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) => Ta({
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(Ea, `unable to detect item id from cfi ${e}`);
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) => va({
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 = ga({
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 va({
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) => ga({
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) => _a({
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
- }, Oa = ({ spineItemsManager: e, context: t, hookManager: n, spine: r, settings: i, viewport: a, cfi: s }) => {
3822
- let c = new m(), l = c.asObservable(), u = new Yi(), d = s, f = Da({
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 Li(i, n, t, r, a), h = new di(a, i, n, r, t), g = [h, p], _ = new ia(i, t, l, () => g.find((e) => e.isActive()) ?? p, E(...g.flatMap((e) => e.layout$ ? [e.layout$] : [])), f, r, a, d, u.isLocked$), y = v([
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
- }, ka = class extends U {
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
- }, Aa = class extends Q {
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
- }, ja = class extends Q {
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
- }, Ma = class extends ja {
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: zn({
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
- }, Na = class extends Q {
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
- }, Pa = (e, t, n) => {
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
- }, Fa = class e extends DOMRect {
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
- }, Ia = class {
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
- }, La = class {
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
- }, Ra = ({ pageIndex: e, spineItemOrId: t, spineItemsManager: n }) => {
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
- }, za = ({ itemHeight: e, itemWidth: t, visibleWidthOfItem: n, visibleHeightOfItem: r, threshold: i }) => {
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
- }, Ba = ({ visibleWidthOfItem: e, visibleHeightOfItem: t, threshold: n, viewportPosition: r }) => {
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
- }, Va = ({ itemPosition: { bottom: e, left: t, right: n, top: r, width: i, height: a }, threshold: o, viewportPosition: s, restrictToScreen: c }) => {
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 = Ba({
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: za({
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
- }, Ha = ({ position: e, spineItemsManager: t, spineLayout: n }) => {
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
- }, Ua = ({ spineItemPosition: e, itemLayout: { left: t, top: n } }) => new J({
4116
+ }, Wa = ({ spineItemPosition: e, itemLayout: { left: t, top: n } }) => new J({
4121
4117
  x: t + e.x,
4122
4118
  y: n + e.y
4123
- }), Wa = ({ position: e, threshold: t, restrictToScreen: n, spineItemsManager: r, spineLayout: i, useAbsoluteViewport: a = !0, viewport: o }) => {
4124
- let s = Ha({
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 = Pa(e, o.absoluteViewport, c), u = Fa.from(l, c), d = [];
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 } = Va({
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
- }, Ga = ({ spineItemsManager: e, context: t, spineItemLocator: n, settings: r, spineLayout: i, viewport: a }) => {
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) => Ua({
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 = Ua({
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 = Pa(e, s.absoluteViewport, c), { visible: u } = Va({
4186
- viewportPosition: Fa.from(l, c),
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 }) => Ua({
4195
+ getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) => Wa({
4200
4196
  itemLayout: i.getSpineItemSpineLayoutInfo(e),
4201
4197
  spineItemPosition: t
4202
4198
  }),
4203
- _getAbsolutePageIndexFromPageIndex: (n) => Ra({
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 = Ha({
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) => Ha({
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) => Wa({
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
- }, Ka = class extends Q {
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
- }, qa = class extends Q {
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 un({
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 un({
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 un({
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
- }, Ja = class extends Q {
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 Ka(n), this.spineLayout = new qa(n, this.spineItemsObserver, e, i, a), this.locator = Ga({
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 Na(this.context, n, this.locator, i, this.spineLayout, this.viewport), this.pages = new yr(this.spineLayout, this.spineItemsManager, this.spineItemLocator, this.context, this.locator, this.viewport);
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
- }, Ya = class extends At {
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
- }, Xa = class extends Q {
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 = Oi(s);
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
- }, Za = class extends U {
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 = Qa(e, t.document);
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 Ya(s), this._layout = new Xa(e, this.containerElement, t, r, this.renderer, this.settings, this.viewport);
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 ua({
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
- }, Qa = (e, t) => {
4576
+ }, $a = (e, t) => {
4581
4577
  let n = t.createElement("div");
4582
- return n.setAttribute(`data-${wn}`, ""), 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;
4583
- }, $a = class extends Q {
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 Za(i, e, t, n, a, r));
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 Za ? e : this.get(e))?.index;
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
- }, eo = class extends U {
4598
+ }, to = class extends U {
4603
4599
  constructor(e, t) {
4604
4600
  let n = e.document.createElement("div");
4605
- n.setAttribute(`data-${Sn}`, ""), super({
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, Tn, `${e.width}px`) : B(t, Tn), e.height > 0 ? z(t, En, `${e.height}px`) : B(t, En);
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 Ia({
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 La({
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
- }, to = ({ manifest: e, cfi: t, ownerDocument: n = globalThis.document, ...r }) => {
4664
- let i = crypto.randomUUID(), a = `${bn}-core-${i}`, o = new m(), s = new m(), c = new Mi(), l = new Ai(e, n), u = new Ma(r, l), d = new ji(l, u), f = new eo(l, u), p = new $a(l, u, c, f), h = new Di(c, p), g = pa({
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 ka(l, p), v = new Ja(l, _, p, g, u, f), y = Oa({
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 Aa(l, _, p, v, g, y.isLocked$, h);
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, Ni);
4684
- let t = io(e, i);
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), ao(e)), ie.unsubscribe(), p.destroy(), ee.destroy(), u.destroy(), _.destroy(), l.destroy(), y.destroy(), v.destroy(), d.destroy(), s.next(), s.complete(), f.destroy();
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
- }, no = `${X}-reader`, ro = "data-prose-reader-container", io = (e, t) => (e.classList.add(no), R(e, xn, t), R(e, ro, t), e), ao = (e) => {
4722
- e.classList.remove(no), e.removeAttribute(xn), e.removeAttribute(ro);
4723
- }, oo = ei(Ot(ii(Dt(ct(ri(gi(ur(on(Gn(lt(pt(Yr(Wn(ni(to))))))))))))))), so = (e) => (t) => e(t), co = 5e3, lo = (e, { itemReadinessTimeoutMs: t = co } = {}) => Xn(e).pipe(A((n) => {
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
- }), Yn(e.navigation)) : u;
4725
+ }), Xn(e.navigation)) : u;
4730
4726
  }), O());
4731
4727
  //#endregion
4732
- export { fn as AbstractSpinePosition, En as CSS_VAR_ABSOLUTE_VIEWPORT_HEIGHT, Tn as CSS_VAR_ABSOLUTE_VIEWPORT_WIDTH, Di as CfiManager, Ai as Context, Li as ControlledNavigationController, Q as DestroyableClass, At as DocumentRenderer, ji as Features, xn as HTML_ATTRIBUTE_DATA_READER_ID, X as HTML_PREFIX, Cn as HTML_PREFIX_SCROLL_NAVIGATOR, wn as HTML_PREFIX_SPINE_ITEM, Sn as HTML_PREFIX_VIEWPORT, bn as HTML_STYLE_PREFIX, Mi as HookManager, ia as InternalNavigator, sn as LayoutEntry, Yi as Locker, yn as PAGINATION_UPDATE_AFTER_VIEWPORT_ADJUSTMENT_DEBOUNCE, _n as PROSE_READER_NAMESPACE, yr as Pages, ka as Pagination, Aa as PaginationController, U as ReactiveEntity, Mt as ResourceHandler, pr as ResourcesLocator, di as ScrollNavigationController, li as ScrollPosition, ja as SettingsManager, Ja as Spine, Za as SpineItem, ln as SpineItemPageLayout, dn as SpineItemPageSpineLayout, q as SpineItemPosition, un as SpineItemSpineLayout, $a as SpineItemsManager, Ka as SpineItemsObserver, J as SpinePosition, ui as UnboundScrollPosition, cn as UnboundSpineItemPagePosition, Y as UnboundSpinePosition, vn as VIEWPORT_ADJUSTMENT_THROTTLE, eo as Viewport, fr as consolidate, oo as createReader, St as deferIdle, bt as deferNextResult, yi as generateCfiForSpineItemPage, bi as generateCfiFromRange, _i as generateRootCfi, nt as getAttributeValueFromString, mt as getBase64FromBlob, at as getFrameViewportInfo, xi as getItemAnchor, on as htmlEnhancer, xt as idle, $e as injectCSS, rt as injectCSSToFrame, K as isDefined, Ze as isHtmlElement, V as isHtmlTagElement, Ci as isRootCfi, a as isShallowEqual, Wn as layoutEnhancer, gt as mapKeysTo, lo as observeBookBoundaryReached, wt as observeIntersection, Ct as observeMutation, Jn as observeNextSettledNavigation, vt as observeResize, qn as observeSettledNavigation, Yr as paginationEnhancer, Ti as parseCfi, ht as pick, Ie as removeAttributeIfPresent, it as removeCSS, B as removeStylePropertyIfPresent, Ei as resolveCfi, so as rootEnhancer, R as setAttributeIfChanged, Le as setPropertyIfChanged, z as setStylePropertyIfChanged, Vn as shouldEnableSpreadModeForViewport, Hn as shouldUseComputedSpreadModeForViewport, hr as spinePositionToSpineItemSpineLayout, Yn as takeUntilNextNavigationSettled, H as upsertCSSToFrame, ot as waitForFrameLoad, st as waitForFrameReady, Kn as waitForNavigationSettled, yt as waitForSwitch, _t as watchKeys };
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