@prose-reader/core 1.368.0 → 1.370.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/createReaderWithEnhancer.d.ts +2 -1
- package/dist/index.cjs +11 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +119 -114
- package/dist/index.js.map +1 -1
- package/dist/pagination/Pagination.d.ts +1 -1
- package/dist/pagination/PaginationController.d.ts +6 -3
- package/dist/pagination/index.d.ts +0 -2
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -3865,66 +3865,71 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
3865
3865
|
update(e) {
|
|
3866
3866
|
this.mergeCompare(e);
|
|
3867
3867
|
}
|
|
3868
|
-
}, ja =
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
let s = E(this.context.bridgeEvent.navigation$, r.layout$).pipe(A(() => {
|
|
3872
|
-
let e = ({ spineItem: e, position: t }) => this.spine.locator.getVisiblePagesFromViewportPosition({
|
|
3873
|
-
spineItem: e,
|
|
3874
|
-
position: t,
|
|
3875
|
-
threshold: {
|
|
3876
|
-
type: "percentage",
|
|
3877
|
-
value: .5
|
|
3878
|
-
}
|
|
3879
|
-
});
|
|
3880
|
-
return this.isNavigationLocked$.pipe(x((e) => !e), he(1), N(this.context.bridgeEvent.navigation$), M(([, t]) => {
|
|
3881
|
-
let { position: n } = t, r = this.pagination.value, { beginIndex: i, endIndex: a } = this.spine.locator.getVisibleSpineItemsFromPosition({
|
|
3882
|
-
position: n,
|
|
3883
|
-
threshold: {
|
|
3884
|
-
type: "percentage",
|
|
3885
|
-
value: .5
|
|
3886
|
-
}
|
|
3887
|
-
}) ?? {}, o = this.spineItemsManager.get(i), s = this.spineItemsManager.get(a);
|
|
3888
|
-
if (!o || !s) return;
|
|
3889
|
-
let c = r.beginCfi, l = r.endCfi, { beginPageIndex: u = 0 } = e({
|
|
3890
|
-
spineItem: o,
|
|
3891
|
-
position: n
|
|
3892
|
-
}) ?? {}, { endPageIndex: d = 0 } = e({
|
|
3893
|
-
spineItem: s,
|
|
3894
|
-
position: n
|
|
3895
|
-
}) ?? {}, f = c === void 0 || this.cfi.isRootCfi(c) || r.beginSpineItemIndex !== i, p = r.endSpineItemIndex !== a || l === void 0 || this.cfi.isRootCfi(l), m = f ? this.cfi.generateRootCfi(o.item) : c, h = p ? this.cfi.generateRootCfi(s.item) : l, g = o.numberOfPages, _ = s.numberOfPages;
|
|
3896
|
-
this.pagination.update({
|
|
3897
|
-
beginCfi: m,
|
|
3898
|
-
beginNumberOfPagesInSpineItem: g,
|
|
3899
|
-
beginPageIndexInSpineItem: u,
|
|
3900
|
-
beginSpineItemIndex: i,
|
|
3901
|
-
endCfi: h,
|
|
3902
|
-
endNumberOfPagesInSpineItem: _,
|
|
3903
|
-
endPageIndexInSpineItem: d,
|
|
3904
|
-
endSpineItemIndex: a,
|
|
3905
|
-
navigationId: t.id
|
|
3906
|
-
});
|
|
3907
|
-
}));
|
|
3908
|
-
}));
|
|
3909
|
-
E(s, s.pipe(yt(this.context.bridgeEvent.viewportFree$), M(() => {
|
|
3910
|
-
let { beginSpineItemIndex: e, endSpineItemIndex: t, beginPageIndexInSpineItem: n, endPageIndexInSpineItem: r } = this.pagination.value;
|
|
3911
|
-
if (n === void 0 || r === void 0 || e === void 0 || t === void 0) return;
|
|
3912
|
-
let i = this.spineItemsManager.get(e), a = this.spineItemsManager.get(t);
|
|
3913
|
-
if (i === void 0 || a === void 0) return;
|
|
3914
|
-
let o = this.spine.pages.fromSpineItemPageIndex(i, n), s = this.spine.pages.fromSpineItemPageIndex(a, r);
|
|
3915
|
-
this.pagination.update({
|
|
3916
|
-
beginCfi: o?.firstVisibleNode ? this.cfi.generateCfiForSpineItemPage({
|
|
3917
|
-
spineItem: i.item,
|
|
3918
|
-
pageNode: o?.firstVisibleNode
|
|
3919
|
-
}) : this.cfi.generateRootCfi(i.item),
|
|
3920
|
-
endCfi: s?.firstVisibleNode ? this.cfi.generateCfiForSpineItemPage({
|
|
3921
|
-
spineItem: a.item,
|
|
3922
|
-
pageNode: s?.firstVisibleNode
|
|
3923
|
-
}) : this.cfi.generateRootCfi(a.item)
|
|
3924
|
-
});
|
|
3925
|
-
}))).pipe(j(this.destroy$)).subscribe();
|
|
3926
|
-
}
|
|
3868
|
+
}, ja = {
|
|
3869
|
+
type: "percentage",
|
|
3870
|
+
value: .5
|
|
3927
3871
|
}, Ma = class extends Q {
|
|
3872
|
+
constructor(e, t, n, r, i, a) {
|
|
3873
|
+
super(), this.context = e, this.pagination = t, this.spineItemsManager = n, this.spine = r, this.isNavigationLocked$ = i, this.cfi = a;
|
|
3874
|
+
let o = E(this.context.bridgeEvent.navigation$, r.layout$).pipe(A(() => this.isNavigationLocked$.pipe(x((e) => !e), he(1), N(this.context.bridgeEvent.navigation$), T(([, e]) => this.resolveMetrics(e) ?? this.pagination.value))), O());
|
|
3875
|
+
E(o, o.pipe(yt(this.context.bridgeEvent.viewportFree$), T((e) => this.resolvePositions(e)), x((e) => e !== void 0))).pipe(j(this.destroy$)).subscribe((e) => {
|
|
3876
|
+
this.pagination.update(e);
|
|
3877
|
+
});
|
|
3878
|
+
}
|
|
3879
|
+
getVisiblePages(e, t) {
|
|
3880
|
+
return this.spine.locator.getVisiblePagesFromViewportPosition({
|
|
3881
|
+
spineItem: e,
|
|
3882
|
+
position: t,
|
|
3883
|
+
threshold: ja
|
|
3884
|
+
});
|
|
3885
|
+
}
|
|
3886
|
+
resolveMetrics(e) {
|
|
3887
|
+
let { position: t } = e, n = this.pagination.value, { beginIndex: r, endIndex: i } = this.spine.locator.getVisibleSpineItemsFromPosition({
|
|
3888
|
+
position: t,
|
|
3889
|
+
threshold: ja
|
|
3890
|
+
}) ?? {}, a = this.spineItemsManager.get(r), o = this.spineItemsManager.get(i);
|
|
3891
|
+
if (!a || !o) return;
|
|
3892
|
+
let { beginPageIndex: s = 0 } = this.getVisiblePages(a, t) ?? {}, { endPageIndex: c = 0 } = this.getVisiblePages(o, t) ?? {};
|
|
3893
|
+
return {
|
|
3894
|
+
beginCfi: this.carryOverCfi(a, r, {
|
|
3895
|
+
cfi: n.beginCfi,
|
|
3896
|
+
spineItemIndex: n.beginSpineItemIndex
|
|
3897
|
+
}),
|
|
3898
|
+
beginNumberOfPagesInSpineItem: a.numberOfPages,
|
|
3899
|
+
beginPageIndexInSpineItem: s,
|
|
3900
|
+
beginSpineItemIndex: r,
|
|
3901
|
+
endCfi: this.carryOverCfi(o, i, {
|
|
3902
|
+
cfi: n.endCfi,
|
|
3903
|
+
spineItemIndex: n.endSpineItemIndex
|
|
3904
|
+
}),
|
|
3905
|
+
endNumberOfPagesInSpineItem: o.numberOfPages,
|
|
3906
|
+
endPageIndexInSpineItem: c,
|
|
3907
|
+
endSpineItemIndex: i,
|
|
3908
|
+
navigationId: e.id
|
|
3909
|
+
};
|
|
3910
|
+
}
|
|
3911
|
+
carryOverCfi(e, t, n) {
|
|
3912
|
+
return n.cfi !== void 0 && !this.cfi.isRootCfi(n.cfi) && n.spineItemIndex === t ? n.cfi : this.cfi.generateRootCfi(e.item);
|
|
3913
|
+
}
|
|
3914
|
+
resolvePositions(e) {
|
|
3915
|
+
let { beginSpineItemIndex: t, endSpineItemIndex: n, beginPageIndexInSpineItem: r, endPageIndexInSpineItem: i } = e;
|
|
3916
|
+
if (r === void 0 || i === void 0 || t === void 0 || n === void 0) return;
|
|
3917
|
+
let a = this.spineItemsManager.get(t), o = this.spineItemsManager.get(n);
|
|
3918
|
+
if (!a || !o) return;
|
|
3919
|
+
let s = this.spine.pages.fromSpineItemPageIndex(a, r), c = this.spine.pages.fromSpineItemPageIndex(o, i);
|
|
3920
|
+
return {
|
|
3921
|
+
...e,
|
|
3922
|
+
beginCfi: this.resolveCfi(a, s),
|
|
3923
|
+
endCfi: this.resolveCfi(o, c)
|
|
3924
|
+
};
|
|
3925
|
+
}
|
|
3926
|
+
resolveCfi(e, t) {
|
|
3927
|
+
return t?.firstVisibleNode ? this.cfi.generateCfiForSpineItemPage({
|
|
3928
|
+
spineItem: e.item,
|
|
3929
|
+
pageNode: t.firstVisibleNode
|
|
3930
|
+
}) : this.cfi.generateRootCfi(e.item);
|
|
3931
|
+
}
|
|
3932
|
+
}, Na = class extends Q {
|
|
3928
3933
|
constructor(e) {
|
|
3929
3934
|
super();
|
|
3930
3935
|
let t = {
|
|
@@ -3965,7 +3970,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
3965
3970
|
destroy() {
|
|
3966
3971
|
super.destroy(), this.outputSettingsUpdateSubject.complete();
|
|
3967
3972
|
}
|
|
3968
|
-
},
|
|
3973
|
+
}, Pa = class extends Na {
|
|
3969
3974
|
constructor(e, t) {
|
|
3970
3975
|
super(e), this.context = t, t.watch(["hasVerticalWriting"]).pipe(M(() => this.update(this.values)), j(this.destroy$)).subscribe();
|
|
3971
3976
|
}
|
|
@@ -4005,7 +4010,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4005
4010
|
numberOfAdjacentSpineItemToPreLoad: 3
|
|
4006
4011
|
};
|
|
4007
4012
|
}
|
|
4008
|
-
},
|
|
4013
|
+
}, Fa = class extends Q {
|
|
4009
4014
|
constructor(e, n, r, i, a, o) {
|
|
4010
4015
|
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());
|
|
4011
4016
|
let s = this.forcedOpenSubject.pipe(T((e) => Array.from(e.keys()).sort((e, t) => e - t)), b(t), k({
|
|
@@ -4041,13 +4046,13 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4041
4046
|
destroy() {
|
|
4042
4047
|
super.destroy(), this.forcedOpenSubject.complete();
|
|
4043
4048
|
}
|
|
4044
|
-
},
|
|
4049
|
+
}, Ia = (e, t, n) => {
|
|
4045
4050
|
let r = (n.width - t.width) / 2, i = (n.height - t.height) / 2;
|
|
4046
4051
|
return new Y({
|
|
4047
4052
|
x: e.x - r,
|
|
4048
4053
|
y: e.y - i
|
|
4049
4054
|
});
|
|
4050
|
-
},
|
|
4055
|
+
}, La = class e extends DOMRect {
|
|
4051
4056
|
constructor(...e) {
|
|
4052
4057
|
super(...e), this.__symbol = Symbol("ViewportPosition");
|
|
4053
4058
|
}
|
|
@@ -4059,15 +4064,15 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4059
4064
|
let r = t;
|
|
4060
4065
|
return new e(r.x, r.y, r.width, r.height);
|
|
4061
4066
|
}
|
|
4062
|
-
},
|
|
4067
|
+
}, Ra = class {
|
|
4063
4068
|
constructor({ width: e, height: t }) {
|
|
4064
4069
|
this.__symbol = Symbol("AbsoluteViewport"), this.width = e, this.height = t;
|
|
4065
4070
|
}
|
|
4066
|
-
},
|
|
4071
|
+
}, za = class {
|
|
4067
4072
|
constructor({ width: e, height: t }) {
|
|
4068
4073
|
this.__symbol = Symbol("RelativeViewport"), this.width = e, this.height = t;
|
|
4069
4074
|
}
|
|
4070
|
-
},
|
|
4075
|
+
}, Ba = ({ pageIndex: e, spineItemOrId: t, spineItemsManager: n }) => {
|
|
4071
4076
|
let r = n.items, i = n.get(t);
|
|
4072
4077
|
if (!i) return;
|
|
4073
4078
|
let { currentAbsolutePage: a } = r.reduce((t, n) => {
|
|
@@ -4085,45 +4090,45 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4085
4090
|
found: !1
|
|
4086
4091
|
});
|
|
4087
4092
|
return a;
|
|
4088
|
-
},
|
|
4093
|
+
}, Va = ({ itemHeight: e, itemWidth: t, visibleWidthOfItem: n, visibleHeightOfItem: r, threshold: i }) => {
|
|
4089
4094
|
let a = n / t, o = r / e;
|
|
4090
4095
|
return i.type === "percentage" ? a >= i.value && o >= i.value : n >= i.value && r >= i.value;
|
|
4091
|
-
},
|
|
4096
|
+
}, Ha = ({ visibleWidthOfItem: e, visibleHeightOfItem: t, threshold: n, viewportPosition: r }) => {
|
|
4092
4097
|
let i = e / r.width, a = t / r.height;
|
|
4093
4098
|
return n.type === "percentage" ? a >= n.value && i >= n.value : t >= n.value && e >= n.value;
|
|
4094
|
-
},
|
|
4099
|
+
}, Ua = ({ itemPosition: { bottom: e, left: t, right: n, top: r, width: i, height: a }, threshold: o, viewportPosition: s, restrictToScreen: c }) => {
|
|
4095
4100
|
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));
|
|
4096
4101
|
if (p <= 0 || m <= 0) return { visible: !1 };
|
|
4097
|
-
let h =
|
|
4102
|
+
let h = Ha({
|
|
4098
4103
|
threshold: o,
|
|
4099
4104
|
visibleHeightOfItem: m,
|
|
4100
4105
|
visibleWidthOfItem: p,
|
|
4101
4106
|
viewportPosition: s
|
|
4102
4107
|
});
|
|
4103
|
-
return c ? { visible: h } : { visible:
|
|
4108
|
+
return c ? { visible: h } : { visible: Va({
|
|
4104
4109
|
itemHeight: a,
|
|
4105
4110
|
itemWidth: i,
|
|
4106
4111
|
threshold: o,
|
|
4107
4112
|
visibleHeightOfItem: m,
|
|
4108
4113
|
visibleWidthOfItem: p
|
|
4109
4114
|
}) || h };
|
|
4110
|
-
},
|
|
4115
|
+
}, Wa = ({ position: e, spineItemsManager: t, spineLayout: n }) => {
|
|
4111
4116
|
let r = t.items.find((t) => {
|
|
4112
4117
|
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;
|
|
4113
4118
|
return s && c;
|
|
4114
4119
|
});
|
|
4115
4120
|
return e.x === 0 && !r ? t.items[0] : r;
|
|
4116
|
-
},
|
|
4121
|
+
}, Ga = ({ spineItemPosition: e, itemLayout: { left: t, top: n } }) => new J({
|
|
4117
4122
|
x: t + e.x,
|
|
4118
4123
|
y: n + e.y
|
|
4119
|
-
}),
|
|
4120
|
-
let s =
|
|
4124
|
+
}), Ka = ({ position: e, threshold: t, restrictToScreen: n, spineItemsManager: r, spineLayout: i, useAbsoluteViewport: a = !0, viewport: o }) => {
|
|
4125
|
+
let s = Wa({
|
|
4121
4126
|
position: e,
|
|
4122
4127
|
spineItemsManager: r,
|
|
4123
4128
|
spineLayout: i
|
|
4124
|
-
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l =
|
|
4129
|
+
}) || r.get(0), c = a ? o.absoluteViewport : o.relativeViewport, l = Ia(e, o.absoluteViewport, c), u = La.from(l, c), d = [];
|
|
4125
4130
|
for (let e of r.items) {
|
|
4126
|
-
let { visible: r } =
|
|
4131
|
+
let { visible: r } = Ua({
|
|
4127
4132
|
itemPosition: i.getSpineItemSpineLayoutInfo(e),
|
|
4128
4133
|
threshold: t,
|
|
4129
4134
|
viewportPosition: u,
|
|
@@ -4138,14 +4143,14 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4138
4143
|
beginIndex: m ?? 0,
|
|
4139
4144
|
endIndex: h ?? 0
|
|
4140
4145
|
};
|
|
4141
|
-
},
|
|
4146
|
+
}, qa = ({ spineItemsManager: e, context: t, spineItemLocator: n, settings: r, spineLayout: i, viewport: a }) => {
|
|
4142
4147
|
let o = (e, t) => {
|
|
4143
4148
|
let { left: n, top: r } = i.getSpineItemSpineLayoutInfo(t);
|
|
4144
4149
|
return new q({
|
|
4145
4150
|
x: Math.max(e.x - n, 0),
|
|
4146
4151
|
y: Math.max(e.y - r, 0)
|
|
4147
4152
|
});
|
|
4148
|
-
}, s = (e) =>
|
|
4153
|
+
}, s = (e) => Ga({
|
|
4149
4154
|
spineItemPosition: new q({
|
|
4150
4155
|
x: 0,
|
|
4151
4156
|
y: 0
|
|
@@ -4159,7 +4164,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4159
4164
|
return n.getSpineItemPageIndexFromNode(t, r || 0, i);
|
|
4160
4165
|
}, u = ({ position: e, threshold: t, spineItem: r, restrictToScreen: a, useAbsoluteViewport: o = !0, viewport: s }) => {
|
|
4161
4166
|
let c = r.numberOfPages, l = Array.from(Array(c)).map((e, t) => {
|
|
4162
|
-
let a =
|
|
4167
|
+
let a = Ga({
|
|
4163
4168
|
spineItemPosition: n.getSpineItemPositionFromPageIndex({
|
|
4164
4169
|
pageIndex: t,
|
|
4165
4170
|
spineItem: r
|
|
@@ -4178,8 +4183,8 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4178
4183
|
}
|
|
4179
4184
|
};
|
|
4180
4185
|
}).reduce((n, { absolutePosition: r, index: i }) => {
|
|
4181
|
-
let c = o ? s.absoluteViewport : s.relativeViewport, l =
|
|
4182
|
-
viewportPosition:
|
|
4186
|
+
let c = o ? s.absoluteViewport : s.relativeViewport, l = Ia(e, s.absoluteViewport, c), { visible: u } = Ua({
|
|
4187
|
+
viewportPosition: La.from(l, c),
|
|
4183
4188
|
restrictToScreen: a,
|
|
4184
4189
|
threshold: t,
|
|
4185
4190
|
itemPosition: r
|
|
@@ -4192,11 +4197,11 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4192
4197
|
};
|
|
4193
4198
|
};
|
|
4194
4199
|
return {
|
|
4195
|
-
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) =>
|
|
4200
|
+
getSpinePositionFromSpineItemPosition: ({ spineItem: e, spineItemPosition: t }) => Ga({
|
|
4196
4201
|
itemLayout: i.getSpineItemSpineLayoutInfo(e),
|
|
4197
4202
|
spineItemPosition: t
|
|
4198
4203
|
}),
|
|
4199
|
-
_getAbsolutePageIndexFromPageIndex: (n) =>
|
|
4204
|
+
_getAbsolutePageIndexFromPageIndex: (n) => Ba({
|
|
4200
4205
|
...n,
|
|
4201
4206
|
context: t,
|
|
4202
4207
|
settings: r,
|
|
@@ -4204,7 +4209,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4204
4209
|
spineLayout: i
|
|
4205
4210
|
}),
|
|
4206
4211
|
getSpineItemPagePositionFromSpinePosition: (t) => {
|
|
4207
|
-
let r =
|
|
4212
|
+
let r = Wa({
|
|
4208
4213
|
position: t,
|
|
4209
4214
|
spineItemsManager: e,
|
|
4210
4215
|
spineLayout: i
|
|
@@ -4225,14 +4230,14 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4225
4230
|
},
|
|
4226
4231
|
getSpinePositionFromSpineItem: s,
|
|
4227
4232
|
getSpineItemPositionFromSpinePosition: o,
|
|
4228
|
-
getSpineItemFromPosition: (t) =>
|
|
4233
|
+
getSpineItemFromPosition: (t) => Wa({
|
|
4229
4234
|
position: t,
|
|
4230
4235
|
spineItemsManager: e,
|
|
4231
4236
|
spineLayout: i
|
|
4232
4237
|
}),
|
|
4233
4238
|
getSpineItemFromIframe: c,
|
|
4234
4239
|
getSpineItemPageIndexFromNode: l,
|
|
4235
|
-
getVisibleSpineItemsFromPosition: (t) =>
|
|
4240
|
+
getVisibleSpineItemsFromPosition: (t) => Ka({
|
|
4236
4241
|
settings: r,
|
|
4237
4242
|
spineItemsManager: e,
|
|
4238
4243
|
spineLayout: i,
|
|
@@ -4256,7 +4261,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4256
4261
|
});
|
|
4257
4262
|
}
|
|
4258
4263
|
};
|
|
4259
|
-
},
|
|
4264
|
+
}, Ja = class extends Q {
|
|
4260
4265
|
constructor(e) {
|
|
4261
4266
|
super(), this.spineItemsManager = e;
|
|
4262
4267
|
let t = e.items;
|
|
@@ -4268,7 +4273,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4268
4273
|
item: e
|
|
4269
4274
|
}))))).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());
|
|
4270
4275
|
}
|
|
4271
|
-
},
|
|
4276
|
+
}, Ya = class extends Q {
|
|
4272
4277
|
constructor(e, t, n, r, i) {
|
|
4273
4278
|
super(), this.spineItemsManager = e, this.spineItemsObserver = t, this.context = n, this.settings = r, this.viewport = i, this.externalLayoutTrigger = new m(), this.spineItemsRelativeLayouts = [];
|
|
4274
4279
|
let a = E(t.itemLoad$, t.itemUnload$).pipe(T(() => ({ immediate: !1 }))), o = E(this.externalLayoutTrigger, a);
|
|
@@ -4363,16 +4368,16 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4363
4368
|
y: r
|
|
4364
4369
|
});
|
|
4365
4370
|
}
|
|
4366
|
-
},
|
|
4371
|
+
}, Xa = class extends Q {
|
|
4367
4372
|
constructor(e, t, n, r, i, a) {
|
|
4368
|
-
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
|
|
4373
|
+
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 Ja(n), this.spineLayout = new Ya(n, this.spineItemsObserver, e, i, a), this.locator = qa({
|
|
4369
4374
|
context: e,
|
|
4370
4375
|
spineItemsManager: n,
|
|
4371
4376
|
spineItemLocator: r,
|
|
4372
4377
|
settings: i,
|
|
4373
4378
|
spineLayout: this.spineLayout,
|
|
4374
4379
|
viewport: a
|
|
4375
|
-
}), this.spineItemsLoader = new
|
|
4380
|
+
}), this.spineItemsLoader = new Fa(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);
|
|
4376
4381
|
let o = e.watch("rootElement").pipe(xe(K), I(() => {
|
|
4377
4382
|
let e = this.context.document.createElement("div");
|
|
4378
4383
|
e.style.cssText = "\n height: 100%;\n position: relative;\n ", e.className = `${X}-spine`, this.elementSubject.next(e);
|
|
@@ -4398,7 +4403,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4398
4403
|
destroy() {
|
|
4399
4404
|
super.destroy(), this.pages.destroy(), this.spineItemsLoader.destroy(), this.elementSubject.getValue()?.remove(), this.elementSubject.complete();
|
|
4400
4405
|
}
|
|
4401
|
-
},
|
|
4406
|
+
}, Za = class extends At {
|
|
4402
4407
|
onUnload() {}
|
|
4403
4408
|
onCreateDocument() {
|
|
4404
4409
|
return D(this.context.document.createElement("div"));
|
|
@@ -4413,7 +4418,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4413
4418
|
return u;
|
|
4414
4419
|
}
|
|
4415
4420
|
getDocumentFrame() {}
|
|
4416
|
-
},
|
|
4421
|
+
}, Qa = class extends Q {
|
|
4417
4422
|
constructor(e, t, n, i, a, s, c) {
|
|
4418
4423
|
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 }) => {
|
|
4419
4424
|
let i = this.viewport.value.pageSize.width, a = "none", o = t % this.viewport.absoluteViewport.width === 0, s = this.context.manifest, c = ki(s);
|
|
@@ -4498,7 +4503,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4498
4503
|
height: e.height ? parseFloat(e.height) : 0
|
|
4499
4504
|
};
|
|
4500
4505
|
}
|
|
4501
|
-
},
|
|
4506
|
+
}, $a = class extends U {
|
|
4502
4507
|
constructor(e, t, n, r, i, a) {
|
|
4503
4508
|
super({
|
|
4504
4509
|
isLoaded: !1,
|
|
@@ -4519,7 +4524,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4519
4524
|
this.updateState({ isDirty: !0 });
|
|
4520
4525
|
}, this.destroy = () => {
|
|
4521
4526
|
this.isDestroyed || (super.destroy(), this._layout.destroy(), this.renderer.destroy(), this.containerElement.remove());
|
|
4522
|
-
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement =
|
|
4527
|
+
}, this.isUsingVerticalWriting = () => !!this.renderer.writingMode?.startsWith("vertical"), this.layout = (e) => this._layout.layout(e), this.containerElement = eo(e, t.document);
|
|
4523
4528
|
let o = this.settings.values.getRenderer?.(e);
|
|
4524
4529
|
this.resourcesHandler = new Mt(e, this.settings);
|
|
4525
4530
|
let s = {
|
|
@@ -4531,7 +4536,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4531
4536
|
resourcesHandler: this.resourcesHandler,
|
|
4532
4537
|
viewport: this.viewport
|
|
4533
4538
|
};
|
|
4534
|
-
this.renderer = o ? o(s) : new
|
|
4539
|
+
this.renderer = o ? o(s) : new Za(s), this._layout = new Qa(e, this.containerElement, t, r, this.renderer, this.settings, this.viewport);
|
|
4535
4540
|
let c = this.renderer.state$.pipe(I(({ state: e, error: t }) => {
|
|
4536
4541
|
this.updateState({
|
|
4537
4542
|
isLoaded: e === "loaded",
|
|
@@ -4588,12 +4593,12 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4588
4593
|
pageTurnMode: this.settings.values.pageTurnMode
|
|
4589
4594
|
});
|
|
4590
4595
|
}
|
|
4591
|
-
},
|
|
4596
|
+
}, eo = (e, t) => {
|
|
4592
4597
|
let n = t.createElement("div");
|
|
4593
4598
|
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;
|
|
4594
|
-
},
|
|
4599
|
+
}, to = class extends Q {
|
|
4595
4600
|
constructor(e, t, n, r) {
|
|
4596
|
-
super(), this.context = e, this.settings = t, this.hookManager = n, this.viewport = r, this.items = e.manifest.spineItems.map((i, a) => new
|
|
4601
|
+
super(), this.context = e, this.settings = t, this.hookManager = n, this.viewport = r, this.items = e.manifest.spineItems.map((i, a) => new $a(i, e, t, n, a, r));
|
|
4597
4602
|
}
|
|
4598
4603
|
get(e) {
|
|
4599
4604
|
return typeof e == "number" ? this.items[e] : typeof e == "string" ? this.items.find(({ item: t }) => t.id === e) : e;
|
|
@@ -4603,14 +4608,14 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4603
4608
|
return n > r ? "after" : n === r ? "same" : "before";
|
|
4604
4609
|
}
|
|
4605
4610
|
getSpineItemIndex(e) {
|
|
4606
|
-
return (e instanceof
|
|
4611
|
+
return (e instanceof $a ? e : this.get(e))?.index;
|
|
4607
4612
|
}
|
|
4608
4613
|
destroy() {
|
|
4609
4614
|
this.items.forEach((e) => {
|
|
4610
4615
|
e.destroy();
|
|
4611
4616
|
}), super.destroy();
|
|
4612
4617
|
}
|
|
4613
|
-
},
|
|
4618
|
+
}, no = class extends U {
|
|
4614
4619
|
constructor(e, t) {
|
|
4615
4620
|
let n = e.document.createElement("div");
|
|
4616
4621
|
n.setAttribute(`data-${Cn}`, ""), super({
|
|
@@ -4649,7 +4654,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4649
4654
|
}), this.layoutSubject.next();
|
|
4650
4655
|
}
|
|
4651
4656
|
get absoluteViewport() {
|
|
4652
|
-
return new
|
|
4657
|
+
return new Ra({
|
|
4653
4658
|
width: this.value.width,
|
|
4654
4659
|
height: this.value.height
|
|
4655
4660
|
});
|
|
@@ -4663,7 +4668,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4663
4668
|
}
|
|
4664
4669
|
get relativeViewport() {
|
|
4665
4670
|
let e = this.absoluteViewport, t = this.scaleFactor;
|
|
4666
|
-
return new
|
|
4671
|
+
return new za({
|
|
4667
4672
|
width: e.width / t,
|
|
4668
4673
|
height: e.height / t
|
|
4669
4674
|
});
|
|
@@ -4671,12 +4676,12 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4671
4676
|
destroy() {
|
|
4672
4677
|
super.destroy(), this.layoutSubject.complete(), this.value.element.remove();
|
|
4673
4678
|
}
|
|
4674
|
-
},
|
|
4675
|
-
let i = crypto.randomUUID(), a = `${xn}-core-${i}`, o = new m(), s = new m(), c = new Ni(), l = new ji(e, n), u = new
|
|
4679
|
+
}, ro = ({ manifest: e, cfi: t, ownerDocument: n = globalThis.document, ...r }) => {
|
|
4680
|
+
let i = crypto.randomUUID(), a = `${xn}-core-${i}`, o = new m(), s = new m(), c = new Ni(), l = new ji(e, n), u = new Pa(r, l), d = new Mi(l, u), f = new no(l, u), p = new to(l, u, c, f), h = new Oi(c, p), g = ma({
|
|
4676
4681
|
context: l,
|
|
4677
4682
|
settings: u,
|
|
4678
4683
|
viewport: f
|
|
4679
|
-
}), _ = new Aa(l, p), v = new
|
|
4684
|
+
}), _ = new Aa(l, p), v = new Xa(l, _, p, g, u, f), y = ka({
|
|
4680
4685
|
cfi: h,
|
|
4681
4686
|
context: l,
|
|
4682
4687
|
spineItemsManager: p,
|
|
@@ -4684,7 +4689,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4684
4689
|
spine: v,
|
|
4685
4690
|
settings: u,
|
|
4686
4691
|
viewport: f
|
|
4687
|
-
}), ee = new
|
|
4692
|
+
}), ee = new Ma(l, _, p, v, y.isLocked$, h);
|
|
4688
4693
|
y.navigationState$.subscribe(l.bridgeEvent.viewportStateSubject), y.navigation$.subscribe(l.bridgeEvent.navigationSubject), y.position$.subscribe(l.bridgeEvent.positionSubject), _.subscribe(l.bridgeEvent.paginationSubject);
|
|
4689
4694
|
let te = (e = {}) => {
|
|
4690
4695
|
o.next(e);
|
|
@@ -4692,7 +4697,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4692
4697
|
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.");
|
|
4693
4698
|
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).");
|
|
4694
4699
|
L.log("mount", { containerElement: e }), $e(l.document, a, Pi);
|
|
4695
|
-
let t =
|
|
4700
|
+
let t = oo(e, i);
|
|
4696
4701
|
l.update({ rootElement: t }), te({ immediate: !0 });
|
|
4697
4702
|
}, re = u.watch(["computedSpreadMode"]).pipe(De(1), I(() => te())), ie = E(o.pipe(I((e) => {
|
|
4698
4703
|
l.value.rootElement && (f.layout(), v.layout(e));
|
|
@@ -4710,7 +4715,7 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4710
4715
|
mount: ne,
|
|
4711
4716
|
destroy: () => {
|
|
4712
4717
|
let e = l.value.rootElement;
|
|
4713
|
-
e && (et(l.document, a),
|
|
4718
|
+
e && (et(l.document, a), so(e)), ie.unsubscribe(), p.destroy(), ee.destroy(), u.destroy(), _.destroy(), l.destroy(), y.destroy(), v.destroy(), d.destroy(), s.next(), s.complete(), f.destroy();
|
|
4714
4719
|
},
|
|
4715
4720
|
pagination: {
|
|
4716
4721
|
get state() {
|
|
@@ -4729,9 +4734,9 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4729
4734
|
features: d,
|
|
4730
4735
|
$: { destroy$: s }
|
|
4731
4736
|
};
|
|
4732
|
-
},
|
|
4733
|
-
e.classList.remove(
|
|
4734
|
-
},
|
|
4737
|
+
}, io = `${X}-reader`, ao = "data-prose-reader-container", oo = (e, t) => (e.classList.add(io), R(e, Sn, t), R(e, ao, t), e), so = (e) => {
|
|
4738
|
+
e.classList.remove(io), e.removeAttribute(Sn), e.removeAttribute(ao);
|
|
4739
|
+
}, co = ti(Ot(ai(Dt(ct(ii(_i(dr(sn(Kn(lt(pt(Xr(Gn(ri(ro))))))))))))))), lo = (e) => (t) => e(t), uo = 5e3, fo = (e, { itemReadinessTimeoutMs: t = uo } = {}) => Zn(e).pipe(A((n) => {
|
|
4735
4740
|
if (n.boundary === "start") return D(n);
|
|
4736
4741
|
let r = e.spineItemsManager.items, i = r[r.length - 1];
|
|
4737
4742
|
return i ? i.value.isReady ? D(n) : i.isReady$.pipe(x(Boolean), S(), T(() => n), t === Infinity ? ce : _e({
|
|
@@ -4740,6 +4745,6 @@ var ai = (e) => (t) => e(t), oi = (e, t, n) => {
|
|
|
4740
4745
|
}), Xn(e.navigation)) : u;
|
|
4741
4746
|
}), O());
|
|
4742
4747
|
//#endregion
|
|
4743
|
-
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,
|
|
4748
|
+
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, U as ReactiveEntity, Mt as ResourceHandler, mr as ResourcesLocator, fi as ScrollNavigationController, ui as ScrollPosition, Na as SettingsManager, Xa as Spine, $a as SpineItem, un as SpineItemPageLayout, fn as SpineItemPageSpineLayout, q as SpineItemPosition, dn as SpineItemSpineLayout, to as SpineItemsManager, Ja as SpineItemsObserver, J as SpinePosition, di as UnboundScrollPosition, ln as UnboundSpineItemPagePosition, Y as UnboundSpinePosition, yn as VIEWPORT_ADJUSTMENT_THROTTLE, no as Viewport, pr as consolidate, co 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, fo 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, lo 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 };
|
|
4744
4749
|
|
|
4745
4750
|
//# sourceMappingURL=index.js.map
|