@prose-reader/core 1.325.0 → 1.326.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.cjs +15 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +264 -269
- package/dist/index.js.map +1 -1
- package/dist/navigation/tests/utils.d.ts +2 -5
- package/dist/spine/Spine.d.ts +1 -3
- package/dist/spine/SpineItemsManager.d.ts +6 -7
- package/dist/spine/SpineItemsObserver.d.ts +1 -1
- package/dist/spine/SpineItemsObserver.test.d.ts +1 -0
- package/dist/spineItem/SpineItem.d.ts +2 -2
- package/dist/tests/utils.d.ts +1 -0
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -532,14 +532,14 @@ var Tt = class {
|
|
|
532
532
|
}
|
|
533
533
|
return e;
|
|
534
534
|
}));
|
|
535
|
-
return r(document).pipe(M(n.$.destroy$)).subscribe(), n.spineItemsManager.items
|
|
535
|
+
return r(document).pipe(M(n.$.destroy$)).subscribe(), T(...n.spineItemsManager.items.map((e) => e.watch("isLoaded").pipe(j(() => {
|
|
536
536
|
let t = e.renderer.getDocumentFrame();
|
|
537
537
|
return t instanceof HTMLIFrameElement && t?.contentDocument ? r(t.contentDocument) : u;
|
|
538
|
-
}))))
|
|
539
|
-
}, kt = (e) => e.spine.spineItemsManager.items
|
|
538
|
+
})))).pipe(M(n.$.destroy$)).subscribe(), n;
|
|
539
|
+
}, kt = (e) => T(...e.spine.spineItemsManager.items.map((e) => e.watch("isLoaded").pipe(j(() => {
|
|
540
540
|
let t = e.renderer.getDocumentFrame();
|
|
541
541
|
return t?.contentDocument ? T(...Array.from(t.contentDocument.querySelectorAll("a")).map((e) => C(e, "click"))) : d;
|
|
542
|
-
}))))
|
|
542
|
+
})))).pipe(N((e) => {
|
|
543
543
|
e.preventDefault();
|
|
544
544
|
}), O()), U = class extends f {
|
|
545
545
|
constructor(e) {
|
|
@@ -1252,7 +1252,7 @@ var sn = class {
|
|
|
1252
1252
|
loadingElement: i,
|
|
1253
1253
|
theme: e.theme.get()
|
|
1254
1254
|
}), t.set(n, i), n.appendChild(i);
|
|
1255
|
-
}), T(e.spineItemsObserver.
|
|
1255
|
+
}), T(e.spineItemsObserver.itemStateChange$.pipe(L(({ item: e, isError: n, error: r }) => {
|
|
1256
1256
|
if (!n) return;
|
|
1257
1257
|
let i = t.get(e.containerElement);
|
|
1258
1258
|
if (!i) return;
|
|
@@ -1279,7 +1279,7 @@ var sn = class {
|
|
|
1279
1279
|
let { hasViewport: o } = at(a), { width: s } = e.viewport.pageSize, c = i?.renderer.getDocumentFrame();
|
|
1280
1280
|
o && n === "none" && s < r && c instanceof HTMLIFrameElement && B(c.style, "left", e.context.isRTL() ? "75%" : "25%");
|
|
1281
1281
|
});
|
|
1282
|
-
}, Ln = (e) => e.spineItemsObserver.
|
|
1282
|
+
}, Ln = (e) => e.spineItemsObserver.itemStateChange$.pipe(N(({ item: e, isReady: t, isDirty: n }) => {
|
|
1283
1283
|
e.containerElement.dataset.isDirty = n.toString(), e.containerElement.dataset.isReady = t.toString();
|
|
1284
1284
|
})), Rn = class extends Tt {
|
|
1285
1285
|
computeOutputSettings(e) {
|
|
@@ -1359,7 +1359,7 @@ var sn = class {
|
|
|
1359
1359
|
let t = s.spineItemsManager.get(e.id)?.renderer.documentContainer;
|
|
1360
1360
|
s.settings.values.computedPageTurnMode !== "scrollable" && t && z(t, "tab-index", "0");
|
|
1361
1361
|
});
|
|
1362
|
-
let l = s.spineItemsObserver.
|
|
1362
|
+
let l = s.spineItemsObserver.itemStateChange$.pipe(be(({ isReady: e }) => e), L(({ item: e }) => {
|
|
1363
1363
|
let t = e.renderer.documentContainer;
|
|
1364
1364
|
t && B(t.style, "opacity", "1");
|
|
1365
1365
|
})), u = c.values$.pipe(be(({ layoutAutoResize: e }) => e === "container"), F(() => s.context.watch("rootElement")), be(K), F((e) => vt(e)), ve(100), be(K), L(() => {
|
|
@@ -2246,9 +2246,9 @@ var sn = class {
|
|
|
2246
2246
|
t,
|
|
2247
2247
|
e.settings.watch(["computedSpreadMode"]).pipe(w((e) => e.computedSpreadMode ?? !1), y()),
|
|
2248
2248
|
i,
|
|
2249
|
-
|
|
2250
|
-
items:
|
|
2251
|
-
pagesState:
|
|
2249
|
+
n.pipe(w((t) => Ur({
|
|
2250
|
+
items: e.spineItemsManager.items,
|
|
2251
|
+
pagesState: t
|
|
2252
2252
|
})), y(Wr))
|
|
2253
2253
|
]).pipe(w(([e, t, n, r]) => ({
|
|
2254
2254
|
...e,
|
|
@@ -2370,7 +2370,7 @@ var sn = class {
|
|
|
2370
2370
|
r.destroy();
|
|
2371
2371
|
}));
|
|
2372
2372
|
}), y()), ei = (e) => (t) => {
|
|
2373
|
-
let n = e(t), r, i = n.spineItemsManager.items
|
|
2373
|
+
let n = e(t), r, i = T(...n.spineItemsManager.items.map((e) => {
|
|
2374
2374
|
let t = n.spineItemsManager.getSpineItemIndex(e) ?? 0;
|
|
2375
2375
|
return $r(e).pipe(w((e) => {
|
|
2376
2376
|
if (e) return {
|
|
@@ -2378,7 +2378,7 @@ var sn = class {
|
|
|
2378
2378
|
itemIndex: t
|
|
2379
2379
|
};
|
|
2380
2380
|
}));
|
|
2381
|
-
}))
|
|
2381
|
+
})).pipe(A(void 0), y(), N((e) => {
|
|
2382
2382
|
r = e;
|
|
2383
2383
|
}), k({
|
|
2384
2384
|
refCount: !0,
|
|
@@ -2443,7 +2443,7 @@ var sn = class {
|
|
|
2443
2443
|
let e = t?.renderer.getDocumentFrame();
|
|
2444
2444
|
e && H(e, "prose-reader-theme", i());
|
|
2445
2445
|
}
|
|
2446
|
-
}),
|
|
2446
|
+
}), r.pipe(L(() => {
|
|
2447
2447
|
o();
|
|
2448
2448
|
}), I(n.$.destroy$)).subscribe(), {
|
|
2449
2449
|
...n,
|
|
@@ -4019,195 +4019,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4019
4019
|
numberOfAdjacentSpineItemToPreLoad: 3
|
|
4020
4020
|
};
|
|
4021
4021
|
}
|
|
4022
|
-
}, Na = class extends
|
|
4023
|
-
onUnload() {}
|
|
4024
|
-
onCreateDocument() {
|
|
4025
|
-
return D(document.createElement("div"));
|
|
4026
|
-
}
|
|
4027
|
-
onLoadDocument() {
|
|
4028
|
-
return u;
|
|
4029
|
-
}
|
|
4030
|
-
onLayout() {
|
|
4031
|
-
return D(void 0);
|
|
4032
|
-
}
|
|
4033
|
-
onRenderHeadless() {
|
|
4034
|
-
return u;
|
|
4035
|
-
}
|
|
4036
|
-
getDocumentFrame() {}
|
|
4037
|
-
}, Pa = class extends Q {
|
|
4038
|
-
constructor(e, t, n, i, a, s, c) {
|
|
4039
|
-
super(), this.item = e, this.containerElement = t, this.context = n, this.hookManager = i, this.renderer = a, this.settings = s, this.viewport = c, this.layoutTriggerSubject = new m(), this.lastLayout = null, this.computeLayoutInformation = ({ isLastItem: e, horizontalOffset: t, spreadPosition: n }) => {
|
|
4040
|
-
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c = Oi(s);
|
|
4041
|
-
if (this.settings.values.computedSpreadMode) {
|
|
4042
|
-
!c && this.renderer.renditionLayout === "reflowable" && !e && (i = this.viewport.value.pageSize.width * 2), !c && this.renderer.renditionLayout === "reflowable" && e && o && (i = this.viewport.value.pageSize.width * 2);
|
|
4043
|
-
let t = o && e && c, s = r(this.item);
|
|
4044
|
-
s !== void 0 && s !== n ? (a = "before", i = this.viewport.value.pageSize.width * 2) : t && (a = this.context.isRTL() ? "before" : "after", i = this.viewport.value.pageSize.width * 2);
|
|
4045
|
-
}
|
|
4046
|
-
return {
|
|
4047
|
-
minimumWidth: i,
|
|
4048
|
-
blankPagePosition: a
|
|
4049
|
-
};
|
|
4050
|
-
}, this.adjustPositionOfElement = ({ right: e, left: t, top: n }) => {
|
|
4051
|
-
e === void 0 ? V(this.containerElement.style, "right") : B(this.containerElement.style, "right", `${e}px`), t === void 0 ? V(this.containerElement.style, "left") : B(this.containerElement.style, "left", `${t}px`), n === void 0 ? V(this.containerElement.style, "top") : B(this.containerElement.style, "top", `${n}px`);
|
|
4052
|
-
}, this.updateContainerLayout = ({ minimumWidth: e, edgeX: t, edgeY: n }) => (r) => r.pipe(w((r) => {
|
|
4053
|
-
let { width: i, height: a } = (o(this.lastLayout?.pageSize, this.viewport.pageSize) ? this.lastLayout : void 0) ?? {}, { width: s = i, height: c = a } = r ?? {}, { width: l, height: u } = this.viewport.pageSize, d = this.validateDimension(s ?? l, l, e), f = this.settings.values.computedPageTurnMode === "scrollable" ? c ?? u : this.validateDimension(c ?? u, u, u);
|
|
4054
|
-
return this.lastLayout = {
|
|
4055
|
-
width: d,
|
|
4056
|
-
height: f,
|
|
4057
|
-
pageSize: this.viewport.pageSize
|
|
4058
|
-
}, B(this.containerElement.style, "width", `${d}px`), B(this.containerElement.style, "height", `${f}px`), this.settings.values.computedPageTurnDirection === "vertical" ? (this.adjustPositionOfElement({
|
|
4059
|
-
top: n,
|
|
4060
|
-
left: t
|
|
4061
|
-
}), {
|
|
4062
|
-
width: d,
|
|
4063
|
-
height: f
|
|
4064
|
-
}) : (this.adjustPositionOfElement(this.context.isRTL() ? {
|
|
4065
|
-
right: t,
|
|
4066
|
-
top: 0
|
|
4067
|
-
} : {
|
|
4068
|
-
left: t,
|
|
4069
|
-
top: 0
|
|
4070
|
-
}), {
|
|
4071
|
-
width: d,
|
|
4072
|
-
height: f
|
|
4073
|
-
});
|
|
4074
|
-
})), this.layout = (e) => {
|
|
4075
|
-
let t = bt(this.didLayout$.pipe(x()));
|
|
4076
|
-
return this.layoutTriggerSubject.next(e), t();
|
|
4077
|
-
};
|
|
4078
|
-
let l = this.layoutTriggerSubject.pipe(j(({ spreadPosition: e, horizontalOffset: t, isLastItem: n, edgeX: r, edgeY: i }) => {
|
|
4079
|
-
let { blankPagePosition: a, minimumWidth: o } = this.computeLayoutInformation({
|
|
4080
|
-
horizontalOffset: t,
|
|
4081
|
-
isLastItem: n,
|
|
4082
|
-
spreadPosition: e
|
|
4083
|
-
});
|
|
4084
|
-
this.hookManager.execute("item.onBeforeLayout", {
|
|
4085
|
-
blankPagePosition: a,
|
|
4086
|
-
item: this.item,
|
|
4087
|
-
minimumWidth: o
|
|
4088
|
-
});
|
|
4089
|
-
let s = this.renderer.layout({
|
|
4090
|
-
blankPagePosition: a,
|
|
4091
|
-
minPageSpread: o / this.viewport.pageSize.width,
|
|
4092
|
-
minimumWidth: o,
|
|
4093
|
-
spreadPosition: e
|
|
4094
|
-
});
|
|
4095
|
-
return T(D({ type: "start" }), s.pipe(this.updateContainerLayout({
|
|
4096
|
-
minimumWidth: o,
|
|
4097
|
-
edgeX: r,
|
|
4098
|
-
edgeY: i
|
|
4099
|
-
}), w((e) => (this.hookManager.execute("item.onAfterLayout", {
|
|
4100
|
-
blankPagePosition: a,
|
|
4101
|
-
item: this.item,
|
|
4102
|
-
minimumWidth: o
|
|
4103
|
-
}), {
|
|
4104
|
-
type: "end",
|
|
4105
|
-
data: e
|
|
4106
|
-
}))));
|
|
4107
|
-
}), O());
|
|
4108
|
-
this.didLayout$ = l.pipe(b((e) => e.type === "end"), w((e) => e.data), O());
|
|
4109
|
-
}
|
|
4110
|
-
validateDimension(e, t, n) {
|
|
4111
|
-
if (e <= 0) return n;
|
|
4112
|
-
let r = Math.ceil(Math.max(e, n) / t) * t;
|
|
4113
|
-
return Math.max(r, t);
|
|
4114
|
-
}
|
|
4115
|
-
get layoutInfo() {
|
|
4116
|
-
let e = this.containerElement.style;
|
|
4117
|
-
return {
|
|
4118
|
-
width: e.width ? parseFloat(e.width) : 0,
|
|
4119
|
-
height: e.height ? parseFloat(e.height) : 0
|
|
4120
|
-
};
|
|
4121
|
-
}
|
|
4122
|
-
}, Fa = class extends U {
|
|
4123
|
-
constructor(e, t, n, r, i, a, o) {
|
|
4124
|
-
super({
|
|
4125
|
-
isLoaded: !1,
|
|
4126
|
-
isReady: !1,
|
|
4127
|
-
isDirty: !1,
|
|
4128
|
-
isError: !1,
|
|
4129
|
-
error: void 0
|
|
4130
|
-
}), this.item = e, this.parentElement = t, this.context = n, this.settings = r, this.hookManager = i, this.index = a, this.viewport = o, this.load = () => {
|
|
4131
|
-
this.renderer.load();
|
|
4132
|
-
}, this.unload = () => {
|
|
4133
|
-
this.renderer.unload();
|
|
4134
|
-
}, this.markDirty = () => {
|
|
4135
|
-
this.mergeCompare({ isDirty: !0 });
|
|
4136
|
-
}, this.destroy = () => {
|
|
4137
|
-
this.isDestroyed || (super.destroy(), this._layout.destroy(), this.renderer.destroy(), this.containerElement.remove());
|
|
4138
|
-
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement = Ia(t, e, i), t.appendChild(this.containerElement);
|
|
4139
|
-
let s = this.settings.values.getRenderer?.(e);
|
|
4140
|
-
this.resourcesHandler = new Mt(e, this.settings);
|
|
4141
|
-
let c = {
|
|
4142
|
-
context: n,
|
|
4143
|
-
settings: r,
|
|
4144
|
-
hookManager: i,
|
|
4145
|
-
item: e,
|
|
4146
|
-
containerElement: this.containerElement,
|
|
4147
|
-
resourcesHandler: this.resourcesHandler,
|
|
4148
|
-
viewport: this.viewport
|
|
4149
|
-
};
|
|
4150
|
-
this.renderer = s ? s(c) : new Na(c), this._layout = new Pa(e, this.containerElement, n, i, this.renderer, this.settings, this.viewport);
|
|
4151
|
-
let l = this.renderer.state$.pipe(L(({ state: e, error: t }) => {
|
|
4152
|
-
this.mergeCompare({
|
|
4153
|
-
isLoaded: e === "loaded",
|
|
4154
|
-
isError: e === "error",
|
|
4155
|
-
error: e === "error" ? t : void 0
|
|
4156
|
-
});
|
|
4157
|
-
}));
|
|
4158
|
-
this.didLayout$ = this._layout.didLayout$.pipe(L(() => {
|
|
4159
|
-
this.mergeCompare({
|
|
4160
|
-
isDirty: !1,
|
|
4161
|
-
isReady: this.renderer.value.state === "loaded"
|
|
4162
|
-
});
|
|
4163
|
-
}), we()), T(l, this.didLayout$).pipe(I(this.destroy$)).subscribe();
|
|
4164
|
-
}
|
|
4165
|
-
get isReady$() {
|
|
4166
|
-
return this.watch("isReady");
|
|
4167
|
-
}
|
|
4168
|
-
get element() {
|
|
4169
|
-
return this.containerElement;
|
|
4170
|
-
}
|
|
4171
|
-
get readingDirection() {
|
|
4172
|
-
return this.renderer.readingDirection;
|
|
4173
|
-
}
|
|
4174
|
-
get loaded$() {
|
|
4175
|
-
return this.renderer.loaded$;
|
|
4176
|
-
}
|
|
4177
|
-
get unloaded$() {
|
|
4178
|
-
return this.renderer.unloaded$;
|
|
4179
|
-
}
|
|
4180
|
-
get renditionLayout() {
|
|
4181
|
-
return this.renderer.renditionLayout;
|
|
4182
|
-
}
|
|
4183
|
-
get layoutInfo() {
|
|
4184
|
-
return this._layout.layoutInfo;
|
|
4185
|
-
}
|
|
4186
|
-
get numberOfPages() {
|
|
4187
|
-
return ua({
|
|
4188
|
-
isUsingVerticalWriting: !!this.isUsingVerticalWriting(),
|
|
4189
|
-
itemHeight: this._layout.layoutInfo.height,
|
|
4190
|
-
itemWidth: this._layout.layoutInfo.width,
|
|
4191
|
-
pageWidth: this.viewport.pageSize.width,
|
|
4192
|
-
pageHeight: this.viewport.pageSize.height,
|
|
4193
|
-
pageTurnDirection: this.settings.values.computedPageTurnDirection,
|
|
4194
|
-
pageTurnMode: this.settings.values.pageTurnMode
|
|
4195
|
-
});
|
|
4196
|
-
}
|
|
4197
|
-
}, Ia = (e, t, n) => {
|
|
4198
|
-
let r = e.ownerDocument.createElement("div");
|
|
4199
|
-
return r.setAttribute(`data-${wn}`, ""), r.classList.add("spineItem"), r.classList.add(`spineItem-${t.renditionLayout ?? "reflowable"}`), r.style.cssText = "\n position: absolute;\n overflow: hidden;\n ", r.dataset.isReady = "false", n.execute("item.onBeforeContainerAttach", {
|
|
4200
|
-
element: r,
|
|
4201
|
-
item: t
|
|
4202
|
-
}), r;
|
|
4203
|
-
}, La = class extends Q {
|
|
4022
|
+
}, Na = class extends Q {
|
|
4204
4023
|
constructor(e, n, r, i, a, o) {
|
|
4205
4024
|
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());
|
|
4206
4025
|
let s = this.forcedOpenSubject.pipe(w((e) => Array.from(e.keys()).sort((e, t) => e - t)), y(t), k({
|
|
4207
4026
|
bufferSize: 1,
|
|
4208
4027
|
refCount: !0
|
|
4209
4028
|
}));
|
|
4210
|
-
T(this.context.bridgeEvent.position$, this.viewport.layout$, this.spineLayout.layout$, s, i.watch(["numberOfAdjacentSpineItemToPreLoad"])).pipe(ne(100), yt(this.context.bridgeEvent.viewportFree$), P(this.context.bridgeEvent.position$, s), w(([, e, t]) => {
|
|
4029
|
+
T(this.context.bridgeEvent.position$, this.viewport.layout$, this.spineLayout.layout$, s, i.watch(["numberOfAdjacentSpineItemToPreLoad"])).pipe(ne(100), b(() => K(this.context.value.rootElement)), yt(this.context.bridgeEvent.viewportFree$), P(this.context.bridgeEvent.position$, s), w(([, e, t]) => {
|
|
4211
4030
|
let { numberOfAdjacentSpineItemToPreLoad: a } = i.values, { beginIndex: o = 0, endIndex: s = 0 } = r.getVisibleSpineItemsFromPosition({
|
|
4212
4031
|
position: e,
|
|
4213
4032
|
threshold: {
|
|
@@ -4236,13 +4055,13 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4236
4055
|
destroy() {
|
|
4237
4056
|
super.destroy(), this.forcedOpenSubject.complete();
|
|
4238
4057
|
}
|
|
4239
|
-
},
|
|
4058
|
+
}, Pa = (e, t, n) => {
|
|
4240
4059
|
let r = (n.width - t.width) / 2, i = (n.height - t.height) / 2;
|
|
4241
4060
|
return new Y({
|
|
4242
4061
|
x: e.x - r,
|
|
4243
4062
|
y: e.y - i
|
|
4244
4063
|
});
|
|
4245
|
-
},
|
|
4064
|
+
}, Fa = class e extends DOMRect {
|
|
4246
4065
|
constructor(...e) {
|
|
4247
4066
|
super(...e), this.__symbol = Symbol("ViewportPosition");
|
|
4248
4067
|
}
|
|
@@ -4254,15 +4073,15 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4254
4073
|
let r = t;
|
|
4255
4074
|
return new e(r.x, r.y, r.width, r.height);
|
|
4256
4075
|
}
|
|
4257
|
-
},
|
|
4076
|
+
}, Ia = class {
|
|
4258
4077
|
constructor({ width: e, height: t }) {
|
|
4259
4078
|
this.__symbol = Symbol("AbsoluteViewport"), this.width = e, this.height = t;
|
|
4260
4079
|
}
|
|
4261
|
-
},
|
|
4080
|
+
}, La = class {
|
|
4262
4081
|
constructor({ width: e, height: t }) {
|
|
4263
4082
|
this.__symbol = Symbol("RelativeViewport"), this.width = e, this.height = t;
|
|
4264
4083
|
}
|
|
4265
|
-
},
|
|
4084
|
+
}, Ra = ({ pageIndex: e, spineItemOrId: t, spineItemsManager: n }) => {
|
|
4266
4085
|
let r = n.items, i = n.get(t);
|
|
4267
4086
|
if (!i) return;
|
|
4268
4087
|
let { currentAbsolutePage: a } = r.reduce((t, n) => {
|
|
@@ -4280,45 +4099,45 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4280
4099
|
found: !1
|
|
4281
4100
|
});
|
|
4282
4101
|
return a;
|
|
4283
|
-
},
|
|
4102
|
+
}, za = ({ itemHeight: e, itemWidth: t, visibleWidthOfItem: n, visibleHeightOfItem: r, threshold: i }) => {
|
|
4284
4103
|
let a = n / t, o = r / e;
|
|
4285
4104
|
return i.type === "percentage" ? a >= i.value && o >= i.value : n >= i.value && r >= i.value;
|
|
4286
|
-
},
|
|
4105
|
+
}, Ba = ({ visibleWidthOfItem: e, visibleHeightOfItem: t, threshold: n, viewportPosition: r }) => {
|
|
4287
4106
|
let i = e / r.width, a = t / r.height;
|
|
4288
4107
|
return n.type === "percentage" ? a >= n.value && i >= n.value : t >= n.value && e >= n.value;
|
|
4289
|
-
},
|
|
4108
|
+
}, Va = ({ itemPosition: { bottom: e, left: t, right: n, top: r, width: i, height: a }, threshold: o, viewportPosition: s, restrictToScreen: c }) => {
|
|
4290
4109
|
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));
|
|
4291
4110
|
if (p <= 0 || m <= 0) return { visible: !1 };
|
|
4292
|
-
let h =
|
|
4111
|
+
let h = Ba({
|
|
4293
4112
|
threshold: o,
|
|
4294
4113
|
visibleHeightOfItem: m,
|
|
4295
4114
|
visibleWidthOfItem: p,
|
|
4296
4115
|
viewportPosition: s
|
|
4297
4116
|
});
|
|
4298
|
-
return c ? { visible: h } : { visible:
|
|
4117
|
+
return c ? { visible: h } : { visible: za({
|
|
4299
4118
|
itemHeight: a,
|
|
4300
4119
|
itemWidth: i,
|
|
4301
4120
|
threshold: o,
|
|
4302
4121
|
visibleHeightOfItem: m,
|
|
4303
4122
|
visibleWidthOfItem: p
|
|
4304
4123
|
}) || h };
|
|
4305
|
-
},
|
|
4124
|
+
}, Ha = ({ position: e, spineItemsManager: t, spineLayout: n }) => {
|
|
4306
4125
|
let r = t.items.find((t) => {
|
|
4307
4126
|
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;
|
|
4308
4127
|
return s && c;
|
|
4309
4128
|
});
|
|
4310
4129
|
return e.x === 0 && !r ? t.items[0] : r;
|
|
4311
|
-
},
|
|
4130
|
+
}, Ua = ({ spineItemPosition: e, itemLayout: { left: t, top: n } }) => new J({
|
|
4312
4131
|
x: t + e.x,
|
|
4313
4132
|
y: n + e.y
|
|
4314
|
-
}),
|
|
4315
|
-
let s =
|
|
4133
|
+
}), Wa = ({ position: e, threshold: t, restrictToScreen: n, spineItemsManager: r, spineLayout: i, useAbsoluteViewport: a = !0, viewport: o }) => {
|
|
4134
|
+
let s = Ha({
|
|
4316
4135
|
position: e,
|
|
4317
4136
|
spineItemsManager: r,
|
|
4318
4137
|
spineLayout: i
|
|
4319
|
-
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l =
|
|
4138
|
+
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l = Pa(e, o.absoluteViewport, c), u = Fa.from(l, c), d = [];
|
|
4320
4139
|
for (let e of r.items) {
|
|
4321
|
-
let { visible: r } =
|
|
4140
|
+
let { visible: r } = Va({
|
|
4322
4141
|
itemPosition: i.getSpineItemSpineLayoutInfo(e),
|
|
4323
4142
|
threshold: t,
|
|
4324
4143
|
viewportPosition: u,
|
|
@@ -4333,14 +4152,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4333
4152
|
beginIndex: m ?? 0,
|
|
4334
4153
|
endIndex: h ?? 0
|
|
4335
4154
|
};
|
|
4336
|
-
},
|
|
4155
|
+
}, Ga = ({ spineItemsManager: e, context: t, spineItemLocator: n, settings: r, spineLayout: i, viewport: a }) => {
|
|
4337
4156
|
let o = (e, t) => {
|
|
4338
4157
|
let { left: n, top: r } = i.getSpineItemSpineLayoutInfo(t);
|
|
4339
4158
|
return new q({
|
|
4340
4159
|
x: Math.max(e.x - n, 0),
|
|
4341
4160
|
y: Math.max(e.y - r, 0)
|
|
4342
4161
|
});
|
|
4343
|
-
}, s = (e) =>
|
|
4162
|
+
}, s = (e) => Ua({
|
|
4344
4163
|
spineItemPosition: new q({
|
|
4345
4164
|
x: 0,
|
|
4346
4165
|
y: 0
|
|
@@ -4354,7 +4173,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4354
4173
|
return n.getSpineItemPageIndexFromNode(t, r || 0, i);
|
|
4355
4174
|
}, u = ({ position: e, threshold: t, spineItem: r, restrictToScreen: a, useAbsoluteViewport: o = !0, viewport: s }) => {
|
|
4356
4175
|
let c = r.numberOfPages, l = Array.from(Array(c)).map((e, t) => {
|
|
4357
|
-
let a =
|
|
4176
|
+
let a = Ua({
|
|
4358
4177
|
spineItemPosition: n.getSpineItemPositionFromPageIndex({
|
|
4359
4178
|
pageIndex: t,
|
|
4360
4179
|
spineItem: r
|
|
@@ -4373,8 +4192,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4373
4192
|
}
|
|
4374
4193
|
};
|
|
4375
4194
|
}).reduce((n, { absolutePosition: r, index: i }) => {
|
|
4376
|
-
let c = o ? s.absoluteViewport : s.relativeViewport, l =
|
|
4377
|
-
viewportPosition:
|
|
4195
|
+
let c = o ? s.absoluteViewport : s.relativeViewport, l = Pa(e, s.absoluteViewport, c), { visible: u } = Va({
|
|
4196
|
+
viewportPosition: Fa.from(l, c),
|
|
4378
4197
|
restrictToScreen: a,
|
|
4379
4198
|
threshold: t,
|
|
4380
4199
|
itemPosition: r
|
|
@@ -4387,11 +4206,11 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4387
4206
|
};
|
|
4388
4207
|
};
|
|
4389
4208
|
return {
|
|
4390
|
-
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) =>
|
|
4209
|
+
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) => Ua({
|
|
4391
4210
|
itemLayout: i.getSpineItemSpineLayoutInfo(e),
|
|
4392
4211
|
spineItemPosition: t
|
|
4393
4212
|
}),
|
|
4394
|
-
_getAbsolutePageIndexFromPageIndex: (n) =>
|
|
4213
|
+
_getAbsolutePageIndexFromPageIndex: (n) => Ra({
|
|
4395
4214
|
...n,
|
|
4396
4215
|
context: t,
|
|
4397
4216
|
settings: r,
|
|
@@ -4399,7 +4218,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4399
4218
|
spineLayout: i
|
|
4400
4219
|
}),
|
|
4401
4220
|
getSpineItemPagePositionFromSpinePosition: (t) => {
|
|
4402
|
-
let r =
|
|
4221
|
+
let r = Ha({
|
|
4403
4222
|
position: t,
|
|
4404
4223
|
spineItemsManager: e,
|
|
4405
4224
|
spineLayout: i
|
|
@@ -4420,14 +4239,14 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4420
4239
|
},
|
|
4421
4240
|
getSpinePositionFromSpineItem: s,
|
|
4422
4241
|
getSpineItemPositionFromSpinePosition: o,
|
|
4423
|
-
getSpineItemFromPosition: (t) =>
|
|
4242
|
+
getSpineItemFromPosition: (t) => Ha({
|
|
4424
4243
|
position: t,
|
|
4425
4244
|
spineItemsManager: e,
|
|
4426
4245
|
spineLayout: i
|
|
4427
4246
|
}),
|
|
4428
4247
|
getSpineItemFromIframe: c,
|
|
4429
4248
|
getSpineItemPageIndexFromNode: l,
|
|
4430
|
-
getVisibleSpineItemsFromPosition: (t) =>
|
|
4249
|
+
getVisibleSpineItemsFromPosition: (t) => Wa({
|
|
4431
4250
|
settings: r,
|
|
4432
4251
|
spineItemsManager: e,
|
|
4433
4252
|
spineLayout: i,
|
|
@@ -4451,17 +4270,19 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4451
4270
|
});
|
|
4452
4271
|
}
|
|
4453
4272
|
};
|
|
4454
|
-
},
|
|
4273
|
+
}, Ka = class extends Q {
|
|
4455
4274
|
constructor(e) {
|
|
4456
|
-
super(), this.spineItemsManager = e
|
|
4275
|
+
super(), this.spineItemsManager = e;
|
|
4276
|
+
let t = e.items;
|
|
4277
|
+
this.itemStateChange$ = T(...t.map((e) => e.pipe(w((t) => ({
|
|
4457
4278
|
item: e,
|
|
4458
4279
|
...t
|
|
4459
|
-
})), y(o))))
|
|
4280
|
+
})), y(o)))).pipe(O()), this.itemResize$ = T(...t.map((e) => vt(e.element).pipe(w((t) => ({
|
|
4460
4281
|
entries: t,
|
|
4461
4282
|
item: e
|
|
4462
|
-
})))))
|
|
4283
|
+
}))))).pipe(O()), this.itemLoad$ = T(...t.map((e) => e.loaded$.pipe(w(() => e)))).pipe(O()), this.itemUnload$ = T(...t.map((e) => e.unloaded$.pipe(w(() => e)))).pipe(O());
|
|
4463
4284
|
}
|
|
4464
|
-
},
|
|
4285
|
+
}, qa = class extends Q {
|
|
4465
4286
|
constructor(e, t, n, r, i) {
|
|
4466
4287
|
super(), this.spineItemsManager = e, this.spineItemsObserver = t, this.context = n, this.settings = r, this.viewport = i, this.externalLayoutTrigger = new m(), this.spineItemsRelativeLayouts = [];
|
|
4467
4288
|
let a = T(t.itemLoad$, t.itemUnload$).pipe(w(() => ({ immediate: !1 }))), o = T(this.externalLayoutTrigger, a);
|
|
@@ -4551,24 +4372,25 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4551
4372
|
y: r
|
|
4552
4373
|
});
|
|
4553
4374
|
}
|
|
4554
|
-
},
|
|
4555
|
-
constructor(e, t, n, r, i, a
|
|
4556
|
-
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spineItemLocator = r, this.settings = i, this.
|
|
4375
|
+
}, Ja = class extends Q {
|
|
4376
|
+
constructor(e, t, n, r, i, a) {
|
|
4377
|
+
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({
|
|
4557
4378
|
context: e,
|
|
4558
4379
|
spineItemsManager: n,
|
|
4559
4380
|
spineItemLocator: r,
|
|
4560
4381
|
settings: i,
|
|
4561
4382
|
spineLayout: this.spineLayout,
|
|
4562
|
-
viewport:
|
|
4563
|
-
}), this.spineItemsLoader = new
|
|
4564
|
-
let
|
|
4383
|
+
viewport: a
|
|
4384
|
+
}), 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);
|
|
4385
|
+
let o = e.watch("rootElement").pipe(be(K), L((e) => {
|
|
4565
4386
|
let t = e.ownerDocument.createElement("div");
|
|
4566
4387
|
t.style.cssText = "\n height: 100%;\n position: relative;\n ", t.className = `${X}-spine`, this.elementSubject.next(t);
|
|
4567
4388
|
}));
|
|
4568
4389
|
T(this.element$.pipe(be(K), L((e) => {
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4390
|
+
this.spineItemsManager.items.forEach((t) => {
|
|
4391
|
+
t.attach(e);
|
|
4392
|
+
});
|
|
4393
|
+
})), o).pipe(I(this.destroy$)).subscribe();
|
|
4572
4394
|
}
|
|
4573
4395
|
get element() {
|
|
4574
4396
|
return this.elementSubject.getValue();
|
|
@@ -4585,34 +4407,207 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4585
4407
|
destroy() {
|
|
4586
4408
|
super.destroy(), this.pages.destroy(), this.spineItemsLoader.destroy(), this.elementSubject.getValue()?.remove(), this.elementSubject.complete();
|
|
4587
4409
|
}
|
|
4410
|
+
}, Ya = class extends At {
|
|
4411
|
+
onUnload() {}
|
|
4412
|
+
onCreateDocument() {
|
|
4413
|
+
return D(document.createElement("div"));
|
|
4414
|
+
}
|
|
4415
|
+
onLoadDocument() {
|
|
4416
|
+
return u;
|
|
4417
|
+
}
|
|
4418
|
+
onLayout() {
|
|
4419
|
+
return D(void 0);
|
|
4420
|
+
}
|
|
4421
|
+
onRenderHeadless() {
|
|
4422
|
+
return u;
|
|
4423
|
+
}
|
|
4424
|
+
getDocumentFrame() {}
|
|
4425
|
+
}, Xa = class extends Q {
|
|
4426
|
+
constructor(e, t, n, i, a, s, c) {
|
|
4427
|
+
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 }) => {
|
|
4428
|
+
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c = Oi(s);
|
|
4429
|
+
if (this.settings.values.computedSpreadMode) {
|
|
4430
|
+
!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);
|
|
4431
|
+
let t = o && e && c, s = r(this.item);
|
|
4432
|
+
s !== void 0 && s !== n ? (a = "before", i = this.viewport.value.pageSize.width * 2) : t && (a = this.context.isRTL() ? "before" : "after", i = this.viewport.value.pageSize.width * 2);
|
|
4433
|
+
}
|
|
4434
|
+
return {
|
|
4435
|
+
minimumWidth: i,
|
|
4436
|
+
blankPagePosition: a
|
|
4437
|
+
};
|
|
4438
|
+
}, this.adjustPositionOfElement = ({ right: e, left: t, top: n }) => {
|
|
4439
|
+
e === void 0 ? V(this.containerElement.style, "right") : B(this.containerElement.style, "right", `${e}px`), t === void 0 ? V(this.containerElement.style, "left") : B(this.containerElement.style, "left", `${t}px`), n === void 0 ? V(this.containerElement.style, "top") : B(this.containerElement.style, "top", `${n}px`);
|
|
4440
|
+
}, this.updateContainerLayout = ({ minimumWidth: e, edgeX: t, edgeY: n }) => (r) => r.pipe(w((r) => {
|
|
4441
|
+
let { width: i, height: a } = (o(this.lastLayout?.pageSize, this.viewport.pageSize) ? this.lastLayout : void 0) ?? {}, { width: s = i, height: c = a } = r ?? {}, { width: l, height: u } = this.viewport.pageSize, d = this.validateDimension(s ?? l, l, e), f = this.settings.values.computedPageTurnMode === "scrollable" ? c ?? u : this.validateDimension(c ?? u, u, u);
|
|
4442
|
+
return this.lastLayout = {
|
|
4443
|
+
width: d,
|
|
4444
|
+
height: f,
|
|
4445
|
+
pageSize: this.viewport.pageSize
|
|
4446
|
+
}, B(this.containerElement.style, "width", `${d}px`), B(this.containerElement.style, "height", `${f}px`), this.settings.values.computedPageTurnDirection === "vertical" ? (this.adjustPositionOfElement({
|
|
4447
|
+
top: n,
|
|
4448
|
+
left: t
|
|
4449
|
+
}), {
|
|
4450
|
+
width: d,
|
|
4451
|
+
height: f
|
|
4452
|
+
}) : (this.adjustPositionOfElement(this.context.isRTL() ? {
|
|
4453
|
+
right: t,
|
|
4454
|
+
top: 0
|
|
4455
|
+
} : {
|
|
4456
|
+
left: t,
|
|
4457
|
+
top: 0
|
|
4458
|
+
}), {
|
|
4459
|
+
width: d,
|
|
4460
|
+
height: f
|
|
4461
|
+
});
|
|
4462
|
+
})), this.layout = (e) => {
|
|
4463
|
+
let t = bt(this.didLayout$.pipe(x()));
|
|
4464
|
+
return this.layoutTriggerSubject.next(e), t();
|
|
4465
|
+
};
|
|
4466
|
+
let l = this.layoutTriggerSubject.pipe(j(({ spreadPosition: e, horizontalOffset: t, isLastItem: n, edgeX: r, edgeY: i }) => {
|
|
4467
|
+
let { blankPagePosition: a, minimumWidth: o } = this.computeLayoutInformation({
|
|
4468
|
+
horizontalOffset: t,
|
|
4469
|
+
isLastItem: n,
|
|
4470
|
+
spreadPosition: e
|
|
4471
|
+
});
|
|
4472
|
+
this.hookManager.execute("item.onBeforeLayout", {
|
|
4473
|
+
blankPagePosition: a,
|
|
4474
|
+
item: this.item,
|
|
4475
|
+
minimumWidth: o
|
|
4476
|
+
});
|
|
4477
|
+
let s = this.renderer.layout({
|
|
4478
|
+
blankPagePosition: a,
|
|
4479
|
+
minPageSpread: o / this.viewport.pageSize.width,
|
|
4480
|
+
minimumWidth: o,
|
|
4481
|
+
spreadPosition: e
|
|
4482
|
+
});
|
|
4483
|
+
return T(D({ type: "start" }), s.pipe(this.updateContainerLayout({
|
|
4484
|
+
minimumWidth: o,
|
|
4485
|
+
edgeX: r,
|
|
4486
|
+
edgeY: i
|
|
4487
|
+
}), w((e) => (this.hookManager.execute("item.onAfterLayout", {
|
|
4488
|
+
blankPagePosition: a,
|
|
4489
|
+
item: this.item,
|
|
4490
|
+
minimumWidth: o
|
|
4491
|
+
}), {
|
|
4492
|
+
type: "end",
|
|
4493
|
+
data: e
|
|
4494
|
+
}))));
|
|
4495
|
+
}), O());
|
|
4496
|
+
this.didLayout$ = l.pipe(b((e) => e.type === "end"), w((e) => e.data), O());
|
|
4497
|
+
}
|
|
4498
|
+
validateDimension(e, t, n) {
|
|
4499
|
+
if (e <= 0) return n;
|
|
4500
|
+
let r = Math.ceil(Math.max(e, n) / t) * t;
|
|
4501
|
+
return Math.max(r, t);
|
|
4502
|
+
}
|
|
4503
|
+
get layoutInfo() {
|
|
4504
|
+
let e = this.containerElement.style;
|
|
4505
|
+
return {
|
|
4506
|
+
width: e.width ? parseFloat(e.width) : 0,
|
|
4507
|
+
height: e.height ? parseFloat(e.height) : 0
|
|
4508
|
+
};
|
|
4509
|
+
}
|
|
4510
|
+
}, Za = class extends U {
|
|
4511
|
+
constructor(e, t, n, r, i, a) {
|
|
4512
|
+
super({
|
|
4513
|
+
isLoaded: !1,
|
|
4514
|
+
isReady: !1,
|
|
4515
|
+
isDirty: !1,
|
|
4516
|
+
isError: !1,
|
|
4517
|
+
error: void 0
|
|
4518
|
+
}), this.item = e, this.context = t, this.settings = n, this.hookManager = r, this.index = i, this.viewport = a, this.attach = (e) => {
|
|
4519
|
+
this.hookManager.execute("item.onBeforeContainerAttach", {
|
|
4520
|
+
element: this.containerElement,
|
|
4521
|
+
item: this.item
|
|
4522
|
+
}), e.appendChild(this.containerElement);
|
|
4523
|
+
}, this.load = () => {
|
|
4524
|
+
this.renderer.load();
|
|
4525
|
+
}, this.unload = () => {
|
|
4526
|
+
this.renderer.unload();
|
|
4527
|
+
}, this.markDirty = () => {
|
|
4528
|
+
this.mergeCompare({ isDirty: !0 });
|
|
4529
|
+
}, this.destroy = () => {
|
|
4530
|
+
this.isDestroyed || (super.destroy(), this._layout.destroy(), this.renderer.destroy(), this.containerElement.remove());
|
|
4531
|
+
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement = Qa(e);
|
|
4532
|
+
let o = this.settings.values.getRenderer?.(e);
|
|
4533
|
+
this.resourcesHandler = new Mt(e, this.settings);
|
|
4534
|
+
let s = {
|
|
4535
|
+
context: t,
|
|
4536
|
+
settings: n,
|
|
4537
|
+
hookManager: r,
|
|
4538
|
+
item: e,
|
|
4539
|
+
containerElement: this.containerElement,
|
|
4540
|
+
resourcesHandler: this.resourcesHandler,
|
|
4541
|
+
viewport: this.viewport
|
|
4542
|
+
};
|
|
4543
|
+
this.renderer = o ? o(s) : new Ya(s), this._layout = new Xa(e, this.containerElement, t, r, this.renderer, this.settings, this.viewport);
|
|
4544
|
+
let c = this.renderer.state$.pipe(L(({ state: e, error: t }) => {
|
|
4545
|
+
this.mergeCompare({
|
|
4546
|
+
isLoaded: e === "loaded",
|
|
4547
|
+
isError: e === "error",
|
|
4548
|
+
error: e === "error" ? t : void 0
|
|
4549
|
+
});
|
|
4550
|
+
}));
|
|
4551
|
+
this.didLayout$ = this._layout.didLayout$.pipe(L(() => {
|
|
4552
|
+
this.mergeCompare({
|
|
4553
|
+
isDirty: !1,
|
|
4554
|
+
isReady: this.renderer.value.state === "loaded"
|
|
4555
|
+
});
|
|
4556
|
+
}), we()), T(c, this.didLayout$).pipe(I(this.destroy$)).subscribe();
|
|
4557
|
+
}
|
|
4558
|
+
get isReady$() {
|
|
4559
|
+
return this.watch("isReady");
|
|
4560
|
+
}
|
|
4561
|
+
get element() {
|
|
4562
|
+
return this.containerElement;
|
|
4563
|
+
}
|
|
4564
|
+
get readingDirection() {
|
|
4565
|
+
return this.renderer.readingDirection;
|
|
4566
|
+
}
|
|
4567
|
+
get loaded$() {
|
|
4568
|
+
return this.renderer.loaded$;
|
|
4569
|
+
}
|
|
4570
|
+
get unloaded$() {
|
|
4571
|
+
return this.renderer.unloaded$;
|
|
4572
|
+
}
|
|
4573
|
+
get renditionLayout() {
|
|
4574
|
+
return this.renderer.renditionLayout;
|
|
4575
|
+
}
|
|
4576
|
+
get layoutInfo() {
|
|
4577
|
+
return this._layout.layoutInfo;
|
|
4578
|
+
}
|
|
4579
|
+
get numberOfPages() {
|
|
4580
|
+
return ua({
|
|
4581
|
+
isUsingVerticalWriting: !!this.isUsingVerticalWriting(),
|
|
4582
|
+
itemHeight: this._layout.layoutInfo.height,
|
|
4583
|
+
itemWidth: this._layout.layoutInfo.width,
|
|
4584
|
+
pageWidth: this.viewport.pageSize.width,
|
|
4585
|
+
pageHeight: this.viewport.pageSize.height,
|
|
4586
|
+
pageTurnDirection: this.settings.values.computedPageTurnDirection,
|
|
4587
|
+
pageTurnMode: this.settings.values.pageTurnMode
|
|
4588
|
+
});
|
|
4589
|
+
}
|
|
4590
|
+
}, Qa = (e) => {
|
|
4591
|
+
let t = document.createElement("div");
|
|
4592
|
+
return t.setAttribute(`data-${wn}`, ""), t.classList.add("spineItem"), t.classList.add(`spineItem-${e.renditionLayout ?? "reflowable"}`), t.style.cssText = "\n position: absolute;\n overflow: hidden;\n ", t.dataset.isReady = "false", t;
|
|
4588
4593
|
}, $a = class extends Q {
|
|
4589
|
-
constructor(e, t) {
|
|
4590
|
-
super(), this.context = e, this.settings = t, this.
|
|
4594
|
+
constructor(e, t, n, r) {
|
|
4595
|
+
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));
|
|
4591
4596
|
}
|
|
4592
4597
|
get(e) {
|
|
4593
|
-
return typeof e == "number" ? this.
|
|
4598
|
+
return typeof e == "number" ? this.items[e] : typeof e == "string" ? this.items.find(({ item: t }) => t.id === e) : e;
|
|
4594
4599
|
}
|
|
4595
4600
|
comparePositionOf(e, t) {
|
|
4596
4601
|
let n = this.getSpineItemIndex(e) ?? 0, r = this.getSpineItemIndex(t) ?? 0;
|
|
4597
4602
|
return n > r ? "after" : n === r ? "same" : "before";
|
|
4598
4603
|
}
|
|
4599
4604
|
getSpineItemIndex(e) {
|
|
4600
|
-
return (e instanceof
|
|
4601
|
-
}
|
|
4602
|
-
addMany(e) {
|
|
4603
|
-
this.orderedSpineItemsSubject.next([...this.orderedSpineItemsSubject.getValue(), ...e]);
|
|
4604
|
-
}
|
|
4605
|
-
get items() {
|
|
4606
|
-
return this.orderedSpineItemsSubject.value;
|
|
4607
|
-
}
|
|
4608
|
-
destroyItems() {
|
|
4609
|
-
let e = this.orderedSpineItemsSubject.value;
|
|
4610
|
-
e.forEach((e) => {
|
|
4611
|
-
e.destroy();
|
|
4612
|
-
}), e.length && this.orderedSpineItemsSubject.next([]);
|
|
4605
|
+
return (e instanceof Za ? e : this.get(e))?.index;
|
|
4613
4606
|
}
|
|
4614
4607
|
destroy() {
|
|
4615
|
-
this.
|
|
4608
|
+
this.items.forEach((e) => {
|
|
4609
|
+
e.destroy();
|
|
4610
|
+
}), super.destroy();
|
|
4616
4611
|
}
|
|
4617
4612
|
}, eo = class extends U {
|
|
4618
4613
|
constructor(e, t) {
|
|
@@ -4653,7 +4648,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4653
4648
|
}), this.layoutSubject.next();
|
|
4654
4649
|
}
|
|
4655
4650
|
get absoluteViewport() {
|
|
4656
|
-
return new
|
|
4651
|
+
return new Ia({
|
|
4657
4652
|
width: this.value.width,
|
|
4658
4653
|
height: this.value.height
|
|
4659
4654
|
});
|
|
@@ -4667,7 +4662,7 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4667
4662
|
}
|
|
4668
4663
|
get relativeViewport() {
|
|
4669
4664
|
let e = this.absoluteViewport, t = this.scaleFactor;
|
|
4670
|
-
return new
|
|
4665
|
+
return new La({
|
|
4671
4666
|
width: e.width / t,
|
|
4672
4667
|
height: e.height / t
|
|
4673
4668
|
});
|
|
@@ -4676,19 +4671,19 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4676
4671
|
super.destroy(), this.layoutSubject.complete(), this.value.element.remove();
|
|
4677
4672
|
}
|
|
4678
4673
|
}, to = ({ manifest: e, cfi: t, ...n }) => {
|
|
4679
|
-
let r = crypto.randomUUID(), i = `${bn}-core-${r}`, a = new m(), o = new m(), s = new Mi(), c = new Ai(e), l = new Ma(n, c), u = new ji(c, l), d = new
|
|
4674
|
+
let r = crypto.randomUUID(), i = `${bn}-core-${r}`, a = new m(), o = new m(), s = new Mi(), c = new Ai(e), l = new Ma(n, c), u = new ji(c, l), d = new eo(c, l), f = new $a(c, l, s, d), p = new Di(s, f), h = pa({
|
|
4680
4675
|
context: c,
|
|
4681
4676
|
settings: l,
|
|
4682
|
-
viewport:
|
|
4683
|
-
}), g = new ka(c,
|
|
4684
|
-
cfi:
|
|
4677
|
+
viewport: d
|
|
4678
|
+
}), g = new ka(c, f), _ = new Ja(c, g, f, h, l, d), v = Oa({
|
|
4679
|
+
cfi: p,
|
|
4685
4680
|
context: c,
|
|
4686
|
-
spineItemsManager:
|
|
4681
|
+
spineItemsManager: f,
|
|
4687
4682
|
hookManager: s,
|
|
4688
4683
|
spine: _,
|
|
4689
4684
|
settings: l,
|
|
4690
|
-
viewport:
|
|
4691
|
-
}), ee = new Aa(c, g,
|
|
4685
|
+
viewport: d
|
|
4686
|
+
}), ee = new Aa(c, g, f, _, h, v.isLocked$, p);
|
|
4692
4687
|
v.navigationState$.subscribe(c.bridgeEvent.viewportStateSubject), v.navigation$.subscribe(c.bridgeEvent.navigationSubject), v.position$.subscribe(c.bridgeEvent.positionSubject), g.subscribe(c.bridgeEvent.paginationSubject);
|
|
4693
4688
|
let te = (e = {}) => {
|
|
4694
4689
|
a.next(e);
|
|
@@ -4698,22 +4693,22 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4698
4693
|
let t = io(e, r);
|
|
4699
4694
|
c.update({ rootElement: t }), te({ immediate: !0 });
|
|
4700
4695
|
}, re = l.watch(["computedSpreadMode"]).pipe(Ee(1), L(() => te())), ie = T(a.pipe(L((e) => {
|
|
4701
|
-
c.value.rootElement && (
|
|
4696
|
+
c.value.rootElement && (d.layout(), _.layout(e));
|
|
4702
4697
|
}), I(o)), re).subscribe();
|
|
4703
4698
|
return {
|
|
4704
4699
|
id: r,
|
|
4705
4700
|
context: c,
|
|
4706
4701
|
spine: _,
|
|
4707
4702
|
hookManager: s,
|
|
4708
|
-
cfi:
|
|
4703
|
+
cfi: p,
|
|
4709
4704
|
navigation: v,
|
|
4710
4705
|
spineItemsObserver: _.spineItemsObserver,
|
|
4711
|
-
spineItemsManager:
|
|
4706
|
+
spineItemsManager: f,
|
|
4712
4707
|
layout: te,
|
|
4713
4708
|
mount: ne,
|
|
4714
4709
|
destroy: () => {
|
|
4715
4710
|
let e = c.value.rootElement;
|
|
4716
|
-
et(document, i), e && ao(e), ie.unsubscribe(),
|
|
4711
|
+
et(document, i), e && ao(e), ie.unsubscribe(), f.destroy(), ee.destroy(), l.destroy(), g.destroy(), c.destroy(), v.destroy(), _.destroy(), u.destroy(), o.next(), o.complete(), d.destroy();
|
|
4717
4712
|
},
|
|
4718
4713
|
pagination: {
|
|
4719
4714
|
get state() {
|
|
@@ -4724,8 +4719,8 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4724
4719
|
}
|
|
4725
4720
|
},
|
|
4726
4721
|
settings: l,
|
|
4727
|
-
renderHeadless: (e) =>
|
|
4728
|
-
viewport:
|
|
4722
|
+
renderHeadless: (e) => f.get(e)?.renderer.renderHeadless() ?? D(void 0),
|
|
4723
|
+
viewport: d,
|
|
4729
4724
|
viewportState$: c.bridgeEvent.viewportState$,
|
|
4730
4725
|
viewportFree$: c.bridgeEvent.viewportFree$,
|
|
4731
4726
|
mounted$: c.watch("rootElement").pipe(Se(K), ye()),
|
|
@@ -4743,6 +4738,6 @@ var ii = (e) => (t) => e(t), ai = (e, t, n) => {
|
|
|
4743
4738
|
}), Yn(e.navigation)) : u;
|
|
4744
4739
|
}), O());
|
|
4745
4740
|
//#endregion
|
|
4746
|
-
export { fn as AbstractSpinePosition, En as CSS_VAR_ABSOLUTE_VIEWPORT_HEIGHT, Tn as CSS_VAR_ABSOLUTE_VIEWPORT_WIDTH, Di as CfiManager, Ai as Context, Li as ControlledNavigationController, Q as DestroyableClass, At as DocumentRenderer, ji as Features, xn as HTML_ATTRIBUTE_DATA_READER_ID, X as HTML_PREFIX, Cn as HTML_PREFIX_SCROLL_NAVIGATOR, wn as HTML_PREFIX_SPINE_ITEM, Sn as HTML_PREFIX_VIEWPORT, bn as HTML_STYLE_PREFIX, Mi as HookManager, ia as InternalNavigator, sn as LayoutEntry, Yi as Locker, yn as PAGINATION_UPDATE_AFTER_VIEWPORT_ADJUSTMENT_DEBOUNCE, _n as PROSE_READER_NAMESPACE, yr as Pages, ka as Pagination, Aa as PaginationController, U as ReactiveEntity, Mt as ResourceHandler, pr as ResourcesLocator, di as ScrollNavigationController, li as ScrollPosition, ja as SettingsManager,
|
|
4741
|
+
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, Xe as isHtmlElement, Ze as isHtmlTagElement, Ci as isRootCfi, a as isShallowEqual, Wn as layoutEnhancer, gt as mapKeysTo, lo as observeBookBoundaryReached, wt as observeIntersection, Ct as observeMutation, Jn as observeNextSettledNavigation, vt as observeResize, qn as observeSettledNavigation, Yr as paginationEnhancer, Ti as parseCfi, ht as pick, Fe as removeAttributeIfPresent, it as removeCSS, V as removeStylePropertyIfPresent, Ei as resolveCfi, so as rootEnhancer, z as setAttributeIfChanged, Ie as setPropertyIfChanged, B as setStylePropertyIfChanged, Vn as shouldEnableSpreadModeForViewport, Hn as shouldUseComputedSpreadModeForViewport, hr as spinePositionToSpineItemSpineLayout, Yn as takeUntilNextNavigationSettled, H as upsertCSSToFrame, ot as waitForFrameLoad, st as waitForFrameReady, Kn as waitForNavigationSettled, yt as waitForSwitch, _t as watchKeys };
|
|
4747
4742
|
|
|
4748
4743
|
//# sourceMappingURL=index.js.map
|