html-flip-book-vanilla 0.0.0-alpha.97 → 0.0.0-alpha.98

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.
@@ -14,8 +14,9 @@ export interface BookmarkMotionFaces {
14
14
  }
15
15
  export declare class BookmarkMotion {
16
16
  private readonly host;
17
+ private readonly getHostWidth;
17
18
  private readonly items;
18
- constructor(host: HTMLElement);
19
+ constructor(host: HTMLElement, getHostWidth?: () => number);
19
20
  sync(bookmark: BookmarkTarget, button: HTMLButtonElement, frame: BookmarkLeafFrame, page0: HTMLElement, className?: string, faces?: BookmarkMotionFaces): void;
20
21
  restore(id: string): void;
21
22
  restoreAll(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"bookmark-motion.d.ts","sourceRoot":"","sources":["../src/bookmark-motion.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,iBAAiB,EAGtB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,cAAc;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,YAAa,SAAQ,cAAc;IAC5C,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;CACnB;AAuCD,qBAAa,cAAc;IAGd,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAE3D,YAA6B,IAAI,EAAE,WAAW,EAAI;IAElD,IAAI,CACH,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,WAAW,EAClB,SAAS,SAAK,EACd,KAAK,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAaN;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAcxB;IAED,UAAU,IAAI,IAAI,CAEjB;IAED,OAAO,IAAI,IAAI,CAEd;IAED,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAoCf,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,cAAc;IA2DtB,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,YAAY;CAkBpB"}
1
+ {"version":3,"file":"bookmark-motion.d.ts","sourceRoot":"","sources":["../src/bookmark-motion.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,iBAAiB,EAGtB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,cAAc;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,YAAa,SAAQ,cAAc;IAC5C,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;CACnB;AAuCD,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAE3D,YACkB,IAAI,EAAE,WAAW,EACjB,YAAY,GAAE,MAAM,MAA+B,EACjE;IAEJ,IAAI,CACH,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,WAAW,EAClB,SAAS,SAAK,EACd,KAAK,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAaN;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAcxB;IAED,UAAU,IAAI,IAAI,CAEjB;IAED,OAAO,IAAI,IAAI,CAEd;IAED,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAoCf,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,cAAc;IA2DtB,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,YAAY;CAkBpB"}
@@ -25,6 +25,7 @@ export interface BookmarkProvider<Content = string | HTMLElement> {
25
25
  className?: string;
26
26
  onClick?: (currentLeafIndex: number, bookmark: Bookmark) => void;
27
27
  }
28
+ type Edge = "top" | "right" | "bottom" | "left";
28
29
  export interface BookmarkInsets {
29
30
  top: number;
30
31
  right: number;
@@ -37,6 +38,12 @@ export interface BookmarkBounds {
37
38
  width: number;
38
39
  height: number;
39
40
  }
41
+ interface BookmarkMeasurements {
42
+ depth: number;
43
+ length: number;
44
+ preferredStep: number;
45
+ gaps: ReadonlyMap<Edge, number>;
46
+ }
40
47
  export declare class BookmarkLayer {
41
48
  private readonly host;
42
49
  private readonly getContext;
@@ -57,6 +64,7 @@ export declare class BookmarkLayer {
57
64
  private readonly leafFrames;
58
65
  private provider;
59
66
  private bounds;
67
+ private hostWidth;
60
68
  private destroyed;
61
69
  private mouseMode;
62
70
  constructor(host: HTMLElement, getContext: () => BookmarkContext, jump: (pageIndex: number) => void, pagesCount: number, onPointerDown?: ((event: PointerEvent) => void) | undefined);
@@ -67,8 +75,9 @@ export declare class BookmarkLayer {
67
75
  private removeRetiredBookmarks;
68
76
  private placeItem;
69
77
  private getItemRail;
70
- getInsets(): BookmarkInsets;
71
- layout(bounds: BookmarkBounds): void;
78
+ getInsets(measuredDepth?: number): BookmarkInsets;
79
+ measure(): BookmarkMeasurements;
80
+ layout(bounds: BookmarkBounds, hostWidth?: number, measurements?: BookmarkMeasurements): void;
72
81
  private layoutSideStacks;
73
82
  private getRestingRailZIndex;
74
83
  private clearStackSlot;
@@ -91,4 +100,5 @@ export declare class BookmarkLayer {
91
100
  private getDepth;
92
101
  private getSize;
93
102
  }
103
+ export {};
94
104
  //# sourceMappingURL=bookmarks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../src/bookmarks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../src/bookmarks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flipbook.d.ts","sourceRoot":"","sources":["../src/flipbook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flipbook.d.ts","sourceRoot":"","sources":["../src/flipbook.ts"],"names":[],"mappings":"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"}
package/dist/flipbook.js CHANGED
@@ -107,9 +107,10 @@ function h(e) {
107
107
  }
108
108
  var g = class {
109
109
  host;
110
+ getHostWidth;
110
111
  items = /* @__PURE__ */ new Map();
111
- constructor(e) {
112
- this.host = e;
112
+ constructor(e, t = () => e.clientWidth) {
113
+ this.host = e, this.getHostWidth = t;
113
114
  }
114
115
  sync(e, t, n, r, i = "", a) {
115
116
  if (!h(n)) {
@@ -138,7 +139,7 @@ var g = class {
138
139
  this.restoreAll();
139
140
  }
140
141
  baseLeft(e, t) {
141
- return e.style.left ? Number.parseFloat(e.style.left) || 0 : this.host.clientWidth - (Number.parseFloat(e.style.right) || 0) - t;
142
+ return e.style.left ? Number.parseFloat(e.style.left) || 0 : this.getHostWidth() - (Number.parseFloat(e.style.right) || 0) - t;
142
143
  }
143
144
  capture(e, t, n, r) {
144
145
  let i = this.hostRectangle(e), a = this.sourceOnRight(e, t, r), o = this.sheetRectangle(i, t, n, a), s = this.exposedRectangle(e, i), c = this.sheetRectangle(s, t, n, a), l = this.captureCaption(e, i, a, r), u = this.makePlaceholder(e, o);
@@ -543,12 +544,13 @@ var S = class {
543
544
  leafFrames = /* @__PURE__ */ new Map();
544
545
  provider;
545
546
  bounds;
547
+ hostWidth;
546
548
  destroyed = !1;
547
549
  mouseMode = "turn";
548
550
  constructor(e, t, n, r, i) {
549
551
  this.host = e, this.getContext = t, this.jump = n, this.pagesCount = r, this.onPointerDown = i;
550
552
  let a = e.ownerDocument;
551
- this.element = a.createElement("div"), this.element.className = "flipbook-bookmarks", this.element.setAttribute("data-flipbook-no-flip", ""), this.element.setAttribute("aria-label", "Bookmarks"), this.element.setAttribute("role", "navigation"), this.element.hidden = !0, this.element.dataset.orientation = "perpendicular", this.storage = a.createElement("div"), this.storage.hidden = !0, this.element.append(this.storage), this.preview = new _(this.element, this.storage), this.motion = new g(e);
553
+ this.element = a.createElement("div"), this.element.className = "flipbook-bookmarks", this.element.setAttribute("data-flipbook-no-flip", ""), this.element.setAttribute("aria-label", "Bookmarks"), this.element.setAttribute("role", "navigation"), this.element.hidden = !0, this.element.dataset.orientation = "perpendicular", this.storage = a.createElement("div"), this.storage.hidden = !0, this.element.append(this.storage), this.preview = new _(this.element, this.storage), this.motion = new g(e, () => this.hostWidth ?? e.clientWidth);
552
554
  for (let e of [
553
555
  "pointerdown",
554
556
  "mousedown",
@@ -616,39 +618,51 @@ var S = class {
616
618
  }
617
619
  return this.groups.get(`${e}:${i}`);
618
620
  }
619
- getInsets() {
620
- let e = {
621
+ getInsets(e) {
622
+ let t = {
621
623
  top: 0,
622
624
  right: 0,
623
625
  bottom: 0,
624
626
  left: 0
625
627
  };
626
- if (this.destroyed || this.items.size === 0) return e;
627
- let t = this.getDepth(), n = this.provider?.placement ?? "sides";
628
- return n === "sides" ? (e.left = t, e.right = t) : n === "top-bottom" ? (e.top = t, e.bottom = t) : e[n] = t, e;
628
+ if (this.destroyed || this.items.size === 0) return t;
629
+ let n = e ?? this.getDepth(), r = this.provider?.placement ?? "sides";
630
+ return r === "sides" ? (t.left = n, t.right = n) : r === "top-bottom" ? (t.top = n, t.bottom = n) : t[r] = n, t;
631
+ }
632
+ measure() {
633
+ let e = this.getDepth(), t = this.getSize("--flipbook-bookmark-length", "height", this.provider?.orientation === "parallel" ? 72 : 24), n = this.getSize("--flipbook-bookmark-stack-step", "marginTop", e * .3), r = /* @__PURE__ */ new Map();
634
+ for (let e of ["left", "right"]) {
635
+ let t = this.rails.get(e), n = Number.parseFloat(t ? this.host.ownerDocument.defaultView?.getComputedStyle(t).rowGap ?? "" : "");
636
+ r.set(e, Number.isFinite(n) && n >= 0 ? n : 4);
637
+ }
638
+ return {
639
+ depth: e,
640
+ length: t,
641
+ preferredStep: n,
642
+ gaps: r
643
+ };
629
644
  }
630
- layout(e) {
645
+ layout(e, t, n) {
631
646
  if (this.destroyed) return;
632
- this.motion.restoreAll(), this.preview.close(), this.bounds = e;
633
- let t = this.getDepth();
634
- for (let [n, r] of this.rails) {
635
- let i = n === "top" || n === "bottom", a = n === "left" ? e.left - t : e.left + (n === "right" ? e.width : 0), s = n === "top" ? e.top - t : e.top + (n === "bottom" ? e.height : 0);
636
- n !== "left" && o(r, "left", `${a}px`), o(r, "top", `${s}px`), i && o(r, "width", `${Math.max(0, e.width)}px`), o(r, "height", `${Math.max(0, i ? t : e.height)}px`);
647
+ let { depth: r, length: i, preferredStep: a, gaps: s } = n ?? this.measure();
648
+ this.hostWidth = t ?? this.host.clientWidth, this.motion.restoreAll(), this.preview.close(), this.bounds = e;
649
+ for (let [t, n] of this.rails) {
650
+ let i = t === "top" || t === "bottom", a = t === "left" ? e.left - r : e.left + (t === "right" ? e.width : 0), s = t === "top" ? e.top - r : e.top + (t === "bottom" ? e.height : 0);
651
+ t !== "left" && o(n, "left", `${a}px`), o(n, "top", `${s}px`), i && o(n, "width", `${Math.max(0, e.width)}px`), o(n, "height", `${Math.max(0, i ? r : e.height)}px`);
637
652
  }
638
- this.layoutSideStacks(e, t);
653
+ this.layoutSideStacks(e, r, i, a, s);
639
654
  for (let [e, t] of this.leafFrames) this.updateLeaf(e, t.frame, t.page);
640
655
  }
641
- layoutSideStacks(e, t) {
642
- let n = this.getSize("--flipbook-bookmark-length", "height", this.provider?.orientation === "parallel" ? 72 : 24), r = this.getSize("--flipbook-bookmark-stack-step", "marginTop", t * .3), i = this.host.ownerDocument.defaultView;
656
+ layoutSideStacks(e, t, n, r, i) {
643
657
  for (let s of ["left", "right"]) {
644
658
  let c = this.rails.get(s);
645
659
  if (!c) continue;
646
- let l = Number.parseFloat(i?.getComputedStyle(c).rowGap ?? ""), u = Number.isFinite(l) && l >= 0 ? l : 4, d = v(this.orderedLeafIds.length, e.height, n, t, u, r, s === "left" ? e.left : this.host.clientWidth - e.left - e.width, +(this.provider?.orientation === "parallel"));
647
- a(c, "data-stack-capacity", String(d.capacity)), a(c, "data-stack-layers", String(d.layers)), a(c, "data-stack-pitch", String(d.pitch)), a(c, "data-stack-stagger", String(d.stagger)), o(c, "width", `${d.depth}px`), o(c, "z-index", String(this.getRestingRailZIndex(s))), s === "left" && o(c, "left", `${e.left - d.depth}px`), this.orderedLeafIds.forEach((e, t) => {
660
+ let l = i.get(s) ?? 4, u = v(this.orderedLeafIds.length, e.height, n, t, l, r, s === "left" ? e.left : (this.hostWidth ?? 0) - e.left - e.width, +(this.provider?.orientation === "parallel"));
661
+ a(c, "data-stack-capacity", String(u.capacity)), a(c, "data-stack-layers", String(u.layers)), a(c, "data-stack-pitch", String(u.pitch)), a(c, "data-stack-stagger", String(u.stagger)), o(c, "width", `${u.depth}px`), o(c, "z-index", String(this.getRestingRailZIndex(s))), s === "left" && o(c, "left", `${e.left - u.depth}px`), this.orderedLeafIds.forEach((e, t) => {
648
662
  let n = this.items.get(e);
649
663
  if (!n || n.edge !== s) return;
650
- let r = Math.floor(t / d.capacity), i = t % d.capacity, c = d.frontDepth + r * d.step, l = n.slot;
651
- a(l, "data-stack-layer", String(r)), a(l, "data-stack-row", String(i)), a(l, "data-stack-peek", String(r === 0 ? c : d.step)), o(l, "--bookmark-exposed-depth", `${c}px`), o(l, "--bookmark-exposed-length", `${d.length}px`), o(l, "top", `${i * d.pitch + r % 2 * d.stagger}px`), o(l, "width", `${c}px`), o(l, "height", `${d.length}px`), o(l, "z-index", String(d.layers - r));
664
+ let r = Math.floor(t / u.capacity), i = t % u.capacity, c = u.frontDepth + r * u.step, l = n.slot;
665
+ a(l, "data-stack-layer", String(r)), a(l, "data-stack-row", String(i)), a(l, "data-stack-peek", String(r === 0 ? c : u.step)), o(l, "--bookmark-exposed-depth", `${c}px`), o(l, "--bookmark-exposed-length", `${u.length}px`), o(l, "top", `${i * u.pitch + r % 2 * u.stagger}px`), o(l, "width", `${c}px`), o(l, "height", `${u.length}px`), o(l, "z-index", String(u.layers - r));
652
666
  });
653
667
  }
654
668
  }
@@ -1383,7 +1397,7 @@ var H = 1.1, U = .9, W = class {
1383
1397
  };
1384
1398
  }
1385
1399
  syncHistoryAndNotifyFlipped(e) {
1386
- this.bookmarksEnabled && this.bookmarkLayer && (this.bookmarkLayer.refresh(), Object.values(this.bookmarkLayer.getInsets()).join() !== this.bookmarkClearance && this.recalculateSizes());
1400
+ !e && this.bookmarksEnabled && this.bookmarkLayer && (this.bookmarkLayer.refresh(), Object.values(this.bookmarkLayer.getInsets()).join() !== this.bookmarkClearance && this.recalculateSizes());
1387
1401
  let t = this.currentPageIndex, n = this.getSemanticForPage(t);
1388
1402
  !e && this.onPageChanged && this.onPageChanged(t);
1389
1403
  let r = this.lastFlipParams ?? this.buildPageFlipParams(t, "forward");
@@ -1522,40 +1536,37 @@ var H = 1.1, U = .9, W = class {
1522
1536
  }
1523
1537
  recalculateSizes() {
1524
1538
  if (!this.bookElement || !this.pageElements.length) return;
1525
- let e = this.bookmarkLayer?.getInsets() ?? {
1539
+ let e = this.bookmarksEnabled ? this.bookmarkLayer?.measure() : void 0, t = this.bookmarkLayer?.getInsets(e?.depth) ?? {
1526
1540
  top: 0,
1527
1541
  right: 0,
1528
1542
  bottom: 0,
1529
1543
  left: 0
1530
1544
  };
1531
- this.bookmarkClearance = Object.values(e).join();
1532
- let t = Math.max(0, this.bookElement.clientWidth - e.left - e.right), n = Math.max(0, this.bookElement.clientHeight - e.top - e.bottom);
1533
- this.spineX = e.left + t / 2;
1534
- let r = new K(t / 2, n).aspectRatioFit(this.coverAspectRatio), i = new K(r.width * this.leafAspectRatio.width / this.coverAspectRatio.width, r.height * this.leafAspectRatio.height / this.coverAspectRatio.height);
1535
- this.bookElement.style.perspective = `${Math.min(i.width * 2, i.height) * 2}px`;
1536
- let a = t, o = n;
1537
- for (let t of this.pageElements) {
1538
- let n = t.dataset.isCoverPage === "1" ? r : i;
1539
- t.style.width = `${n.width}px`, t.style.height = `${n.height}px`, t.style[this.isLTR ? "left" : "right"] = `${(this.isLTR ? e.left : e.right) + (a - 2 * n.width) / 2}px`, t.style.top = `${e.top + (o - n.height) / 2}px`;
1545
+ this.bookmarkClearance = Object.values(t).join();
1546
+ let n = this.bookElement.clientWidth, r = Math.max(0, n - t.left - t.right), i = Math.max(0, this.bookElement.clientHeight - t.top - t.bottom);
1547
+ this.spineX = t.left + r / 2;
1548
+ let a = new K(r / 2, i).aspectRatioFit(this.coverAspectRatio), o = new K(a.width * this.leafAspectRatio.width / this.coverAspectRatio.width, a.height * this.leafAspectRatio.height / this.coverAspectRatio.height);
1549
+ this.bookElement.style.perspective = `${Math.min(o.width * 2, o.height) * 2}px`;
1550
+ let s = r, c = i;
1551
+ for (let e of this.pageElements) {
1552
+ let n = e.dataset.isCoverPage === "1" ? a : o;
1553
+ e.style.width = `${n.width}px`, e.style.height = `${n.height}px`, e.style[this.isLTR ? "left" : "right"] = `${(this.isLTR ? t.left : t.right) + (s - 2 * n.width) / 2}px`, e.style.top = `${t.top + (c - n.height) / 2}px`;
1540
1554
  }
1555
+ let l = this.getBookmarkProvider()?.attachment === "pinned" && this.pageElements.some((e) => e.dataset.isCoverPage === "1") ? a : o;
1556
+ this.bookmarksEnabled && this.bookmarkLayer?.layout({
1557
+ left: t.left + (s - 2 * l.width) / 2,
1558
+ top: t.top + (c - l.height) / 2,
1559
+ width: 2 * l.width,
1560
+ height: l.height
1561
+ }, n, e);
1541
1562
  for (let e of this.leaves) e.applyTransform(e.flipPosition);
1542
- let s = this.getBookmarkProvider()?.attachment === "pinned" && this.pageElements.some((e) => e.dataset.isCoverPage === "1") ? r : i;
1543
- this.bookmarkLayer?.layout({
1544
- left: e.left + (a - 2 * s.width) / 2,
1545
- top: e.top + (o - s.height) / 2,
1546
- width: 2 * s.width,
1547
- height: s.height
1548
- });
1549
1563
  }
1550
1564
  configurePageScrollport(e, t) {
1551
- let n = t % 2 == 0 === this.isLTR;
1552
- e.dataset.scrollbarSide = n ? "left" : "right";
1553
- let r = e.style.direction || e.dir, i = e.ownerDocument.defaultView?.getComputedStyle(e).direction, a = r || i, o = a === "ltr" || a === "rtl" ? a : this.direction;
1554
- if (e.dataset.readingDirection = o, e.querySelector(":scope > .flipbook-page-scrollport")) return;
1555
- let s = e.ownerDocument, c = e.scrollTop, l = s.createElement("div");
1556
- l.className = "flipbook-page-content", l.dir = o, l.append(...Array.from(e.childNodes));
1557
- let u = s.createElement("div");
1558
- u.className = "flipbook-page-scrollport", u.append(l), e.append(u), e.style.overflow = "hidden", u.scrollTop = c;
1565
+ if (e.dataset.readingDirection = t, e.querySelector(":scope > .flipbook-page-scrollport")) return;
1566
+ let n = e.ownerDocument, r = n.createElement("div");
1567
+ r.className = "flipbook-page-content", r.dir = t, r.append(...Array.from(e.childNodes));
1568
+ let i = n.createElement("div");
1569
+ return i.className = "flipbook-page-scrollport", i.append(r), e.append(i), e.style.overflow = "hidden", i;
1559
1570
  }
1560
1571
  render(e, t = !1) {
1561
1572
  let n = typeof e == "string" ? document.querySelector(e) : e;
@@ -1568,10 +1579,40 @@ var H = 1.1, U = .9, W = class {
1568
1579
  this.leaves.splice(0, this.leaves.length);
1569
1580
  let a = Math.ceil(this.pagesCount / 2), o = this.buildCoverPageIndicesSet();
1570
1581
  this.pageElements.forEach((e, t) => {
1571
- e.dataset.pageIndex = t.toString(), this.configurePageScrollport(e, t), e.dataset.pageSemanticName = this.pageSemantics?.indexToSemanticName(t) ?? "", e.dataset.pageTitle = this.pageSemantics?.indexToTitle(t) ?? "", e.dataset.isCoverPage = o.has(t) ? "1" : "";
1572
- }), this.recalculateSizes(), this.pageElements.forEach((e, t) => {
1573
- let n = Math.floor(t / 2), r = (t + 1) % 2 == 1, i = this.initialTurnedLeaves.has(n), o = this.initialTurnedLeaves.size > 0 ? Math.max(...this.initialTurnedLeaves) + 1 : 0, s = n === o || n === o - 1 && i;
1574
- if (e.classList.add(r ? "odd" : "even", ...s ? ["current-page"] : []), r) this.leaves[n] = new W(n, [e, void 0], i, {
1582
+ e.dataset.pageIndex = t.toString();
1583
+ let n = t % 2 == 0 === this.isLTR;
1584
+ e.dataset.scrollbarSide = n ? "left" : "right";
1585
+ });
1586
+ let s = this.pageElements.map((e) => {
1587
+ let t = e.querySelector(":scope > .flipbook-page-scrollport > .flipbook-page-content"), n = t?.style.direction || t?.dir || e.style.direction || e.dir || e.ownerDocument.defaultView?.getComputedStyle(e).direction;
1588
+ return {
1589
+ readingDirection: n === "ltr" || n === "rtl" ? n : this.direction,
1590
+ scrollTop: e.querySelector(":scope > .flipbook-page-scrollport") ? 0 : e.scrollTop
1591
+ };
1592
+ }), c = [];
1593
+ this.pageElements.forEach((e, t) => {
1594
+ let { readingDirection: n, scrollTop: r } = s[t], i = this.configurePageScrollport(e, n);
1595
+ i && r !== 0 && c.push([i, r]), e.dataset.pageSemanticName = this.pageSemantics?.indexToSemanticName(t) ?? "", e.dataset.pageTitle = this.pageSemantics?.indexToTitle(t) ?? "", e.dataset.isCoverPage = o.has(t) ? "1" : "";
1596
+ });
1597
+ for (let [e, t] of c) e.scrollTop = t;
1598
+ let l = this.initialTurnedLeaves.size > 0 ? Math.max(...this.initialTurnedLeaves) : -1;
1599
+ if (l < 0) this.prevVisiblePageIndices = 1 < this.pagesCount ? [0, 1] : [0];
1600
+ else {
1601
+ let e = l * 2 + 1;
1602
+ if (e >= this.pagesCount) {
1603
+ let e = (Math.ceil(this.pagesCount / 2) - 1) * 2;
1604
+ this.prevVisiblePageIndices = e + 1 < this.pagesCount ? [e, e + 1] : [e];
1605
+ } else this.prevVisiblePageIndices = e + 1 < this.pagesCount ? [e, e + 1] : [e];
1606
+ }
1607
+ if (this.pageElements.forEach((e, t) => {
1608
+ e.classList.toggle("current-page", this.prevVisiblePageIndices?.includes(t) ?? !1);
1609
+ }), this.bookmarkLayer = new S(this.bookElement, () => ({
1610
+ currentPageIndex: this.currentPageIndex,
1611
+ currentLeafIndex: Math.floor(this.currentPageIndex / 2),
1612
+ direction: this.direction
1613
+ }), (e) => this.jumpToPage(e), this.pagesCount, this.handleBookmarkPointerDown), this.bookmarkLayer.setMouseMode(this.mouseMode), this.bookmarkLayer.setProvider(this.getBookmarkProvider()), this.recalculateSizes(), this.pageElements.forEach((e, t) => {
1614
+ let n = Math.floor(t / 2), r = (t + 1) % 2 == 1, i = this.initialTurnedLeaves.has(n);
1615
+ if (e.classList.add(r ? "odd" : "even"), r) this.leaves[n] = new W(n, [e, void 0], i, {
1575
1616
  isLTR: this.isLTR,
1576
1617
  leavesCount: a,
1577
1618
  pagesCount: this.pagesCount,
@@ -1588,23 +1629,7 @@ var H = 1.1, U = .9, W = class {
1588
1629
  let t = +!!i;
1589
1630
  this.leaves[n].applyTransform(t);
1590
1631
  }
1591
- });
1592
- let s = this.initialTurnedLeaves.size > 0 ? Math.max(...this.initialTurnedLeaves) : -1;
1593
- if (s < 0) this.prevVisiblePageIndices = 1 < this.pagesCount ? [0, 1] : [0];
1594
- else {
1595
- let e = s * 2 + 1;
1596
- if (e >= this.pagesCount) {
1597
- let e = (Math.ceil(this.pagesCount / 2) - 1) * 2;
1598
- this.prevVisiblePageIndices = e + 1 < this.pagesCount ? [e, e + 1] : [e];
1599
- } else this.prevVisiblePageIndices = e + 1 < this.pagesCount ? [e, e + 1] : [e];
1600
- }
1601
- if (this.pageElements.forEach((e, t) => {
1602
- e.classList.toggle("current-page", this.prevVisiblePageIndices?.includes(t) ?? !1);
1603
- }), this.bookmarkLayer = new S(this.bookElement, () => ({
1604
- currentPageIndex: this.currentPageIndex,
1605
- currentLeafIndex: Math.floor(this.currentPageIndex / 2),
1606
- direction: this.direction
1607
- }), (e) => this.jumpToPage(e), this.pagesCount, this.handleBookmarkPointerDown), this.bookmarkLayer.setMouseMode(this.mouseMode), this.bookmarkLayer.setProvider(this.getBookmarkProvider()), this.bookmarksEnabled && this.recalculateSizes(), this.observeBookmarkLeaves(), typeof ResizeObserver < "u" && (this.resizeObserver = new ResizeObserver(() => {
1632
+ }), this.observeBookmarkLeaves(), typeof ResizeObserver < "u" && (this.resizeObserver = new ResizeObserver(() => {
1608
1633
  this.recalculateSizes();
1609
1634
  }), this.resizeObserver.observe(this.bookElement)), this.hammer = new r(this.bookElement, { touchAction: "pan-y" }), this.hammer.get("pan").set({ direction: r.DIRECTION_ALL }), this.hammer.on("panstart", this.onDragStart.bind(this)), this.hammer.on("panmove", this.onDragUpdate.bind(this)), this.hammer.on("panend", this.onDragEnd.bind(this)), this.hammer.on("pancancel", (e) => this.onDragEnd(e, !0)), this.bookElement.addEventListener("touchstart", this.handleTouchStart, { passive: !1 }), this.bookElement.addEventListener("touchmove", this.handleTouchMove, { passive: !1 }), this.bookElement.addEventListener("mousemove", this.handleMouseMove), this.bookElement.addEventListener("mouseleave", this.handleMouseLeave), this.bookElement.addEventListener("click", this.handleClickAfterDrag, !0), this.updateLeavesBufferVisibility(), t && this.fillDebugBar(), typeof window < "u" && this.historyMapper) {
1610
1635
  let e = window.location.pathname + window.location.search + window.location.hash;