@marimo-team/islands 0.23.9-dev8 → 0.23.9

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 (101) hide show
  1. package/dist/{ConnectedDataExplorerComponent-OzrfMM5L.js → ConnectedDataExplorerComponent-CyV83R2m.js} +4 -4
  2. package/dist/assets/__vite-browser-external-Ci2ZQfXU.js +1 -0
  3. package/dist/assets/{worker-CpBbwbQo.js → worker-ip3AI_sN.js} +2 -2
  4. package/dist/{chat-ui-BDI3FMI8.js → chat-ui-ChD4VvCo.js} +3060 -3033
  5. package/dist/{code-visibility-SqsoLwxQ.js → code-visibility-BkuwTYAm.js} +1368 -1204
  6. package/dist/{formats-DQ5qjo_Q.js → formats-DHxc-FdY.js} +1 -1
  7. package/dist/{glide-data-editor-DqRY9naW.js → glide-data-editor-BOmK9ETQ.js} +2 -2
  8. package/dist/{html-to-image-CiSinpSR.js → html-to-image-BHv7CEU_.js} +2145 -2153
  9. package/dist/{input-CZD2z6X2.js → input-_2sjvfne.js} +1 -1
  10. package/dist/main.js +680 -705
  11. package/dist/{mermaid-IU93XzmY.js → mermaid-lXOw5Py9.js} +2 -2
  12. package/dist/{process-output-5qJjMRKh.js → process-output-BvySRgli.js} +33 -25
  13. package/dist/{reveal-component-v4zHgynl.js → reveal-component-DeBkkDcg.js} +312 -291
  14. package/dist/{spec-a6DaqW__.js → spec-B96zNUEA.js} +1 -1
  15. package/dist/style.css +1 -1
  16. package/dist/{toDate-ZVVIBmdk.js → toDate-x-WRDCH7.js} +1 -1
  17. package/dist/{useAsyncData-C008zUPi.js → useAsyncData-iRgKDT5s.js} +1 -1
  18. package/dist/{useDeepCompareMemoize-BrA3_n61.js → useDeepCompareMemoize-CkQ57VS2.js} +1 -1
  19. package/dist/{useLifecycle-BNaoJ5a4.js → useLifecycle-BBO9PIph.js} +1 -1
  20. package/dist/{useTheme-7O0YWlE5.js → useTheme-DHIrRQOe.js} +34 -21
  21. package/dist/{vega-component-DJNmOdUj.js → vega-component-Dq-SH463.js} +5 -5
  22. package/package.json +1 -1
  23. package/src/components/ai/__tests__/ai-utils.test.ts +43 -38
  24. package/src/components/ai/ai-model-dropdown.tsx +2 -2
  25. package/src/components/app-config/ai-config.tsx +147 -16
  26. package/src/components/app-config/user-config-form.tsx +37 -1
  27. package/src/components/chat/__tests__/chat-utils.test.ts +269 -0
  28. package/src/components/chat/chat-panel.tsx +38 -5
  29. package/src/components/chat/chat-utils.ts +14 -58
  30. package/src/components/data-table/TableBottomBar.tsx +5 -8
  31. package/src/components/data-table/__tests__/column-explorer.test.tsx +128 -0
  32. package/src/components/data-table/__tests__/header-items.test.tsx +220 -10
  33. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +95 -29
  34. package/src/components/data-table/column-header.tsx +17 -12
  35. package/src/components/data-table/data-table.tsx +4 -0
  36. package/src/components/data-table/export-actions.tsx +19 -12
  37. package/src/components/data-table/header-items.tsx +40 -16
  38. package/src/components/data-table/hooks/use-column-visibility.ts +14 -0
  39. package/src/components/data-table/schemas.ts +2 -2
  40. package/src/components/data-table/table-explorer-panel/table-explorer-panel.tsx +16 -6
  41. package/src/components/databases/display.tsx +2 -0
  42. package/src/components/datasources/__tests__/utils.test.ts +82 -0
  43. package/src/components/datasources/utils.ts +16 -15
  44. package/src/components/editor/Disconnected.tsx +1 -60
  45. package/src/components/editor/__tests__/viewer-banner.test.tsx +89 -0
  46. package/src/components/editor/actions/pair-with-agent-modal.tsx +1 -0
  47. package/src/components/editor/actions/useCellActionButton.tsx +3 -3
  48. package/src/components/editor/actions/useNotebookActions.tsx +5 -2
  49. package/src/components/editor/cell/code/cell-editor.tsx +25 -5
  50. package/src/components/editor/chrome/types.ts +13 -6
  51. package/src/components/editor/chrome/wrapper/app-chrome.tsx +6 -4
  52. package/src/components/editor/chrome/wrapper/footer-items/ai-status.tsx +10 -1
  53. package/src/components/editor/chrome/wrapper/sidebar.tsx +7 -5
  54. package/src/components/editor/errors/auto-fix.tsx +3 -3
  55. package/src/components/editor/header/__tests__/status.test.tsx +0 -15
  56. package/src/components/editor/header/app-header.tsx +1 -4
  57. package/src/components/editor/header/status.tsx +4 -13
  58. package/src/components/editor/navigation/__tests__/navigation.test.ts +15 -0
  59. package/src/components/editor/navigation/navigation.ts +5 -0
  60. package/src/components/editor/output/MarimoErrorOutput.tsx +103 -25
  61. package/src/components/editor/output/MarimoTracebackOutput.tsx +28 -39
  62. package/src/components/editor/renderers/cell-array.tsx +27 -24
  63. package/src/components/editor/renderers/slides-layout/__tests__/compute-slide-cells.test.ts +30 -17
  64. package/src/components/editor/renderers/slides-layout/compute-slide-cells.ts +17 -8
  65. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +10 -12
  66. package/src/components/editor/viewer-banner.tsx +82 -0
  67. package/src/components/slides/minimap.tsx +45 -9
  68. package/src/components/slides/reveal-component.tsx +82 -37
  69. package/src/components/slides/slide-cell-view.tsx +12 -1
  70. package/src/components/slides/slide-form.tsx +11 -3
  71. package/src/components/static-html/static-banner.tsx +28 -22
  72. package/src/core/ai/__tests__/model-registry.test.ts +72 -60
  73. package/src/core/ai/model-registry.ts +33 -28
  74. package/src/core/cells/__tests__/actions.test.ts +48 -0
  75. package/src/core/cells/actions.ts +5 -6
  76. package/src/core/codemirror/__tests__/setup.test.ts +29 -0
  77. package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
  78. package/src/core/codemirror/cm.ts +50 -3
  79. package/src/core/codemirror/completion/hints.ts +4 -1
  80. package/src/core/codemirror/format.ts +1 -0
  81. package/src/core/codemirror/keymaps/vim.ts +63 -0
  82. package/src/core/codemirror/language/languages/sql/sql.ts +1 -0
  83. package/src/core/codemirror/language/languages/sql/utils.ts +2 -0
  84. package/src/core/config/__tests__/config-schema.test.ts +4 -0
  85. package/src/core/config/config-schema.ts +4 -0
  86. package/src/core/config/config.ts +16 -0
  87. package/src/core/edit-app.tsx +3 -0
  88. package/src/core/islands/bootstrap.ts +2 -0
  89. package/src/core/kernel/__tests__/handlers.test.ts +5 -0
  90. package/src/core/websocket/__tests__/useMarimoKernelConnection.test.ts +0 -13
  91. package/src/core/websocket/types.ts +0 -6
  92. package/src/core/websocket/useMarimoKernelConnection.tsx +3 -12
  93. package/src/css/app/Cell.css +0 -1
  94. package/src/plugins/impl/DataTablePlugin.tsx +48 -22
  95. package/src/plugins/impl/chat/ChatPlugin.tsx +7 -1
  96. package/src/plugins/impl/chat/__tests__/chat-ui.test.ts +278 -0
  97. package/src/plugins/impl/chat/chat-ui.tsx +106 -59
  98. package/src/plugins/impl/chat/types.ts +5 -0
  99. package/src/utils/__tests__/json-parser.test.ts +1 -69
  100. package/src/utils/json/json-parser.ts +0 -30
  101. package/dist/assets/__vite-browser-external-CAdMKBac.js +0 -1
@@ -6,17 +6,17 @@ import { s as __toESM } from "./chunk-BNovOVIE.js";
6
6
  import { _ as Logger, g as cn, h as Events, l as useEventListener, t as Button } from "./button-C5K9fIPF.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 { ct as kioskModeAtom } from "./html-to-image-CiSinpSR.js";
9
+ import { ct as kioskModeAtom } from "./html-to-image-BHv7CEU_.js";
10
10
  import "./chunk-5FQGJX7Z-BNjes6Yx.js";
11
11
  import { u as createLucideIcon } from "./dist-C1BYNeCR.js";
12
- import { G as Panel, Ht as EyeOff, K as PanelGroup, Kt as Code, Ut as Expand, a as DEFAULT_SLIDE_TYPE, c as Slide, i as DEFAULT_DECK_TRANSITION, q as PanelResizeHandle, s as SlideSidebar, t as useNotebookCodeAvailable } from "./code-visibility-SqsoLwxQ.js";
13
- import { q as useDebouncedCallback } from "./input-CZD2z6X2.js";
14
- import "./toDate-ZVVIBmdk.js";
12
+ import { Gt as Expand, J as PanelGroup, Jt as Code, Wt as EyeOff, Y as PanelResizeHandle, a as DEFAULT_SLIDE_TYPE, c as Slide, i as DEFAULT_DECK_TRANSITION, q as Panel, s as SlideSidebar, t as useNotebookCodeAvailable } from "./code-visibility-BkuwTYAm.js";
13
+ import { q as useDebouncedCallback } from "./input-_2sjvfne.js";
14
+ import "./toDate-x-WRDCH7.js";
15
15
  import "./react-dom-BTJzcVJ9.js";
16
16
  import { t as require_jsx_runtime } from "./jsx-runtime-DebpN0FN.js";
17
17
  import "./zod-CoBiJ5v4.js";
18
18
  import { t as Tooltip } from "./tooltip-C5FYOpQc.js";
19
- import { g as useAtomValue, p as isIslands, w as useEvent_default } from "./useTheme-7O0YWlE5.js";
19
+ import { T as useEvent_default, _ as useAtomValue, m as isIslands } from "./useTheme-DHIrRQOe.js";
20
20
  import "./dist-DNdhYsgW.js";
21
21
  import "./main-Tj_-QTyF.js";
22
22
  import "./dist-fQ0ViXGs.js";
@@ -2108,14 +2108,14 @@ function Ut$1(e5, t) {
2108
2108
  if (!e5) throw 'Unable to find presentation root (<div class="reveal">).';
2109
2109
  if (i) throw "Reveal.js has already been initialized.";
2110
2110
  if (i = true, p.wrapper = e5, p.slides = e5.querySelector(".slides"), !p.slides) throw 'Unable to find slides container (<div class="slides">).';
2111
- return r = Q$2(Q$2(Q$2(Q$2(Q$2({}, ts), r), t), a2), Mt$1()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), Bo(), window.addEventListener("load", fs, false), To.load(r.plugins, r.dependencies).then(Uo), new Promise((e6) => n.on("ready", e6));
2111
+ return r = Q$2(Q$2(Q$2(Q$2(Q$2({}, ts), r), t), a2), Mt$1()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), Bo(), window.addEventListener("load", ps, false), To.load(r.plugins, r.dependencies).then(Uo), new Promise((e6) => n.on("ready", e6));
2112
2112
  }
2113
2113
  function Bo() {
2114
2114
  r.embedded === true ? p.viewport = V$1(e5, ".reveal-viewport") || e5 : (p.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), p.viewport.classList.add("reveal-viewport");
2115
2115
  }
2116
2116
  function Uo() {
2117
- i !== false && (a = true, Go(), Ko(), $o(), Zo(), Qo(), Fs(), ns(), ho.update(true), Wo(), xo.readURL(), setTimeout(() => {
2118
- p.slides.classList.remove("no-transition"), p.wrapper.classList.add("ready"), ls({
2117
+ i !== false && (a = true, Go(), Ko(), ns(), Qo(), $o(), Is(), rs(), ho.update(true), Wo(), xo.readURL(), setTimeout(() => {
2118
+ p.slides.classList.remove("no-transition"), p.wrapper.classList.add("ready"), us({
2119
2119
  type: "ready",
2120
2120
  data: {
2121
2121
  indexh: o,
@@ -2127,7 +2127,7 @@ function Ut$1(e5, t) {
2127
2127
  }
2128
2128
  function Wo() {
2129
2129
  let e6 = r.view === "print", t2 = r.view === "scroll" || r.view === "reader";
2130
- (e6 || t2) && (e6 ? is() : Ao.unbind(), p.viewport.classList.add("loading-scroll-mode"), e6 ? document.readyState === "complete" ? _o.activate() : window.addEventListener("load", () => _o.activate()) : go.activate());
2130
+ (e6 || t2) && (e6 ? as() : Ao.unbind(), p.viewport.classList.add("loading-scroll-mode"), e6 ? document.readyState === "complete" ? _o.activate() : window.addEventListener("load", () => _o.activate()) : go.activate());
2131
2131
  }
2132
2132
  function Go() {
2133
2133
  r.showHiddenSlides || E$2(p.wrapper, 'section[data-visibility="hidden"]').forEach((e6) => {
@@ -2136,16 +2136,16 @@ function Ut$1(e5, t) {
2136
2136
  });
2137
2137
  }
2138
2138
  function Ko() {
2139
- p.slides.classList.add("no-transition"), le$2 ? p.wrapper.classList.add("no-hover") : p.wrapper.classList.remove("no-hover"), ho.render(), fo.render(), po.render(), So.render(), Co.render(), Io.render(), p.pauseOverlay = wi(p.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), p.statusElement = qo(), p.wrapper.setAttribute("role", "application");
2139
+ p.slides.classList.add("no-transition"), le$2 ? p.wrapper.classList.add("no-hover") : p.wrapper.classList.remove("no-hover"), ho.render(), fo.render(), po.render(), So.render(), Co.render(), Io.render(), p.pauseOverlay = wi(p.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), p.statusElement = Jo(), p.wrapper.setAttribute("role", "application");
2140
2140
  }
2141
- function qo() {
2141
+ function Jo() {
2142
2142
  let e6 = p.wrapper.querySelector(".aria-status");
2143
2143
  return e6 || (e6 = document.createElement("div"), e6.style.position = "absolute", e6.style.height = "1px", e6.style.width = "1px", e6.style.overflow = "hidden", e6.style.clip = "rect( 1px, 1px, 1px, 1px )", e6.classList.add("aria-status"), e6.setAttribute("aria-live", "polite"), e6.setAttribute("aria-atomic", "true"), p.wrapper.appendChild(e6)), e6;
2144
2144
  }
2145
- function Jo(e6) {
2145
+ function Yo(e6) {
2146
2146
  p.statusElement.textContent = e6;
2147
2147
  }
2148
- function Yo(e6) {
2148
+ function Xo(e6) {
2149
2149
  let t2 = "";
2150
2150
  if (e6.nodeType === 3) t2 += e6.textContent.trim();
2151
2151
  else if (e6.nodeType === 1) {
@@ -2153,10 +2153,10 @@ function Ut$1(e5, t) {
2153
2153
  if (n2 !== "true" && !r2) {
2154
2154
  if (e6.tagName === "IMG" || e6.tagName === "VIDEO") {
2155
2155
  let n3 = e6.getAttribute("alt");
2156
- n3 && (t2 += Xo(n3));
2156
+ n3 && (t2 += Zo(n3));
2157
2157
  }
2158
2158
  Array.from(e6.childNodes).forEach((e7) => {
2159
- t2 += Yo(e7);
2159
+ t2 += Xo(e7);
2160
2160
  }), [
2161
2161
  "P",
2162
2162
  "DIV",
@@ -2170,58 +2170,58 @@ function Ut$1(e5, t) {
2170
2170
  "H5",
2171
2171
  "H6",
2172
2172
  "BLOCKQUOTE"
2173
- ].includes(e6.tagName) && t2.trim() !== "" && (t2 = Xo(t2));
2173
+ ].includes(e6.tagName) && t2.trim() !== "" && (t2 = Zo(t2));
2174
2174
  }
2175
2175
  }
2176
2176
  return t2 = t2.trim(), t2 === "" ? "" : t2 + " ";
2177
2177
  }
2178
- function Xo(e6) {
2178
+ function Zo(e6) {
2179
2179
  let t2 = e6.trim();
2180
2180
  return t2 === "" ? e6 : /[.!?]$/.test(t2) ? t2 : t2 + ".";
2181
2181
  }
2182
- function Zo() {
2182
+ function Qo() {
2183
2183
  setInterval(() => {
2184
2184
  (!go.isActive() && p.wrapper.scrollTop !== 0 || p.wrapper.scrollLeft !== 0) && (p.wrapper.scrollTop = 0, p.wrapper.scrollLeft = 0);
2185
2185
  }, 1e3);
2186
2186
  }
2187
- function Qo() {
2188
- document.addEventListener("fullscreenchange", yc), document.addEventListener("webkitfullscreenchange", yc);
2189
- }
2190
2187
  function $o() {
2191
- r.postMessage && window.addEventListener("message", mc, false);
2188
+ document.addEventListener("fullscreenchange", bc), document.addEventListener("webkitfullscreenchange", bc);
2189
+ }
2190
+ function ns() {
2191
+ r.postMessage && window.addEventListener("message", hc, false);
2192
2192
  }
2193
- function ns(e6) {
2193
+ function rs(e6) {
2194
2194
  let t2 = Q$2({}, r);
2195
2195
  if (typeof e6 == "object" && ge$1(r, e6), n.isReady() === false) return;
2196
2196
  let i2 = p.wrapper.querySelectorAll(de$1).length;
2197
- 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 && Is(), Ke$1(p.wrapper, "embedded", r.embedded), Ke$1(p.wrapper, "rtl", r.rtl), Ke$1(p.wrapper, "center", r.center), r.pause === false && ws(), mo.reset(), oo && (oo = (oo.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (oo = new es(p.wrapper, () => Math.min(Math.max((Date.now() - co) / ao, 0), 1)), oo.on("click", bc), lo = false), r.navigationMode === "default" ? p.wrapper.removeAttribute("data-navigation-mode") : p.wrapper.setAttribute("data-navigation-mode", r.navigationMode), Io.configure(r, t2), ko.configure(r, t2), wo.configure(r, t2), So.configure(r, t2), Co.configure(r, t2), bo.configure(r, t2), vo.configure(r, t2), fo.configure(r, t2), Ns();
2198
- }
2199
- function rs() {
2200
- window.addEventListener("resize", _c, false), r.touch && Ao.bind(), r.keyboard && bo.bind(), r.progress && Co.bind(), r.respondToHashChanges && xo.bind(), So.bind(), ko.bind(), p.slides.addEventListener("click", gc, false), p.slides.addEventListener("transitionend", hc, false), p.pauseOverlay.addEventListener("click", ws, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", vc, false);
2197
+ 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 && Ls(), Ke$1(p.wrapper, "embedded", r.embedded), Ke$1(p.wrapper, "rtl", r.rtl), Ke$1(p.wrapper, "center", r.center), r.pause === false && Ts(), mo.reset(), oo && (oo = (oo.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (oo = new es(p.wrapper, () => Math.min(Math.max((Date.now() - co) / ao, 0), 1)), oo.on("click", xc), lo = false), r.navigationMode === "default" ? p.wrapper.removeAttribute("data-navigation-mode") : p.wrapper.setAttribute("data-navigation-mode", r.navigationMode), Io.configure(r, t2), ko.configure(r, t2), wo.configure(r, t2), So.configure(r, t2), Co.configure(r, t2), bo.configure(r, t2), vo.configure(r, t2), fo.configure(r, t2), Ps();
2201
2198
  }
2202
2199
  function is() {
2203
- Ao.unbind(), ko.unbind(), bo.unbind(), So.unbind(), Co.unbind(), xo.unbind(), window.removeEventListener("resize", _c, false), p.slides.removeEventListener("click", gc, false), p.slides.removeEventListener("transitionend", hc, false), p.pauseOverlay.removeEventListener("click", ws, false);
2200
+ window.addEventListener("resize", vc, false), r.touch && Ao.bind(), r.keyboard && bo.bind(), r.progress && Co.bind(), r.respondToHashChanges && xo.bind(), So.bind(), ko.bind(), p.slides.addEventListener("click", _c, false), p.slides.addEventListener("transitionend", gc, false), p.pauseOverlay.addEventListener("click", Ts, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", yc, false);
2204
2201
  }
2205
2202
  function as() {
2206
- i = false, a !== false && (is(), ic(), Io.destroy(), ko.destroy(), Eo.destroy(), To.destroy(), wo.destroy(), So.destroy(), Co.destroy(), ho.destroy(), fo.destroy(), po.destroy(), document.removeEventListener("fullscreenchange", yc), document.removeEventListener("webkitfullscreenchange", yc), document.removeEventListener("visibilitychange", vc, false), window.removeEventListener("message", mc, false), window.removeEventListener("load", fs, 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((e6) => {
2203
+ Ao.unbind(), ko.unbind(), bo.unbind(), So.unbind(), Co.unbind(), xo.unbind(), window.removeEventListener("resize", vc, false), p.slides.removeEventListener("click", _c, false), p.slides.removeEventListener("transitionend", gc, false), p.pauseOverlay.removeEventListener("click", Ts, false);
2204
+ }
2205
+ function os() {
2206
+ i = false, a !== false && (as(), ac(), Io.destroy(), ko.destroy(), Eo.destroy(), To.destroy(), wo.destroy(), So.destroy(), Co.destroy(), ho.destroy(), fo.destroy(), po.destroy(), document.removeEventListener("fullscreenchange", bc), document.removeEventListener("webkitfullscreenchange", bc), document.removeEventListener("visibilitychange", yc, false), window.removeEventListener("message", hc, false), window.removeEventListener("load", ps, 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((e6) => {
2207
2207
  e6.style.removeProperty("display"), e6.style.removeProperty("top"), e6.removeAttribute("hidden"), e6.removeAttribute("aria-hidden");
2208
2208
  }));
2209
2209
  }
2210
- function os(t2, n2, r2) {
2210
+ function ss(t2, n2, r2) {
2211
2211
  e5.addEventListener(t2, n2, r2);
2212
2212
  }
2213
- function ss(t2, n2, r2) {
2213
+ function cs(t2, n2, r2) {
2214
2214
  e5.removeEventListener(t2, n2, r2);
2215
2215
  }
2216
- function cs(e6) {
2216
+ function ls(e6) {
2217
2217
  typeof e6.layout == "string" && (ro.layout = e6.layout), typeof e6.overview == "string" && (ro.overview = e6.overview), ro.layout ? ae$2(p.slides, ro.layout + " " + ro.overview) : ae$2(p.slides, ro.overview);
2218
2218
  }
2219
- function ls({ target: e6 = p.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2219
+ function us({ target: e6 = p.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2220
2220
  let i2 = document.createEvent("HTMLEvents", 1, 2);
2221
- return i2.initEvent(t2, r2, true), ge$1(i2, n2), e6.dispatchEvent(i2), e6 === p.wrapper && ds(t2), i2;
2221
+ return i2.initEvent(t2, r2, true), ge$1(i2, n2), e6.dispatchEvent(i2), e6 === p.wrapper && fs(t2), i2;
2222
2222
  }
2223
- function us(e6) {
2224
- ls({
2223
+ function ds(e6) {
2224
+ us({
2225
2225
  type: "slidechanged",
2226
2226
  data: {
2227
2227
  indexh: o,
@@ -2232,29 +2232,29 @@ function Ut$1(e5, t) {
2232
2232
  }
2233
2233
  });
2234
2234
  }
2235
- function ds(e6, t2) {
2235
+ function fs(e6, t2) {
2236
2236
  if (r.postMessageEvents && window.parent !== window.self) {
2237
2237
  let n2 = {
2238
2238
  namespace: "reveal",
2239
2239
  eventName: e6,
2240
- state: tc()
2240
+ state: nc()
2241
2241
  };
2242
2242
  ge$1(n2, t2), window.parent.postMessage(JSON.stringify(n2), "*");
2243
2243
  }
2244
2244
  }
2245
- function fs() {
2245
+ function ps() {
2246
2246
  if (p.wrapper && !_o.isActive()) {
2247
2247
  let e6 = p.viewport.offsetWidth, t2 = p.viewport.offsetHeight;
2248
2248
  if (!r.disableLayout) {
2249
2249
  le$2 && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * 0.01 + "px");
2250
- let n2 = go.isActive() ? hs(e6, t2) : hs(), i2 = no;
2251
- ps(r.width, r.height), p.slides.style.width = n2.width + "px", p.slides.style.height = n2.height + "px", no = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), no = Math.max(no, r.minScale), no = Math.min(no, r.maxScale), no === 1 || go.isActive() ? (p.slides.style.zoom = "", p.slides.style.left = "", p.slides.style.top = "", p.slides.style.bottom = "", p.slides.style.right = "", cs({ 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", cs({ layout: "translate(-50%, -50%) scale(" + no + ")" }));
2250
+ let n2 = go.isActive() ? gs(e6, t2) : gs(), i2 = no;
2251
+ ms(r.width, r.height), p.slides.style.width = n2.width + "px", p.slides.style.height = n2.height + "px", no = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), no = Math.max(no, r.minScale), no = Math.min(no, r.maxScale), no === 1 || go.isActive() ? (p.slides.style.zoom = "", p.slides.style.left = "", p.slides.style.top = "", p.slides.style.bottom = "", p.slides.style.right = "", ls({ 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", ls({ layout: "translate(-50%, -50%) scale(" + no + ")" }));
2252
2252
  let a2 = Array.from(p.wrapper.querySelectorAll(de$1));
2253
2253
  for (let e7 = 0, t3 = a2.length; e7 < t3; e7++) {
2254
2254
  let t4 = a2[e7];
2255
2255
  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 = "");
2256
2256
  }
2257
- i2 !== no && ls({
2257
+ i2 !== no && us({
2258
2258
  type: "resize",
2259
2259
  data: {
2260
2260
  oldScale: i2,
@@ -2263,10 +2263,10 @@ function Ut$1(e5, t) {
2263
2263
  }
2264
2264
  });
2265
2265
  }
2266
- ms(), p.viewport.style.setProperty("--slide-scale", no), p.viewport.style.setProperty("--viewport-width", e6 + "px"), p.viewport.style.setProperty("--viewport-height", t2 + "px"), go.layout(), Co.update(), ho.updateParallax(), yo.isActive() && yo.update();
2266
+ hs(), p.viewport.style.setProperty("--slide-scale", no), p.viewport.style.setProperty("--viewport-width", e6 + "px"), p.viewport.style.setProperty("--viewport-height", t2 + "px"), go.layout(), Co.update(), ho.updateParallax(), yo.isActive() && yo.update();
2267
2267
  }
2268
2268
  }
2269
- function ps(e6, t2) {
2269
+ function ms(e6, t2) {
2270
2270
  E$2(p.slides, "section > .stretch, section > .r-stretch").forEach((n2) => {
2271
2271
  let r2 = Ei(n2, t2);
2272
2272
  if (/(img|video)/gi.test(n2.nodeName)) {
@@ -2275,13 +2275,13 @@ function Ut$1(e5, t) {
2275
2275
  } else n2.style.width = e6 + "px", n2.style.height = r2 + "px";
2276
2276
  });
2277
2277
  }
2278
- function ms() {
2278
+ function hs() {
2279
2279
  if (p.wrapper && !r.disableLayout && !_o.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2280
- let e6 = hs();
2280
+ let e6 = gs();
2281
2281
  e6.presentationWidth > 0 && e6.presentationWidth <= r.scrollActivationWidth ? go.isActive() || (ho.create(), go.activate()) : go.isActive() && go.deactivate();
2282
2282
  }
2283
2283
  }
2284
- function hs(e6, t2) {
2284
+ function gs(e6, t2) {
2285
2285
  let n2 = r.width, i2 = r.height;
2286
2286
  r.disableLayout && (n2 = p.slides.offsetWidth, i2 = p.slides.offsetHeight);
2287
2287
  let a2 = {
@@ -2292,58 +2292,58 @@ function Ut$1(e5, t) {
2292
2292
  };
2293
2293
  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;
2294
2294
  }
2295
- function gs(e6, t2) {
2295
+ function _s(e6, t2) {
2296
2296
  typeof e6 == "object" && typeof e6.setAttribute == "function" && e6.setAttribute("data-previous-indexv", t2 || 0);
2297
2297
  }
2298
- function _s(e6) {
2298
+ function vs(e6) {
2299
2299
  if (typeof e6 == "object" && typeof e6.setAttribute == "function" && e6.classList.contains("stack")) {
2300
2300
  let t2 = e6.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
2301
2301
  return parseInt(e6.getAttribute(t2) || 0, 10);
2302
2302
  }
2303
2303
  return 0;
2304
2304
  }
2305
- function vs(e6 = l) {
2305
+ function ys(e6 = l) {
2306
2306
  return e6 && e6.parentNode && !!e6.parentNode.nodeName.match(/section/i);
2307
2307
  }
2308
- function ys(e6 = l) {
2308
+ function bs(e6 = l) {
2309
2309
  return e6.classList.contains(".stack") || e6.querySelector("section") !== null;
2310
2310
  }
2311
- function bs() {
2312
- return l && vs(l) ? !l.nextElementSibling : false;
2313
- }
2314
2311
  function xs() {
2315
- return o === 0 && s === 0;
2312
+ return l && ys(l) ? !l.nextElementSibling : false;
2316
2313
  }
2317
2314
  function Ss() {
2318
- return l ? !(l.nextElementSibling || vs(l) && l.parentNode.nextElementSibling) : false;
2315
+ return o === 0 && s === 0;
2319
2316
  }
2320
2317
  function Cs() {
2318
+ return l ? !(l.nextElementSibling || ys(l) && l.parentNode.nextElementSibling) : false;
2319
+ }
2320
+ function ws() {
2321
2321
  if (r.pause) {
2322
2322
  let e6 = p.wrapper.classList.contains("paused");
2323
- ic(), p.wrapper.classList.add("paused"), e6 === false && ls({ type: "paused" });
2323
+ ac(), p.wrapper.classList.add("paused"), e6 === false && us({ type: "paused" });
2324
2324
  }
2325
2325
  }
2326
- function ws() {
2326
+ function Ts() {
2327
2327
  let e6 = p.wrapper.classList.contains("paused");
2328
- p.wrapper.classList.remove("paused"), rc(), e6 && ls({ type: "resumed" });
2328
+ p.wrapper.classList.remove("paused"), ic(), e6 && us({ type: "resumed" });
2329
2329
  }
2330
- function Ts(e6) {
2331
- typeof e6 == "boolean" ? e6 ? Cs() : ws() : Es() ? ws() : Cs();
2330
+ function Es(e6) {
2331
+ typeof e6 == "boolean" ? e6 ? ws() : Ts() : Ds() ? Ts() : ws();
2332
2332
  }
2333
- function Es() {
2333
+ function Ds() {
2334
2334
  return p.wrapper.classList.contains("paused");
2335
2335
  }
2336
- function Ds(e6) {
2336
+ function Os(e6) {
2337
2337
  typeof e6 == "boolean" ? e6 ? po.show() : po.hide() : po.isVisible() ? po.hide() : po.show();
2338
2338
  }
2339
- function Os(e6) {
2340
- typeof e6 == "boolean" ? e6 ? oc() : ac() : lo ? oc() : ac();
2339
+ function ks(e6) {
2340
+ typeof e6 == "boolean" ? e6 ? sc() : oc() : lo ? sc() : oc();
2341
2341
  }
2342
- function ks() {
2342
+ function As() {
2343
2343
  return !!(ao && !lo);
2344
2344
  }
2345
- function As(t2, n2, i2, a2) {
2346
- if (ls({
2345
+ function js(t2, n2, i2, a2) {
2346
+ if (us({
2347
2347
  type: "beforeslidechange",
2348
2348
  data: {
2349
2349
  indexh: t2 === void 0 ? o : t2,
@@ -2359,19 +2359,19 @@ function Ut$1(e5, t) {
2359
2359
  return;
2360
2360
  }
2361
2361
  if (u2.length === 0) return;
2362
- n2 === void 0 && !yo.isActive() && (n2 = _s(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && gs(c.parentNode, s);
2362
+ n2 === void 0 && !yo.isActive() && (n2 = vs(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && _s(c.parentNode, s);
2363
2363
  let no2 = f.concat();
2364
2364
  f.length = 0;
2365
2365
  let ro2 = o || 0, ao2 = s || 0;
2366
- o = Ls(te$2, t2 === void 0 ? o : t2), s = Ls(_e$1, n2 === void 0 ? s : n2);
2366
+ o = Rs(te$2, t2 === void 0 ? o : t2), s = Rs(_e$1, n2 === void 0 ? s : n2);
2367
2367
  let oo2 = o !== ro2 || s !== ao2;
2368
2368
  oo2 || (c = null);
2369
2369
  let so2 = u2[o], co2 = so2.querySelectorAll("section");
2370
2370
  e5.classList.toggle("is-vertical-slide", co2.length > 1), l = co2[s] || so2;
2371
2371
  let lo2 = false;
2372
- oo2 && c && l && !yo.isActive() && (io = "running", lo2 = js(c, l, ro2, ao2), lo2 && p.slides.classList.add("disable-slide-transitions")), Bs(), fs(), yo.isActive() && yo.update(), i2 !== void 0 && vo.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), xs() && setTimeout(() => {
2373
- Js().forEach((e6) => {
2374
- gs(e6, 0);
2372
+ oo2 && c && l && !yo.isActive() && (io = "running", lo2 = Ms(c, l, ro2, ao2), lo2 && p.slides.classList.add("disable-slide-transitions")), Vs(), ps(), yo.isActive() && yo.update(), i2 !== void 0 && vo.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), Ss() && setTimeout(() => {
2373
+ Ys().forEach((e6) => {
2374
+ _s(e6, 0);
2375
2375
  });
2376
2376
  }, 0));
2377
2377
  e: for (let e6 = 0, t3 = f.length; e6 < t3; e6++) {
@@ -2379,64 +2379,64 @@ function Ut$1(e5, t) {
2379
2379
  no2.splice(t4, 1);
2380
2380
  continue e;
2381
2381
  }
2382
- p.viewport.classList.add(f[e6]), ls({ type: f[e6] });
2382
+ p.viewport.classList.add(f[e6]), us({ type: f[e6] });
2383
2383
  }
2384
2384
  for (; no2.length; ) p.viewport.classList.remove(no2.pop());
2385
- oo2 && (uo.afterSlideChanged(), us(a2)), (oo2 || !c) && (uo.stopEmbeddedContent(c), uo.startEmbeddedContent(l)), requestAnimationFrame(() => {
2386
- Jo(Yo(l));
2387
- }), Co.update(), So.update(), Io.update(), ho.update(), ho.updateParallax(), fo.update(), vo.update(), xo.writeURL(), rc(), lo2 && (setTimeout(() => {
2385
+ oo2 && (uo.afterSlideChanged(), ds(a2)), (oo2 || !c) && (uo.stopEmbeddedContent(c), uo.startEmbeddedContent(l)), requestAnimationFrame(() => {
2386
+ Yo(Xo(l));
2387
+ }), Co.update(), So.update(), Io.update(), ho.update(), ho.updateParallax(), fo.update(), vo.update(), xo.writeURL(), ic(), lo2 && (setTimeout(() => {
2388
2388
  p.slides.classList.remove("disable-slide-transitions");
2389
2389
  }, 0), r.autoAnimate && mo.run(c, l));
2390
2390
  }
2391
- function js(e6, t2, n2, r2) {
2391
+ function Ms(e6, t2, n2, r2) {
2392
2392
  return e6.hasAttribute("data-auto-animate") && t2.hasAttribute("data-auto-animate") && e6.getAttribute("data-auto-animate-id") === t2.getAttribute("data-auto-animate-id") && !(o > n2 || s > r2 ? t2 : e6).hasAttribute("data-auto-animate-restart");
2393
2393
  }
2394
- function Ms(e6, t2, n2) {
2394
+ function Ns(e6, t2, n2) {
2395
2395
  let i2 = o || 0;
2396
2396
  o = t2, s = n2;
2397
2397
  let a2 = l !== e6;
2398
- c = l, l = e6, l && c && r.autoAnimate && js(c, l, i2, s) && mo.run(c, l), a2 && (uo.afterSlideChanged(), c && (uo.stopEmbeddedContent(c), uo.stopEmbeddedContent(c.slideBackgroundElement)), uo.startEmbeddedContent(l), uo.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2399
- Jo(Yo(l));
2400
- }), us();
2398
+ c = l, l = e6, l && c && r.autoAnimate && Ms(c, l, i2, s) && mo.run(c, l), a2 && (uo.afterSlideChanged(), c && (uo.stopEmbeddedContent(c), uo.stopEmbeddedContent(c.slideBackgroundElement)), uo.startEmbeddedContent(l), uo.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2399
+ Yo(Xo(l));
2400
+ }), ds();
2401
2401
  }
2402
- function Ns() {
2403
- is(), rs(), fs(), ao = r.autoSlide, rc(), ho.create(), xo.writeURL(), r.sortFragmentsOnSync === true && vo.sortAll(), o !== void 0 && (o = Ls(te$2, o), s = Ls(_e$1, s)), So.update(), Co.update(), Bs(), Io.update(), Io.updateVisibility(), Eo.update(), ho.update(true), fo.update(), uo.formatEmbeddedContent(), r.autoPlayMedia === false ? uo.stopEmbeddedContent(l, { unloadIframes: false }) : uo.startEmbeddedContent(l), yo.isActive() && yo.layout(), ls({ type: "sync" });
2402
+ function Ps() {
2403
+ as(), is(), ps(), ao = r.autoSlide, ic(), ho.create(), xo.writeURL(), r.sortFragmentsOnSync === true && vo.sortAll(), o !== void 0 && (o = Rs(te$2, o), s = Rs(_e$1, s)), So.update(), Co.update(), Vs(), Io.update(), Io.updateVisibility(), Eo.update(), ho.update(true), fo.update(), uo.formatEmbeddedContent(), r.autoPlayMedia === false ? uo.stopEmbeddedContent(l, { unloadIframes: false }) : uo.startEmbeddedContent(l), yo.isActive() && yo.layout(), us({ type: "sync" });
2404
2404
  }
2405
- function Ps(e6 = l) {
2406
- ho.sync(e6), vo.sync(e6), uo.load(e6), ho.update(), Io.update(), ls({
2405
+ function Fs(e6 = l) {
2406
+ ho.sync(e6), vo.sync(e6), uo.load(e6), ho.update(), Io.update(), us({
2407
2407
  type: "slidesync",
2408
2408
  data: { slide: e6 }
2409
2409
  });
2410
2410
  }
2411
- function Fs() {
2412
- Ks().forEach((e6) => {
2411
+ function Is() {
2412
+ qs().forEach((e6) => {
2413
2413
  E$2(e6, "section").forEach((e7, t2) => {
2414
2414
  t2 > 0 && (e7.classList.remove("present"), e7.classList.remove("past"), e7.classList.add("future"), e7.setAttribute("aria-hidden", "true"));
2415
2415
  });
2416
2416
  });
2417
2417
  }
2418
- function Is(e6 = Ks()) {
2418
+ function Ls(e6 = qs()) {
2419
2419
  e6.forEach((t2, n2) => {
2420
2420
  let r2 = e6[Math.floor(Math.random() * e6.length)];
2421
2421
  r2.parentNode === t2.parentNode && t2.parentNode.insertBefore(t2, r2);
2422
2422
  let i2 = t2.querySelectorAll("section");
2423
- i2.length && Is(i2);
2423
+ i2.length && Ls(i2);
2424
2424
  });
2425
2425
  }
2426
- function Ls(e6, t2) {
2426
+ function Rs(e6, t2) {
2427
2427
  let n2 = E$2(p.wrapper, e6), i2 = n2.length, a2 = go.isActive() || _o.isActive(), o2 = false, s2 = false;
2428
2428
  if (i2) {
2429
2429
  r.loop && (t2 >= i2 && (o2 = true), t2 %= i2, t2 < 0 && (t2 = i2 + t2, s2 = true)), t2 = Math.max(Math.min(t2, i2 - 1), 0);
2430
2430
  for (let e8 = 0; e8 < i2; e8++) {
2431
- let i3 = n2[e8], c3 = r.rtl && !vs(i3);
2431
+ let i3 = n2[e8], c3 = r.rtl && !ys(i3);
2432
2432
  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) {
2433
2433
  i3.classList.add("present");
2434
2434
  continue;
2435
2435
  }
2436
- e8 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && Rs(i3)) : e8 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && zs(i3)) : e8 === t2 && r.fragments && (o2 ? zs(i3) : s2 && Rs(i3));
2436
+ e8 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && zs(i3)) : e8 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && Bs(i3)) : e8 === t2 && r.fragments && (o2 ? Bs(i3) : s2 && zs(i3));
2437
2437
  }
2438
2438
  let e7 = n2[t2], c2 = e7.classList.contains("present");
2439
- e7.classList.add("present"), e7.removeAttribute("hidden"), e7.removeAttribute("aria-hidden"), c2 || ls({
2439
+ e7.classList.add("present"), e7.removeAttribute("hidden"), e7.removeAttribute("aria-hidden"), c2 || us({
2440
2440
  target: e7,
2441
2441
  type: "visible",
2442
2442
  bubbles: false
@@ -2446,35 +2446,35 @@ function Ut$1(e5, t) {
2446
2446
  } else t2 = 0;
2447
2447
  return t2;
2448
2448
  }
2449
- function Rs(e6) {
2449
+ function zs(e6) {
2450
2450
  E$2(e6, ".fragment").forEach((e7) => {
2451
2451
  e7.classList.add("visible"), e7.classList.remove("current-fragment");
2452
2452
  });
2453
2453
  }
2454
- function zs(e6) {
2454
+ function Bs(e6) {
2455
2455
  E$2(e6, ".fragment.visible").forEach((e7) => {
2456
2456
  e7.classList.remove("visible", "current-fragment");
2457
2457
  });
2458
2458
  }
2459
- function Bs() {
2460
- let e6 = Ks(), t2 = e6.length, n2, i2;
2459
+ function Vs() {
2460
+ let e6 = qs(), t2 = e6.length, n2, i2;
2461
2461
  if (t2 && o !== void 0) {
2462
2462
  let a2 = yo.isActive(), c2 = a2 ? 10 : r.viewDistance;
2463
2463
  le$2 && (c2 = a2 ? 6 : r.mobileViewDistance), _o.isActive() && (c2 = Number.MAX_VALUE);
2464
2464
  for (let l2 = 0; l2 < t2; l2++) {
2465
2465
  let u2 = e6[l2], f2 = E$2(u2, "section"), no2 = f2.length;
2466
2466
  if (n2 = Math.abs((o || 0) - l2) || 0, r.loop && (n2 = Math.abs(((o || 0) - l2) % (t2 - c2)) || 0), n2 < c2 ? uo.load(u2) : uo.unload(u2), no2) {
2467
- let e7 = a2 ? 0 : _s(u2);
2467
+ let e7 = a2 ? 0 : vs(u2);
2468
2468
  for (let t3 = 0; t3 < no2; t3++) {
2469
2469
  let r2 = f2[t3];
2470
2470
  i2 = Math.abs(l2 === (o || 0) ? (s || 0) - t3 : t3 - e7), n2 + i2 < c2 ? uo.load(r2) : uo.unload(r2);
2471
2471
  }
2472
2472
  }
2473
2473
  }
2474
- Xs() ? p.wrapper.classList.add("has-vertical-slides") : p.wrapper.classList.remove("has-vertical-slides"), Ys() ? p.wrapper.classList.add("has-horizontal-slides") : p.wrapper.classList.remove("has-horizontal-slides");
2474
+ Zs() ? p.wrapper.classList.add("has-vertical-slides") : p.wrapper.classList.remove("has-vertical-slides"), Xs() ? p.wrapper.classList.add("has-horizontal-slides") : p.wrapper.classList.remove("has-horizontal-slides");
2475
2475
  }
2476
2476
  }
2477
- function Vs({ includeFragments: e6 = false } = {}) {
2477
+ function Hs({ includeFragments: e6 = false } = {}) {
2478
2478
  let t2 = p.wrapper.querySelectorAll(te$2), n2 = p.wrapper.querySelectorAll(_e$1), i2 = {
2479
2479
  left: o > 0,
2480
2480
  right: o < t2.length - 1,
@@ -2491,8 +2491,8 @@ function Ut$1(e5, t) {
2491
2491
  }
2492
2492
  return i2;
2493
2493
  }
2494
- function Hs(e6 = l) {
2495
- let t2 = Ks(), n2 = 0;
2494
+ function Us(e6 = l) {
2495
+ let t2 = qs(), n2 = 0;
2496
2496
  e: for (let r2 = 0; r2 < t2.length; r2++) {
2497
2497
  let i2 = t2[r2], a2 = i2.querySelectorAll("section");
2498
2498
  for (let t3 = 0; t3 < a2.length; t3++) {
@@ -2504,8 +2504,8 @@ function Ut$1(e5, t) {
2504
2504
  }
2505
2505
  return n2;
2506
2506
  }
2507
- function Us() {
2508
- let e6 = Qs(), t2 = Hs();
2507
+ function Ws() {
2508
+ let e6 = $s(), t2 = Us();
2509
2509
  if (l) {
2510
2510
  let e7 = l.querySelectorAll(".fragment");
2511
2511
  if (e7.length > 0) {
@@ -2515,11 +2515,11 @@ function Ut$1(e5, t) {
2515
2515
  }
2516
2516
  return Math.min(t2 / (e6 - 1), 1);
2517
2517
  }
2518
- function Ws(e6) {
2518
+ function Gs(e6) {
2519
2519
  let t2 = o, n2 = s, r2;
2520
2520
  if (e6) if (go.isActive()) t2 = parseInt(e6.getAttribute("data-index-h"), 10), e6.getAttribute("data-index-v") && (n2 = parseInt(e6.getAttribute("data-index-v"), 10));
2521
2521
  else {
2522
- let r3 = vs(e6), i2 = r3 ? e6.parentNode : e6, a2 = Ks();
2522
+ let r3 = ys(e6), i2 = r3 ? e6.parentNode : e6, a2 = qs();
2523
2523
  t2 = Math.max(a2.indexOf(i2), 0), n2 = void 0, r3 && (n2 = Math.max(E$2(e6.parentNode, "section").indexOf(e6), 0));
2524
2524
  }
2525
2525
  if (!e6 && l && l.querySelectorAll(".fragment").length > 0) {
@@ -2532,26 +2532,26 @@ function Ut$1(e5, t) {
2532
2532
  f: r2
2533
2533
  };
2534
2534
  }
2535
- function Gs() {
2536
- return E$2(p.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2537
- }
2538
2535
  function Ks() {
2539
- return E$2(p.wrapper, te$2);
2536
+ return E$2(p.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2540
2537
  }
2541
2538
  function qs() {
2542
- return E$2(p.wrapper, ".slides>section>section");
2539
+ return E$2(p.wrapper, te$2);
2543
2540
  }
2544
2541
  function Js() {
2545
- return E$2(p.wrapper, te$2 + ".stack");
2542
+ return E$2(p.wrapper, ".slides>section>section");
2546
2543
  }
2547
2544
  function Ys() {
2548
- return Ks().length > 1;
2545
+ return E$2(p.wrapper, te$2 + ".stack");
2549
2546
  }
2550
2547
  function Xs() {
2551
2548
  return qs().length > 1;
2552
2549
  }
2553
2550
  function Zs() {
2554
- return Gs().map((e6) => {
2551
+ return Js().length > 1;
2552
+ }
2553
+ function Qs() {
2554
+ return Ks().map((e6) => {
2555
2555
  let t2 = {};
2556
2556
  for (let n2 = 0; n2 < e6.attributes.length; n2++) {
2557
2557
  let r2 = e6.attributes[n2];
@@ -2560,102 +2560,102 @@ function Ut$1(e5, t) {
2560
2560
  return t2;
2561
2561
  });
2562
2562
  }
2563
- function Qs() {
2564
- return Gs().length;
2563
+ function $s() {
2564
+ return Ks().length;
2565
2565
  }
2566
- function $s(e6, t2) {
2567
- let n2 = Ks()[e6], r2 = n2 && n2.querySelectorAll("section");
2566
+ function ec(e6, t2) {
2567
+ let n2 = qs()[e6], r2 = n2 && n2.querySelectorAll("section");
2568
2568
  return r2 && r2.length && typeof t2 == "number" ? r2 ? r2[t2] : void 0 : n2;
2569
2569
  }
2570
- function ec(e6, t2) {
2571
- let n2 = typeof e6 == "number" ? $s(e6, t2) : e6;
2570
+ function tc(e6, t2) {
2571
+ let n2 = typeof e6 == "number" ? ec(e6, t2) : e6;
2572
2572
  if (n2) return n2.slideBackgroundElement;
2573
2573
  }
2574
- function tc() {
2575
- let e6 = Ws();
2574
+ function nc() {
2575
+ let e6 = Gs();
2576
2576
  return Q$2({
2577
2577
  indexh: e6.h,
2578
2578
  indexv: e6.v,
2579
2579
  indexf: e6.f,
2580
- paused: Es(),
2580
+ paused: Ds(),
2581
2581
  overview: yo.isActive()
2582
2582
  }, Eo.getState());
2583
2583
  }
2584
- function nc(e6) {
2584
+ function rc(e6) {
2585
2585
  if (typeof e6 == "object") {
2586
- As(fe$1(e6.indexh), fe$1(e6.indexv), fe$1(e6.indexf));
2586
+ js(fe$1(e6.indexh), fe$1(e6.indexv), fe$1(e6.indexf));
2587
2587
  let t2 = fe$1(e6.paused), n2 = fe$1(e6.overview);
2588
- typeof t2 == "boolean" && t2 !== Es() && Ts(t2), typeof n2 == "boolean" && n2 !== yo.isActive() && yo.toggle(n2), Eo.setState(e6);
2588
+ typeof t2 == "boolean" && t2 !== Ds() && Es(t2), typeof n2 == "boolean" && n2 !== yo.isActive() && yo.toggle(n2), Eo.setState(e6);
2589
2589
  }
2590
2590
  }
2591
- function rc() {
2592
- if (ic(), l && r.autoSlide !== false) {
2591
+ function ic() {
2592
+ if (ac(), l && r.autoSlide !== false) {
2593
2593
  let e6 = l.querySelector(".current-fragment[data-autoslide]"), t2 = e6 ? e6.getAttribute("data-autoslide") : null, n2 = l.parentNode ? l.parentNode.getAttribute("data-autoslide") : null, i2 = l.getAttribute("data-autoslide");
2594
2594
  t2 ? ao = parseInt(t2, 10) : i2 ? ao = parseInt(i2, 10) : n2 ? ao = parseInt(n2, 10) : (ao = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && E$2(l, "video, audio").forEach((e7) => {
2595
2595
  e7.hasAttribute("data-autoplay") && ao && e7.duration * 1e3 / e7.playbackRate > ao && (ao = e7.duration * 1e3 / e7.playbackRate + 1e3);
2596
- })), ao && !lo && !Es() && !yo.isActive() && (!Ss() || vo.availableRoutes().next || r.loop === true) && (so = setTimeout(() => {
2597
- typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : fc(), rc();
2596
+ })), ao && !lo && !Ds() && !yo.isActive() && (!Cs() || vo.availableRoutes().next || r.loop === true) && (so = setTimeout(() => {
2597
+ typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : pc(), ic();
2598
2598
  }, ao), co = Date.now()), oo && oo.setPlaying(so !== -1);
2599
2599
  }
2600
2600
  }
2601
- function ic() {
2602
- clearTimeout(so), so = -1;
2603
- }
2604
2601
  function ac() {
2605
- ao && !lo && (lo = true, ls({ type: "autoslidepaused" }), clearTimeout(so), oo && oo.setPlaying(false));
2602
+ clearTimeout(so), so = -1;
2606
2603
  }
2607
2604
  function oc() {
2608
- ao && lo && (lo = false, ls({ type: "autoslideresumed" }), rc());
2605
+ ao && !lo && (lo = true, us({ type: "autoslidepaused" }), clearTimeout(so), oo && oo.setPlaying(false));
2609
2606
  }
2610
- function sc({ skipFragments: e6 = false } = {}) {
2611
- if (u.hasNavigatedHorizontally = true, go.isActive()) return go.prev();
2612
- r.rtl ? (yo.isActive() || e6 || vo.next() === false) && Vs().left && As(o + 1, r.navigationMode === "grid" ? s : void 0) : (yo.isActive() || e6 || vo.prev() === false) && Vs().left && As(o - 1, r.navigationMode === "grid" ? s : void 0);
2607
+ function sc() {
2608
+ ao && lo && (lo = false, us({ type: "autoslideresumed" }), ic());
2613
2609
  }
2614
2610
  function cc({ skipFragments: e6 = false } = {}) {
2615
- if (u.hasNavigatedHorizontally = true, go.isActive()) return go.next();
2616
- r.rtl ? (yo.isActive() || e6 || vo.prev() === false) && Vs().right && As(o - 1, r.navigationMode === "grid" ? s : void 0) : (yo.isActive() || e6 || vo.next() === false) && Vs().right && As(o + 1, r.navigationMode === "grid" ? s : void 0);
2611
+ if (u.hasNavigatedHorizontally = true, go.isActive()) return go.prev();
2612
+ r.rtl ? (yo.isActive() || e6 || vo.next() === false) && Hs().left && js(o + 1, r.navigationMode === "grid" ? s : void 0) : (yo.isActive() || e6 || vo.prev() === false) && Hs().left && js(o - 1, r.navigationMode === "grid" ? s : void 0);
2617
2613
  }
2618
2614
  function lc({ skipFragments: e6 = false } = {}) {
2619
- if (go.isActive()) return go.prev();
2620
- (yo.isActive() || e6 || vo.prev() === false) && Vs().up && As(o, s - 1);
2615
+ if (u.hasNavigatedHorizontally = true, go.isActive()) return go.next();
2616
+ r.rtl ? (yo.isActive() || e6 || vo.prev() === false) && Hs().right && js(o - 1, r.navigationMode === "grid" ? s : void 0) : (yo.isActive() || e6 || vo.next() === false) && Hs().right && js(o + 1, r.navigationMode === "grid" ? s : void 0);
2621
2617
  }
2622
2618
  function uc({ skipFragments: e6 = false } = {}) {
2623
- if (u.hasNavigatedVertically = true, go.isActive()) return go.next();
2624
- (yo.isActive() || e6 || vo.next() === false) && Vs().down && As(o, s + 1);
2619
+ if (go.isActive()) return go.prev();
2620
+ (yo.isActive() || e6 || vo.prev() === false) && Hs().up && js(o, s - 1);
2625
2621
  }
2626
2622
  function dc({ skipFragments: e6 = false } = {}) {
2623
+ if (u.hasNavigatedVertically = true, go.isActive()) return go.next();
2624
+ (yo.isActive() || e6 || vo.next() === false) && Hs().down && js(o, s + 1);
2625
+ }
2626
+ function fc({ skipFragments: e6 = false } = {}) {
2627
2627
  if (go.isActive()) return go.prev();
2628
- if (e6 || vo.prev() === false) if (Vs().up) lc({ skipFragments: e6 });
2628
+ if (e6 || vo.prev() === false) if (Hs().up) uc({ skipFragments: e6 });
2629
2629
  else {
2630
2630
  let t2;
2631
2631
  if (t2 = r.rtl ? E$2(p.wrapper, te$2 + ".future").pop() : E$2(p.wrapper, te$2 + ".past").pop(), t2 && t2.classList.contains("stack")) {
2632
2632
  let e7 = t2.querySelectorAll("section").length - 1 || void 0;
2633
- As(o - 1, e7);
2634
- } else r.rtl ? cc({ skipFragments: e6 }) : sc({ skipFragments: e6 });
2633
+ js(o - 1, e7);
2634
+ } else r.rtl ? lc({ skipFragments: e6 }) : cc({ skipFragments: e6 });
2635
2635
  }
2636
2636
  }
2637
- function fc({ skipFragments: e6 = false } = {}) {
2637
+ function pc({ skipFragments: e6 = false } = {}) {
2638
2638
  if (u.hasNavigatedHorizontally = true, u.hasNavigatedVertically = true, go.isActive()) return go.next();
2639
2639
  if (e6 || vo.next() === false) {
2640
- let t2 = Vs();
2641
- t2.down && t2.right && r.loop && bs() && (t2.down = false), t2.down ? uc({ skipFragments: e6 }) : r.rtl ? sc({ skipFragments: e6 }) : cc({ skipFragments: e6 });
2640
+ let t2 = Hs();
2641
+ t2.down && t2.right && r.loop && xs() && (t2.down = false), t2.down ? dc({ skipFragments: e6 }) : r.rtl ? cc({ skipFragments: e6 }) : lc({ skipFragments: e6 });
2642
2642
  }
2643
2643
  }
2644
- function pc(e6) {
2645
- r.autoSlideStoppable && ac();
2646
- }
2647
2644
  function mc(e6) {
2645
+ r.autoSlideStoppable && oc();
2646
+ }
2647
+ function hc(e6) {
2648
2648
  let t2 = e6.data;
2649
2649
  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) {
2650
2650
  let e7 = n[t2.method].apply(n, t2.args);
2651
- ds("callback", {
2651
+ fs("callback", {
2652
2652
  method: t2.method,
2653
2653
  result: e7
2654
2654
  });
2655
2655
  } else console.warn('reveal.js: "' + t2.method + '" is is blacklisted from the postMessage API');
2656
2656
  }
2657
- function hc(e6) {
2658
- io === "running" && /section/gi.test(e6.target.nodeName) && (io = "idle", ls({
2657
+ function gc(e6) {
2658
+ io === "running" && /section/gi.test(e6.target.nodeName) && (io = "idle", us({
2659
2659
  type: "slidetransitionend",
2660
2660
  data: {
2661
2661
  indexh: o,
@@ -2665,72 +2665,72 @@ function Ut$1(e5, t) {
2665
2665
  }
2666
2666
  }));
2667
2667
  }
2668
- function gc(e6) {
2668
+ function _c(e6) {
2669
2669
  let t2 = V$1(e6.target, 'a[href^="#"]');
2670
2670
  if (t2) {
2671
2671
  let r2 = t2.getAttribute("href"), i2 = xo.getIndicesFromHash(r2);
2672
2672
  i2 && (n.slide(i2.h, i2.v, i2.f), e6.preventDefault());
2673
2673
  }
2674
2674
  }
2675
- function _c(e6) {
2676
- fs();
2677
- }
2678
2675
  function vc(e6) {
2679
- document.hidden === false && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
2676
+ ps();
2680
2677
  }
2681
2678
  function yc(e6) {
2679
+ document.hidden === false && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
2680
+ }
2681
+ function bc(e6) {
2682
2682
  (document.fullscreenElement || document.webkitFullscreenElement) === p.wrapper && (e6.stopImmediatePropagation(), setTimeout(() => {
2683
2683
  n.layout(), n.focus.focus();
2684
2684
  }, 1));
2685
2685
  }
2686
- function bc(e6) {
2687
- Ss() && r.loop === false ? (As(0, 0), oc()) : lo ? oc() : ac();
2686
+ function xc(e6) {
2687
+ Cs() && r.loop === false ? (js(0, 0), sc()) : lo ? sc() : oc();
2688
2688
  }
2689
- let xc = {
2689
+ let Sc = {
2690
2690
  VERSION: Ot$1,
2691
2691
  initialize: Ro,
2692
- configure: ns,
2693
- destroy: as,
2694
- sync: Ns,
2695
- syncSlide: Ps,
2692
+ configure: rs,
2693
+ destroy: os,
2694
+ sync: Ps,
2695
+ syncSlide: Fs,
2696
2696
  syncFragments: vo.sync.bind(vo),
2697
- slide: As,
2698
- left: sc,
2699
- right: cc,
2700
- up: lc,
2701
- down: uc,
2702
- prev: dc,
2703
- next: fc,
2704
- navigateLeft: sc,
2705
- navigateRight: cc,
2706
- navigateUp: lc,
2707
- navigateDown: uc,
2708
- navigatePrev: dc,
2709
- navigateNext: fc,
2697
+ slide: js,
2698
+ left: cc,
2699
+ right: lc,
2700
+ up: uc,
2701
+ down: dc,
2702
+ prev: fc,
2703
+ next: pc,
2704
+ navigateLeft: cc,
2705
+ navigateRight: lc,
2706
+ navigateUp: uc,
2707
+ navigateDown: dc,
2708
+ navigatePrev: fc,
2709
+ navigateNext: pc,
2710
2710
  navigateFragment: vo.goto.bind(vo),
2711
2711
  prevFragment: vo.prev.bind(vo),
2712
2712
  nextFragment: vo.next.bind(vo),
2713
- on: os,
2714
- off: ss,
2715
- addEventListener: os,
2716
- removeEventListener: ss,
2717
- layout: fs,
2718
- shuffle: Is,
2719
- availableRoutes: Vs,
2713
+ on: ss,
2714
+ off: cs,
2715
+ addEventListener: ss,
2716
+ removeEventListener: cs,
2717
+ layout: ps,
2718
+ shuffle: Ls,
2719
+ availableRoutes: Hs,
2720
2720
  availableFragments: vo.availableRoutes.bind(vo),
2721
2721
  toggleHelp: Eo.toggleHelp.bind(Eo),
2722
2722
  toggleOverview: yo.toggle.bind(yo),
2723
2723
  toggleScrollView: go.toggle.bind(go),
2724
- togglePause: Ts,
2725
- toggleAutoSlide: Os,
2726
- toggleJumpToSlide: Ds,
2727
- isFirstSlide: xs,
2728
- isLastSlide: Ss,
2729
- isLastVerticalSlide: bs,
2730
- isVerticalSlide: vs,
2731
- isVerticalStack: ys,
2732
- isPaused: Es,
2733
- isAutoSliding: ks,
2724
+ togglePause: Es,
2725
+ toggleAutoSlide: ks,
2726
+ toggleJumpToSlide: Os,
2727
+ isFirstSlide: Ss,
2728
+ isLastSlide: Cs,
2729
+ isLastVerticalSlide: xs,
2730
+ isVerticalSlide: ys,
2731
+ isVerticalStack: bs,
2732
+ isPaused: Ds,
2733
+ isAutoSliding: As,
2734
2734
  isSpeakerNotes: Io.isSpeakerNotesWindow.bind(Io),
2735
2735
  isOverview: yo.isActive.bind(yo),
2736
2736
  isFocused: ko.isFocused.bind(ko),
@@ -2747,35 +2747,35 @@ function Ut$1(e5, t) {
2747
2747
  previewVideo: Eo.previewVideo.bind(Eo),
2748
2748
  showPreview: Eo.previewIframe.bind(Eo),
2749
2749
  hidePreview: Eo.close.bind(Eo),
2750
- addEventListeners: rs,
2751
- removeEventListeners: is,
2752
- dispatchEvent: ls,
2753
- getState: tc,
2754
- setState: nc,
2755
- getProgress: Us,
2756
- getIndices: Ws,
2757
- getSlidesAttributes: Zs,
2758
- getSlidePastCount: Hs,
2759
- getTotalSlides: Qs,
2760
- getSlide: $s,
2750
+ addEventListeners: is,
2751
+ removeEventListeners: as,
2752
+ dispatchEvent: us,
2753
+ getState: nc,
2754
+ setState: rc,
2755
+ getProgress: Ws,
2756
+ getIndices: Gs,
2757
+ getSlidesAttributes: Qs,
2758
+ getSlidePastCount: Us,
2759
+ getTotalSlides: $s,
2760
+ getSlide: ec,
2761
2761
  getPreviousSlide: () => c,
2762
2762
  getCurrentSlide: () => l,
2763
- getSlideBackground: ec,
2763
+ getSlideBackground: tc,
2764
2764
  getSlideNotes: Io.getSlideNotes.bind(Io),
2765
- getSlides: Gs,
2766
- getHorizontalSlides: Ks,
2767
- getVerticalSlides: qs,
2768
- hasHorizontalSlides: Ys,
2769
- hasVerticalSlides: Xs,
2765
+ getSlides: Ks,
2766
+ getHorizontalSlides: qs,
2767
+ getVerticalSlides: Js,
2768
+ hasHorizontalSlides: Xs,
2769
+ hasVerticalSlides: Zs,
2770
2770
  hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
2771
2771
  hasNavigatedVertically: () => u.hasNavigatedVertically,
2772
- shouldAutoAnimateBetween: js,
2772
+ shouldAutoAnimateBetween: Ms,
2773
2773
  addKeyBinding: bo.addKeyBinding.bind(bo),
2774
2774
  removeKeyBinding: bo.removeKeyBinding.bind(bo),
2775
2775
  triggerKey: bo.triggerKey.bind(bo),
2776
2776
  registerKeyboardShortcut: bo.registerKeyboardShortcut.bind(bo),
2777
- getComputedSlideSize: hs,
2778
- setCurrentScrollPage: Ms,
2777
+ getComputedSlideSize: gs,
2778
+ setCurrentScrollPage: Ns,
2779
2779
  removeHiddenSlides: Go,
2780
2780
  getScale: () => no,
2781
2781
  getConfig: () => r,
@@ -2790,9 +2790,9 @@ function Ut$1(e5, t) {
2790
2790
  getPlugin: To.getPlugin.bind(To),
2791
2791
  getPlugins: To.getRegisteredPlugins.bind(To)
2792
2792
  };
2793
- return ge$1(n, We$1(Q$2({}, xc), {
2794
- announceStatus: Jo,
2795
- getStatusText: Yo,
2793
+ return ge$1(n, We$1(Q$2({}, Sc), {
2794
+ announceStatus: Yo,
2795
+ getStatusText: Xo,
2796
2796
  focus: ko,
2797
2797
  scroll: go,
2798
2798
  progress: Co,
@@ -2804,14 +2804,14 @@ function Ut$1(e5, t) {
2804
2804
  backgrounds: ho,
2805
2805
  slideContent: uo,
2806
2806
  slideNumber: fo,
2807
- onUserInput: pc,
2807
+ onUserInput: mc,
2808
2808
  closeOverlay: Eo.close.bind(Eo),
2809
- updateSlidesVisibility: Bs,
2810
- layoutSlideContents: ps,
2811
- transformSlides: cs,
2812
- cueAutoSlide: rc,
2813
- cancelAutoSlide: ic
2814
- })), xc;
2809
+ updateSlidesVisibility: Vs,
2810
+ layoutSlideContents: ms,
2811
+ transformSlides: ls,
2812
+ cueAutoSlide: ic,
2813
+ cancelAutoSlide: ac
2814
+ })), Sc;
2815
2815
  }
2816
2816
  var ce$1 = Ut$1, qt$1 = [];
2817
2817
  ce$1.initialize = (e5) => {
@@ -4662,8 +4662,8 @@ const SlideNotesEditor = (e5) => {
4662
4662
  className: "flex items-center gap-1.5 px-3 h-8 shrink-0 text-xs font-medium uppercase tracking-wide text-muted-foreground",
4663
4663
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StickyNote, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Speaker notes" })]
4664
4664
  }), t[17] = po) : po = t[17];
4665
- let mo;
4666
- t[18] !== o || t[19] !== l || t[20] !== lo ? (mo = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4665
+ let ho;
4666
+ t[18] !== o || t[19] !== l || t[20] !== lo ? (ho = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4667
4667
  className: "flex-1 min-h-0 p-2",
4668
4668
  children: o ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("textarea", {
4669
4669
  value: l,
@@ -4676,14 +4676,14 @@ const SlideNotesEditor = (e5) => {
4676
4676
  className: "h-full flex items-center justify-center text-xs text-muted-foreground",
4677
4677
  children: "Select a slide to add notes."
4678
4678
  })
4679
- }), t[18] = o, t[19] = l, t[20] = lo, t[21] = mo) : mo = t[21];
4680
- let ho;
4681
- return t[22] !== fo || t[23] !== mo ? (ho = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
4679
+ }), t[18] = o, t[19] = l, t[20] = lo, t[21] = ho) : ho = t[21];
4680
+ let go;
4681
+ return t[22] !== fo || t[23] !== ho ? (go = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
4682
4682
  className: fo,
4683
4683
  "aria-label": "Speaker notes",
4684
4684
  onKeyDown: _temp,
4685
- children: [po, mo]
4686
- }), t[22] = fo, t[23] = mo, t[24] = ho) : ho = t[24], ho;
4685
+ children: [po, ho]
4686
+ }), t[22] = fo, t[23] = ho, t[24] = go) : go = t[24], go;
4687
4687
  };
4688
4688
  function _temp(e5) {
4689
4689
  return e5.stopPropagation();
@@ -7223,90 +7223,110 @@ var NotesAside = (e5) => {
7223
7223
  t[18] === s ? p = t[19] : (p = s && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NotesAside, { text: s }), t[18] = s, t[19] = p);
7224
7224
  let io;
7225
7225
  return t[20] !== o || t[21] !== ro || t[22] !== p ? (io = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(o, { children: [ro, p] }), t[20] = o, t[21] = ro, t[22] = p, t[23] = io) : io = t[23], io;
7226
- }, reveal_component_default = ({ cellsWithOutput: e5, layout: o, setLayout: s, activeIndex: l, onSlideChange: io, mode: oo, configWidth: uo = 300, isEditable: fo = false }) => {
7226
+ }, ParkedPreviewContent = (e5) => {
7227
+ let t = (0, import_compiler_runtime.c)(8), { cell: n, isNoOutputPreview: r, isEditable: i, codeShown: a } = e5;
7228
+ if (r && i) {
7229
+ let e6;
7230
+ return t[0] === n ? e6 = t[1] : (e6 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideCellView, { cell: n }), t[0] = n, t[1] = e6), e6;
7231
+ }
7232
+ if (r && a) {
7233
+ let e6;
7234
+ return t[2] === n ? e6 = t[3] : (e6 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideCellReadOnlyView, { cell: n }), t[2] = n, t[3] = e6), e6;
7235
+ }
7236
+ let o;
7237
+ return t[4] !== n.id || t[5] !== n.output || t[6] !== n.status ? (o = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
7238
+ cellId: n.id,
7239
+ status: n.status,
7240
+ output: n.output
7241
+ }), t[4] = n.id, t[5] = n.output, t[6] = n.status, t[7] = o) : o = t[7], o;
7242
+ }, reveal_component_default = ({ slideCells: e5, layout: o, setLayout: s, noOutputIds: l, activeIndex: io, onSlideChange: ao, mode: oo, configWidth: uo, isEditable: fo = false }) => {
7227
7243
  var _a2, _b2;
7228
- let _o = (0, import_react.useRef)(null), vo = (0, import_react.useRef)(null), { width: bo, height: xo } = useSlideDimensions(_o), So = useAtomValue(kioskModeAtom), Co = (0, import_react.useMemo)(() => So ? [] : [ce], [So]), [wo, To] = (0, import_react.useState)(false), Eo = useNotebookCodeAvailable(e5), Do = !isIslands() && Eo, Oo = Do && wo, ko = l == null ? void 0 : e5[l], Ao = ko ?? e5.at(0), jo = (0, import_react.useMemo)(() => composeSlides({
7244
+ let _o = (0, import_react.useRef)(null), vo = (0, import_react.useRef)(null), { width: bo, height: xo } = useSlideDimensions(_o), So = useAtomValue(kioskModeAtom), Co = (0, import_react.useMemo)(() => So ? [] : [ce], [So]), [wo, To] = (0, import_react.useState)(false), Eo = useNotebookCodeAvailable(e5), Do = !isIslands() && Eo, Oo = Do && wo, ko = io == null ? void 0 : e5[io], Ao = ko ?? e5.at(0), jo = (0, import_react.useMemo)(() => composeSlides({
7229
7245
  cells: e5,
7230
7246
  getType: (e6) => {
7231
7247
  var _a3;
7232
- return ((_a3 = o.cells.get(e6.id)) == null ? void 0 : _a3.type) ?? "slide";
7248
+ return l.has(e6.id) ? "skip" : ((_a3 = o.cells.get(e6.id)) == null ? void 0 : _a3.type) ?? "slide";
7233
7249
  }
7234
- }), [e5, o.cells]), Mo = ko && ((_a2 = o.cells.get(ko.id)) == null ? void 0 : _a2.type) === "skip" ? ko : null, { cellToTarget: No, targetToCellIndex: Po } = (0, import_react.useMemo)(() => buildSlideIndices({
7250
+ }), [
7251
+ e5,
7252
+ l,
7253
+ o.cells
7254
+ ]), Mo = ko ? (_a2 = o.cells.get(ko.id)) == null ? void 0 : _a2.type : void 0, No = ko != null && l.has(ko.id), Po = Mo === "skip" || No ? ko : null, { cellToTarget: Fo, targetToCellIndex: Io } = (0, import_react.useMemo)(() => buildSlideIndices({
7235
7255
  composition: jo,
7236
7256
  cells: e5,
7237
7257
  getId: (e6) => e6.id
7238
- }), [jo, e5]), Fo = ((_b2 = o.deck) == null ? void 0 : _b2.transition) ?? "slide", Io = (0, import_react.useMemo)(() => {
7258
+ }), [jo, e5]), Lo = ((_b2 = o.deck) == null ? void 0 : _b2.transition) ?? "slide", Ro = (0, import_react.useMemo)(() => {
7239
7259
  let e6 = new URL(window.location.href);
7240
7260
  return e6.searchParams.set("kiosk", "true"), e6.searchParams.set("show-chrome", "false"), e6.toString();
7241
- }, []), Lo = (0, import_react.useMemo)(() => ({
7261
+ }, []), zo = (0, import_react.useMemo)(() => ({
7242
7262
  embedded: true,
7243
7263
  width: bo,
7244
7264
  height: xo,
7245
7265
  center: false,
7246
7266
  minScale: 0.2,
7247
7267
  maxScale: 2,
7248
- transition: Fo,
7268
+ transition: Lo,
7249
7269
  keyboardCondition: (e6) => !Events.fromInput(e6),
7250
- url: Io
7270
+ url: Ro
7251
7271
  }), [
7252
7272
  bo,
7253
7273
  xo,
7254
- Fo,
7255
- Io
7256
- ]), Ro = useEvent_default((t) => {
7274
+ Lo,
7275
+ Ro
7276
+ ]), Bo = useEvent_default((t) => {
7257
7277
  let n = resolveDeckNavigationTarget({
7258
- activeIndex: l,
7278
+ activeIndex: io,
7259
7279
  cells: e5,
7260
- cellToTarget: No,
7280
+ cellToTarget: Fo,
7261
7281
  getId: (e6) => e6.id
7262
7282
  }), r = n && computeDeckNavigation(t.getIndices(), n);
7263
7283
  r && (t.slide(r.h, r.v, r.f), clearPreviousVerticalIndices(t));
7264
7284
  });
7265
7285
  (0, import_react.useEffect)(() => {
7266
7286
  let e6 = vo.current;
7267
- e6 != null && Ro(e6);
7287
+ e6 != null && Bo(e6);
7268
7288
  }, [
7269
- l,
7270
- No,
7289
+ io,
7290
+ Fo,
7271
7291
  e5,
7272
- Ro
7292
+ Bo
7273
7293
  ]);
7274
- let zo = useEvent_default(() => {
7294
+ let Vo = useEvent_default(() => {
7275
7295
  (0, import_react.startTransition)(() => To((e6) => !e6));
7276
- }), Bo = useEvent_default((e6) => {
7296
+ }), Ho = useEvent_default((e6) => {
7277
7297
  var _a3;
7278
- Ro(e6), Do && e6.addKeyBinding({
7298
+ Bo(e6), Do && e6.addKeyBinding({
7279
7299
  keyCode: 67,
7280
7300
  key: "C",
7281
7301
  description: "Toggle code editor"
7282
- }, zo);
7302
+ }, Vo);
7283
7303
  let t = (_a3 = e6.getSlidesElement()) == null ? void 0 : _a3.closest(".reveal");
7284
7304
  t instanceof HTMLElement && (t.tabIndex = -1, t.focus({ preventScroll: true }));
7285
- }), Vo = (0, import_react.useMemo)(() => {
7305
+ }), Uo = (0, import_react.useMemo)(() => {
7286
7306
  if (!ko) return null;
7287
- let e6 = No.get(ko.id);
7307
+ let e6 = Fo.get(ko.id);
7288
7308
  return e6 ? {
7289
7309
  h: e6.h,
7290
7310
  v: e6.v
7291
7311
  } : null;
7292
- }, [ko, No]), Ho = useEvent_default(() => {
7293
- if (Mo != null) return;
7312
+ }, [ko, Fo]), Wo = useEvent_default(() => {
7313
+ if (Po != null) return;
7294
7314
  let e6 = vo.current;
7295
7315
  if (!e6) return;
7296
- let t = resolveActiveCellIndex(Po, e6.getIndices());
7297
- t != null && (io == null ? void 0 : io(t));
7298
- }), Uo = useEvent_default((t) => {
7299
- if (!Mo || l == null || Events.fromInput(t)) return;
7316
+ let t = resolveActiveCellIndex(Io, e6.getIndices());
7317
+ t != null && (ao == null ? void 0 : ao(t));
7318
+ }), Go = useEvent_default((t) => {
7319
+ if (!Po || io == null || Events.fromInput(t)) return;
7300
7320
  let n = classifyNavKey(t);
7301
7321
  if (n === 0) return;
7302
7322
  t.preventDefault(), t.stopPropagation();
7303
- let i = l + n;
7304
- i < 0 || i >= e5.length || (io == null ? void 0 : io(i));
7305
- }), Wo = useEvent_default(() => {
7306
- Ho(), triggerResize(vo.current);
7323
+ let i = io + n;
7324
+ i < 0 || i >= e5.length || (ao == null ? void 0 : ao(i));
7325
+ }), Ko = useEvent_default(() => {
7326
+ Wo(), triggerResize(vo.current);
7307
7327
  });
7308
- useEventListener(document, "keydown", Uo, { capture: true });
7309
- let Go = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7328
+ useEventListener(document, "keydown", Go, { capture: true });
7329
+ let qo = No ? "Hidden as there is no output" : "Skipped in presentation", Jo = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7310
7330
  ref: _o,
7311
7331
  className: "h-full w-full min-w-0 flex items-center justify-center overflow-hidden",
7312
7332
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
@@ -7318,16 +7338,16 @@ var NotesAside = (e5) => {
7318
7338
  children: [
7319
7339
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(b, {
7320
7340
  deckRef: vo,
7321
- className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides",
7322
- config: Lo,
7323
- onReady: Bo,
7324
- onSlideChange: Wo,
7325
- onFragmentShown: Ho,
7326
- onFragmentHidden: Ho,
7341
+ className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-none focus-visible:outline-none",
7342
+ config: zo,
7343
+ onReady: Ho,
7344
+ onSlideChange: Ko,
7345
+ onFragmentShown: Wo,
7346
+ onFragmentHidden: Wo,
7327
7347
  plugins: Co,
7328
7348
  children: jo.stacks.map((e6, t) => {
7329
7349
  if (e6.subslides.length === 1) {
7330
- let n = (Vo == null ? void 0 : Vo.h) === t && (Vo == null ? void 0 : Vo.v) === 0;
7350
+ let n = (Uo == null ? void 0 : Uo.h) === t && (Uo == null ? void 0 : Uo.v) === 0;
7331
7351
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, {
7332
7352
  subslide: e6.subslides[0],
7333
7353
  showCode: Oo && n,
@@ -7336,7 +7356,7 @@ var NotesAside = (e5) => {
7336
7356
  }, t);
7337
7357
  }
7338
7358
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ne, { children: e6.subslides.map((e7, n) => {
7339
- let r = (Vo == null ? void 0 : Vo.h) === t && (Vo == null ? void 0 : Vo.v) === n;
7359
+ let r = (Uo == null ? void 0 : Uo.h) === t && (Uo == null ? void 0 : Uo.v) === n;
7340
7360
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, {
7341
7361
  subslide: e7,
7342
7362
  showCode: Oo && r,
@@ -7346,25 +7366,26 @@ var NotesAside = (e5) => {
7346
7366
  }) }, t);
7347
7367
  })
7348
7368
  }),
7349
- Mo && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7369
+ Po && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7350
7370
  className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
7351
- "aria-label": "Skipped in presentation",
7371
+ "aria-label": qo,
7352
7372
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7353
7373
  className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",
7354
- 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" })]
7374
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EyeOff, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: qo })]
7355
7375
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7356
7376
  className: "flex-1 overflow-auto flex",
7357
7377
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7358
- className: "mo-slide-content",
7378
+ className: No && (fo || Oo) ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
7359
7379
  style: { margin: "auto 20px" },
7360
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
7361
- cellId: Mo.id,
7362
- status: Mo.status,
7363
- output: Mo.output
7380
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ParkedPreviewContent, {
7381
+ cell: Po,
7382
+ isNoOutputPreview: No,
7383
+ isEditable: fo,
7384
+ codeShown: Oo
7364
7385
  })
7365
7386
  })
7366
7387
  })]
7367
- }),
7388
+ }, Po.id),
7368
7389
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7369
7390
  className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",
7370
7391
  children: [Do && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
@@ -7376,7 +7397,7 @@ var NotesAside = (e5) => {
7376
7397
  className: cn("text-muted-foreground h-7 w-7", Oo && "text-foreground bg-muted"),
7377
7398
  "aria-pressed": Oo,
7378
7399
  "aria-label": Oo ? "Hide code" : "Show code",
7379
- onClick: zo,
7400
+ onClick: Vo,
7380
7401
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Code, { className: "h-4 w-4" })
7381
7402
  })
7382
7403
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
@@ -7402,7 +7423,7 @@ var NotesAside = (e5) => {
7402
7423
  });
7403
7424
  return oo === "read" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7404
7425
  className: "flex-1 min-w-0 flex flex-row gap-3",
7405
- children: Go
7426
+ children: Jo
7406
7427
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7407
7428
  className: "flex-1 min-w-0 flex flex-row gap-3",
7408
7429
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PanelGroup, {
@@ -7413,7 +7434,7 @@ var NotesAside = (e5) => {
7413
7434
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Panel, {
7414
7435
  defaultSize: 92,
7415
7436
  minSize: 60,
7416
- children: Go
7437
+ children: Jo
7417
7438
  }),
7418
7439
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PanelResizeHandle, {
7419
7440
  className: "mo-slides-notes-resize",