@marimo-team/islands 0.23.3-dev9 → 0.23.4-dev0

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.
Files changed (42) hide show
  1. package/dist/{chat-ui-BLFhPclV.js → chat-ui-DEd_Ndal.js} +82 -82
  2. package/dist/{html-to-image-XYwXqg2E.js → html-to-image-DBosi5GK.js} +2240 -2214
  3. package/dist/main.js +2627 -2746
  4. package/dist/{process-output-BDVjDpbu.js → process-output-k-4WHpxz.js} +1 -1
  5. package/dist/{reveal-component-CrnLosc4.js → reveal-component-CFuofbBD.js} +827 -561
  6. package/dist/{slide-Dl7Rf496.js → slide-form-DgMI37ES.js} +1729 -894
  7. package/dist/style.css +1 -1
  8. package/package.json +1 -1
  9. package/src/components/editor/file-tree/renderers.tsx +1 -1
  10. package/src/components/editor/output/JsonOutput.tsx +187 -4
  11. package/src/components/editor/output/__tests__/JsonOutput-mimetype.test.tsx +80 -0
  12. package/src/components/editor/output/__tests__/json-output.test.ts +185 -2
  13. package/src/components/editor/renderers/slides-layout/__tests__/compute-slide-cells.test.ts +150 -0
  14. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +298 -0
  15. package/src/components/editor/renderers/slides-layout/compute-slide-cells.ts +50 -0
  16. package/src/components/editor/renderers/slides-layout/plugin.tsx +54 -9
  17. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +30 -12
  18. package/src/components/editor/renderers/slides-layout/types.ts +31 -3
  19. package/src/components/editor/renderers/types.ts +2 -0
  20. package/src/components/slides/__tests__/compose-slides.test.ts +433 -0
  21. package/src/components/slides/compose-slides.ts +337 -0
  22. package/src/components/slides/minimap.tsx +133 -12
  23. package/src/components/slides/reveal-component.tsx +337 -74
  24. package/src/components/slides/reveal-slides.css +33 -1
  25. package/src/components/slides/slide-form.tsx +347 -0
  26. package/src/components/ui/radio-group.tsx +5 -3
  27. package/src/core/cells/types.ts +2 -0
  28. package/src/core/islands/__tests__/bridge.test.ts +116 -5
  29. package/src/core/islands/bridge.ts +5 -1
  30. package/src/core/layout/layout.ts +6 -2
  31. package/src/core/static/__tests__/export-context.test.ts +122 -0
  32. package/src/core/static/__tests__/static-state.test.ts +80 -0
  33. package/src/core/static/export-context.ts +84 -0
  34. package/src/core/static/static-state.ts +44 -6
  35. package/src/plugins/core/RenderHTML.tsx +23 -2
  36. package/src/plugins/core/__test__/RenderHTML.test.ts +86 -1
  37. package/src/plugins/core/__test__/trusted-url.test.ts +130 -18
  38. package/src/plugins/core/sanitize.ts +11 -5
  39. package/src/plugins/core/trusted-url.ts +32 -10
  40. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +29 -1
  41. package/src/plugins/impl/mpl-interactive/__tests__/MplInteractivePlugin.test.tsx +34 -0
  42. package/src/plugins/impl/panel/__tests__/PanelPlugin.test.ts +35 -2
@@ -3,19 +3,19 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  var _a;
5
5
  import { s as __toESM } from "./chunk-BNovOVIE.js";
6
- import { _ as Logger, h as Events, t as Button } from "./button-CA5pI2YF.js";
6
+ import { _ as Logger, h as Events, l as useEventListener, t as Button } from "./button-CA5pI2YF.js";
7
7
  import { t as require_react } from "./react-DA-nE2FX.js";
8
8
  import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
9
- import "./html-to-image-XYwXqg2E.js";
9
+ import "./html-to-image-DBosi5GK.js";
10
10
  import "./chunk-5FQGJX7Z-CO1e63h_.js";
11
- import { t as Slide, xt as Expand } from "./slide-Dl7Rf496.js";
11
+ import { Dt as EyeOff, Ot as Expand, a as Slide, i as SlideSidebar, n as DEFAULT_SLIDE_TYPE, t as DEFAULT_DECK_TRANSITION } from "./slide-form-DgMI37ES.js";
12
12
  import "./input-Drx1pguW.js";
13
13
  import "./toDate-yqOcZ_tY.js";
14
14
  import "./react-dom-BWRJ_g_k.js";
15
15
  import { t as require_jsx_runtime } from "./jsx-runtime-COBk7ree.js";
16
16
  import "./zod-BxdsqRPd.js";
17
17
  import { t as Tooltip } from "./tooltip-B0mtKTXm.js";
18
- import "./useTheme-CX9pPLUH.js";
18
+ import { w as useEvent_default } from "./useTheme-CX9pPLUH.js";
19
19
  import "./dist-CCADb07R.js";
20
20
  import "./main-CThhXnXU.js";
21
21
  import "./dist-Yrfc6L0I.js";
@@ -143,53 +143,53 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
143
143
  e4.filter((function(e5) {
144
144
  return !e5.styleComputed;
145
145
  })).forEach((function(e5) {
146
- e5.styleComputed = p(e5);
147
- })), e4.filter(hn).forEach(m);
148
- var t2 = e4.filter(mn);
149
- t2.forEach(f), t2.forEach((function(e5) {
150
- m(e5), d(e5);
151
- })), t2.forEach(gn);
146
+ e5.styleComputed = f(e5);
147
+ })), e4.filter(Un).forEach(Wn);
148
+ var t2 = e4.filter(Hn);
149
+ t2.forEach(Vn), t2.forEach((function(e5) {
150
+ Wn(e5), d(e5);
151
+ })), t2.forEach(Gn);
152
152
  }, d = function(e4) {
153
153
  return e4.dirty = n;
154
- }, f = function(e4) {
154
+ }, Vn = function(e4) {
155
155
  e4.availableWidth = e4.element.parentNode.clientWidth, e4.currentWidth = e4.element.scrollWidth, e4.previousFontSize = e4.currentFontSize, e4.currentFontSize = Math.min(Math.max(e4.minSize, e4.availableWidth / e4.currentWidth * e4.previousFontSize), e4.maxSize), e4.whiteSpace = e4.multiLine && e4.currentFontSize === e4.minSize ? "normal" : "nowrap";
156
- }, mn = function(e4) {
156
+ }, Hn = function(e4) {
157
157
  return e4.dirty !== i || e4.dirty === i && e4.element.parentNode.clientWidth !== e4.availableWidth;
158
- }, p = function(t2) {
158
+ }, f = function(t2) {
159
159
  var n2 = e3.getComputedStyle(t2.element, null);
160
160
  return t2.currentFontSize = parseFloat(n2.getPropertyValue("font-size")), t2.display = n2.getPropertyValue("display"), t2.whiteSpace = n2.getPropertyValue("white-space"), true;
161
- }, hn = function(e4) {
161
+ }, Un = function(e4) {
162
162
  var t2 = false;
163
163
  return !e4.preStyleTestCompleted && (/inline-/.test(e4.display) || (t2 = true, e4.display = "inline-block"), e4.whiteSpace !== "nowrap" && (t2 = true, e4.whiteSpace = "nowrap"), e4.preStyleTestCompleted = true, t2);
164
- }, m = function(e4) {
164
+ }, Wn = function(e4) {
165
165
  e4.element.style.whiteSpace = e4.whiteSpace, e4.element.style.display = e4.display, e4.element.style.fontSize = e4.currentFontSize + "px";
166
- }, gn = function(e4) {
166
+ }, Gn = function(e4) {
167
167
  e4.element.dispatchEvent(new CustomEvent("fit", { detail: {
168
168
  oldValue: e4.previousFontSize,
169
169
  newValue: e4.currentFontSize,
170
170
  scaleFactor: e4.currentFontSize / e4.previousFontSize
171
171
  } }));
172
- }, _n = function(e4, t2) {
172
+ }, Kn = function(e4, t2) {
173
173
  return function(n2) {
174
174
  e4.dirty = t2, e4.active && c(n2);
175
175
  };
176
- }, vn = function(e4) {
176
+ }, qn = function(e4) {
177
177
  return function() {
178
178
  o = o.filter((function(t2) {
179
179
  return t2.element !== e4.element;
180
180
  })), e4.observeMutations && e4.observer.disconnect(), e4.element.style.whiteSpace = e4.originalStyle.whiteSpace, e4.element.style.display = e4.originalStyle.display, e4.element.style.fontSize = e4.originalStyle.fontSize;
181
181
  };
182
- }, yn = function(e4) {
182
+ }, Jn = function(e4) {
183
183
  return function() {
184
184
  e4.active || (e4.active = true, c());
185
185
  };
186
- }, bn = function(e4) {
186
+ }, p = function(e4) {
187
187
  return function() {
188
188
  return e4.active = false;
189
189
  };
190
- }, xn = function(e4) {
191
- e4.observeMutations && (e4.observer = new MutationObserver(_n(e4, r)), e4.observer.observe(e4.element, e4.observeMutations));
192
- }, Sn = {
190
+ }, Yn = function(e4) {
191
+ e4.observeMutations && (e4.observer = new MutationObserver(Kn(e4, r)), e4.observer.observe(e4.element, e4.observeMutations));
192
+ }, Xn = {
193
193
  minSize: 16,
194
194
  maxSize: 512,
195
195
  multiLine: true,
@@ -198,18 +198,18 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
198
198
  childList: true,
199
199
  characterData: true
200
200
  }
201
- }, Cn = null, wn = function() {
202
- e3.clearTimeout(Cn), Cn = e3.setTimeout(l(i), Dn.observeWindowDelay);
203
- }, Tn = ["resize", "orientationchange"];
204
- return Object.defineProperty(Dn, "observeWindow", { set: function(t2) {
201
+ }, Zn = null, Qn = function() {
202
+ e3.clearTimeout(Zn), Zn = e3.setTimeout(l(i), m.observeWindowDelay);
203
+ }, $n = ["resize", "orientationchange"];
204
+ return Object.defineProperty(m, "observeWindow", { set: function(t2) {
205
205
  var n2 = `${t2 ? "add" : "remove"}EventListener`;
206
- Tn.forEach((function(t3) {
207
- e3[n2](t3, wn);
206
+ $n.forEach((function(t3) {
207
+ e3[n2](t3, Qn);
208
208
  }));
209
- } }), Dn.observeWindow = true, Dn.observeWindowDelay = 100, Dn.fitAll = l(a), Dn;
209
+ } }), m.observeWindow = true, m.observeWindowDelay = 100, m.fitAll = l(a), m;
210
210
  }
211
- function En(e4, t2) {
212
- var n2 = Object.assign({}, Sn, t2), r2 = e4.map((function(e5) {
211
+ function er(e4, t2) {
212
+ var n2 = Object.assign({}, Xn, t2), r2 = e4.map((function(e5) {
213
213
  var t3 = Object.assign({}, n2, {
214
214
  element: e5,
215
215
  active: true
@@ -219,20 +219,20 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
219
219
  whiteSpace: e6.element.style.whiteSpace,
220
220
  display: e6.element.style.display,
221
221
  fontSize: e6.element.style.fontSize
222
- }, xn(e6), e6.newbie = true, e6.dirty = true, o.push(e6);
222
+ }, Yn(e6), e6.newbie = true, e6.dirty = true, o.push(e6);
223
223
  })(t3), {
224
224
  element: e5,
225
- fit: _n(t3, a),
226
- unfreeze: yn(t3),
227
- freeze: bn(t3),
228
- unsubscribe: vn(t3)
225
+ fit: Kn(t3, a),
226
+ unfreeze: Jn(t3),
227
+ freeze: p(t3),
228
+ unsubscribe: qn(t3)
229
229
  };
230
230
  }));
231
231
  return c(), r2;
232
232
  }
233
- function Dn(e4) {
233
+ function m(e4) {
234
234
  var n2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
235
- return typeof e4 == "string" ? En(t(document.querySelectorAll(e4)), n2) : En([e4], n2)[0];
235
+ return typeof e4 == "string" ? er(t(document.querySelectorAll(e4)), n2) : er([e4], n2)[0];
236
236
  }
237
237
  })(typeof window > "u" ? null : window), Ci = class {
238
238
  constructor(e3) {
@@ -432,7 +432,7 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
432
432
  afterSlideChanged() {
433
433
  this.clearMediaPlaybackErrors();
434
434
  }
435
- }, de$1 = ".slides section", te$1 = ".slides>section", _e$1 = ".slides>section.present>section", Pi = ".backgrounds>.slide-background", Li = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/, Ti = "h.v", xi = "h/v", Ye$1 = "c", zt = "c/t", Ii = class {
435
+ }, de$1 = ".slides section", te$1 = ".slides>section", _e$1 = ".slides>section.present>section", Pi = ".backgrounds>.slide-background", Li = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/, Ti = "h.v", xi = "h/v", Ye$1 = "c", zt$1 = "c/t", Ii = class {
436
436
  constructor(e3) {
437
437
  this.Reveal = e3;
438
438
  }
@@ -456,7 +456,7 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
456
456
  case Ye$1:
457
457
  n.push(this.Reveal.getSlidePastCount(e3) + i2);
458
458
  break;
459
- case zt:
459
+ case zt$1:
460
460
  n.push(this.Reveal.getSlidePastCount(e3) + i2, "/", this.Reveal.getTotalSlides());
461
461
  break;
462
462
  default:
@@ -502,7 +502,7 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
502
502
  let e3 = this.jumpInput.value.trim(""), t;
503
503
  if (/^\d+$/.test(e3)) {
504
504
  let n = this.Reveal.getConfig().slideNumber;
505
- if (n === Ye$1 || n === zt) {
505
+ if (n === Ye$1 || n === zt$1) {
506
506
  let n2 = this.Reveal.getSlides()[parseInt(e3, 10) - 1];
507
507
  n2 && (t = this.Reveal.getIndices(n2));
508
508
  }
@@ -664,8 +664,8 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
664
664
  r.length === 1 ? i = a = parseInt(r[0], 10) : (i = parseInt(r[0], 10), a = parseInt(r[1], 10));
665
665
  let o = this.element.offsetWidth, s = t.length, c, l;
666
666
  c = typeof this.Reveal.getConfig().parallaxBackgroundHorizontal == "number" ? this.Reveal.getConfig().parallaxBackgroundHorizontal : s > 1 ? (i - o) / (s - 1) : 0, l = c * e3.h * -1;
667
- let u = this.element.offsetHeight, d = n.length, f, mn;
668
- f = typeof this.Reveal.getConfig().parallaxBackgroundVertical == "number" ? this.Reveal.getConfig().parallaxBackgroundVertical : (a - u) / (d - 1), mn = d > 0 ? f * e3.v : 0, this.element.style.backgroundPosition = l + "px " + -mn + "px";
667
+ let u = this.element.offsetHeight, d = n.length, Vn, Hn;
668
+ Vn = typeof this.Reveal.getConfig().parallaxBackgroundVertical == "number" ? this.Reveal.getConfig().parallaxBackgroundVertical : (a - u) / (d - 1), Hn = d > 0 ? Vn * e3.v : 0, this.element.style.backgroundPosition = l + "px " + -Hn + "px";
669
669
  }
670
670
  }
671
671
  destroy() {
@@ -1071,32 +1071,32 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
1071
1071
  e4 && e4.background && (l = e4.background);
1072
1072
  }
1073
1073
  yield new Promise(requestAnimationFrame), this.Reveal.layoutSlideContents(o, s), yield new Promise(requestAnimationFrame);
1074
- let u = t.map((e4) => e4.scrollHeight), d = [], f = t[0].parentNode, mn = 1;
1074
+ let u = t.map((e4) => e4.scrollHeight), d = [], Vn = t[0].parentNode, Hn = 1;
1075
1075
  t.forEach(function(t2, r2) {
1076
1076
  if (t2.classList.contains("stack") === false) {
1077
- let c2 = (i - o) / 2, f2 = (a - s) / 2, p = u[r2], hn = Math.max(Math.ceil(p / a), 1);
1078
- hn = Math.min(hn, e3.pdfMaxPagesPerSlide), (hn === 1 && e3.center || t2.classList.contains("center")) && (f2 = Math.max((a - p) / 2, 0));
1079
- let m = document.createElement("div");
1080
- if (d.push(m), m.className = "pdf-page", m.style.height = (a + e3.pdfPageHeightOffset) * hn + "px", l && (m.style.background = l), m.appendChild(t2), t2.style.left = c2 + "px", t2.style.top = f2 + "px", t2.style.width = o + "px", this.Reveal.slideContent.layout(t2), t2.slideBackgroundElement && m.insertBefore(t2.slideBackgroundElement, t2), e3.showNotes) {
1077
+ let c2 = (i - o) / 2, Vn2 = (a - s) / 2, f = u[r2], Un = Math.max(Math.ceil(f / a), 1);
1078
+ Un = Math.min(Un, e3.pdfMaxPagesPerSlide), (Un === 1 && e3.center || t2.classList.contains("center")) && (Vn2 = Math.max((a - f) / 2, 0));
1079
+ let Wn = document.createElement("div");
1080
+ if (d.push(Wn), Wn.className = "pdf-page", Wn.style.height = (a + e3.pdfPageHeightOffset) * Un + "px", l && (Wn.style.background = l), Wn.appendChild(t2), t2.style.left = c2 + "px", t2.style.top = Vn2 + "px", t2.style.width = o + "px", this.Reveal.slideContent.layout(t2), t2.slideBackgroundElement && Wn.insertBefore(t2.slideBackgroundElement, t2), e3.showNotes) {
1081
1081
  let n2 = this.Reveal.getSlideNotes(t2);
1082
1082
  if (n2) {
1083
1083
  let t3 = typeof e3.showNotes == "string" ? e3.showNotes : "inline", r3 = document.createElement("div");
1084
- r3.classList.add("speaker-notes"), r3.classList.add("speaker-notes-pdf"), r3.setAttribute("data-layout", t3), r3.innerHTML = n2, t3 === "separate-page" ? d.push(r3) : (r3.style.left = "8px", r3.style.bottom = "8px", r3.style.width = i - 16 + "px", m.appendChild(r3));
1084
+ r3.classList.add("speaker-notes"), r3.classList.add("speaker-notes-pdf"), r3.setAttribute("data-layout", t3), r3.innerHTML = n2, t3 === "separate-page" ? d.push(r3) : (r3.style.left = "8px", r3.style.bottom = "8px", r3.style.width = i - 16 + "px", Wn.appendChild(r3));
1085
1085
  }
1086
1086
  }
1087
1087
  if (n) {
1088
1088
  let e4 = document.createElement("div");
1089
- e4.classList.add("slide-number"), e4.classList.add("slide-number-pdf"), e4.innerHTML = mn++, m.appendChild(e4);
1089
+ e4.classList.add("slide-number"), e4.classList.add("slide-number-pdf"), e4.innerHTML = Hn++, Wn.appendChild(e4);
1090
1090
  }
1091
1091
  if (e3.pdfSeparateFragments) {
1092
- let e4 = this.Reveal.fragments.sort(m.querySelectorAll(".fragment"), true), t3;
1092
+ let e4 = this.Reveal.fragments.sort(Wn.querySelectorAll(".fragment"), true), t3;
1093
1093
  e4.forEach(function(e5, r3) {
1094
1094
  t3 && t3.forEach(function(e6) {
1095
1095
  e6.classList.remove("current-fragment");
1096
1096
  }), e5.forEach(function(e6) {
1097
1097
  e6.classList.add("visible", "current-fragment");
1098
1098
  }, this);
1099
- let i2 = m.cloneNode(true);
1099
+ let i2 = Wn.cloneNode(true);
1100
1100
  if (n) {
1101
1101
  let e6 = i2.querySelector(".slide-number-pdf"), t4 = r3 + 1;
1102
1102
  e6.innerHTML += "." + t4;
@@ -1107,11 +1107,11 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
1107
1107
  e6.classList.remove("visible", "current-fragment");
1108
1108
  });
1109
1109
  });
1110
- } else E$1(m, ".fragment:not(.fade-out)").forEach(function(e4) {
1110
+ } else E$1(Wn, ".fragment:not(.fade-out)").forEach(function(e4) {
1111
1111
  e4.classList.add("visible");
1112
1112
  });
1113
1113
  }
1114
- }, this), yield new Promise(requestAnimationFrame), d.forEach((e4) => f.appendChild(e4)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.dispatchEvent({ type: "pdf-ready" }), c.classList.remove("loading-scroll-mode");
1114
+ }, this), yield new Promise(requestAnimationFrame), d.forEach((e4) => Vn.appendChild(e4)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.dispatchEvent({ type: "pdf-ready" }), c.classList.remove("loading-scroll-mode");
1115
1115
  });
1116
1116
  }
1117
1117
  isActive() {
@@ -1636,7 +1636,7 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
1636
1636
  t > 0 ? this.Reveal.next() : t < 0 && this.Reveal.prev();
1637
1637
  }
1638
1638
  }
1639
- }, Bt = (e3, t) => {
1639
+ }, Bt$1 = (e3, t) => {
1640
1640
  let n = document.createElement("script");
1641
1641
  n.type = "text/javascript", n.async = false, n.defer = false, n.src = e3, typeof t == "function" && (n.onload = (e4) => {
1642
1642
  e4.type === "load" && (n.onload = n.onerror = null, t());
@@ -1660,7 +1660,7 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
1660
1660
  t3 && typeof t3.callback == "function" && t3.callback(), --r === 0 && this.initPlugins().then(e4);
1661
1661
  };
1662
1662
  n.forEach((e5) => {
1663
- typeof e5.id == "string" ? (this.registerPlugin(e5), t2(e5)) : typeof e5.src == "string" ? Bt(e5.src, () => t2(e5)) : (console.warn("Unrecognized plugin format", e5), t2());
1663
+ typeof e5.id == "string" ? (this.registerPlugin(e5), t2(e5)) : typeof e5.src == "string" ? Bt$1(e5.src, () => t2(e5)) : (console.warn("Unrecognized plugin format", e5), t2());
1664
1664
  });
1665
1665
  } else this.initPlugins().then(e4);
1666
1666
  });
@@ -1685,7 +1685,7 @@ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__P
1685
1685
  }
1686
1686
  loadAsync() {
1687
1687
  return this.state = "loaded", this.asyncDependencies.length && this.asyncDependencies.forEach((e3) => {
1688
- Bt(e3.src, e3.callback);
1688
+ Bt$1(e3.src, e3.callback);
1689
1689
  }), Promise.resolve();
1690
1690
  }
1691
1691
  registerPlugin(e3) {
@@ -2093,22 +2093,22 @@ function Ut(e3, t) {
2093
2093
  let n = {}, r = {}, i = false, a = false, o, s, c, l, u = {
2094
2094
  hasNavigatedHorizontally: false,
2095
2095
  hasNavigatedVertically: false
2096
- }, d = [], f = 1, mn = {
2096
+ }, d = [], Vn = 1, Hn = {
2097
2097
  layout: "",
2098
2098
  overview: ""
2099
- }, p = {}, hn = "idle", m = 0, gn, _n = 0, bn = -1, xn = false, Dn = new Ci(n), kn = new Ii(n), jn = new Mi(n), Pn = new Hi(n), Fn = new Bi(n), In = new Oi(n), Ln = new Ui(n), Rn = new qi(n), zn = new Wi(n), Bn = new ji(n), Vn = new Ki(n), Hn = new _i(n), Un = new $i(n), Wn = new Xi(n), Gn = new Yi(n), Kn = new Gi(n), qn = new Qi(n), Jn = new Ji(n), Yn = new Zi(n);
2100
- function Xn(a2) {
2099
+ }, f = {}, Un = "idle", Wn = 0, Gn, Kn = 0, qn = -1, Jn = false, p = new Ci(n), Yn = new Ii(n), Xn = new Mi(n), Zn = new Hi(n), er = new Bi(n), m = new Oi(n), or = new Ui(n), cr = new qi(n), lr = new Wi(n), ur = new ji(n), dr = new Ki(n), fr = new _i(n), pr = new $i(n), mr = new Xi(n), hr = new Yi(n), gr = new Gi(n), _r = new Qi(n), vr = new Ji(n), yr = new Zi(n);
2100
+ function br(a2) {
2101
2101
  if (!e3) throw 'Unable to find presentation root (<div class="reveal">).';
2102
2102
  if (i) throw "Reveal.js has already been initialized.";
2103
- if (i = true, p.wrapper = e3, p.slides = e3.querySelector(".slides"), !p.slides) throw 'Unable to find slides container (<div class="slides">).';
2104
- return r = Q$1(Q$1(Q$1(Q$1(Q$1({}, ts), r), t), a2), Mt()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), Zn(), window.addEventListener("load", yr, false), Gn.load(r.plugins, r.dependencies).then(Qn), new Promise((e4) => n.on("ready", e4));
2103
+ if (i = true, f.wrapper = e3, f.slides = e3.querySelector(".slides"), !f.slides) throw 'Unable to find slides container (<div class="slides">).';
2104
+ return r = Q$1(Q$1(Q$1(Q$1(Q$1({}, ts), r), t), a2), Mt()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), xr(), window.addEventListener("load", Ur, false), hr.load(r.plugins, r.dependencies).then(Sr), new Promise((e4) => n.on("ready", e4));
2105
2105
  }
2106
- function Zn() {
2107
- r.embedded === true ? p.viewport = V$1(e3, ".reveal-viewport") || e3 : (p.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), p.viewport.classList.add("reveal-viewport");
2106
+ function xr() {
2107
+ r.embedded === true ? f.viewport = V$1(e3, ".reveal-viewport") || e3 : (f.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), f.viewport.classList.add("reveal-viewport");
2108
2108
  }
2109
- function Qn() {
2110
- i !== false && (a = true, er(), tr(), cr(), or(), sr(), Hr(), lr(), Fn.update(true), $n(), Vn.readURL(), setTimeout(() => {
2111
- p.slides.classList.remove("no-transition"), p.wrapper.classList.add("ready"), gr({
2109
+ function Sr() {
2110
+ i !== false && (a = true, wr(), Tr(), Mr(), Ar(), jr(), fi(), Nr(), er.update(true), Cr(), dr.readURL(), setTimeout(() => {
2111
+ f.slides.classList.remove("no-transition"), f.wrapper.classList.add("ready"), Br({
2112
2112
  type: "ready",
2113
2113
  data: {
2114
2114
  indexh: o,
@@ -2118,27 +2118,27 @@ function Ut(e3, t) {
2118
2118
  });
2119
2119
  }, 1));
2120
2120
  }
2121
- function $n() {
2121
+ function Cr() {
2122
2122
  let e4 = r.view === "print", t2 = r.view === "scroll" || r.view === "reader";
2123
- (e4 || t2) && (e4 ? dr() : Jn.unbind(), p.viewport.classList.add("loading-scroll-mode"), e4 ? document.readyState === "complete" ? Ln.activate() : window.addEventListener("load", () => Ln.activate()) : In.activate());
2123
+ (e4 || t2) && (e4 ? Fr() : vr.unbind(), f.viewport.classList.add("loading-scroll-mode"), e4 ? document.readyState === "complete" ? or.activate() : window.addEventListener("load", () => or.activate()) : m.activate());
2124
2124
  }
2125
- function er() {
2126
- r.showHiddenSlides || E$1(p.wrapper, 'section[data-visibility="hidden"]').forEach((e4) => {
2125
+ function wr() {
2126
+ r.showHiddenSlides || E$1(f.wrapper, 'section[data-visibility="hidden"]').forEach((e4) => {
2127
2127
  let t2 = e4.parentNode;
2128
2128
  t2.childElementCount === 1 && /section/i.test(t2.nodeName) ? t2.remove() : e4.remove();
2129
2129
  });
2130
2130
  }
2131
- function tr() {
2132
- p.slides.classList.add("no-transition"), le$1 ? p.wrapper.classList.add("no-hover") : p.wrapper.classList.remove("no-hover"), Fn.render(), kn.render(), jn.render(), Hn.render(), Un.render(), Yn.render(), p.pauseOverlay = wi(p.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), p.statusElement = nr(), p.wrapper.setAttribute("role", "application");
2131
+ function Tr() {
2132
+ f.slides.classList.add("no-transition"), le$1 ? f.wrapper.classList.add("no-hover") : f.wrapper.classList.remove("no-hover"), er.render(), Yn.render(), Xn.render(), fr.render(), pr.render(), yr.render(), f.pauseOverlay = wi(f.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), f.statusElement = Er(), f.wrapper.setAttribute("role", "application");
2133
2133
  }
2134
- function nr() {
2135
- let e4 = p.wrapper.querySelector(".aria-status");
2136
- return e4 || (e4 = document.createElement("div"), e4.style.position = "absolute", e4.style.height = "1px", e4.style.width = "1px", e4.style.overflow = "hidden", e4.style.clip = "rect( 1px, 1px, 1px, 1px )", e4.classList.add("aria-status"), e4.setAttribute("aria-live", "polite"), e4.setAttribute("aria-atomic", "true"), p.wrapper.appendChild(e4)), e4;
2134
+ function Er() {
2135
+ let e4 = f.wrapper.querySelector(".aria-status");
2136
+ return e4 || (e4 = document.createElement("div"), e4.style.position = "absolute", e4.style.height = "1px", e4.style.width = "1px", e4.style.overflow = "hidden", e4.style.clip = "rect( 1px, 1px, 1px, 1px )", e4.classList.add("aria-status"), e4.setAttribute("aria-live", "polite"), e4.setAttribute("aria-atomic", "true"), f.wrapper.appendChild(e4)), e4;
2137
2137
  }
2138
- function rr(e4) {
2139
- p.statusElement.textContent = e4;
2138
+ function Dr(e4) {
2139
+ f.statusElement.textContent = e4;
2140
2140
  }
2141
- function ir(e4) {
2141
+ function Or(e4) {
2142
2142
  let t2 = "";
2143
2143
  if (e4.nodeType === 3) t2 += e4.textContent.trim();
2144
2144
  else if (e4.nodeType === 1) {
@@ -2146,10 +2146,10 @@ function Ut(e3, t) {
2146
2146
  if (n2 !== "true" && !r2) {
2147
2147
  if (e4.tagName === "IMG" || e4.tagName === "VIDEO") {
2148
2148
  let n3 = e4.getAttribute("alt");
2149
- n3 && (t2 += ar(n3));
2149
+ n3 && (t2 += kr(n3));
2150
2150
  }
2151
2151
  Array.from(e4.childNodes).forEach((e5) => {
2152
- t2 += ir(e5);
2152
+ t2 += Or(e5);
2153
2153
  }), [
2154
2154
  "P",
2155
2155
  "DIV",
@@ -2163,58 +2163,58 @@ function Ut(e3, t) {
2163
2163
  "H5",
2164
2164
  "H6",
2165
2165
  "BLOCKQUOTE"
2166
- ].includes(e4.tagName) && t2.trim() !== "" && (t2 = ar(t2));
2166
+ ].includes(e4.tagName) && t2.trim() !== "" && (t2 = kr(t2));
2167
2167
  }
2168
2168
  }
2169
2169
  return t2 = t2.trim(), t2 === "" ? "" : t2 + " ";
2170
2170
  }
2171
- function ar(e4) {
2171
+ function kr(e4) {
2172
2172
  let t2 = e4.trim();
2173
2173
  return t2 === "" ? e4 : /[.!?]$/.test(t2) ? t2 : t2 + ".";
2174
2174
  }
2175
- function or() {
2175
+ function Ar() {
2176
2176
  setInterval(() => {
2177
- (!In.isActive() && p.wrapper.scrollTop !== 0 || p.wrapper.scrollLeft !== 0) && (p.wrapper.scrollTop = 0, p.wrapper.scrollLeft = 0);
2177
+ (!m.isActive() && f.wrapper.scrollTop !== 0 || f.wrapper.scrollLeft !== 0) && (f.wrapper.scrollTop = 0, f.wrapper.scrollLeft = 0);
2178
2178
  }, 1e3);
2179
2179
  }
2180
- function sr() {
2181
- document.addEventListener("fullscreenchange", da), document.addEventListener("webkitfullscreenchange", da);
2180
+ function jr() {
2181
+ document.addEventListener("fullscreenchange", Fa), document.addEventListener("webkitfullscreenchange", Fa);
2182
2182
  }
2183
- function cr() {
2184
- r.postMessage && window.addEventListener("message", oa, false);
2183
+ function Mr() {
2184
+ r.postMessage && window.addEventListener("message", Aa, false);
2185
2185
  }
2186
- function lr(e4) {
2186
+ function Nr(e4) {
2187
2187
  let t2 = Q$1({}, r);
2188
2188
  if (typeof e4 == "object" && ge$1(r, e4), n.isReady() === false) return;
2189
- let i2 = p.wrapper.querySelectorAll(de$1).length;
2190
- p.wrapper.classList.remove(t2.transition), p.wrapper.classList.add(r.transition), p.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), p.wrapper.setAttribute("data-background-transition", r.backgroundTransition), p.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), p.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && Ur(), Ke$1(p.wrapper, "embedded", r.embedded), Ke$1(p.wrapper, "rtl", r.rtl), Ke$1(p.wrapper, "center", r.center), r.pause === false && jr(), Pn.reset(), gn && (gn = (gn.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (gn = new es(p.wrapper, () => Math.min(Math.max((Date.now() - bn) / m, 0), 1)), gn.on("click", fa), xn = false), r.navigationMode === "default" ? p.wrapper.removeAttribute("data-navigation-mode") : p.wrapper.setAttribute("data-navigation-mode", r.navigationMode), Yn.configure(r, t2), qn.configure(r, t2), Wn.configure(r, t2), Hn.configure(r, t2), Un.configure(r, t2), Bn.configure(r, t2), Rn.configure(r, t2), kn.configure(r, t2), Br();
2189
+ let i2 = f.wrapper.querySelectorAll(de$1).length;
2190
+ f.wrapper.classList.remove(t2.transition), f.wrapper.classList.add(r.transition), f.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), f.wrapper.setAttribute("data-background-transition", r.backgroundTransition), f.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), f.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && hi(), Ke$1(f.wrapper, "embedded", r.embedded), Ke$1(f.wrapper, "rtl", r.rtl), Ke$1(f.wrapper, "center", r.center), r.pause === false && ti(), Zn.reset(), Gn && (Gn = (Gn.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (Gn = new es(f.wrapper, () => Math.min(Math.max((Date.now() - qn) / Wn, 0), 1)), Gn.on("click", Ia), Jn = false), r.navigationMode === "default" ? f.wrapper.removeAttribute("data-navigation-mode") : f.wrapper.setAttribute("data-navigation-mode", r.navigationMode), yr.configure(r, t2), _r.configure(r, t2), mr.configure(r, t2), fr.configure(r, t2), pr.configure(r, t2), ur.configure(r, t2), cr.configure(r, t2), Yn.configure(r, t2), ui();
2191
2191
  }
2192
- function ur() {
2193
- window.addEventListener("resize", la, false), r.touch && Jn.bind(), r.keyboard && Bn.bind(), r.progress && Un.bind(), r.respondToHashChanges && Vn.bind(), Hn.bind(), qn.bind(), p.slides.addEventListener("click", ca, false), p.slides.addEventListener("transitionend", sa, false), p.pauseOverlay.addEventListener("click", jr, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", ua, false);
2192
+ function Pr() {
2193
+ window.addEventListener("resize", Na, false), r.touch && vr.bind(), r.keyboard && ur.bind(), r.progress && pr.bind(), r.respondToHashChanges && dr.bind(), fr.bind(), _r.bind(), f.slides.addEventListener("click", Ma, false), f.slides.addEventListener("transitionend", ja, false), f.pauseOverlay.addEventListener("click", ti, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", Pa, false);
2194
2194
  }
2195
- function dr() {
2196
- Jn.unbind(), qn.unbind(), Bn.unbind(), Hn.unbind(), Un.unbind(), Vn.unbind(), window.removeEventListener("resize", la, false), p.slides.removeEventListener("click", ca, false), p.slides.removeEventListener("transitionend", sa, false), p.pauseOverlay.removeEventListener("click", jr, false);
2195
+ function Fr() {
2196
+ vr.unbind(), _r.unbind(), ur.unbind(), fr.unbind(), pr.unbind(), dr.unbind(), window.removeEventListener("resize", Na, false), f.slides.removeEventListener("click", Ma, false), f.slides.removeEventListener("transitionend", ja, false), f.pauseOverlay.removeEventListener("click", ti, false);
2197
2197
  }
2198
- function fr() {
2199
- i = false, a !== false && (dr(), di(), Yn.destroy(), qn.destroy(), Kn.destroy(), Gn.destroy(), Wn.destroy(), Hn.destroy(), Un.destroy(), Fn.destroy(), kn.destroy(), jn.destroy(), document.removeEventListener("fullscreenchange", da), document.removeEventListener("webkitfullscreenchange", da), document.removeEventListener("visibilitychange", ua, false), window.removeEventListener("message", oa, false), window.removeEventListener("load", yr, false), p.pauseOverlay && p.pauseOverlay.remove(), p.statusElement && p.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), p.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), p.wrapper.removeAttribute("data-transition-speed"), p.wrapper.removeAttribute("data-background-transition"), p.viewport.classList.remove("reveal-viewport"), p.viewport.style.removeProperty("--slide-width"), p.viewport.style.removeProperty("--slide-height"), p.slides.style.removeProperty("width"), p.slides.style.removeProperty("height"), p.slides.style.removeProperty("zoom"), p.slides.style.removeProperty("left"), p.slides.style.removeProperty("top"), p.slides.style.removeProperty("bottom"), p.slides.style.removeProperty("right"), p.slides.style.removeProperty("transform"), Array.from(p.wrapper.querySelectorAll(de$1)).forEach((e4) => {
2198
+ function Ir() {
2199
+ i = false, a !== false && (Fr(), ba(), yr.destroy(), _r.destroy(), gr.destroy(), hr.destroy(), mr.destroy(), fr.destroy(), pr.destroy(), er.destroy(), Yn.destroy(), Xn.destroy(), document.removeEventListener("fullscreenchange", Fa), document.removeEventListener("webkitfullscreenchange", Fa), document.removeEventListener("visibilitychange", Pa, false), window.removeEventListener("message", Aa, false), window.removeEventListener("load", Ur, false), f.pauseOverlay && f.pauseOverlay.remove(), f.statusElement && f.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), f.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), f.wrapper.removeAttribute("data-transition-speed"), f.wrapper.removeAttribute("data-background-transition"), f.viewport.classList.remove("reveal-viewport"), f.viewport.style.removeProperty("--slide-width"), f.viewport.style.removeProperty("--slide-height"), f.slides.style.removeProperty("width"), f.slides.style.removeProperty("height"), f.slides.style.removeProperty("zoom"), f.slides.style.removeProperty("left"), f.slides.style.removeProperty("top"), f.slides.style.removeProperty("bottom"), f.slides.style.removeProperty("right"), f.slides.style.removeProperty("transform"), Array.from(f.wrapper.querySelectorAll(de$1)).forEach((e4) => {
2200
2200
  e4.style.removeProperty("display"), e4.style.removeProperty("top"), e4.removeAttribute("hidden"), e4.removeAttribute("aria-hidden");
2201
2201
  }));
2202
2202
  }
2203
- function pr(t2, n2, r2) {
2203
+ function Lr(t2, n2, r2) {
2204
2204
  e3.addEventListener(t2, n2, r2);
2205
2205
  }
2206
- function mr(t2, n2, r2) {
2206
+ function Rr(t2, n2, r2) {
2207
2207
  e3.removeEventListener(t2, n2, r2);
2208
2208
  }
2209
- function hr(e4) {
2210
- typeof e4.layout == "string" && (mn.layout = e4.layout), typeof e4.overview == "string" && (mn.overview = e4.overview), mn.layout ? ae$1(p.slides, mn.layout + " " + mn.overview) : ae$1(p.slides, mn.overview);
2209
+ function zr(e4) {
2210
+ typeof e4.layout == "string" && (Hn.layout = e4.layout), typeof e4.overview == "string" && (Hn.overview = e4.overview), Hn.layout ? ae$1(f.slides, Hn.layout + " " + Hn.overview) : ae$1(f.slides, Hn.overview);
2211
2211
  }
2212
- function gr({ target: e4 = p.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2212
+ function Br({ target: e4 = f.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2213
2213
  let i2 = document.createEvent("HTMLEvents", 1, 2);
2214
- return i2.initEvent(t2, r2, true), ge$1(i2, n2), e4.dispatchEvent(i2), e4 === p.wrapper && vr(t2), i2;
2214
+ return i2.initEvent(t2, r2, true), ge$1(i2, n2), e4.dispatchEvent(i2), e4 === f.wrapper && Hr(t2), i2;
2215
2215
  }
2216
- function _r(e4) {
2217
- gr({
2216
+ function Vr(e4) {
2217
+ Br({
2218
2218
  type: "slidechanged",
2219
2219
  data: {
2220
2220
  indexh: o,
@@ -2225,42 +2225,42 @@ function Ut(e3, t) {
2225
2225
  }
2226
2226
  });
2227
2227
  }
2228
- function vr(e4, t2) {
2228
+ function Hr(e4, t2) {
2229
2229
  if (r.postMessageEvents && window.parent !== window.self) {
2230
2230
  let n2 = {
2231
2231
  namespace: "reveal",
2232
2232
  eventName: e4,
2233
- state: ci()
2233
+ state: _a2()
2234
2234
  };
2235
2235
  ge$1(n2, t2), window.parent.postMessage(JSON.stringify(n2), "*");
2236
2236
  }
2237
2237
  }
2238
- function yr() {
2239
- if (p.wrapper && !Ln.isActive()) {
2240
- let e4 = p.viewport.offsetWidth, t2 = p.viewport.offsetHeight;
2238
+ function Ur() {
2239
+ if (f.wrapper && !or.isActive()) {
2240
+ let e4 = f.viewport.offsetWidth, t2 = f.viewport.offsetHeight;
2241
2241
  if (!r.disableLayout) {
2242
2242
  le$1 && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * 0.01 + "px");
2243
- let n2 = In.isActive() ? Sr(e4, t2) : Sr(), i2 = f;
2244
- br(r.width, r.height), p.slides.style.width = n2.width + "px", p.slides.style.height = n2.height + "px", f = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), f = Math.max(f, r.minScale), f = Math.min(f, r.maxScale), f === 1 || In.isActive() ? (p.slides.style.zoom = "", p.slides.style.left = "", p.slides.style.top = "", p.slides.style.bottom = "", p.slides.style.right = "", hr({ layout: "" })) : (p.slides.style.zoom = "", p.slides.style.left = "50%", p.slides.style.top = "50%", p.slides.style.bottom = "auto", p.slides.style.right = "auto", hr({ layout: "translate(-50%, -50%) scale(" + f + ")" }));
2245
- let a2 = Array.from(p.wrapper.querySelectorAll(de$1));
2243
+ let n2 = m.isActive() ? Kr(e4, t2) : Kr(), i2 = Vn;
2244
+ Wr(r.width, r.height), f.slides.style.width = n2.width + "px", f.slides.style.height = n2.height + "px", Vn = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), Vn = Math.max(Vn, r.minScale), Vn = Math.min(Vn, r.maxScale), Vn === 1 || m.isActive() ? (f.slides.style.zoom = "", f.slides.style.left = "", f.slides.style.top = "", f.slides.style.bottom = "", f.slides.style.right = "", zr({ layout: "" })) : (f.slides.style.zoom = "", f.slides.style.left = "50%", f.slides.style.top = "50%", f.slides.style.bottom = "auto", f.slides.style.right = "auto", zr({ layout: "translate(-50%, -50%) scale(" + Vn + ")" }));
2245
+ let a2 = Array.from(f.wrapper.querySelectorAll(de$1));
2246
2246
  for (let e5 = 0, t3 = a2.length; e5 < t3; e5++) {
2247
2247
  let t4 = a2[e5];
2248
2248
  t4.style.display !== "none" && (r.center || t4.classList.contains("center") ? t4.classList.contains("stack") ? t4.style.top = 0 : t4.style.top = Math.max((n2.height - t4.scrollHeight) / 2, 0) + "px" : t4.style.top = "");
2249
2249
  }
2250
- i2 !== f && gr({
2250
+ i2 !== Vn && Br({
2251
2251
  type: "resize",
2252
2252
  data: {
2253
2253
  oldScale: i2,
2254
- scale: f,
2254
+ scale: Vn,
2255
2255
  size: n2
2256
2256
  }
2257
2257
  });
2258
2258
  }
2259
- xr(), p.viewport.style.setProperty("--slide-scale", f), p.viewport.style.setProperty("--viewport-width", e4 + "px"), p.viewport.style.setProperty("--viewport-height", t2 + "px"), In.layout(), Un.update(), Fn.updateParallax(), zn.isActive() && zn.update();
2259
+ Gr(), f.viewport.style.setProperty("--slide-scale", Vn), f.viewport.style.setProperty("--viewport-width", e4 + "px"), f.viewport.style.setProperty("--viewport-height", t2 + "px"), m.layout(), pr.update(), er.updateParallax(), lr.isActive() && lr.update();
2260
2260
  }
2261
2261
  }
2262
- function br(e4, t2) {
2263
- E$1(p.slides, "section > .stretch, section > .r-stretch").forEach((n2) => {
2262
+ function Wr(e4, t2) {
2263
+ E$1(f.slides, "section > .stretch, section > .r-stretch").forEach((n2) => {
2264
2264
  let r2 = Ei(n2, t2);
2265
2265
  if (/(img|video)/gi.test(n2.nodeName)) {
2266
2266
  let t3 = n2.naturalWidth || n2.videoWidth, i2 = n2.naturalHeight || n2.videoHeight, a2 = Math.min(e4 / t3, r2 / i2);
@@ -2268,75 +2268,75 @@ function Ut(e3, t) {
2268
2268
  } else n2.style.width = e4 + "px", n2.style.height = r2 + "px";
2269
2269
  });
2270
2270
  }
2271
- function xr() {
2272
- if (p.wrapper && !r.disableLayout && !Ln.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2273
- let e4 = Sr();
2274
- e4.presentationWidth > 0 && e4.presentationWidth <= r.scrollActivationWidth ? In.isActive() || (Fn.create(), In.activate()) : In.isActive() && In.deactivate();
2271
+ function Gr() {
2272
+ if (f.wrapper && !r.disableLayout && !or.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2273
+ let e4 = Kr();
2274
+ e4.presentationWidth > 0 && e4.presentationWidth <= r.scrollActivationWidth ? m.isActive() || (er.create(), m.activate()) : m.isActive() && m.deactivate();
2275
2275
  }
2276
2276
  }
2277
- function Sr(e4, t2) {
2277
+ function Kr(e4, t2) {
2278
2278
  let n2 = r.width, i2 = r.height;
2279
- r.disableLayout && (n2 = p.slides.offsetWidth, i2 = p.slides.offsetHeight);
2279
+ r.disableLayout && (n2 = f.slides.offsetWidth, i2 = f.slides.offsetHeight);
2280
2280
  let a2 = {
2281
2281
  width: n2,
2282
2282
  height: i2,
2283
- presentationWidth: e4 || p.wrapper.offsetWidth,
2284
- presentationHeight: t2 || p.wrapper.offsetHeight
2283
+ presentationWidth: e4 || f.wrapper.offsetWidth,
2284
+ presentationHeight: t2 || f.wrapper.offsetHeight
2285
2285
  };
2286
2286
  return a2.presentationWidth -= a2.presentationWidth * r.margin, a2.presentationHeight -= a2.presentationHeight * r.margin, typeof a2.width == "string" && /%$/.test(a2.width) && (a2.width = parseInt(a2.width, 10) / 100 * a2.presentationWidth), typeof a2.height == "string" && /%$/.test(a2.height) && (a2.height = parseInt(a2.height, 10) / 100 * a2.presentationHeight), a2;
2287
2287
  }
2288
- function Cr(e4, t2) {
2288
+ function qr(e4, t2) {
2289
2289
  typeof e4 == "object" && typeof e4.setAttribute == "function" && e4.setAttribute("data-previous-indexv", t2 || 0);
2290
2290
  }
2291
- function wr(e4) {
2291
+ function Jr(e4) {
2292
2292
  if (typeof e4 == "object" && typeof e4.setAttribute == "function" && e4.classList.contains("stack")) {
2293
2293
  let t2 = e4.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
2294
2294
  return parseInt(e4.getAttribute(t2) || 0, 10);
2295
2295
  }
2296
2296
  return 0;
2297
2297
  }
2298
- function Tr(e4 = l) {
2298
+ function Yr(e4 = l) {
2299
2299
  return e4 && e4.parentNode && !!e4.parentNode.nodeName.match(/section/i);
2300
2300
  }
2301
- function Er(e4 = l) {
2301
+ function Xr(e4 = l) {
2302
2302
  return e4.classList.contains(".stack") || e4.querySelector("section") !== null;
2303
2303
  }
2304
- function Dr() {
2305
- return l && Tr(l) ? !l.nextElementSibling : false;
2304
+ function Zr() {
2305
+ return l && Yr(l) ? !l.nextElementSibling : false;
2306
2306
  }
2307
- function Or() {
2307
+ function Qr() {
2308
2308
  return o === 0 && s === 0;
2309
2309
  }
2310
- function kr() {
2311
- return l ? !(l.nextElementSibling || Tr(l) && l.parentNode.nextElementSibling) : false;
2310
+ function $r() {
2311
+ return l ? !(l.nextElementSibling || Yr(l) && l.parentNode.nextElementSibling) : false;
2312
2312
  }
2313
- function Ar() {
2313
+ function ei() {
2314
2314
  if (r.pause) {
2315
- let e4 = p.wrapper.classList.contains("paused");
2316
- di(), p.wrapper.classList.add("paused"), e4 === false && gr({ type: "paused" });
2315
+ let e4 = f.wrapper.classList.contains("paused");
2316
+ ba(), f.wrapper.classList.add("paused"), e4 === false && Br({ type: "paused" });
2317
2317
  }
2318
2318
  }
2319
- function jr() {
2320
- let e4 = p.wrapper.classList.contains("paused");
2321
- p.wrapper.classList.remove("paused"), ui(), e4 && gr({ type: "resumed" });
2319
+ function ti() {
2320
+ let e4 = f.wrapper.classList.contains("paused");
2321
+ f.wrapper.classList.remove("paused"), ya(), e4 && Br({ type: "resumed" });
2322
2322
  }
2323
- function Mr(e4) {
2324
- typeof e4 == "boolean" ? e4 ? Ar() : jr() : Nr() ? jr() : Ar();
2323
+ function ni(e4) {
2324
+ typeof e4 == "boolean" ? e4 ? ei() : ti() : ri() ? ti() : ei();
2325
2325
  }
2326
- function Nr() {
2327
- return p.wrapper.classList.contains("paused");
2326
+ function ri() {
2327
+ return f.wrapper.classList.contains("paused");
2328
2328
  }
2329
- function Pr(e4) {
2330
- typeof e4 == "boolean" ? e4 ? jn.show() : jn.hide() : jn.isVisible() ? jn.hide() : jn.show();
2329
+ function ii(e4) {
2330
+ typeof e4 == "boolean" ? e4 ? Xn.show() : Xn.hide() : Xn.isVisible() ? Xn.hide() : Xn.show();
2331
2331
  }
2332
- function Fr(e4) {
2333
- typeof e4 == "boolean" ? e4 ? hi() : fi() : xn ? hi() : fi();
2332
+ function ai(e4) {
2333
+ typeof e4 == "boolean" ? e4 ? Sa() : xa() : Jn ? Sa() : xa();
2334
2334
  }
2335
- function Ir() {
2336
- return !!(m && !xn);
2335
+ function oi() {
2336
+ return !!(Wn && !Jn);
2337
2337
  }
2338
- function Lr(t2, n2, i2, a2) {
2339
- if (gr({
2338
+ function si(t2, n2, i2, a2) {
2339
+ if (Br({
2340
2340
  type: "beforeslidechange",
2341
2341
  data: {
2342
2342
  indexh: t2 === void 0 ? o : t2,
@@ -2345,91 +2345,91 @@ function Ut(e3, t) {
2345
2345
  }
2346
2346
  }).defaultPrevented) return;
2347
2347
  c = l;
2348
- let u2 = p.wrapper.querySelectorAll(te$1);
2349
- if (In.isActive()) {
2350
- let e4 = In.getSlideByIndices(t2, n2);
2351
- e4 && In.scrollToSlide(e4);
2348
+ let u2 = f.wrapper.querySelectorAll(te$1);
2349
+ if (m.isActive()) {
2350
+ let e4 = m.getSlideByIndices(t2, n2);
2351
+ e4 && m.scrollToSlide(e4);
2352
2352
  return;
2353
2353
  }
2354
2354
  if (u2.length === 0) return;
2355
- n2 === void 0 && !zn.isActive() && (n2 = wr(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && Cr(c.parentNode, s);
2356
- let f2 = d.concat();
2355
+ n2 === void 0 && !lr.isActive() && (n2 = Jr(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && qr(c.parentNode, s);
2356
+ let Vn2 = d.concat();
2357
2357
  d.length = 0;
2358
- let mn2 = o || 0, m2 = s || 0;
2359
- o = Wr(te$1, t2 === void 0 ? o : t2), s = Wr(_e$1, n2 === void 0 ? s : n2);
2360
- let gn2 = o !== mn2 || s !== m2;
2361
- gn2 || (c = null);
2362
- let _n2 = u2[o], vn = _n2.querySelectorAll("section");
2363
- e3.classList.toggle("is-vertical-slide", vn.length > 1), l = vn[s] || _n2;
2364
- let yn = false;
2365
- gn2 && c && l && !zn.isActive() && (hn = "running", yn = Rr(c, l, mn2, m2), yn && p.slides.classList.add("disable-slide-transitions")), qr(), yr(), zn.isActive() && zn.update(), i2 !== void 0 && Rn.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), Or() && setTimeout(() => {
2366
- ti().forEach((e4) => {
2367
- Cr(e4, 0);
2358
+ let Hn2 = o || 0, Wn2 = s || 0;
2359
+ o = gi(te$1, t2 === void 0 ? o : t2), s = gi(_e$1, n2 === void 0 ? s : n2);
2360
+ let Gn2 = o !== Hn2 || s !== Wn2;
2361
+ Gn2 || (c = null);
2362
+ let Kn2 = u2[o], qn2 = Kn2.querySelectorAll("section");
2363
+ e3.classList.toggle("is-vertical-slide", qn2.length > 1), l = qn2[s] || Kn2;
2364
+ let Jn2 = false;
2365
+ Gn2 && c && l && !lr.isActive() && (Un = "running", Jn2 = ci(c, l, Hn2, Wn2), Jn2 && f.slides.classList.add("disable-slide-transitions")), na(), Ur(), lr.isActive() && lr.update(), i2 !== void 0 && cr.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), Qr() && setTimeout(() => {
2366
+ ua().forEach((e4) => {
2367
+ qr(e4, 0);
2368
2368
  });
2369
2369
  }, 0));
2370
2370
  e: for (let e4 = 0, t3 = d.length; e4 < t3; e4++) {
2371
- for (let t4 = 0; t4 < f2.length; t4++) if (f2[t4] === d[e4]) {
2372
- f2.splice(t4, 1);
2371
+ for (let t4 = 0; t4 < Vn2.length; t4++) if (Vn2[t4] === d[e4]) {
2372
+ Vn2.splice(t4, 1);
2373
2373
  continue e;
2374
2374
  }
2375
- p.viewport.classList.add(d[e4]), gr({ type: d[e4] });
2375
+ f.viewport.classList.add(d[e4]), Br({ type: d[e4] });
2376
2376
  }
2377
- for (; f2.length; ) p.viewport.classList.remove(f2.pop());
2378
- gn2 && (Dn.afterSlideChanged(), _r(a2)), (gn2 || !c) && (Dn.stopEmbeddedContent(c), Dn.startEmbeddedContent(l)), requestAnimationFrame(() => {
2379
- rr(ir(l));
2380
- }), Un.update(), Hn.update(), Yn.update(), Fn.update(), Fn.updateParallax(), kn.update(), Rn.update(), Vn.writeURL(), ui(), yn && (setTimeout(() => {
2381
- p.slides.classList.remove("disable-slide-transitions");
2382
- }, 0), r.autoAnimate && Pn.run(c, l));
2383
- }
2384
- function Rr(e4, t2, n2, r2) {
2377
+ for (; Vn2.length; ) f.viewport.classList.remove(Vn2.pop());
2378
+ Gn2 && (p.afterSlideChanged(), Vr(a2)), (Gn2 || !c) && (p.stopEmbeddedContent(c), p.startEmbeddedContent(l)), requestAnimationFrame(() => {
2379
+ Dr(Or(l));
2380
+ }), pr.update(), fr.update(), yr.update(), er.update(), er.updateParallax(), Yn.update(), cr.update(), dr.writeURL(), ya(), Jn2 && (setTimeout(() => {
2381
+ f.slides.classList.remove("disable-slide-transitions");
2382
+ }, 0), r.autoAnimate && Zn.run(c, l));
2383
+ }
2384
+ function ci(e4, t2, n2, r2) {
2385
2385
  return e4.hasAttribute("data-auto-animate") && t2.hasAttribute("data-auto-animate") && e4.getAttribute("data-auto-animate-id") === t2.getAttribute("data-auto-animate-id") && !(o > n2 || s > r2 ? t2 : e4).hasAttribute("data-auto-animate-restart");
2386
2386
  }
2387
- function zr(e4, t2, n2) {
2387
+ function li(e4, t2, n2) {
2388
2388
  let i2 = o || 0;
2389
2389
  o = t2, s = n2;
2390
2390
  let a2 = l !== e4;
2391
- c = l, l = e4, l && c && r.autoAnimate && Rr(c, l, i2, s) && Pn.run(c, l), a2 && (Dn.afterSlideChanged(), c && (Dn.stopEmbeddedContent(c), Dn.stopEmbeddedContent(c.slideBackgroundElement)), Dn.startEmbeddedContent(l), Dn.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2392
- rr(ir(l));
2393
- }), _r();
2391
+ c = l, l = e4, l && c && r.autoAnimate && ci(c, l, i2, s) && Zn.run(c, l), a2 && (p.afterSlideChanged(), c && (p.stopEmbeddedContent(c), p.stopEmbeddedContent(c.slideBackgroundElement)), p.startEmbeddedContent(l), p.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2392
+ Dr(Or(l));
2393
+ }), Vr();
2394
2394
  }
2395
- function Br() {
2396
- dr(), ur(), yr(), m = r.autoSlide, ui(), Fn.create(), Vn.writeURL(), r.sortFragmentsOnSync === true && Rn.sortAll(), o !== void 0 && (o = Wr(te$1, o), s = Wr(_e$1, s)), Hn.update(), Un.update(), qr(), Yn.update(), Yn.updateVisibility(), Kn.update(), Fn.update(true), kn.update(), Dn.formatEmbeddedContent(), r.autoPlayMedia === false ? Dn.stopEmbeddedContent(l, { unloadIframes: false }) : Dn.startEmbeddedContent(l), zn.isActive() && zn.layout(), gr({ type: "sync" });
2395
+ function ui() {
2396
+ Fr(), Pr(), Ur(), Wn = r.autoSlide, ya(), er.create(), dr.writeURL(), r.sortFragmentsOnSync === true && cr.sortAll(), o !== void 0 && (o = gi(te$1, o), s = gi(_e$1, s)), fr.update(), pr.update(), na(), yr.update(), yr.updateVisibility(), gr.update(), er.update(true), Yn.update(), p.formatEmbeddedContent(), r.autoPlayMedia === false ? p.stopEmbeddedContent(l, { unloadIframes: false }) : p.startEmbeddedContent(l), lr.isActive() && lr.layout(), Br({ type: "sync" });
2397
2397
  }
2398
- function Vr(e4 = l) {
2399
- Fn.sync(e4), Rn.sync(e4), Dn.load(e4), Fn.update(), Yn.update(), gr({
2398
+ function di(e4 = l) {
2399
+ er.sync(e4), cr.sync(e4), p.load(e4), er.update(), yr.update(), Br({
2400
2400
  type: "slidesync",
2401
2401
  data: { slide: e4 }
2402
2402
  });
2403
2403
  }
2404
- function Hr() {
2405
- $r().forEach((e4) => {
2404
+ function fi() {
2405
+ ca().forEach((e4) => {
2406
2406
  E$1(e4, "section").forEach((e5, t2) => {
2407
2407
  t2 > 0 && (e5.classList.remove("present"), e5.classList.remove("past"), e5.classList.add("future"), e5.setAttribute("aria-hidden", "true"));
2408
2408
  });
2409
2409
  });
2410
2410
  }
2411
- function Ur(e4 = $r()) {
2411
+ function hi(e4 = ca()) {
2412
2412
  e4.forEach((t2, n2) => {
2413
2413
  let r2 = e4[Math.floor(Math.random() * e4.length)];
2414
2414
  r2.parentNode === t2.parentNode && t2.parentNode.insertBefore(t2, r2);
2415
2415
  let i2 = t2.querySelectorAll("section");
2416
- i2.length && Ur(i2);
2416
+ i2.length && hi(i2);
2417
2417
  });
2418
2418
  }
2419
- function Wr(e4, t2) {
2420
- let n2 = E$1(p.wrapper, e4), i2 = n2.length, a2 = In.isActive() || Ln.isActive(), o2 = false, s2 = false;
2419
+ function gi(e4, t2) {
2420
+ let n2 = E$1(f.wrapper, e4), i2 = n2.length, a2 = m.isActive() || or.isActive(), o2 = false, s2 = false;
2421
2421
  if (i2) {
2422
2422
  r.loop && (t2 >= i2 && (o2 = true), t2 %= i2, t2 < 0 && (t2 = i2 + t2, s2 = true)), t2 = Math.max(Math.min(t2, i2 - 1), 0);
2423
2423
  for (let e6 = 0; e6 < i2; e6++) {
2424
- let i3 = n2[e6], c3 = r.rtl && !Tr(i3);
2424
+ let i3 = n2[e6], c3 = r.rtl && !Yr(i3);
2425
2425
  if (i3.classList.remove("past"), i3.classList.remove("present"), i3.classList.remove("future"), i3.setAttribute("hidden", ""), i3.setAttribute("aria-hidden", "true"), i3.querySelector("section") && i3.classList.add("stack"), a2) {
2426
2426
  i3.classList.add("present");
2427
2427
  continue;
2428
2428
  }
2429
- e6 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && Gr(i3)) : e6 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && Kr(i3)) : e6 === t2 && r.fragments && (o2 ? Kr(i3) : s2 && Gr(i3));
2429
+ e6 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && ea(i3)) : e6 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && ta(i3)) : e6 === t2 && r.fragments && (o2 ? ta(i3) : s2 && ea(i3));
2430
2430
  }
2431
2431
  let e5 = n2[t2], c2 = e5.classList.contains("present");
2432
- e5.classList.add("present"), e5.removeAttribute("hidden"), e5.removeAttribute("aria-hidden"), c2 || gr({
2432
+ e5.classList.add("present"), e5.removeAttribute("hidden"), e5.removeAttribute("aria-hidden"), c2 || Br({
2433
2433
  target: e5,
2434
2434
  type: "visible",
2435
2435
  bubbles: false
@@ -2439,43 +2439,43 @@ function Ut(e3, t) {
2439
2439
  } else t2 = 0;
2440
2440
  return t2;
2441
2441
  }
2442
- function Gr(e4) {
2442
+ function ea(e4) {
2443
2443
  E$1(e4, ".fragment").forEach((e5) => {
2444
2444
  e5.classList.add("visible"), e5.classList.remove("current-fragment");
2445
2445
  });
2446
2446
  }
2447
- function Kr(e4) {
2447
+ function ta(e4) {
2448
2448
  E$1(e4, ".fragment.visible").forEach((e5) => {
2449
2449
  e5.classList.remove("visible", "current-fragment");
2450
2450
  });
2451
2451
  }
2452
- function qr() {
2453
- let e4 = $r(), t2 = e4.length, n2, i2;
2452
+ function na() {
2453
+ let e4 = ca(), t2 = e4.length, n2, i2;
2454
2454
  if (t2 && o !== void 0) {
2455
- let a2 = zn.isActive(), c2 = a2 ? 10 : r.viewDistance;
2456
- le$1 && (c2 = a2 ? 6 : r.mobileViewDistance), Ln.isActive() && (c2 = Number.MAX_VALUE);
2455
+ let a2 = lr.isActive(), c2 = a2 ? 10 : r.viewDistance;
2456
+ le$1 && (c2 = a2 ? 6 : r.mobileViewDistance), or.isActive() && (c2 = Number.MAX_VALUE);
2457
2457
  for (let l2 = 0; l2 < t2; l2++) {
2458
- let u2 = e4[l2], d2 = E$1(u2, "section"), f2 = d2.length;
2459
- if (n2 = Math.abs((o || 0) - l2) || 0, r.loop && (n2 = Math.abs(((o || 0) - l2) % (t2 - c2)) || 0), n2 < c2 ? Dn.load(u2) : Dn.unload(u2), f2) {
2460
- let e5 = a2 ? 0 : wr(u2);
2461
- for (let t3 = 0; t3 < f2; t3++) {
2458
+ let u2 = e4[l2], d2 = E$1(u2, "section"), Vn2 = d2.length;
2459
+ if (n2 = Math.abs((o || 0) - l2) || 0, r.loop && (n2 = Math.abs(((o || 0) - l2) % (t2 - c2)) || 0), n2 < c2 ? p.load(u2) : p.unload(u2), Vn2) {
2460
+ let e5 = a2 ? 0 : Jr(u2);
2461
+ for (let t3 = 0; t3 < Vn2; t3++) {
2462
2462
  let r2 = d2[t3];
2463
- i2 = Math.abs(l2 === (o || 0) ? (s || 0) - t3 : t3 - e5), n2 + i2 < c2 ? Dn.load(r2) : Dn.unload(r2);
2463
+ i2 = Math.abs(l2 === (o || 0) ? (s || 0) - t3 : t3 - e5), n2 + i2 < c2 ? p.load(r2) : p.unload(r2);
2464
2464
  }
2465
2465
  }
2466
2466
  }
2467
- ri() ? p.wrapper.classList.add("has-vertical-slides") : p.wrapper.classList.remove("has-vertical-slides"), ni() ? p.wrapper.classList.add("has-horizontal-slides") : p.wrapper.classList.remove("has-horizontal-slides");
2467
+ fa() ? f.wrapper.classList.add("has-vertical-slides") : f.wrapper.classList.remove("has-vertical-slides"), da() ? f.wrapper.classList.add("has-horizontal-slides") : f.wrapper.classList.remove("has-horizontal-slides");
2468
2468
  }
2469
2469
  }
2470
- function Jr({ includeFragments: e4 = false } = {}) {
2471
- let t2 = p.wrapper.querySelectorAll(te$1), n2 = p.wrapper.querySelectorAll(_e$1), i2 = {
2470
+ function ra({ includeFragments: e4 = false } = {}) {
2471
+ let t2 = f.wrapper.querySelectorAll(te$1), n2 = f.wrapper.querySelectorAll(_e$1), i2 = {
2472
2472
  left: o > 0,
2473
2473
  right: o < t2.length - 1,
2474
2474
  up: s > 0,
2475
2475
  down: s < n2.length - 1
2476
2476
  };
2477
2477
  if (r.loop && (t2.length > 1 && (i2.left = true, i2.right = true), n2.length > 1 && (i2.up = true, i2.down = true)), t2.length > 1 && r.navigationMode === "linear" && (i2.right = i2.right || i2.down, i2.left = i2.left || i2.up), e4 === true) {
2478
- let e5 = Rn.availableRoutes();
2478
+ let e5 = cr.availableRoutes();
2479
2479
  i2.left = i2.left || e5.prev, i2.up = i2.up || e5.prev, i2.down = i2.down || e5.next, i2.right = i2.right || e5.next;
2480
2480
  }
2481
2481
  if (r.rtl) {
@@ -2484,8 +2484,8 @@ function Ut(e3, t) {
2484
2484
  }
2485
2485
  return i2;
2486
2486
  }
2487
- function Yr(e4 = l) {
2488
- let t2 = $r(), n2 = 0;
2487
+ function ia(e4 = l) {
2488
+ let t2 = ca(), n2 = 0;
2489
2489
  e: for (let r2 = 0; r2 < t2.length; r2++) {
2490
2490
  let i2 = t2[r2], a2 = i2.querySelectorAll("section");
2491
2491
  for (let t3 = 0; t3 < a2.length; t3++) {
@@ -2497,8 +2497,8 @@ function Ut(e3, t) {
2497
2497
  }
2498
2498
  return n2;
2499
2499
  }
2500
- function Xr() {
2501
- let e4 = ai(), t2 = Yr();
2500
+ function aa() {
2501
+ let e4 = ma(), t2 = ia();
2502
2502
  if (l) {
2503
2503
  let e5 = l.querySelectorAll(".fragment");
2504
2504
  if (e5.length > 0) {
@@ -2508,11 +2508,11 @@ function Ut(e3, t) {
2508
2508
  }
2509
2509
  return Math.min(t2 / (e4 - 1), 1);
2510
2510
  }
2511
- function Zr(e4) {
2511
+ function oa(e4) {
2512
2512
  let t2 = o, n2 = s, r2;
2513
- if (e4) if (In.isActive()) t2 = parseInt(e4.getAttribute("data-index-h"), 10), e4.getAttribute("data-index-v") && (n2 = parseInt(e4.getAttribute("data-index-v"), 10));
2513
+ if (e4) if (m.isActive()) t2 = parseInt(e4.getAttribute("data-index-h"), 10), e4.getAttribute("data-index-v") && (n2 = parseInt(e4.getAttribute("data-index-v"), 10));
2514
2514
  else {
2515
- let r3 = Tr(e4), i2 = r3 ? e4.parentNode : e4, a2 = $r();
2515
+ let r3 = Yr(e4), i2 = r3 ? e4.parentNode : e4, a2 = ca();
2516
2516
  t2 = Math.max(a2.indexOf(i2), 0), n2 = void 0, r3 && (n2 = Math.max(E$1(e4.parentNode, "section").indexOf(e4), 0));
2517
2517
  }
2518
2518
  if (!e4 && l && l.querySelectorAll(".fragment").length > 0) {
@@ -2525,26 +2525,26 @@ function Ut(e3, t) {
2525
2525
  f: r2
2526
2526
  };
2527
2527
  }
2528
- function Qr() {
2529
- return E$1(p.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2528
+ function sa() {
2529
+ return E$1(f.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2530
2530
  }
2531
- function $r() {
2532
- return E$1(p.wrapper, te$1);
2531
+ function ca() {
2532
+ return E$1(f.wrapper, te$1);
2533
2533
  }
2534
- function ei() {
2535
- return E$1(p.wrapper, ".slides>section>section");
2534
+ function la() {
2535
+ return E$1(f.wrapper, ".slides>section>section");
2536
2536
  }
2537
- function ti() {
2538
- return E$1(p.wrapper, te$1 + ".stack");
2537
+ function ua() {
2538
+ return E$1(f.wrapper, te$1 + ".stack");
2539
2539
  }
2540
- function ni() {
2541
- return $r().length > 1;
2540
+ function da() {
2541
+ return ca().length > 1;
2542
2542
  }
2543
- function ri() {
2544
- return ei().length > 1;
2543
+ function fa() {
2544
+ return la().length > 1;
2545
2545
  }
2546
- function ii() {
2547
- return Qr().map((e4) => {
2546
+ function pa() {
2547
+ return sa().map((e4) => {
2548
2548
  let t2 = {};
2549
2549
  for (let n2 = 0; n2 < e4.attributes.length; n2++) {
2550
2550
  let r2 = e4.attributes[n2];
@@ -2553,102 +2553,102 @@ function Ut(e3, t) {
2553
2553
  return t2;
2554
2554
  });
2555
2555
  }
2556
- function ai() {
2557
- return Qr().length;
2556
+ function ma() {
2557
+ return sa().length;
2558
2558
  }
2559
- function oi(e4, t2) {
2560
- let n2 = $r()[e4], r2 = n2 && n2.querySelectorAll("section");
2559
+ function ha(e4, t2) {
2560
+ let n2 = ca()[e4], r2 = n2 && n2.querySelectorAll("section");
2561
2561
  return r2 && r2.length && typeof t2 == "number" ? r2 ? r2[t2] : void 0 : n2;
2562
2562
  }
2563
- function si(e4, t2) {
2564
- let n2 = typeof e4 == "number" ? oi(e4, t2) : e4;
2563
+ function ga(e4, t2) {
2564
+ let n2 = typeof e4 == "number" ? ha(e4, t2) : e4;
2565
2565
  if (n2) return n2.slideBackgroundElement;
2566
2566
  }
2567
- function ci() {
2568
- let e4 = Zr();
2567
+ function _a2() {
2568
+ let e4 = oa();
2569
2569
  return Q$1({
2570
2570
  indexh: e4.h,
2571
2571
  indexv: e4.v,
2572
2572
  indexf: e4.f,
2573
- paused: Nr(),
2574
- overview: zn.isActive()
2575
- }, Kn.getState());
2573
+ paused: ri(),
2574
+ overview: lr.isActive()
2575
+ }, gr.getState());
2576
2576
  }
2577
- function li(e4) {
2577
+ function va(e4) {
2578
2578
  if (typeof e4 == "object") {
2579
- Lr(fe$1(e4.indexh), fe$1(e4.indexv), fe$1(e4.indexf));
2579
+ si(fe$1(e4.indexh), fe$1(e4.indexv), fe$1(e4.indexf));
2580
2580
  let t2 = fe$1(e4.paused), n2 = fe$1(e4.overview);
2581
- typeof t2 == "boolean" && t2 !== Nr() && Mr(t2), typeof n2 == "boolean" && n2 !== zn.isActive() && zn.toggle(n2), Kn.setState(e4);
2581
+ typeof t2 == "boolean" && t2 !== ri() && ni(t2), typeof n2 == "boolean" && n2 !== lr.isActive() && lr.toggle(n2), gr.setState(e4);
2582
2582
  }
2583
2583
  }
2584
- function ui() {
2585
- if (di(), l && r.autoSlide !== false) {
2584
+ function ya() {
2585
+ if (ba(), l && r.autoSlide !== false) {
2586
2586
  let e4 = l.querySelector(".current-fragment[data-autoslide]"), t2 = e4 ? e4.getAttribute("data-autoslide") : null, n2 = l.parentNode ? l.parentNode.getAttribute("data-autoslide") : null, i2 = l.getAttribute("data-autoslide");
2587
- t2 ? m = parseInt(t2, 10) : i2 ? m = parseInt(i2, 10) : n2 ? m = parseInt(n2, 10) : (m = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && E$1(l, "video, audio").forEach((e5) => {
2588
- e5.hasAttribute("data-autoplay") && m && e5.duration * 1e3 / e5.playbackRate > m && (m = e5.duration * 1e3 / e5.playbackRate + 1e3);
2589
- })), m && !xn && !Nr() && !zn.isActive() && (!kr() || Rn.availableRoutes().next || r.loop === true) && (_n = setTimeout(() => {
2590
- typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : ia(), ui();
2591
- }, m), bn = Date.now()), gn && gn.setPlaying(_n !== -1);
2587
+ t2 ? Wn = parseInt(t2, 10) : i2 ? Wn = parseInt(i2, 10) : n2 ? Wn = parseInt(n2, 10) : (Wn = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && E$1(l, "video, audio").forEach((e5) => {
2588
+ e5.hasAttribute("data-autoplay") && Wn && e5.duration * 1e3 / e5.playbackRate > Wn && (Wn = e5.duration * 1e3 / e5.playbackRate + 1e3);
2589
+ })), Wn && !Jn && !ri() && !lr.isActive() && (!$r() || cr.availableRoutes().next || r.loop === true) && (Kn = setTimeout(() => {
2590
+ typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : Oa(), ya();
2591
+ }, Wn), qn = Date.now()), Gn && Gn.setPlaying(Kn !== -1);
2592
2592
  }
2593
2593
  }
2594
- function di() {
2595
- clearTimeout(_n), _n = -1;
2594
+ function ba() {
2595
+ clearTimeout(Kn), Kn = -1;
2596
2596
  }
2597
- function fi() {
2598
- m && !xn && (xn = true, gr({ type: "autoslidepaused" }), clearTimeout(_n), gn && gn.setPlaying(false));
2597
+ function xa() {
2598
+ Wn && !Jn && (Jn = true, Br({ type: "autoslidepaused" }), clearTimeout(Kn), Gn && Gn.setPlaying(false));
2599
2599
  }
2600
- function hi() {
2601
- m && xn && (xn = false, gr({ type: "autoslideresumed" }), ui());
2600
+ function Sa() {
2601
+ Wn && Jn && (Jn = false, Br({ type: "autoslideresumed" }), ya());
2602
2602
  }
2603
- function gi({ skipFragments: e4 = false } = {}) {
2604
- if (u.hasNavigatedHorizontally = true, In.isActive()) return In.prev();
2605
- r.rtl ? (zn.isActive() || e4 || Rn.next() === false) && Jr().left && Lr(o + 1, r.navigationMode === "grid" ? s : void 0) : (zn.isActive() || e4 || Rn.prev() === false) && Jr().left && Lr(o - 1, r.navigationMode === "grid" ? s : void 0);
2603
+ function Ca({ skipFragments: e4 = false } = {}) {
2604
+ if (u.hasNavigatedHorizontally = true, m.isActive()) return m.prev();
2605
+ r.rtl ? (lr.isActive() || e4 || cr.next() === false) && ra().left && si(o + 1, r.navigationMode === "grid" ? s : void 0) : (lr.isActive() || e4 || cr.prev() === false) && ra().left && si(o - 1, r.navigationMode === "grid" ? s : void 0);
2606
2606
  }
2607
- function ea({ skipFragments: e4 = false } = {}) {
2608
- if (u.hasNavigatedHorizontally = true, In.isActive()) return In.next();
2609
- r.rtl ? (zn.isActive() || e4 || Rn.prev() === false) && Jr().right && Lr(o - 1, r.navigationMode === "grid" ? s : void 0) : (zn.isActive() || e4 || Rn.next() === false) && Jr().right && Lr(o + 1, r.navigationMode === "grid" ? s : void 0);
2607
+ function wa({ skipFragments: e4 = false } = {}) {
2608
+ if (u.hasNavigatedHorizontally = true, m.isActive()) return m.next();
2609
+ r.rtl ? (lr.isActive() || e4 || cr.prev() === false) && ra().right && si(o - 1, r.navigationMode === "grid" ? s : void 0) : (lr.isActive() || e4 || cr.next() === false) && ra().right && si(o + 1, r.navigationMode === "grid" ? s : void 0);
2610
2610
  }
2611
- function ta({ skipFragments: e4 = false } = {}) {
2612
- if (In.isActive()) return In.prev();
2613
- (zn.isActive() || e4 || Rn.prev() === false) && Jr().up && Lr(o, s - 1);
2611
+ function Ta({ skipFragments: e4 = false } = {}) {
2612
+ if (m.isActive()) return m.prev();
2613
+ (lr.isActive() || e4 || cr.prev() === false) && ra().up && si(o, s - 1);
2614
2614
  }
2615
- function na({ skipFragments: e4 = false } = {}) {
2616
- if (u.hasNavigatedVertically = true, In.isActive()) return In.next();
2617
- (zn.isActive() || e4 || Rn.next() === false) && Jr().down && Lr(o, s + 1);
2615
+ function Ea({ skipFragments: e4 = false } = {}) {
2616
+ if (u.hasNavigatedVertically = true, m.isActive()) return m.next();
2617
+ (lr.isActive() || e4 || cr.next() === false) && ra().down && si(o, s + 1);
2618
2618
  }
2619
- function ra({ skipFragments: e4 = false } = {}) {
2620
- if (In.isActive()) return In.prev();
2621
- if (e4 || Rn.prev() === false) if (Jr().up) ta({ skipFragments: e4 });
2619
+ function Da({ skipFragments: e4 = false } = {}) {
2620
+ if (m.isActive()) return m.prev();
2621
+ if (e4 || cr.prev() === false) if (ra().up) Ta({ skipFragments: e4 });
2622
2622
  else {
2623
2623
  let t2;
2624
- if (t2 = r.rtl ? E$1(p.wrapper, te$1 + ".future").pop() : E$1(p.wrapper, te$1 + ".past").pop(), t2 && t2.classList.contains("stack")) {
2624
+ if (t2 = r.rtl ? E$1(f.wrapper, te$1 + ".future").pop() : E$1(f.wrapper, te$1 + ".past").pop(), t2 && t2.classList.contains("stack")) {
2625
2625
  let e5 = t2.querySelectorAll("section").length - 1 || void 0;
2626
- Lr(o - 1, e5);
2627
- } else r.rtl ? ea({ skipFragments: e4 }) : gi({ skipFragments: e4 });
2626
+ si(o - 1, e5);
2627
+ } else r.rtl ? wa({ skipFragments: e4 }) : Ca({ skipFragments: e4 });
2628
2628
  }
2629
2629
  }
2630
- function ia({ skipFragments: e4 = false } = {}) {
2631
- if (u.hasNavigatedHorizontally = true, u.hasNavigatedVertically = true, In.isActive()) return In.next();
2632
- if (e4 || Rn.next() === false) {
2633
- let t2 = Jr();
2634
- t2.down && t2.right && r.loop && Dr() && (t2.down = false), t2.down ? na({ skipFragments: e4 }) : r.rtl ? gi({ skipFragments: e4 }) : ea({ skipFragments: e4 });
2630
+ function Oa({ skipFragments: e4 = false } = {}) {
2631
+ if (u.hasNavigatedHorizontally = true, u.hasNavigatedVertically = true, m.isActive()) return m.next();
2632
+ if (e4 || cr.next() === false) {
2633
+ let t2 = ra();
2634
+ t2.down && t2.right && r.loop && Zr() && (t2.down = false), t2.down ? Ea({ skipFragments: e4 }) : r.rtl ? Ca({ skipFragments: e4 }) : wa({ skipFragments: e4 });
2635
2635
  }
2636
2636
  }
2637
- function aa(e4) {
2638
- r.autoSlideStoppable && fi();
2637
+ function ka(e4) {
2638
+ r.autoSlideStoppable && xa();
2639
2639
  }
2640
- function oa(e4) {
2640
+ function Aa(e4) {
2641
2641
  let t2 = e4.data;
2642
2642
  if (typeof t2 == "string" && t2.charAt(0) === "{" && t2.charAt(t2.length - 1) === "}" && (t2 = JSON.parse(t2), t2.method && typeof n[t2.method] == "function")) if (Li.test(t2.method) === false) {
2643
2643
  let e5 = n[t2.method].apply(n, t2.args);
2644
- vr("callback", {
2644
+ Hr("callback", {
2645
2645
  method: t2.method,
2646
2646
  result: e5
2647
2647
  });
2648
2648
  } else console.warn('reveal.js: "' + t2.method + '" is is blacklisted from the postMessage API');
2649
2649
  }
2650
- function sa(e4) {
2651
- hn === "running" && /section/gi.test(e4.target.nodeName) && (hn = "idle", gr({
2650
+ function ja(e4) {
2651
+ Un === "running" && /section/gi.test(e4.target.nodeName) && (Un = "idle", Br({
2652
2652
  type: "slidetransitionend",
2653
2653
  data: {
2654
2654
  indexh: o,
@@ -2658,153 +2658,153 @@ function Ut(e3, t) {
2658
2658
  }
2659
2659
  }));
2660
2660
  }
2661
- function ca(e4) {
2661
+ function Ma(e4) {
2662
2662
  let t2 = V$1(e4.target, 'a[href^="#"]');
2663
2663
  if (t2) {
2664
- let r2 = t2.getAttribute("href"), i2 = Vn.getIndicesFromHash(r2);
2664
+ let r2 = t2.getAttribute("href"), i2 = dr.getIndicesFromHash(r2);
2665
2665
  i2 && (n.slide(i2.h, i2.v, i2.f), e4.preventDefault());
2666
2666
  }
2667
2667
  }
2668
- function la(e4) {
2669
- yr();
2668
+ function Na(e4) {
2669
+ Ur();
2670
2670
  }
2671
- function ua(e4) {
2671
+ function Pa(e4) {
2672
2672
  document.hidden === false && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
2673
2673
  }
2674
- function da(e4) {
2675
- (document.fullscreenElement || document.webkitFullscreenElement) === p.wrapper && (e4.stopImmediatePropagation(), setTimeout(() => {
2674
+ function Fa(e4) {
2675
+ (document.fullscreenElement || document.webkitFullscreenElement) === f.wrapper && (e4.stopImmediatePropagation(), setTimeout(() => {
2676
2676
  n.layout(), n.focus.focus();
2677
2677
  }, 1));
2678
2678
  }
2679
- function fa(e4) {
2680
- kr() && r.loop === false ? (Lr(0, 0), hi()) : xn ? hi() : fi();
2679
+ function Ia(e4) {
2680
+ $r() && r.loop === false ? (si(0, 0), Sa()) : Jn ? Sa() : xa();
2681
2681
  }
2682
- let pa = {
2682
+ let La = {
2683
2683
  VERSION: Ot,
2684
- initialize: Xn,
2685
- configure: lr,
2686
- destroy: fr,
2687
- sync: Br,
2688
- syncSlide: Vr,
2689
- syncFragments: Rn.sync.bind(Rn),
2690
- slide: Lr,
2691
- left: gi,
2692
- right: ea,
2693
- up: ta,
2694
- down: na,
2695
- prev: ra,
2696
- next: ia,
2697
- navigateLeft: gi,
2698
- navigateRight: ea,
2699
- navigateUp: ta,
2700
- navigateDown: na,
2701
- navigatePrev: ra,
2702
- navigateNext: ia,
2703
- navigateFragment: Rn.goto.bind(Rn),
2704
- prevFragment: Rn.prev.bind(Rn),
2705
- nextFragment: Rn.next.bind(Rn),
2706
- on: pr,
2707
- off: mr,
2708
- addEventListener: pr,
2709
- removeEventListener: mr,
2710
- layout: yr,
2711
- shuffle: Ur,
2712
- availableRoutes: Jr,
2713
- availableFragments: Rn.availableRoutes.bind(Rn),
2714
- toggleHelp: Kn.toggleHelp.bind(Kn),
2715
- toggleOverview: zn.toggle.bind(zn),
2716
- toggleScrollView: In.toggle.bind(In),
2717
- togglePause: Mr,
2718
- toggleAutoSlide: Fr,
2719
- toggleJumpToSlide: Pr,
2720
- isFirstSlide: Or,
2721
- isLastSlide: kr,
2722
- isLastVerticalSlide: Dr,
2723
- isVerticalSlide: Tr,
2724
- isVerticalStack: Er,
2725
- isPaused: Nr,
2726
- isAutoSliding: Ir,
2727
- isSpeakerNotes: Yn.isSpeakerNotesWindow.bind(Yn),
2728
- isOverview: zn.isActive.bind(zn),
2729
- isFocused: qn.isFocused.bind(qn),
2730
- isOverlayOpen: Kn.isOpen.bind(Kn),
2731
- isScrollView: In.isActive.bind(In),
2732
- isPrintView: Ln.isActive.bind(Ln),
2684
+ initialize: br,
2685
+ configure: Nr,
2686
+ destroy: Ir,
2687
+ sync: ui,
2688
+ syncSlide: di,
2689
+ syncFragments: cr.sync.bind(cr),
2690
+ slide: si,
2691
+ left: Ca,
2692
+ right: wa,
2693
+ up: Ta,
2694
+ down: Ea,
2695
+ prev: Da,
2696
+ next: Oa,
2697
+ navigateLeft: Ca,
2698
+ navigateRight: wa,
2699
+ navigateUp: Ta,
2700
+ navigateDown: Ea,
2701
+ navigatePrev: Da,
2702
+ navigateNext: Oa,
2703
+ navigateFragment: cr.goto.bind(cr),
2704
+ prevFragment: cr.prev.bind(cr),
2705
+ nextFragment: cr.next.bind(cr),
2706
+ on: Lr,
2707
+ off: Rr,
2708
+ addEventListener: Lr,
2709
+ removeEventListener: Rr,
2710
+ layout: Ur,
2711
+ shuffle: hi,
2712
+ availableRoutes: ra,
2713
+ availableFragments: cr.availableRoutes.bind(cr),
2714
+ toggleHelp: gr.toggleHelp.bind(gr),
2715
+ toggleOverview: lr.toggle.bind(lr),
2716
+ toggleScrollView: m.toggle.bind(m),
2717
+ togglePause: ni,
2718
+ toggleAutoSlide: ai,
2719
+ toggleJumpToSlide: ii,
2720
+ isFirstSlide: Qr,
2721
+ isLastSlide: $r,
2722
+ isLastVerticalSlide: Zr,
2723
+ isVerticalSlide: Yr,
2724
+ isVerticalStack: Xr,
2725
+ isPaused: ri,
2726
+ isAutoSliding: oi,
2727
+ isSpeakerNotes: yr.isSpeakerNotesWindow.bind(yr),
2728
+ isOverview: lr.isActive.bind(lr),
2729
+ isFocused: _r.isFocused.bind(_r),
2730
+ isOverlayOpen: gr.isOpen.bind(gr),
2731
+ isScrollView: m.isActive.bind(m),
2732
+ isPrintView: or.isActive.bind(or),
2733
2733
  isReady: () => a,
2734
- loadSlide: Dn.load.bind(Dn),
2735
- unloadSlide: Dn.unload.bind(Dn),
2736
- startEmbeddedContent: () => Dn.startEmbeddedContent(l),
2737
- stopEmbeddedContent: () => Dn.stopEmbeddedContent(l, { unloadIframes: false }),
2738
- previewIframe: Kn.previewIframe.bind(Kn),
2739
- previewImage: Kn.previewImage.bind(Kn),
2740
- previewVideo: Kn.previewVideo.bind(Kn),
2741
- showPreview: Kn.previewIframe.bind(Kn),
2742
- hidePreview: Kn.close.bind(Kn),
2743
- addEventListeners: ur,
2744
- removeEventListeners: dr,
2745
- dispatchEvent: gr,
2746
- getState: ci,
2747
- setState: li,
2748
- getProgress: Xr,
2749
- getIndices: Zr,
2750
- getSlidesAttributes: ii,
2751
- getSlidePastCount: Yr,
2752
- getTotalSlides: ai,
2753
- getSlide: oi,
2734
+ loadSlide: p.load.bind(p),
2735
+ unloadSlide: p.unload.bind(p),
2736
+ startEmbeddedContent: () => p.startEmbeddedContent(l),
2737
+ stopEmbeddedContent: () => p.stopEmbeddedContent(l, { unloadIframes: false }),
2738
+ previewIframe: gr.previewIframe.bind(gr),
2739
+ previewImage: gr.previewImage.bind(gr),
2740
+ previewVideo: gr.previewVideo.bind(gr),
2741
+ showPreview: gr.previewIframe.bind(gr),
2742
+ hidePreview: gr.close.bind(gr),
2743
+ addEventListeners: Pr,
2744
+ removeEventListeners: Fr,
2745
+ dispatchEvent: Br,
2746
+ getState: _a2,
2747
+ setState: va,
2748
+ getProgress: aa,
2749
+ getIndices: oa,
2750
+ getSlidesAttributes: pa,
2751
+ getSlidePastCount: ia,
2752
+ getTotalSlides: ma,
2753
+ getSlide: ha,
2754
2754
  getPreviousSlide: () => c,
2755
2755
  getCurrentSlide: () => l,
2756
- getSlideBackground: si,
2757
- getSlideNotes: Yn.getSlideNotes.bind(Yn),
2758
- getSlides: Qr,
2759
- getHorizontalSlides: $r,
2760
- getVerticalSlides: ei,
2761
- hasHorizontalSlides: ni,
2762
- hasVerticalSlides: ri,
2756
+ getSlideBackground: ga,
2757
+ getSlideNotes: yr.getSlideNotes.bind(yr),
2758
+ getSlides: sa,
2759
+ getHorizontalSlides: ca,
2760
+ getVerticalSlides: la,
2761
+ hasHorizontalSlides: da,
2762
+ hasVerticalSlides: fa,
2763
2763
  hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
2764
2764
  hasNavigatedVertically: () => u.hasNavigatedVertically,
2765
- shouldAutoAnimateBetween: Rr,
2766
- addKeyBinding: Bn.addKeyBinding.bind(Bn),
2767
- removeKeyBinding: Bn.removeKeyBinding.bind(Bn),
2768
- triggerKey: Bn.triggerKey.bind(Bn),
2769
- registerKeyboardShortcut: Bn.registerKeyboardShortcut.bind(Bn),
2770
- getComputedSlideSize: Sr,
2771
- setCurrentScrollPage: zr,
2772
- removeHiddenSlides: er,
2773
- getScale: () => f,
2765
+ shouldAutoAnimateBetween: ci,
2766
+ addKeyBinding: ur.addKeyBinding.bind(ur),
2767
+ removeKeyBinding: ur.removeKeyBinding.bind(ur),
2768
+ triggerKey: ur.triggerKey.bind(ur),
2769
+ registerKeyboardShortcut: ur.registerKeyboardShortcut.bind(ur),
2770
+ getComputedSlideSize: Kr,
2771
+ setCurrentScrollPage: li,
2772
+ removeHiddenSlides: wr,
2773
+ getScale: () => Vn,
2774
2774
  getConfig: () => r,
2775
2775
  getQueryHash: Mt,
2776
- getSlidePath: Vn.getHash.bind(Vn),
2776
+ getSlidePath: dr.getHash.bind(dr),
2777
2777
  getRevealElement: () => e3,
2778
- getSlidesElement: () => p.slides,
2779
- getViewportElement: () => p.viewport,
2780
- getBackgroundsElement: () => Fn.element,
2781
- registerPlugin: Gn.registerPlugin.bind(Gn),
2782
- hasPlugin: Gn.hasPlugin.bind(Gn),
2783
- getPlugin: Gn.getPlugin.bind(Gn),
2784
- getPlugins: Gn.getRegisteredPlugins.bind(Gn)
2778
+ getSlidesElement: () => f.slides,
2779
+ getViewportElement: () => f.viewport,
2780
+ getBackgroundsElement: () => er.element,
2781
+ registerPlugin: hr.registerPlugin.bind(hr),
2782
+ hasPlugin: hr.hasPlugin.bind(hr),
2783
+ getPlugin: hr.getPlugin.bind(hr),
2784
+ getPlugins: hr.getRegisteredPlugins.bind(hr)
2785
2785
  };
2786
- return ge$1(n, We$1(Q$1({}, pa), {
2787
- announceStatus: rr,
2788
- getStatusText: ir,
2789
- focus: qn,
2790
- scroll: In,
2791
- progress: Un,
2792
- controls: Hn,
2793
- location: Vn,
2794
- overview: zn,
2795
- keyboard: Bn,
2796
- fragments: Rn,
2797
- backgrounds: Fn,
2798
- slideContent: Dn,
2799
- slideNumber: kn,
2800
- onUserInput: aa,
2801
- closeOverlay: Kn.close.bind(Kn),
2802
- updateSlidesVisibility: qr,
2803
- layoutSlideContents: br,
2804
- transformSlides: hr,
2805
- cueAutoSlide: ui,
2806
- cancelAutoSlide: di
2807
- })), pa;
2786
+ return ge$1(n, We$1(Q$1({}, La), {
2787
+ announceStatus: Dr,
2788
+ getStatusText: Or,
2789
+ focus: _r,
2790
+ scroll: m,
2791
+ progress: pr,
2792
+ controls: fr,
2793
+ location: dr,
2794
+ overview: lr,
2795
+ keyboard: ur,
2796
+ fragments: cr,
2797
+ backgrounds: er,
2798
+ slideContent: p,
2799
+ slideNumber: Yn,
2800
+ onUserInput: ka,
2801
+ closeOverlay: gr.close.bind(gr),
2802
+ updateSlidesVisibility: na,
2803
+ layoutSlideContents: Wr,
2804
+ transformSlides: zr,
2805
+ cueAutoSlide: ya,
2806
+ cancelAutoSlide: ba
2807
+ })), La;
2808
2808
  }
2809
2809
  var ce = Ut, qt = [];
2810
2810
  ce.initialize = (e3) => {
@@ -2849,36 +2849,36 @@ function v(e3, t, n) {
2849
2849
  function y(e3, t, n) {
2850
2850
  return e3 ? JSON.stringify(v(e3, t, n)) : "[]";
2851
2851
  }
2852
- function b({ config: e3, plugins: t = ee, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: f, onResumed: mn, deckRef: p, className: hn, style: m, children: gn }) {
2853
- let _n = (0, import_react.useRef)(null), vn = (0, import_react.useRef)(null), yn = (0, import_react.useRef)(null), [bn, xn] = (0, import_react.useState)(null), Sn = (0, import_react.useRef)(t), Cn = (0, import_react.useRef)(false), wn = (0, import_react.useRef)(e3), Tn = (0, import_react.useRef)(null), En = (0, import_react.useRef)(/* @__PURE__ */ new WeakMap()), Dn = (0, import_react.useRef)(1), On = (0, import_react.useRef)(false), kn = (0, import_react.useRef)(0);
2852
+ function b({ config: e3, plugins: t = ee, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: d, onResumed: Vn, deckRef: Hn, className: f, style: Un, children: Wn }) {
2853
+ let Kn = (0, import_react.useRef)(null), qn = (0, import_react.useRef)(null), Jn = (0, import_react.useRef)(null), [p, Yn] = (0, import_react.useState)(null), Xn = (0, import_react.useRef)(t), Zn = (0, import_react.useRef)(false), Qn = (0, import_react.useRef)(e3), $n = (0, import_react.useRef)(null), er = (0, import_react.useRef)(/* @__PURE__ */ new WeakMap()), m = (0, import_react.useRef)(1), tr = (0, import_react.useRef)(false), nr = (0, import_react.useRef)(0);
2854
2854
  return (0, import_react.useEffect)(() => {
2855
- if (On.current = true, kn.current += 1, yn.current) yn.current.isReady() && xn(yn.current);
2855
+ if (tr.current = true, nr.current += 1, Jn.current) Jn.current.isReady() && Yn(Jn.current);
2856
2856
  else {
2857
- let t2 = new ce(_n.current, {
2857
+ let t2 = new ce(Kn.current, {
2858
2858
  ...e3,
2859
- plugins: Sn.current
2859
+ plugins: Xn.current
2860
2860
  });
2861
- wn.current = e3, yn.current = t2, t2.initialize().then(() => {
2862
- !On.current || yn.current !== t2 || (xn(t2), n == null ? void 0 : n(t2));
2861
+ Qn.current = e3, Jn.current = t2, t2.initialize().then(() => {
2862
+ !tr.current || Jn.current !== t2 || (Yn(t2), n == null ? void 0 : n(t2));
2863
2863
  });
2864
2864
  }
2865
2865
  return () => {
2866
- On.current = false;
2867
- let e4 = yn.current;
2866
+ tr.current = false;
2867
+ let e4 = Jn.current;
2868
2868
  if (!e4) return;
2869
- let t2 = ++kn.current;
2869
+ let t2 = ++nr.current;
2870
2870
  Promise.resolve().then(() => {
2871
- if (!(On.current || kn.current !== t2) && yn.current === e4) {
2871
+ if (!(tr.current || nr.current !== t2) && Jn.current === e4) {
2872
2872
  try {
2873
2873
  e4.destroy();
2874
2874
  } catch {
2875
2875
  }
2876
- yn.current === e4 && (yn.current = null);
2876
+ Jn.current === e4 && (Jn.current = null);
2877
2877
  }
2878
2878
  });
2879
2879
  };
2880
- }, []), (0, import_react.useEffect)(() => (g(p, bn), () => g(p, null)), [p, bn]), (0, import_react.useEffect)(() => {
2881
- if (!bn) return;
2880
+ }, []), (0, import_react.useEffect)(() => (g(Hn, p), () => g(Hn, null)), [Hn, p]), (0, import_react.useEffect)(() => {
2881
+ if (!p) return;
2882
2882
  let e4 = [
2883
2883
  ["sync", r],
2884
2884
  ["slidesync", i],
@@ -2888,15 +2888,15 @@ function b({ config: e3, plugins: t = ee, onReady: n, onSync: r, onSlideSync: i,
2888
2888
  ["fragmenthidden", c],
2889
2889
  ["overviewshown", l],
2890
2890
  ["overviewhidden", u],
2891
- ["paused", f],
2892
- ["resumed", mn]
2891
+ ["paused", d],
2892
+ ["resumed", Vn]
2893
2893
  ].filter((e5) => e5[1] != null);
2894
- for (let [t2, n2] of e4) bn.on(t2, n2);
2894
+ for (let [t2, n2] of e4) p.on(t2, n2);
2895
2895
  return () => {
2896
- for (let [t2, n2] of e4) bn.off(t2, n2);
2896
+ for (let [t2, n2] of e4) p.off(t2, n2);
2897
2897
  };
2898
2898
  }, [
2899
- bn,
2899
+ p,
2900
2900
  r,
2901
2901
  i,
2902
2902
  a,
@@ -2905,31 +2905,31 @@ function b({ config: e3, plugins: t = ee, onReady: n, onSync: r, onSlideSync: i,
2905
2905
  c,
2906
2906
  l,
2907
2907
  u,
2908
- f,
2909
- mn
2908
+ d,
2909
+ Vn
2910
2910
  ]), (0, import_react.useLayoutEffect)(() => {
2911
2911
  var _a2;
2912
- !bn || !((_a2 = yn.current) == null ? void 0 : _a2.isReady()) || te(wn.current, e3) && (Cn.current = true, yn.current.configure(e3 ?? {}), wn.current = e3);
2913
- }, [bn, e3]), (0, import_react.useLayoutEffect)(() => {
2912
+ !p || !((_a2 = Jn.current) == null ? void 0 : _a2.isReady()) || te(Qn.current, e3) && (Zn.current = true, Jn.current.configure(e3 ?? {}), Qn.current = e3);
2913
+ }, [p, e3]), (0, import_react.useLayoutEffect)(() => {
2914
2914
  var _a2;
2915
- let e4 = Cn.current;
2916
- Cn.current = false;
2917
- let t2 = y(vn.current, En.current, Dn);
2915
+ let e4 = Zn.current;
2916
+ Zn.current = false;
2917
+ let t2 = y(qn.current, er.current, m);
2918
2918
  if (e4) {
2919
- Tn.current = t2;
2919
+ $n.current = t2;
2920
2920
  return;
2921
2921
  }
2922
- ((_a2 = yn.current) == null ? void 0 : _a2.isReady()) && Tn.current !== t2 && (yn.current.sync(), Tn.current = t2);
2922
+ ((_a2 = Jn.current) == null ? void 0 : _a2.isReady()) && $n.current !== t2 && (Jn.current.sync(), $n.current = t2);
2923
2923
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(h.Provider, {
2924
- value: bn,
2924
+ value: p,
2925
2925
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
2926
- className: hn ? `reveal ${hn}` : "reveal",
2927
- style: m,
2928
- ref: _n,
2926
+ className: f ? `reveal ${f}` : "reveal",
2927
+ style: Un,
2928
+ ref: Kn,
2929
2929
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
2930
2930
  className: "slides",
2931
- ref: vn,
2932
- children: gn
2931
+ ref: qn,
2932
+ children: Wn
2933
2933
  })
2934
2934
  })
2935
2935
  });
@@ -2981,8 +2981,8 @@ function C(e3, t) {
2981
2981
  }
2982
2982
  return n;
2983
2983
  }
2984
- function w({ children: e3, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: f, backgroundOpacity: mn, backgroundTransition: p, visibility: hn, autoAnimate: m, autoAnimateId: gn, autoAnimateRestart: _n, autoAnimateUnmatched: vn, autoAnimateEasing: yn, autoAnimateDuration: bn, autoAnimateDelay: xn, transition: Sn, transitionSpeed: Cn, autoSlide: wn, notes: Tn, backgroundInteractive: En, preload: Dn, ...On }) {
2985
- let kn = (0, import_react.useContext)(h), An = (0, import_react.useRef)(null), jn = (0, import_react.useRef)(null), Mn = (0, import_react.useRef)(null), Nn = C(On, {
2984
+ function w({ children: e3, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: d, backgroundOpacity: Vn, backgroundTransition: Hn, visibility: f, autoAnimate: Un, autoAnimateId: Wn, autoAnimateRestart: Kn, autoAnimateUnmatched: qn, autoAnimateEasing: Jn, autoAnimateDuration: p, autoAnimateDelay: Yn, transition: Xn, transitionSpeed: Zn, autoSlide: Qn, notes: $n, backgroundInteractive: er, preload: m, ...tr }) {
2985
+ let nr = (0, import_react.useContext)(h), rr = (0, import_react.useRef)(null), ir = (0, import_react.useRef)(null), ar = (0, import_react.useRef)(null), or = C(tr, {
2986
2986
  background: t,
2987
2987
  backgroundImage: n,
2988
2988
  backgroundVideo: r,
@@ -2993,40 +2993,47 @@ function w({ children: e3, background: t, backgroundImage: n, backgroundVideo: r
2993
2993
  backgroundGradient: c,
2994
2994
  backgroundSize: l,
2995
2995
  backgroundPosition: u,
2996
- backgroundRepeat: f,
2997
- backgroundOpacity: mn,
2998
- backgroundTransition: p,
2999
- visibility: hn,
3000
- autoAnimate: m,
3001
- autoAnimateId: gn,
3002
- autoAnimateRestart: _n,
3003
- autoAnimateUnmatched: vn,
3004
- autoAnimateEasing: yn,
3005
- autoAnimateDuration: bn,
3006
- autoAnimateDelay: xn,
3007
- transition: Sn,
3008
- transitionSpeed: Cn,
3009
- autoSlide: wn,
3010
- notes: Tn,
3011
- backgroundInteractive: En,
3012
- preload: Dn
3013
- }), Pn = S(Nn);
2996
+ backgroundRepeat: d,
2997
+ backgroundOpacity: Vn,
2998
+ backgroundTransition: Hn,
2999
+ visibility: f,
3000
+ autoAnimate: Un,
3001
+ autoAnimateId: Wn,
3002
+ autoAnimateRestart: Kn,
3003
+ autoAnimateUnmatched: qn,
3004
+ autoAnimateEasing: Jn,
3005
+ autoAnimateDuration: p,
3006
+ autoAnimateDelay: Yn,
3007
+ transition: Xn,
3008
+ transitionSpeed: Zn,
3009
+ autoSlide: Qn,
3010
+ notes: $n,
3011
+ backgroundInteractive: er,
3012
+ preload: m
3013
+ }), sr = S(or);
3014
3014
  return (0, import_react.useLayoutEffect)(() => {
3015
- let e4 = An.current;
3016
- if (!kn || !e4 || typeof kn.syncSlide != "function") return;
3017
- if (jn.current !== kn) {
3018
- jn.current = kn, Mn.current = Pn;
3015
+ let e4 = rr.current;
3016
+ if (!nr || !e4 || typeof nr.syncSlide != "function") return;
3017
+ if (ir.current !== nr) {
3018
+ ir.current = nr, ar.current = sr;
3019
3019
  return;
3020
3020
  }
3021
- if (Pn === "[]") return;
3022
- let t2 = jn.current === kn, n2 = Mn.current === Pn;
3023
- t2 && n2 || (kn.syncSlide(e4), jn.current = kn, Mn.current = Pn);
3024
- }, [kn, Pn]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", {
3025
- ref: An,
3026
- ...Nn,
3021
+ if (sr === "[]") return;
3022
+ let t2 = ir.current === nr, n2 = ar.current === sr;
3023
+ t2 && n2 || (nr.syncSlide(e4), ir.current = nr, ar.current = sr);
3024
+ }, [nr, sr]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", {
3025
+ ref: rr,
3026
+ ...or,
3027
3027
  children: e3
3028
3028
  });
3029
3029
  }
3030
+ function ne({ className: e3, style: t, children: n }) {
3031
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", {
3032
+ className: e3,
3033
+ style: t,
3034
+ children: n
3035
+ });
3036
+ }
3030
3037
  function T() {
3031
3038
  return {
3032
3039
  async: false,
@@ -3398,16 +3405,16 @@ ${c}` : c;
3398
3405
  r2 = t[0], e3 = e3.substring(r2.length);
3399
3406
  let c = Qe(t[2].split("\n", 1)[0], t[1].length), l = e3.split("\n", 1)[0], u = !c.trim(), d = 0;
3400
3407
  if (this.options.pedantic ? (d = 2, s2 = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s2 = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r2 += l + "\n", e3 = e3.substring(l.length + 1), n2 = true), !n2) {
3401
- let t2 = this.rules.other.nextBulletRegex(d), n3 = this.rules.other.hrRegex(d), i2 = this.rules.other.fencesBeginRegex(d), a2 = this.rules.other.headingBeginRegex(d), o2 = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
3408
+ let t2 = this.rules.other.nextBulletRegex(d), n3 = this.rules.other.hrRegex(d), i2 = this.rules.other.fencesBeginRegex(d), a2 = this.rules.other.headingBeginRegex(d), o2 = this.rules.other.htmlBeginRegex(d), Vn = this.rules.other.blockquoteBeginRegex(d);
3402
3409
  for (; e3; ) {
3403
- let mn = e3.split("\n", 1)[0], p;
3404
- if (l = mn, this.options.pedantic ? (l = l.replace(this.rules.other.listReplaceNesting, " "), p = l) : p = l.replace(this.rules.other.tabCharGlobal, " "), i2.test(l) || a2.test(l) || o2.test(l) || f.test(l) || t2.test(l) || n3.test(l)) break;
3405
- if (p.search(this.rules.other.nonSpaceChar) >= d || !l.trim()) s2 += "\n" + p.slice(d);
3410
+ let Hn = e3.split("\n", 1)[0], f;
3411
+ if (l = Hn, this.options.pedantic ? (l = l.replace(this.rules.other.listReplaceNesting, " "), f = l) : f = l.replace(this.rules.other.tabCharGlobal, " "), i2.test(l) || a2.test(l) || o2.test(l) || Vn.test(l) || t2.test(l) || n3.test(l)) break;
3412
+ if (f.search(this.rules.other.nonSpaceChar) >= d || !l.trim()) s2 += "\n" + f.slice(d);
3406
3413
  else {
3407
3414
  if (u || c.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || i2.test(c) || a2.test(c) || n3.test(c)) break;
3408
3415
  s2 += "\n" + l;
3409
3416
  }
3410
- u = !l.trim(), r2 += mn + "\n", e3 = e3.substring(mn.length + 1), c = p.slice(d);
3417
+ u = !l.trim(), r2 += Hn + "\n", e3 = e3.substring(Hn.length + 1), c = f.slice(d);
3411
3418
  }
3412
3419
  }
3413
3420
  i.loose || (o ? i.loose = true : this.rules.other.doubleBlankLine.test(r2) && (o = true)), i.items.push({
@@ -4460,89 +4467,348 @@ $.options = $.setOptions = function(e3) {
4460
4467
  }, $.walkTokens = function(e3, t) {
4461
4468
  return Q.walkTokens(e3, t);
4462
4469
  }, $.parseInline = Q.parseInline, $.Parser = X, $.parser = X.parse, $.Renderer = nt, $.TextRenderer = rt, $.Lexer = Y, $.lexer = Y.lex, $.Tokenizer = tt, $.Hooks = Z, $.parse = $, $.options, $.setOptions, $.use, $.walkTokens, $.parseInline, X.parse, Y.lex;
4463
- var reveal_component_default = (e3) => {
4464
- let t = (0, import_compiler_runtime.c)(23), { cellsWithOutput: n, activeIndex: i, onSlideChange: a, deckRef: o } = e3, c, f;
4465
- t[0] !== i || t[1] !== o ? (c = () => {
4466
- let e4 = o.current;
4467
- if (e4 == null || i == null) return;
4468
- let { h: t2 } = e4.getIndices();
4469
- t2 !== i && e4.slide(i);
4470
- }, f = [i, o], t[0] = i, t[1] = o, t[2] = c, t[3] = f) : (c = t[2], f = t[3]), (0, import_react.useEffect)(c, f);
4471
- let mn, p;
4472
- t[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (mn = { height: "100%" }, p = {
4473
- embedded: true,
4474
- overview: false,
4475
- width: "100%",
4476
- height: "100%",
4477
- center: false,
4478
- minScale: 1,
4479
- maxScale: 1,
4480
- keyboardCondition: _temp
4481
- }, t[4] = mn, t[5] = p) : (mn = t[4], p = t[5]);
4482
- let hn;
4483
- t[6] !== o || t[7] !== a ? (hn = () => {
4484
- var _a2;
4485
- let e4 = o.current;
4486
- e4 && (a == null ? void 0 : a(e4.getIndices().h), ((_a2 = e4.getCurrentSlide()) == null ? void 0 : _a2.querySelector(".vega-embed, marimo-vega")) && requestAnimationFrame(_temp2));
4487
- }, t[6] = o, t[7] = a, t[8] = hn) : hn = t[8];
4488
- let m;
4489
- t[9] === n ? m = t[10] : (m = n.map(_temp3), t[9] = n, t[10] = m);
4490
- let gn;
4491
- t[11] !== o || t[12] !== hn || t[13] !== m ? (gn = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(b, {
4492
- deckRef: o,
4493
- className: "relative w-full h-full border rounded bg-background mo-slides-theme prose-slides",
4494
- style: mn,
4495
- config: p,
4496
- onSlideChange: hn,
4497
- children: m
4498
- }), t[11] = o, t[12] = hn, t[13] = m, t[14] = gn) : gn = t[14];
4499
- let _n;
4500
- t[15] === o ? _n = t[16] : (_n = () => {
4501
- var _a2, _b;
4502
- (_b = (_a2 = o.current) == null ? void 0 : _a2.getViewportElement()) == null ? void 0 : _b.requestFullscreen().catch(_temp4);
4503
- }, t[15] = o, t[16] = _n);
4504
- let vn;
4505
- t[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (vn = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Expand, { className: "h-4 w-4" }), t[17] = vn) : vn = t[17];
4506
- let yn;
4507
- t[18] === _n ? yn = t[19] : (yn = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
4508
- content: "Fullscreen (F)",
4509
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
4510
- "data-testid": "marimo-plugin-slides-fullscreen",
4511
- variant: "ghost",
4512
- size: "icon",
4513
- className: "absolute top-2 right-2 z-10 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity h-7 w-7",
4514
- onClick: _n,
4515
- children: vn
4516
- })
4517
- }), t[18] = _n, t[19] = yn);
4518
- let bn;
4519
- return t[20] !== yn || t[21] !== gn ? (bn = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
4520
- className: "group relative h-full w-full flex-1",
4521
- children: [gn, yn]
4522
- }), t[20] = yn, t[21] = gn, t[22] = bn) : bn = t[22], bn;
4523
- };
4524
- function _temp(e3) {
4525
- return !Events.fromInput(e3);
4470
+ function Rt(...e3) {
4471
+ return e3.filter(Boolean).join(" ");
4526
4472
  }
4527
- function _temp2() {
4528
- window.dispatchEvent(new Event("resize"));
4473
+ function zt(e3, t) {
4474
+ return e3 ? t ? {
4475
+ ...e3,
4476
+ ...t
4477
+ } : e3 : t;
4529
4478
  }
4530
- function _temp3(e3) {
4531
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(w, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4479
+ function Bt({ animation: e3, index: t, as: n, asChild: r, className: i, style: a, children: o }) {
4480
+ let s = Rt("fragment", e3, i);
4481
+ if (r) {
4482
+ let e4;
4483
+ try {
4484
+ e4 = import_react.Children.only(o);
4485
+ } catch {
4486
+ throw Error("Fragment with asChild expects exactly one React element child.");
4487
+ }
4488
+ if (!(0, import_react.isValidElement)(e4) || e4.type === import_react.Fragment) throw Error("Fragment with asChild expects exactly one non-Fragment React element child.");
4489
+ let n2 = {
4490
+ className: Rt(e4.props.className, s),
4491
+ style: zt(e4.props.style, a)
4492
+ };
4493
+ return t !== void 0 && (n2["data-fragment-index"] = t), (0, import_react.cloneElement)(e4, n2);
4494
+ }
4495
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(n ?? "span", {
4496
+ className: s,
4497
+ style: a,
4498
+ "data-fragment-index": t,
4499
+ children: o
4500
+ });
4501
+ }
4502
+ function composeSlides({ cells: e3, getType: t }) {
4503
+ let n = [], r = null, i = null, a = () => {
4504
+ let e4 = { subslides: [] };
4505
+ return n.push(e4), r = e4, i = null, e4;
4506
+ }, o = () => {
4507
+ let e4 = r ?? a(), t2 = { blocks: [] };
4508
+ return e4.subslides.push(t2), i = t2, t2;
4509
+ }, s = (e4) => {
4510
+ let t2 = i ?? o(), n2 = {
4511
+ isFragment: e4,
4512
+ cells: []
4513
+ };
4514
+ return t2.blocks.push(n2), n2;
4515
+ };
4516
+ for (let n2 of e3) switch (t(n2)) {
4517
+ case "skip":
4518
+ break;
4519
+ case "slide":
4520
+ a(), o(), s(false).cells.push(n2);
4521
+ break;
4522
+ case "sub-slide":
4523
+ o(), s(false).cells.push(n2);
4524
+ break;
4525
+ case "fragment":
4526
+ s(true).cells.push(n2);
4527
+ break;
4528
+ }
4529
+ return { stacks: n };
4530
+ }
4531
+ function buildSlideIndices({ composition: e3, cells: t, getId: n }) {
4532
+ let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
4533
+ for (let [e4, r2] of t.entries()) a.set(n(r2), e4);
4534
+ return e3.stacks.forEach((e4, t2) => {
4535
+ e4.subslides.forEach((e5, o) => {
4536
+ var _a2;
4537
+ let s;
4538
+ for (let t3 of e5.blocks) {
4539
+ if (t3.isFragment) break;
4540
+ let e6 = t3.cells.at(-1);
4541
+ e6 && (s = n(e6));
4542
+ }
4543
+ if (s === void 0) {
4544
+ let t3 = (_a2 = e5.blocks[0]) == null ? void 0 : _a2.cells[0];
4545
+ t3 && (s = n(t3));
4546
+ }
4547
+ if (s !== void 0) {
4548
+ let e6 = a.get(s);
4549
+ e6 != null && i.set(`${t2},${o},-1`, e6);
4550
+ }
4551
+ let c = -1;
4552
+ for (let s2 of e5.blocks) if (s2.isFragment) {
4553
+ c++;
4554
+ for (let e7 of s2.cells) r.set(n(e7), {
4555
+ h: t2,
4556
+ v: o,
4557
+ f: c
4558
+ });
4559
+ let e6 = s2.cells.at(-1);
4560
+ if (e6) {
4561
+ let r2 = a.get(n(e6));
4562
+ r2 != null && i.set(`${t2},${o},${c}`, r2);
4563
+ }
4564
+ } else for (let e6 of s2.cells) r.set(n(e6), {
4565
+ h: t2,
4566
+ v: o,
4567
+ f: -1
4568
+ });
4569
+ });
4570
+ }), {
4571
+ cellToTarget: r,
4572
+ targetToCellIndex: i
4573
+ };
4574
+ }
4575
+ function resolveActiveCellIndex(e3, t) {
4576
+ let { h: n, v: r, f: i } = t;
4577
+ return e3.get(`${n},${r},${i}`) ?? e3.get(`${n},${r},-1`);
4578
+ }
4579
+ function findDeckTarget({ start: e3, stop: t, step: n, cells: r, cellToTarget: i, getId: a }) {
4580
+ for (let o = e3; o !== t; o += n) {
4581
+ let e4 = i.get(a(r[o]));
4582
+ if (e4) return e4;
4583
+ }
4584
+ }
4585
+ function resolveDeckNavigationTarget({ activeIndex: e3, cells: t, cellToTarget: n, getId: r }) {
4586
+ if (e3 == null) return;
4587
+ let i = t[e3];
4588
+ return i ? n.get(r(i)) || (findDeckTarget({
4589
+ start: e3 - 1,
4590
+ stop: -1,
4591
+ step: -1,
4592
+ cells: t,
4593
+ cellToTarget: n,
4594
+ getId: r
4595
+ }) ?? findDeckTarget({
4596
+ start: e3 + 1,
4597
+ stop: t.length,
4598
+ step: 1,
4599
+ cells: t,
4600
+ cellToTarget: n,
4601
+ getId: r
4602
+ })) : void 0;
4603
+ }
4604
+ function computeDeckNavigation(e3, t) {
4605
+ let n = {
4606
+ h: t.h,
4607
+ v: t.v,
4608
+ f: t.f >= 0 ? t.f : -1
4609
+ };
4610
+ return e3.h === n.h && e3.v === n.v && e3.f === n.f ? null : n;
4611
+ }
4612
+ var ASPECT_RATIO = 16 / 9;
4613
+ function clearPreviousVerticalIndices(e3) {
4614
+ let t = e3.getSlidesElement();
4615
+ if (t) for (let e4 of t.querySelectorAll("section.stack[data-previous-indexv]")) e4.removeAttribute("data-previous-indexv");
4616
+ }
4617
+ var FORWARD_NAV_KEYS = /* @__PURE__ */ new Set([
4618
+ " ",
4619
+ "Spacebar",
4620
+ "ArrowRight",
4621
+ "ArrowDown",
4622
+ "PageDown"
4623
+ ]), BACK_NAV_KEYS = /* @__PURE__ */ new Set([
4624
+ "ArrowLeft",
4625
+ "ArrowUp",
4626
+ "PageUp"
4627
+ ]);
4628
+ function classifyNavKey(e3) {
4629
+ return FORWARD_NAV_KEYS.has(e3.key) ? 1 : BACK_NAV_KEYS.has(e3.key) ? -1 : 0;
4630
+ }
4631
+ function useSlideDimensions(e3) {
4632
+ let t = (0, import_compiler_runtime.c)(4), n;
4633
+ t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (n = {
4634
+ width: 960,
4635
+ height: 540
4636
+ }, t[0] = n) : n = t[0];
4637
+ let [r, i] = (0, import_react.useState)(n), a, o;
4638
+ return t[1] === e3 ? (a = t[2], o = t[3]) : (a = () => {
4639
+ let t2 = e3.current;
4640
+ if (!t2) return;
4641
+ let n2 = new ResizeObserver((e4) => {
4642
+ let { width: t3, height: n3 } = e4[0].contentRect;
4643
+ if (t3 <= 0 || n3 <= 0) return;
4644
+ let r2 = Math.min(t3, n3 * ASPECT_RATIO), a2 = r2 / ASPECT_RATIO;
4645
+ i({
4646
+ width: Math.round(r2),
4647
+ height: Math.round(a2)
4648
+ });
4649
+ });
4650
+ return n2.observe(t2), () => n2.disconnect();
4651
+ }, o = [e3], t[1] = e3, t[2] = a, t[3] = o), (0, import_react.useEffect)(a, o), r;
4652
+ }
4653
+ function triggerResize(e3) {
4654
+ var _a2;
4655
+ ((_a2 = e3 == null ? void 0 : e3.getCurrentSlide()) == null ? void 0 : _a2.querySelector(".vega-embed, marimo-vega")) && requestAnimationFrame(() => {
4656
+ window.dispatchEvent(new Event("resize"));
4657
+ });
4658
+ }
4659
+ var SubslideView = (e3) => {
4660
+ let t = (0, import_compiler_runtime.c)(5), { subslide: n } = e3, r;
4661
+ t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = { margin: "auto 20px" }, t[0] = r) : r = t[0];
4662
+ let i;
4663
+ t[1] === n.blocks ? i = t[2] : (i = n.blocks.map(_temp2), t[1] = n.blocks, t[2] = i);
4664
+ let a;
4665
+ return t[3] === i ? a = t[4] : (a = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(w, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4532
4666
  className: "h-full w-full overflow-auto flex",
4533
4667
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4534
4668
  className: "mo-slide-content",
4535
- style: { margin: "auto 0" },
4536
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
4537
- cellId: e3.id,
4538
- status: e3.status,
4539
- output: e3.output
4540
- })
4669
+ style: r,
4670
+ children: i
4541
4671
  })
4542
- }) }, e3.id);
4672
+ }) }), t[3] = i, t[4] = a), a;
4673
+ }, reveal_component_default = ({ cellsWithOutput: e3, layout: a, setLayout: o, activeIndex: d, onSlideChange: Vn, deckRef: Hn, mode: Wn, configWidth: Kn = 300 }) => {
4674
+ var _a2, _b;
4675
+ let qn = (0, import_react.useRef)(null), { width: Jn, height: p } = useSlideDimensions(qn), Yn = d == null ? void 0 : e3[d], Xn = Yn ?? e3.at(0), Zn = (0, import_react.useMemo)(() => composeSlides({
4676
+ cells: e3,
4677
+ getType: (e4) => {
4678
+ var _a3;
4679
+ return ((_a3 = a.cells.get(e4.id)) == null ? void 0 : _a3.type) ?? "slide";
4680
+ }
4681
+ }), [e3, a.cells]), Qn = Yn && ((_a2 = a.cells.get(Yn.id)) == null ? void 0 : _a2.type) === "skip" ? Yn : null, { cellToTarget: $n, targetToCellIndex: er } = (0, import_react.useMemo)(() => buildSlideIndices({
4682
+ composition: Zn,
4683
+ cells: e3,
4684
+ getId: (e4) => e4.id
4685
+ }), [Zn, e3]), m = ((_b = a.deck) == null ? void 0 : _b.transition) ?? "slide", tr = (0, import_react.useMemo)(() => ({
4686
+ embedded: true,
4687
+ width: Jn,
4688
+ height: p,
4689
+ center: false,
4690
+ minScale: 0.2,
4691
+ maxScale: 2,
4692
+ transition: m,
4693
+ keyboardCondition: (e4) => !Events.fromInput(e4)
4694
+ }), [
4695
+ Jn,
4696
+ p,
4697
+ m
4698
+ ]);
4699
+ (0, import_react.useEffect)(() => {
4700
+ let t = Hn.current;
4701
+ if (t == null) return;
4702
+ let n = resolveDeckNavigationTarget({
4703
+ activeIndex: d,
4704
+ cells: e3,
4705
+ cellToTarget: $n,
4706
+ getId: (e4) => e4.id
4707
+ }), r = n && computeDeckNavigation(t.getIndices(), n);
4708
+ r && (t.slide(r.h, r.v, r.f), clearPreviousVerticalIndices(t));
4709
+ }, [
4710
+ d,
4711
+ $n,
4712
+ e3,
4713
+ Hn
4714
+ ]);
4715
+ let nr = useEvent_default(() => {
4716
+ if (Qn != null) return;
4717
+ let e4 = Hn.current;
4718
+ if (!e4) return;
4719
+ let t = resolveActiveCellIndex(er, e4.getIndices());
4720
+ t != null && (Vn == null ? void 0 : Vn(t));
4721
+ }), rr = useEvent_default((t) => {
4722
+ if (!Qn || d == null || Events.fromInput(t)) return;
4723
+ let r = classifyNavKey(t);
4724
+ if (r === 0) return;
4725
+ t.preventDefault(), t.stopPropagation();
4726
+ let i = d + r;
4727
+ i < 0 || i >= e3.length || (Vn == null ? void 0 : Vn(i));
4728
+ });
4729
+ return useEventListener(document, "keydown", rr, { capture: true }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
4730
+ className: "flex-1 min-w-0 flex flex-row gap-3",
4731
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4732
+ ref: qn,
4733
+ className: "flex-1 min-w-0 flex items-center justify-center overflow-hidden",
4734
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
4735
+ className: "group relative",
4736
+ style: {
4737
+ width: Jn,
4738
+ height: p
4739
+ },
4740
+ children: [
4741
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(b, {
4742
+ deckRef: Hn,
4743
+ className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides",
4744
+ config: tr,
4745
+ onSlideChange: () => {
4746
+ nr();
4747
+ let e4 = Hn.current;
4748
+ triggerResize(e4);
4749
+ },
4750
+ onFragmentShown: nr,
4751
+ onFragmentHidden: nr,
4752
+ children: Zn.stacks.map((e4, t) => e4.subslides.length === 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, { subslide: e4.subslides[0] }, t) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ne, { children: e4.subslides.map((e5, t2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, { subslide: e5 }, t2)) }, t))
4753
+ }),
4754
+ Qn && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
4755
+ className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
4756
+ "aria-label": "Skipped in presentation",
4757
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
4758
+ className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",
4759
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EyeOff, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Skipped in presentation" })]
4760
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4761
+ className: "flex-1 overflow-auto flex",
4762
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4763
+ className: "mo-slide-content",
4764
+ style: { margin: "auto 20px" },
4765
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
4766
+ cellId: Qn.id,
4767
+ status: Qn.status,
4768
+ output: Qn.output
4769
+ })
4770
+ })
4771
+ })]
4772
+ }),
4773
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
4774
+ content: "Fullscreen (F)",
4775
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
4776
+ "data-testid": "marimo-plugin-slides-fullscreen",
4777
+ variant: "ghost",
4778
+ size: "icon",
4779
+ className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity h-7 w-7",
4780
+ onClick: () => {
4781
+ var _a3, _b2;
4782
+ (_b2 = (_a3 = Hn.current) == null ? void 0 : _a3.getViewportElement()) == null ? void 0 : _b2.requestFullscreen().catch((e4) => {
4783
+ Logger.error("Failed to request fullscreen", e4);
4784
+ });
4785
+ },
4786
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Expand, { className: "h-4 w-4" })
4787
+ })
4788
+ })
4789
+ ]
4790
+ })
4791
+ }), Wn !== "read" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideSidebar, {
4792
+ configWidth: Kn,
4793
+ layout: a,
4794
+ setLayout: o,
4795
+ activeConfigCell: Xn
4796
+ })]
4797
+ });
4798
+ };
4799
+ function _temp(e3) {
4800
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
4801
+ cellId: e3.id,
4802
+ status: e3.status,
4803
+ output: e3.output
4804
+ }, e3.id);
4543
4805
  }
4544
- function _temp4(e3) {
4545
- Logger.error("Failed to request fullscreen", e3);
4806
+ function _temp2(e3, t) {
4807
+ let n = e3.cells.map(_temp);
4808
+ return e3.isFragment ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bt, {
4809
+ as: "div",
4810
+ children: n
4811
+ }, t) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: n }, t);
4546
4812
  }
4547
4813
  export {
4548
4814
  reveal_component_default as default