@marimo-team/islands 0.24.1-dev81 → 0.24.1-dev83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chat-ui-Dcb8pQhM.js → chat-ui-DhRKl9Ie.js} +1809 -1809
- package/dist/{common-B2MNeMpN.js → common-C_rhzyqs.js} +6517 -6406
- package/dist/{html-to-image-CvCnIqTI.js → html-to-image-CT8hxf1p.js} +5335 -5295
- package/dist/main.js +6689 -6641
- package/dist/{process-output-C2joqP7d.js → process-output-CINXfXUt.js} +2 -2
- package/dist/{reveal-component-BYQe08-B.js → reveal-component-B5JebV0u.js} +1112 -1086
- package/package.json +1 -1
- package/src/__tests__/mount.test.ts +54 -2
- package/src/components/editor/__tests__/viewer-banner.test.tsx +1 -1
- package/src/components/editor/actions/export-dialog/__tests__/export-notebook.test.ts +9 -0
- package/src/components/editor/actions/export-dialog/export-notebook.ts +8 -1
- package/src/components/editor/actions/export-dialog/use-export-dialog.ts +2 -0
- package/src/components/editor/actions/useNotebookActions.tsx +1 -1
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +1 -1
- package/src/components/editor/renderers/__tests__/cells-renderer.test.tsx +1 -1
- package/src/components/editor/renderers/cells-renderer.tsx +15 -28
- package/src/components/editor/renderers/grid-layout/__tests__/plugin.test.ts +42 -0
- package/src/components/editor/renderers/grid-layout/plugin.tsx +20 -10
- package/src/components/editor/renderers/layout-select.tsx +1 -1
- package/src/components/editor/renderers/plugins.ts +7 -1
- package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +49 -15
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +16 -2
- package/src/components/editor/renderers/slides-layout/types.ts +15 -11
- package/src/components/editor/renderers/types.ts +5 -5
- package/src/components/editor/viewer-banner.tsx +1 -1
- package/src/components/pages/run-page.tsx +16 -7
- package/src/components/slides/__tests__/reveal-component.test.ts +33 -8
- package/src/components/slides/__tests__/speaker-view.test.ts +27 -0
- package/src/components/slides/reveal-component.tsx +110 -45
- package/src/components/slides/speaker-view.ts +22 -0
- package/src/components/static-html/share-modal.tsx +2 -0
- package/src/core/cells/__tests__/document-changes.test.ts +343 -26
- package/src/core/cells/document-changes.ts +181 -4
- package/src/core/export/hooks.ts +2 -0
- package/src/core/export/layout.ts +9 -0
- package/src/core/kernel/handlers.ts +7 -16
- package/src/core/kernel/state.ts +2 -0
- package/src/core/layout/__tests__/layout.test.ts +95 -0
- package/src/core/layout/layout.ts +59 -65
- package/src/core/layout/state.ts +121 -0
- package/src/core/meta/__tests__/code-visibility.test.tsx +28 -0
- package/src/core/meta/code-visibility.ts +3 -1
- package/src/core/run-app.tsx +6 -2
- package/src/core/saving/__tests__/save-component.test.ts +31 -1
- package/src/core/saving/save-component.tsx +39 -29
- package/src/core/saving/state.ts +1 -1
- package/src/core/static/download-html.ts +2 -0
- package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +47 -14
- package/src/core/websocket/useMarimoKernelConnection.tsx +7 -2
- package/src/mount.tsx +24 -6
|
@@ -2,32 +2,32 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
|
2
2
|
import { c as t, g as n, h as r, m as i, t as a } from "./button-DlqUC8W-.js";
|
|
3
3
|
import { t as o } from "./react-DMWcHin-.js";
|
|
4
4
|
import { t as s } from "./compiler-runtime-CAH9RLw2.js";
|
|
5
|
-
import {
|
|
5
|
+
import { Ot as c, ot as l } from "./html-to-image-CT8hxf1p.js";
|
|
6
6
|
import { u } from "./dist-wdOJ5T7-.js";
|
|
7
|
-
import {
|
|
8
|
-
import { R as
|
|
9
|
-
import { Y as
|
|
10
|
-
import { t as
|
|
11
|
-
import { Tc as
|
|
12
|
-
import { t as
|
|
13
|
-
import { C as
|
|
7
|
+
import { at as d, c as f, g as p, h as m, hn as h, l as g, mn as _, n as v, o as y, ot as b, r as x, st as S, t as C, u as w, vn as T } from "./common-C_rhzyqs.js";
|
|
8
|
+
import { R as E } from "./select-DQ9jU_B_.js";
|
|
9
|
+
import { Y as D } from "./dropdown-menu-B39I9ARA.js";
|
|
10
|
+
import { t as O } from "./jsx-runtime-CpoKNRgu.js";
|
|
11
|
+
import { Tc as k } from "./schemas-JTyiKlcH.js";
|
|
12
|
+
import { t as A } from "./tooltip-7p_32zdw.js";
|
|
13
|
+
import { C as j, b as ee, j as M } from "./useTheme-T2IIlG9u.js";
|
|
14
14
|
/* empty css */
|
|
15
|
-
var
|
|
15
|
+
var N = u("sticky-note", [["path", {
|
|
16
16
|
d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",
|
|
17
17
|
key: "1dfntj"
|
|
18
18
|
}], ["path", {
|
|
19
19
|
d: "M15 3v5a1 1 0 0 0 1 1h5",
|
|
20
20
|
key: "6s6qgf"
|
|
21
|
-
}]]),
|
|
21
|
+
}]]), P = /* @__PURE__ */ e(o(), 1), F = s(), te = Object.defineProperty, ne = Object.defineProperties, I = Object.getOwnPropertyDescriptors, re = Object.getOwnPropertySymbols, ie = Object.prototype.hasOwnProperty, ae = Object.prototype.propertyIsEnumerable, oe = (e, t, n) => t in e ? te(e, t, {
|
|
22
22
|
enumerable: !0,
|
|
23
23
|
configurable: !0,
|
|
24
24
|
writable: !0,
|
|
25
25
|
value: n
|
|
26
|
-
}) : e[t] = n,
|
|
27
|
-
for (var n in t ||= {})
|
|
28
|
-
if (
|
|
26
|
+
}) : e[t] = n, se = (e, t) => {
|
|
27
|
+
for (var n in t ||= {}) ie.call(t, n) && oe(e, n, t[n]);
|
|
28
|
+
if (re) for (var n of re(t)) ae.call(t, n) && oe(e, n, t[n]);
|
|
29
29
|
return e;
|
|
30
|
-
},
|
|
30
|
+
}, ce = (e, t) => ne(e, I(t)), le = (e, t, n) => oe(e, typeof t == "symbol" ? t : t + "", n), ue = (e, t, n) => new Promise((r, i) => {
|
|
31
31
|
var a = (e) => {
|
|
32
32
|
try {
|
|
33
33
|
s(n.next(e));
|
|
@@ -42,12 +42,12 @@ var O = u("sticky-note", [["path", {
|
|
|
42
42
|
}
|
|
43
43
|
}, s = (e) => e.done ? r(e.value) : Promise.resolve(e.value).then(a, o);
|
|
44
44
|
s((n = n.apply(e, t)).next());
|
|
45
|
-
}),
|
|
45
|
+
}), de = (e, t) => {
|
|
46
46
|
for (let n in t) e[n] = t[n];
|
|
47
47
|
return e;
|
|
48
|
-
},
|
|
48
|
+
}, L = (e, t) => Array.from(e.querySelectorAll(t)), fe = (e, t, n) => {
|
|
49
49
|
n ? e.classList.add(t) : e.classList.remove(t);
|
|
50
|
-
},
|
|
50
|
+
}, pe = (e) => {
|
|
51
51
|
if (typeof e == "string") {
|
|
52
52
|
if (e === "null") return null;
|
|
53
53
|
if (e === "true") return !0;
|
|
@@ -55,23 +55,23 @@ var O = u("sticky-note", [["path", {
|
|
|
55
55
|
if (e.match(/^-?[\d\.]+$/)) return parseFloat(e);
|
|
56
56
|
}
|
|
57
57
|
return e;
|
|
58
|
-
},
|
|
58
|
+
}, R = (e, t) => {
|
|
59
59
|
e.style.transform = t;
|
|
60
|
-
},
|
|
60
|
+
}, me = (e, t) => {
|
|
61
61
|
let n = e.matches || e.matchesSelector || e.msMatchesSelector;
|
|
62
62
|
return !!(n && n.call(e, t));
|
|
63
|
-
},
|
|
63
|
+
}, z = (e, t) => {
|
|
64
64
|
if (e && typeof e.closest == "function") return e.closest(t);
|
|
65
65
|
for (; e;) {
|
|
66
|
-
if (
|
|
66
|
+
if (me(e, t)) return e;
|
|
67
67
|
e = e.parentElement;
|
|
68
68
|
}
|
|
69
69
|
return null;
|
|
70
|
-
},
|
|
70
|
+
}, he = (e) => {
|
|
71
71
|
e ||= document.documentElement;
|
|
72
72
|
let t = e.requestFullscreen || e.webkitRequestFullscreen || e.webkitRequestFullScreen || e.mozRequestFullScreen || e.msRequestFullscreen;
|
|
73
73
|
t && t.apply(e);
|
|
74
|
-
},
|
|
74
|
+
}, ge = (e, t, n, r = "") => {
|
|
75
75
|
let i = e.querySelectorAll("." + n);
|
|
76
76
|
for (let t = 0; t < i.length; t++) {
|
|
77
77
|
let n = i[t];
|
|
@@ -79,10 +79,10 @@ var O = u("sticky-note", [["path", {
|
|
|
79
79
|
}
|
|
80
80
|
let a = document.createElement(t);
|
|
81
81
|
return a.className = n, a.innerHTML = r, e.appendChild(a), a;
|
|
82
|
-
},
|
|
82
|
+
}, _e = (e) => {
|
|
83
83
|
let t = document.createElement("style");
|
|
84
84
|
return e && e.length > 0 && t.appendChild(document.createTextNode(e)), document.head.appendChild(t), t;
|
|
85
|
-
},
|
|
85
|
+
}, ve = () => {
|
|
86
86
|
let e = {};
|
|
87
87
|
location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, (t) => {
|
|
88
88
|
let n = t.split("=").shift(), r = t.split("=").pop();
|
|
@@ -90,25 +90,25 @@ var O = u("sticky-note", [["path", {
|
|
|
90
90
|
});
|
|
91
91
|
for (let t in e) {
|
|
92
92
|
let n = e[t];
|
|
93
|
-
e[t] =
|
|
93
|
+
e[t] = pe(unescape(n));
|
|
94
94
|
}
|
|
95
95
|
return e.dependencies !== void 0 && delete e.dependencies, e;
|
|
96
|
-
},
|
|
96
|
+
}, B = (e, t = 0) => {
|
|
97
97
|
if (e) {
|
|
98
98
|
let n, r = e.style.height;
|
|
99
99
|
return e.style.height = "0px", e.parentElement && (e.parentElement.style.height = "auto"), n = t - (e.parentElement?.offsetHeight || 0), e.style.height = r + "px", e.parentElement && e.parentElement.style.removeProperty("height"), n;
|
|
100
100
|
}
|
|
101
101
|
return t;
|
|
102
|
-
},
|
|
102
|
+
}, ye = {
|
|
103
103
|
mp4: "video/mp4",
|
|
104
104
|
m4a: "video/mp4",
|
|
105
105
|
ogv: "video/ogg",
|
|
106
106
|
mpeg: "video/mpeg",
|
|
107
107
|
webm: "video/webm"
|
|
108
|
-
},
|
|
108
|
+
}, be = (e = "") => {
|
|
109
109
|
let t = e.split(".").pop();
|
|
110
|
-
return t ?
|
|
111
|
-
},
|
|
110
|
+
return t ? ye[t] : void 0;
|
|
111
|
+
}, xe = (e = "") => encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]").replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), Se = navigator.userAgent, Ce = /(iphone|ipod|ipad|android)/gi.test(Se) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, we = /android/gi.test(Se), V = (function(e) {
|
|
112
112
|
if (e) {
|
|
113
113
|
var t = function(e) {
|
|
114
114
|
return [].slice.call(e);
|
|
@@ -188,16 +188,16 @@ var O = u("sticky-note", [["path", {
|
|
|
188
188
|
characterData: !0
|
|
189
189
|
}
|
|
190
190
|
}, w = null, T = function() {
|
|
191
|
-
e.clearTimeout(w), w = e.setTimeout(l(i),
|
|
191
|
+
e.clearTimeout(w), w = e.setTimeout(l(i), O.observeWindowDelay);
|
|
192
192
|
}, E = ["resize", "orientationchange"];
|
|
193
|
-
return Object.defineProperty(
|
|
193
|
+
return Object.defineProperty(O, "observeWindow", { set: function(t) {
|
|
194
194
|
var n = `${t ? "add" : "remove"}EventListener`;
|
|
195
195
|
E.forEach((function(t) {
|
|
196
196
|
e[n](t, T);
|
|
197
197
|
}));
|
|
198
|
-
} }),
|
|
198
|
+
} }), O.observeWindow = !0, O.observeWindowDelay = 100, O.fitAll = l(a), O;
|
|
199
199
|
}
|
|
200
|
-
function
|
|
200
|
+
function D(e, t) {
|
|
201
201
|
var n = Object.assign({}, C, t), r = e.map((function(e) {
|
|
202
202
|
var t = Object.assign({}, n, {
|
|
203
203
|
element: e,
|
|
@@ -219,13 +219,13 @@ var O = u("sticky-note", [["path", {
|
|
|
219
219
|
}));
|
|
220
220
|
return c(), r;
|
|
221
221
|
}
|
|
222
|
-
function
|
|
222
|
+
function O(e) {
|
|
223
223
|
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
224
|
-
return typeof e == "string" ?
|
|
224
|
+
return typeof e == "string" ? D(t(document.querySelectorAll(e)), n) : D([e], n)[0];
|
|
225
225
|
}
|
|
226
|
-
})(typeof window > "u" ? null : window),
|
|
226
|
+
})(typeof window > "u" ? null : window), Te = class {
|
|
227
227
|
constructor(e) {
|
|
228
|
-
|
|
228
|
+
le(this, "allowedToPlayAudio", null), this.Reveal = e, this.startEmbeddedMedia = this.startEmbeddedMedia.bind(this), this.startEmbeddedIframe = this.startEmbeddedIframe.bind(this), this.preventIframeAutoFocus = this.preventIframeAutoFocus.bind(this), this.ensureMobileMediaPlaying = this.ensureMobileMediaPlaying.bind(this), this.failedAudioPlaybackTargets = /* @__PURE__ */ new Set(), this.failedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.failedMutedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.renderMediaPlayButton();
|
|
229
229
|
}
|
|
230
230
|
renderMediaPlayButton() {
|
|
231
231
|
this.mediaPlayButton = document.createElement("button"), this.mediaPlayButton.className = "r-overlay-button r-media-play-button", this.mediaPlayButton.addEventListener("click", () => {
|
|
@@ -249,14 +249,14 @@ var O = u("sticky-note", [["path", {
|
|
|
249
249
|
let t = n.replace(/\s*!important\s*$/, "").trim();
|
|
250
250
|
e.style.setProperty("display", t, "important");
|
|
251
251
|
} else e.style.display = n;
|
|
252
|
-
|
|
252
|
+
L(e, "img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e) => {
|
|
253
253
|
let t = e.tagName === "IFRAME";
|
|
254
254
|
(!t || this.shouldPreload(e)) && (e.setAttribute("src", e.getAttribute("data-src")), e.setAttribute("data-lazy-loaded", ""), e.removeAttribute("data-src"), t && e.addEventListener("load", this.preventIframeAutoFocus));
|
|
255
|
-
}),
|
|
255
|
+
}), L(e, "video, audio").forEach((e) => {
|
|
256
256
|
let t = 0;
|
|
257
|
-
|
|
257
|
+
L(e, "source[data-src]").forEach((e) => {
|
|
258
258
|
e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src"), e.setAttribute("data-lazy-loaded", ""), t += 1;
|
|
259
|
-
}),
|
|
259
|
+
}), Ce && e.tagName === "VIDEO" && e.setAttribute("playsinline", ""), t > 0 && e.load();
|
|
260
260
|
});
|
|
261
261
|
let r = e.slideBackgroundElement;
|
|
262
262
|
if (r) {
|
|
@@ -265,13 +265,13 @@ var O = u("sticky-note", [["path", {
|
|
|
265
265
|
if (r.hasAttribute("data-loaded") === !1) {
|
|
266
266
|
r.setAttribute("data-loaded", "true");
|
|
267
267
|
let a = e.getAttribute("data-background-image"), o = e.getAttribute("data-background-video"), s = e.hasAttribute("data-background-video-loop"), c = e.hasAttribute("data-background-video-muted");
|
|
268
|
-
if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${
|
|
268
|
+
if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${xe(decodeURI(e.trim()))})`).join(",");
|
|
269
269
|
else if (o) {
|
|
270
270
|
let e = document.createElement("video");
|
|
271
|
-
s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0),
|
|
271
|
+
s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0), Ce && e.setAttribute("playsinline", ""), o.split(",").forEach((t) => {
|
|
272
272
|
let n = document.createElement("source");
|
|
273
273
|
n.setAttribute("src", t);
|
|
274
|
-
let r =
|
|
274
|
+
let r = be(t);
|
|
275
275
|
r && n.setAttribute("type", r), e.appendChild(n);
|
|
276
276
|
}), n.appendChild(e);
|
|
277
277
|
} else if (i && t.excludeIframes !== !0) {
|
|
@@ -286,7 +286,7 @@ var O = u("sticky-note", [["path", {
|
|
|
286
286
|
}
|
|
287
287
|
layout(e) {
|
|
288
288
|
Array.from(e.querySelectorAll(".r-fit-text")).forEach((e) => {
|
|
289
|
-
|
|
289
|
+
V(e, {
|
|
290
290
|
minSize: 24,
|
|
291
291
|
maxSize: this.Reveal.getConfig().height * .8,
|
|
292
292
|
observeMutations: !1,
|
|
@@ -297,17 +297,17 @@ var O = u("sticky-note", [["path", {
|
|
|
297
297
|
unload(e) {
|
|
298
298
|
e.style.display = "none";
|
|
299
299
|
let t = this.Reveal.getSlideBackground(e);
|
|
300
|
-
t && (t.style.display = "none",
|
|
300
|
+
t && (t.style.display = "none", L(t, "iframe[src]").forEach((e) => {
|
|
301
301
|
e.removeAttribute("src");
|
|
302
|
-
})),
|
|
302
|
+
})), L(e, "video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e) => {
|
|
303
303
|
e.setAttribute("data-src", e.getAttribute("src")), e.removeAttribute("src");
|
|
304
|
-
}),
|
|
304
|
+
}), L(e, "video[data-lazy-loaded] source[src], audio source[src]").forEach((e) => {
|
|
305
305
|
e.setAttribute("data-src", e.getAttribute("src")), e.removeAttribute("src");
|
|
306
306
|
});
|
|
307
307
|
}
|
|
308
308
|
formatEmbeddedContent() {
|
|
309
309
|
let e = (e, t, n) => {
|
|
310
|
-
|
|
310
|
+
L(this.Reveal.getSlidesElement(), "iframe[" + e + "*=\"" + t + "\"]").forEach((t) => {
|
|
311
311
|
let r = t.getAttribute(e);
|
|
312
312
|
r && r.indexOf(n) === -1 && t.setAttribute(e, r + (/\?/.test(r) ? "&" : "?") + n);
|
|
313
313
|
});
|
|
@@ -317,19 +317,19 @@ var O = u("sticky-note", [["path", {
|
|
|
317
317
|
startEmbeddedContent(e) {
|
|
318
318
|
if (e) {
|
|
319
319
|
let t = this.Reveal.isSpeakerNotes();
|
|
320
|
-
|
|
320
|
+
L(e, "img[src$=\".gif\"]").forEach((e) => {
|
|
321
321
|
e.setAttribute("src", e.getAttribute("src"));
|
|
322
|
-
}),
|
|
323
|
-
if (
|
|
322
|
+
}), L(e, "video, audio").forEach((e) => {
|
|
323
|
+
if (z(e, ".fragment") && !z(e, ".fragment.visible")) return;
|
|
324
324
|
let n = this.Reveal.getConfig().autoPlayMedia;
|
|
325
|
-
if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!
|
|
325
|
+
if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!z(e, ".slide-background")), n && typeof e.play == "function") {
|
|
326
326
|
if (t && !e.muted) return;
|
|
327
|
-
e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) :
|
|
327
|
+
e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) : Ce ? (e.addEventListener("canplay", this.ensureMobileMediaPlaying), this.playMediaElement(e)) : (e.removeEventListener("loadeddata", this.startEmbeddedMedia), e.addEventListener("loadeddata", this.startEmbeddedMedia));
|
|
328
328
|
}
|
|
329
|
-
}), t || (
|
|
330
|
-
|
|
331
|
-
}),
|
|
332
|
-
|
|
329
|
+
}), t || (L(e, "iframe[src]").forEach((e) => {
|
|
330
|
+
z(e, ".fragment") && !z(e, ".fragment.visible") || this.startEmbeddedIframe({ target: e });
|
|
331
|
+
}), L(e, "iframe[data-src]").forEach((e) => {
|
|
332
|
+
z(e, ".fragment") && !z(e, ".fragment.visible") || e.getAttribute("src") !== e.getAttribute("data-src") && (e.removeEventListener("load", this.startEmbeddedIframe), e.addEventListener("load", this.startEmbeddedIframe), e.setAttribute("src", e.getAttribute("data-src")));
|
|
333
333
|
}));
|
|
334
334
|
}
|
|
335
335
|
}
|
|
@@ -341,7 +341,7 @@ var O = u("sticky-note", [["path", {
|
|
|
341
341
|
}, 1e3);
|
|
342
342
|
}
|
|
343
343
|
startEmbeddedMedia(e) {
|
|
344
|
-
let t = !!
|
|
344
|
+
let t = !!z(e.target, "html"), n = !!z(e.target, ".present");
|
|
345
345
|
t && n && (e.target.paused || e.target.ended) && (e.target.currentTime = 0, this.playMediaElement(e.target)), e.target.removeEventListener("loadeddata", this.startEmbeddedMedia);
|
|
346
346
|
}
|
|
347
347
|
playMediaElement(e) {
|
|
@@ -352,7 +352,7 @@ var O = u("sticky-note", [["path", {
|
|
|
352
352
|
if (t.name === "NotAllowedError") {
|
|
353
353
|
if (this.allowedToPlayAudio = !1, e.tagName === "VIDEO") {
|
|
354
354
|
this.onVideoPlaybackNotAllowed(e);
|
|
355
|
-
let t = !!
|
|
355
|
+
let t = !!z(e, "html"), n = !!z(e, ".present"), r = e.muted;
|
|
356
356
|
t && n && !r && (e.setAttribute("data-muted-by-reveal", "true"), e.muted = !0, e.play().catch(() => {
|
|
357
357
|
this.onMutedVideoPlaybackNotAllowed(e);
|
|
358
358
|
}));
|
|
@@ -363,23 +363,23 @@ var O = u("sticky-note", [["path", {
|
|
|
363
363
|
startEmbeddedIframe(e) {
|
|
364
364
|
let t = e.target;
|
|
365
365
|
if (this.preventIframeAutoFocus(e), t && t.contentWindow) {
|
|
366
|
-
let n = !!
|
|
366
|
+
let n = !!z(e.target, "html"), r = !!z(e.target, ".present");
|
|
367
367
|
if (n && r) {
|
|
368
368
|
let e = this.Reveal.getConfig().autoPlayMedia;
|
|
369
|
-
typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!
|
|
369
|
+
typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!z(t, ".slide-background")), /youtube\.com\/embed\//.test(t.getAttribute("src")) && e ? t.contentWindow.postMessage("{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}", "*") : /player\.vimeo\.com\//.test(t.getAttribute("src")) && e ? t.contentWindow.postMessage("{\"method\":\"play\"}", "*") : t.contentWindow.postMessage("slide:start", "*");
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
373
|
stopEmbeddedContent(e, t = {}) {
|
|
374
|
-
t =
|
|
375
|
-
!e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(),
|
|
376
|
-
}),
|
|
374
|
+
t = de({ unloadIframes: !0 }, t), e && e.parentNode && (L(e, "video, audio").forEach((e) => {
|
|
375
|
+
!e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(), Ce && e.removeEventListener("canplay", this.ensureMobileMediaPlaying));
|
|
376
|
+
}), L(e, "iframe").forEach((e) => {
|
|
377
377
|
e.contentWindow && e.contentWindow.postMessage("slide:stop", "*"), e.removeEventListener("load", this.preventIframeAutoFocus), e.removeEventListener("load", this.startEmbeddedIframe);
|
|
378
|
-
}),
|
|
378
|
+
}), L(e, "iframe[src*=\"youtube.com/embed/\"]").forEach((e) => {
|
|
379
379
|
!e.hasAttribute("data-ignore") && e.contentWindow && typeof e.contentWindow.postMessage == "function" && e.contentWindow.postMessage("{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}", "*");
|
|
380
|
-
}),
|
|
380
|
+
}), L(e, "iframe[src*=\"player.vimeo.com/\"]").forEach((e) => {
|
|
381
381
|
!e.hasAttribute("data-ignore") && e.contentWindow && typeof e.contentWindow.postMessage == "function" && e.contentWindow.postMessage("{\"method\":\"pause\"}", "*");
|
|
382
|
-
}), t.unloadIframes === !0 &&
|
|
382
|
+
}), t.unloadIframes === !0 && L(e, "iframe[data-src]").forEach((e) => {
|
|
383
383
|
e.setAttribute("src", "about:blank"), e.removeAttribute("src");
|
|
384
384
|
}));
|
|
385
385
|
}
|
|
@@ -423,7 +423,7 @@ var O = u("sticky-note", [["path", {
|
|
|
423
423
|
afterSlideChanged() {
|
|
424
424
|
this.clearMediaPlaybackErrors();
|
|
425
425
|
}
|
|
426
|
-
},
|
|
426
|
+
}, Ee = ".slides section", De = ".slides>section", Oe = ".slides>section.present>section", ke = ".backgrounds>.slide-background", Ae = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/, je = "h.v", Me = "h/v", Ne = "c", Pe = "c/t", Fe = class {
|
|
427
427
|
constructor(e) {
|
|
428
428
|
this.Reveal = e;
|
|
429
429
|
}
|
|
@@ -438,22 +438,22 @@ var O = u("sticky-note", [["path", {
|
|
|
438
438
|
this.Reveal.getConfig().slideNumber && this.element && (this.element.innerHTML = this.getSlideNumber());
|
|
439
439
|
}
|
|
440
440
|
getSlideNumber(e = this.Reveal.getCurrentSlide()) {
|
|
441
|
-
let t = this.Reveal.getConfig(), n, r =
|
|
441
|
+
let t = this.Reveal.getConfig(), n, r = je;
|
|
442
442
|
if (typeof t.slideNumber == "function") n = t.slideNumber(e);
|
|
443
443
|
else {
|
|
444
|
-
typeof t.slideNumber == "string" && (r = t.slideNumber), !/c/.test(r) && this.Reveal.getHorizontalSlides().length === 1 && (r =
|
|
444
|
+
typeof t.slideNumber == "string" && (r = t.slideNumber), !/c/.test(r) && this.Reveal.getHorizontalSlides().length === 1 && (r = Ne);
|
|
445
445
|
let i = e && e.dataset.visibility === "uncounted" ? 0 : 1;
|
|
446
446
|
switch (n = [], r) {
|
|
447
|
-
case
|
|
447
|
+
case Ne:
|
|
448
448
|
n.push(this.Reveal.getSlidePastCount(e) + i);
|
|
449
449
|
break;
|
|
450
|
-
case
|
|
450
|
+
case Pe:
|
|
451
451
|
n.push(this.Reveal.getSlidePastCount(e) + i, "/", this.Reveal.getTotalSlides());
|
|
452
452
|
break;
|
|
453
453
|
default:
|
|
454
454
|
let t = this.Reveal.getIndices(e);
|
|
455
455
|
n.push(t.h + i);
|
|
456
|
-
let a = r ===
|
|
456
|
+
let a = r === Me ? "/" : ".";
|
|
457
457
|
this.Reveal.isVerticalSlide(e) && n.push(a, t.v + 1);
|
|
458
458
|
}
|
|
459
459
|
}
|
|
@@ -472,7 +472,7 @@ var O = u("sticky-note", [["path", {
|
|
|
472
472
|
destroy() {
|
|
473
473
|
this.element.remove();
|
|
474
474
|
}
|
|
475
|
-
},
|
|
475
|
+
}, Ie = class {
|
|
476
476
|
constructor(e) {
|
|
477
477
|
this.Reveal = e, this.onInput = this.onInput.bind(this), this.onBlur = this.onBlur.bind(this), this.onKeyDown = this.onKeyDown.bind(this);
|
|
478
478
|
}
|
|
@@ -493,7 +493,7 @@ var O = u("sticky-note", [["path", {
|
|
|
493
493
|
let e = this.jumpInput.value.trim(""), t;
|
|
494
494
|
if (/^\d+$/.test(e)) {
|
|
495
495
|
let n = this.Reveal.getConfig().slideNumber;
|
|
496
|
-
if (n ===
|
|
496
|
+
if (n === Ne || n === Pe) {
|
|
497
497
|
let n = this.Reveal.getSlides()[parseInt(e, 10) - 1];
|
|
498
498
|
n && (t = this.Reveal.getIndices(n));
|
|
499
499
|
}
|
|
@@ -525,7 +525,7 @@ var O = u("sticky-note", [["path", {
|
|
|
525
525
|
onBlur() {
|
|
526
526
|
setTimeout(() => this.hide(), 1);
|
|
527
527
|
}
|
|
528
|
-
},
|
|
528
|
+
}, H = (e) => {
|
|
529
529
|
let t = e.match(/^#([0-9a-f]{3})$/i);
|
|
530
530
|
if (t && t[1]) {
|
|
531
531
|
let e = t[1];
|
|
@@ -557,7 +557,7 @@ var O = u("sticky-note", [["path", {
|
|
|
557
557
|
b: parseInt(i[3], 10),
|
|
558
558
|
a: parseFloat(i[4])
|
|
559
559
|
} : null;
|
|
560
|
-
},
|
|
560
|
+
}, Le = (e) => (typeof e == "string" && (e = H(e)), e ? (e.r * 299 + e.g * 587 + e.b * 114) / 1e3 : null), Re = class {
|
|
561
561
|
constructor(e) {
|
|
562
562
|
this.Reveal = e;
|
|
563
563
|
}
|
|
@@ -567,7 +567,7 @@ var O = u("sticky-note", [["path", {
|
|
|
567
567
|
create() {
|
|
568
568
|
this.element.innerHTML = "", this.element.classList.add("no-transition"), this.Reveal.getHorizontalSlides().forEach((e) => {
|
|
569
569
|
let t = this.createBackground(e, this.element);
|
|
570
|
-
|
|
570
|
+
L(e, "section").forEach((e) => {
|
|
571
571
|
this.createBackground(e, t), t.classList.add("stack");
|
|
572
572
|
});
|
|
573
573
|
}), this.Reveal.getConfig().parallaxBackgroundImage ? (this.element.style.backgroundImage = "url(\"" + this.Reveal.getConfig().parallaxBackgroundImage + "\")", this.element.style.backgroundSize = this.Reveal.getConfig().parallaxBackgroundSize, this.element.style.backgroundRepeat = this.Reveal.getConfig().parallaxBackgroundRepeat, this.element.style.backgroundPosition = this.Reveal.getConfig().parallaxBackgroundPosition, setTimeout(() => {
|
|
@@ -600,13 +600,13 @@ var O = u("sticky-note", [["path", {
|
|
|
600
600
|
}
|
|
601
601
|
getContrastClass(e) {
|
|
602
602
|
let t = e.slideBackgroundElement, n = e.getAttribute("data-background-color");
|
|
603
|
-
if (!n || !
|
|
603
|
+
if (!n || !H(n)) {
|
|
604
604
|
let e = window.getComputedStyle(t);
|
|
605
605
|
e && e.backgroundColor && (n = e.backgroundColor);
|
|
606
606
|
}
|
|
607
607
|
if (n) {
|
|
608
|
-
let e =
|
|
609
|
-
if (e && e.a !== 0) return
|
|
608
|
+
let e = H(n);
|
|
609
|
+
if (e && e.a !== 0) return Le(n) < 128 ? "has-dark-background" : "has-light-background";
|
|
610
610
|
}
|
|
611
611
|
return null;
|
|
612
612
|
}
|
|
@@ -618,7 +618,7 @@ var O = u("sticky-note", [["path", {
|
|
|
618
618
|
update(e = !1) {
|
|
619
619
|
let t = this.Reveal.getConfig(), n = this.Reveal.getCurrentSlide(), r = this.Reveal.getIndices(), i = null, a = t.rtl ? "future" : "past", o = t.rtl ? "past" : "future";
|
|
620
620
|
if (Array.from(this.element.childNodes).forEach((t, n) => {
|
|
621
|
-
t.classList.remove("past", "present", "future"), n < r.h ? t.classList.add(a) : n > r.h ? t.classList.add(o) : (t.classList.add("present"), i = t), (e || n === r.h) &&
|
|
621
|
+
t.classList.remove("past", "present", "future"), n < r.h ? t.classList.add(a) : n > r.h ? t.classList.add(o) : (t.classList.add("present"), i = t), (e || n === r.h) && L(t, ".slide-background").forEach((e, t) => {
|
|
622
622
|
e.classList.remove("past", "present", "future");
|
|
623
623
|
let a = typeof r.v == "number" ? r.v : 0;
|
|
624
624
|
t < a ? e.classList.add("past") : t > a ? e.classList.add("future") : (e.classList.add("present"), n === r.h && (i = e));
|
|
@@ -662,7 +662,7 @@ var O = u("sticky-note", [["path", {
|
|
|
662
662
|
destroy() {
|
|
663
663
|
this.element.remove();
|
|
664
664
|
}
|
|
665
|
-
},
|
|
665
|
+
}, ze = 0, Be = class {
|
|
666
666
|
constructor(e) {
|
|
667
667
|
this.Reveal = e;
|
|
668
668
|
}
|
|
@@ -670,17 +670,17 @@ var O = u("sticky-note", [["path", {
|
|
|
670
670
|
this.reset();
|
|
671
671
|
let n = this.Reveal.getSlides(), r = n.indexOf(t), i = n.indexOf(e);
|
|
672
672
|
if (e && t && e.hasAttribute("data-auto-animate") && t.hasAttribute("data-auto-animate") && e.getAttribute("data-auto-animate-id") === t.getAttribute("data-auto-animate-id") && !(r > i ? t : e).hasAttribute("data-auto-animate-restart")) {
|
|
673
|
-
this.autoAnimateStyleSheet = this.autoAnimateStyleSheet ||
|
|
673
|
+
this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || _e();
|
|
674
674
|
let n = this.getAutoAnimateOptions(t);
|
|
675
675
|
e.dataset.autoAnimate = "pending", t.dataset.autoAnimate = "pending", n.slideDirection = r > i ? "forward" : "backward";
|
|
676
676
|
let a = e.style.display === "none";
|
|
677
677
|
a && (e.style.display = this.Reveal.getConfig().display);
|
|
678
|
-
let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n,
|
|
678
|
+
let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n, ze++));
|
|
679
679
|
if (a && (e.style.display = "none"), t.dataset.autoAnimateUnmatched !== "false" && this.Reveal.getConfig().autoAnimateUnmatched === !0) {
|
|
680
680
|
let e = n.duration * .8, r = n.duration * .2;
|
|
681
681
|
this.getUnmatchedAutoAnimateElements(t).forEach((e) => {
|
|
682
682
|
let t = this.getAutoAnimateOptions(e, n), r = "unmatched";
|
|
683
|
-
(t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" +
|
|
683
|
+
(t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" + ze++, o.push(`[data-auto-animate="running"] [data-auto-animate-target="${r}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)), e.dataset.autoAnimateTarget = r;
|
|
684
684
|
}, this), o.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e}s ease ${r}s; }`);
|
|
685
685
|
}
|
|
686
686
|
this.autoAnimateStyleSheet.innerHTML = o.join(""), requestAnimationFrame(() => {
|
|
@@ -696,9 +696,9 @@ var O = u("sticky-note", [["path", {
|
|
|
696
696
|
}
|
|
697
697
|
}
|
|
698
698
|
reset() {
|
|
699
|
-
|
|
699
|
+
L(this.Reveal.getRevealElement(), "[data-auto-animate]:not([data-auto-animate=\"\"])").forEach((e) => {
|
|
700
700
|
e.dataset.autoAnimate = "";
|
|
701
|
-
}),
|
|
701
|
+
}), L(this.Reveal.getRevealElement(), "[data-auto-animate-target]").forEach((e) => {
|
|
702
702
|
delete e.dataset.autoAnimateTarget;
|
|
703
703
|
}), this.autoAnimateStyleSheet && this.autoAnimateStyleSheet.parentNode && (this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet), this.autoAnimateStyleSheet = null);
|
|
704
704
|
}
|
|
@@ -739,8 +739,8 @@ var O = u("sticky-note", [["path", {
|
|
|
739
739
|
duration: this.Reveal.getConfig().autoAnimateDuration,
|
|
740
740
|
delay: 0
|
|
741
741
|
};
|
|
742
|
-
if (n =
|
|
743
|
-
let t =
|
|
742
|
+
if (n = de(n, t), e.parentNode) {
|
|
743
|
+
let t = z(e.parentNode, "[data-auto-animate-target]");
|
|
744
744
|
t && (n = this.getAutoAnimateOptions(t, n));
|
|
745
745
|
}
|
|
746
746
|
return e.dataset.autoAnimateEasing && (n.easing = e.dataset.autoAnimateEasing), e.dataset.autoAnimateDuration && (n.duration = parseFloat(e.dataset.autoAnimateDuration)), e.dataset.autoAnimateDelay && (n.delay = parseFloat(e.dataset.autoAnimateDelay)), n;
|
|
@@ -783,7 +783,7 @@ var O = u("sticky-note", [["path", {
|
|
|
783
783
|
getAutoAnimatePairs(e, t) {
|
|
784
784
|
let n = [], r = "h1, h2, h3, h4, h5, h6, p, li";
|
|
785
785
|
return this.findAutoAnimateMatches(n, e, t, "[data-id]", (e) => e.nodeName + ":::" + e.getAttribute("data-id")), this.findAutoAnimateMatches(n, e, t, r, (e) => e.nodeName + ":::" + e.textContent.trim()), this.findAutoAnimateMatches(n, e, t, "img, video, iframe", (e) => e.nodeName + ":::" + (e.getAttribute("src") || e.getAttribute("data-src"))), this.findAutoAnimateMatches(n, e, t, "pre", (e) => e.nodeName + ":::" + e.textContent.trim()), n.forEach((e) => {
|
|
786
|
-
|
|
786
|
+
me(e.from, r) ? e.options = { scale: !1 } : me(e.from, "pre") && (e.options = {
|
|
787
787
|
scale: !1,
|
|
788
788
|
styles: ["width", "height"]
|
|
789
789
|
}, this.findAutoAnimateMatches(n, e.from, e.to, ".hljs .hljs-ln-code", (e) => e.textContent, {
|
|
@@ -832,7 +832,7 @@ var O = u("sticky-note", [["path", {
|
|
|
832
832
|
return !t.hasAttribute("data-auto-animate-target") && !n && e.push(t), t.querySelector("[data-auto-animate-target]") && (e = e.concat(this.getUnmatchedAutoAnimateElements(t))), e;
|
|
833
833
|
}, []);
|
|
834
834
|
}
|
|
835
|
-
},
|
|
835
|
+
}, Ve = 500, He = 4, Ue = 6, We = 8, Ge = class {
|
|
836
836
|
constructor(e) {
|
|
837
837
|
this.Reveal = e, this.active = !1, this.activatedCallbacks = [], this.onScroll = this.onScroll.bind(this);
|
|
838
838
|
}
|
|
@@ -840,7 +840,7 @@ var O = u("sticky-note", [["path", {
|
|
|
840
840
|
if (this.active) return;
|
|
841
841
|
let e = this.Reveal.getState();
|
|
842
842
|
this.active = !0, this.slideHTMLBeforeActivation = this.Reveal.getSlidesElement().innerHTML;
|
|
843
|
-
let t =
|
|
843
|
+
let t = L(this.Reveal.getRevealElement(), De), n = L(this.Reveal.getRevealElement(), ke);
|
|
844
844
|
this.viewportElement.classList.add("loading-scroll-mode", "reveal-scroll");
|
|
845
845
|
let r, i = window.getComputedStyle(this.viewportElement);
|
|
846
846
|
i && i.background && (r = i.background);
|
|
@@ -862,7 +862,7 @@ var O = u("sticky-note", [["path", {
|
|
|
862
862
|
this.Reveal.isVerticalStack(e) ? e.querySelectorAll("section").forEach((e, n) => {
|
|
863
863
|
c(e, t, n, !0);
|
|
864
864
|
}) : c(e, t, 0);
|
|
865
|
-
}, this), this.createProgressBar(),
|
|
865
|
+
}, this), this.createProgressBar(), L(this.Reveal.getRevealElement(), ".stack").forEach((e) => e.remove()), a.forEach((e) => o.appendChild(e)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.layout(), this.Reveal.setState(e), this.activatedCallbacks.forEach((e) => e()), this.activatedCallbacks = [], this.restoreScrollPosition(), this.viewportElement.classList.remove("loading-scroll-mode"), this.viewportElement.addEventListener("scroll", this.onScroll, { passive: !0 });
|
|
866
866
|
}
|
|
867
867
|
deactivate() {
|
|
868
868
|
if (!this.active) return;
|
|
@@ -963,9 +963,9 @@ var O = u("sticky-note", [["path", {
|
|
|
963
963
|
syncProgressBar() {
|
|
964
964
|
this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach((e) => e.remove());
|
|
965
965
|
let e = this.viewportElement.scrollHeight, t = this.viewportElement.offsetHeight, n = t / e;
|
|
966
|
-
this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight,
|
|
967
|
-
let r = t / e * this.progressBarHeight, i = Math.min(r / 8,
|
|
968
|
-
this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r >
|
|
966
|
+
this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight, We), this.progressBarScrollableHeight = this.progressBarHeight - this.playheadHeight;
|
|
967
|
+
let r = t / e * this.progressBarHeight, i = Math.min(r / 8, He);
|
|
968
|
+
this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r > Ue ? this.slideTriggers.forEach((e) => {
|
|
969
969
|
let { page: t } = e;
|
|
970
970
|
t.progressBarSlide = document.createElement("div"), t.progressBarSlide.className = "scrollbar-slide", t.progressBarSlide.style.top = e.range[0] * this.progressBarHeight + "px", t.progressBarSlide.style.height = (e.range[1] - e.range[0]) * this.progressBarHeight - i + "px", t.progressBarSlide.classList.toggle("has-triggers", t.scrollTriggers.length > 0), this.progressBarInner.appendChild(t.progressBarSlide), t.scrollTriggerElements = t.scrollTriggers.map((n, r) => {
|
|
971
971
|
let a = document.createElement("div");
|
|
@@ -992,7 +992,7 @@ var O = u("sticky-note", [["path", {
|
|
|
992
992
|
showProgressBar() {
|
|
993
993
|
this.progressBar.classList.add("visible"), clearTimeout(this.hideProgressBarTimeout), this.Reveal.getConfig().scrollProgress === "auto" && !this.draggingProgressBar && (this.hideProgressBarTimeout = setTimeout(() => {
|
|
994
994
|
this.progressBar && this.progressBar.classList.remove("visible");
|
|
995
|
-
},
|
|
995
|
+
}, Ve));
|
|
996
996
|
}
|
|
997
997
|
prev() {
|
|
998
998
|
this.viewportElement.scrollTop -= this.scrollTriggerHeight;
|
|
@@ -1050,14 +1050,14 @@ var O = u("sticky-note", [["path", {
|
|
|
1050
1050
|
get viewportElement() {
|
|
1051
1051
|
return this.Reveal.getViewportElement();
|
|
1052
1052
|
}
|
|
1053
|
-
},
|
|
1053
|
+
}, Ke = class {
|
|
1054
1054
|
constructor(e) {
|
|
1055
1055
|
this.Reveal = e;
|
|
1056
1056
|
}
|
|
1057
1057
|
activate() {
|
|
1058
|
-
return
|
|
1059
|
-
let e = this.Reveal.getConfig(), t =
|
|
1060
|
-
yield new Promise(requestAnimationFrame),
|
|
1058
|
+
return ue(this, null, function* () {
|
|
1059
|
+
let e = this.Reveal.getConfig(), t = L(this.Reveal.getRevealElement(), Ee), n = e.slideNumber && /all|print/i.test(e.showSlideNumber), r = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), i = Math.floor(r.width * (1 + e.margin)), a = Math.floor(r.height * (1 + e.margin)), o = r.width, s = r.height;
|
|
1060
|
+
yield new Promise(requestAnimationFrame), _e("@page{size:" + i + "px " + a + "px; margin: 0px;}"), _e(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + o + "px; max-height:" + s + "px}"), document.documentElement.classList.add("reveal-print", "print-pdf"), document.body.style.width = i + "px", document.body.style.height = a + "px";
|
|
1061
1061
|
let c = this.Reveal.getViewportElement(), l;
|
|
1062
1062
|
if (c) {
|
|
1063
1063
|
let e = window.getComputedStyle(c);
|
|
@@ -1100,7 +1100,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1100
1100
|
e.classList.remove("visible", "current-fragment");
|
|
1101
1101
|
});
|
|
1102
1102
|
});
|
|
1103
|
-
} else
|
|
1103
|
+
} else L(g, ".fragment:not(.fade-out)").forEach(function(e) {
|
|
1104
1104
|
e.classList.add("visible");
|
|
1105
1105
|
});
|
|
1106
1106
|
}
|
|
@@ -1110,7 +1110,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1110
1110
|
isActive() {
|
|
1111
1111
|
return this.Reveal.getConfig().view === "print";
|
|
1112
1112
|
}
|
|
1113
|
-
},
|
|
1113
|
+
}, qe = class {
|
|
1114
1114
|
constructor(e) {
|
|
1115
1115
|
this.Reveal = e;
|
|
1116
1116
|
}
|
|
@@ -1118,12 +1118,12 @@ var O = u("sticky-note", [["path", {
|
|
|
1118
1118
|
e.fragments === !1 ? this.disable() : t.fragments === !1 && this.enable();
|
|
1119
1119
|
}
|
|
1120
1120
|
disable() {
|
|
1121
|
-
|
|
1121
|
+
L(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
|
|
1122
1122
|
e.classList.add("visible"), e.classList.remove("current-fragment");
|
|
1123
1123
|
});
|
|
1124
1124
|
}
|
|
1125
1125
|
enable() {
|
|
1126
|
-
|
|
1126
|
+
L(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
|
|
1127
1127
|
e.classList.remove("visible"), e.classList.remove("current-fragment");
|
|
1128
1128
|
});
|
|
1129
1129
|
}
|
|
@@ -1159,7 +1159,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1159
1159
|
}
|
|
1160
1160
|
sortAll() {
|
|
1161
1161
|
this.Reveal.getHorizontalSlides().forEach((e) => {
|
|
1162
|
-
let t =
|
|
1162
|
+
let t = L(e, "section");
|
|
1163
1163
|
t.forEach((e, t) => {
|
|
1164
1164
|
this.sort(e.querySelectorAll(".fragment"));
|
|
1165
1165
|
}, this), t.length === 0 && this.sort(e.querySelectorAll(".fragment"));
|
|
@@ -1233,13 +1233,13 @@ var O = u("sticky-note", [["path", {
|
|
|
1233
1233
|
prev() {
|
|
1234
1234
|
return this.goto(null, -1);
|
|
1235
1235
|
}
|
|
1236
|
-
},
|
|
1236
|
+
}, Je = class {
|
|
1237
1237
|
constructor(e) {
|
|
1238
1238
|
this.Reveal = e, this.active = !1, this.onSlideClicked = this.onSlideClicked.bind(this);
|
|
1239
1239
|
}
|
|
1240
1240
|
activate() {
|
|
1241
1241
|
if (this.Reveal.getConfig().overview && !this.Reveal.isScrollView() && !this.isActive()) {
|
|
1242
|
-
this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),
|
|
1242
|
+
this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()), L(this.Reveal.getRevealElement(), Ee).forEach((e) => {
|
|
1243
1243
|
e.classList.contains("stack") || e.addEventListener("click", this.onSlideClicked, !0);
|
|
1244
1244
|
});
|
|
1245
1245
|
let e = this.Reveal.getComputedSlideSize();
|
|
@@ -1257,12 +1257,12 @@ var O = u("sticky-note", [["path", {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
layout() {
|
|
1259
1259
|
this.Reveal.getHorizontalSlides().forEach((e, t) => {
|
|
1260
|
-
e.setAttribute("data-index-h", t),
|
|
1261
|
-
e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", n),
|
|
1260
|
+
e.setAttribute("data-index-h", t), R(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), e.classList.contains("stack") && L(e, "section").forEach((e, n) => {
|
|
1261
|
+
e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", n), R(e, "translate3d(0, " + n * this.overviewSlideHeight + "px, 0)");
|
|
1262
1262
|
});
|
|
1263
1263
|
}), Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e, t) => {
|
|
1264
|
-
|
|
1265
|
-
|
|
1264
|
+
R(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), L(e, ".slide-background").forEach((e, t) => {
|
|
1265
|
+
R(e, "translate3d(0, " + t * this.overviewSlideHeight + "px, 0)");
|
|
1266
1266
|
});
|
|
1267
1267
|
});
|
|
1268
1268
|
}
|
|
@@ -1278,10 +1278,10 @@ var O = u("sticky-note", [["path", {
|
|
|
1278
1278
|
if (this.Reveal.getConfig().overview) {
|
|
1279
1279
|
this.active = !1, this.Reveal.getRevealElement().classList.remove("overview"), this.Reveal.getRevealElement().classList.add("overview-deactivating"), setTimeout(() => {
|
|
1280
1280
|
this.Reveal.getRevealElement().classList.remove("overview-deactivating");
|
|
1281
|
-
}, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),
|
|
1282
|
-
|
|
1283
|
-
}),
|
|
1284
|
-
|
|
1281
|
+
}, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), L(this.Reveal.getRevealElement(), Ee).forEach((e) => {
|
|
1282
|
+
R(e, ""), e.removeEventListener("click", this.onSlideClicked, !0);
|
|
1283
|
+
}), L(this.Reveal.getBackgroundsElement(), ".slide-background").forEach((e) => {
|
|
1284
|
+
R(e, "");
|
|
1285
1285
|
}), this.Reveal.transformSlides({ overview: "" });
|
|
1286
1286
|
let e = this.Reveal.getIndices();
|
|
1287
1287
|
this.Reveal.slide(e.h, e.v), this.Reveal.layout(), this.Reveal.cueAutoSlide(), this.Reveal.dispatchEvent({
|
|
@@ -1311,7 +1311,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1311
1311
|
}
|
|
1312
1312
|
}
|
|
1313
1313
|
}
|
|
1314
|
-
},
|
|
1314
|
+
}, Ye = class {
|
|
1315
1315
|
constructor(e) {
|
|
1316
1316
|
this.Reveal = e, this.shortcuts = {}, this.bindings = {}, this.onDocumentKeyDown = this.onDocumentKeyDown.bind(this);
|
|
1317
1317
|
}
|
|
@@ -1401,11 +1401,11 @@ var O = u("sticky-note", [["path", {
|
|
|
1401
1401
|
66,
|
|
1402
1402
|
86,
|
|
1403
1403
|
190
|
|
1404
|
-
].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ?
|
|
1404
|
+
].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ? he(t.embedded ? this.Reveal.getViewportElement() : document.documentElement) : n === 65 ? t.autoSlideStoppable && this.Reveal.toggleAutoSlide(r) : n === 71 ? t.jumpToSlide && this.Reveal.toggleJumpToSlide() : n === 67 && this.Reveal.isOverlayOpen() ? this.Reveal.closeOverlay() : (n === 63 || n === 191) && e.shiftKey || n === 112 ? this.Reveal.toggleHelp() : d = !1), d ? e.preventDefault && e.preventDefault() : n === 27 || n === 79 ? (this.Reveal.closeOverlay() === !1 && this.Reveal.overview.toggle(), e.preventDefault && e.preventDefault()) : n === 13 && this.Reveal.overview.isActive() && (this.Reveal.overview.deactivate(), e.preventDefault && e.preventDefault()), this.Reveal.cueAutoSlide();
|
|
1405
1405
|
}
|
|
1406
|
-
},
|
|
1406
|
+
}, Xe = class {
|
|
1407
1407
|
constructor(e) {
|
|
1408
|
-
|
|
1408
|
+
le(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
|
|
1409
1409
|
}
|
|
1410
1410
|
bind() {
|
|
1411
1411
|
window.addEventListener("hashchange", this.onWindowHashChange, !1);
|
|
@@ -1422,7 +1422,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1422
1422
|
let t = decodeURIComponent(n);
|
|
1423
1423
|
e = (document.getElementById(t) || document.querySelector(`[data-id="${t}"]`)).closest(".slides section");
|
|
1424
1424
|
} catch {}
|
|
1425
|
-
if (e) return
|
|
1425
|
+
if (e) return ce(se({}, this.Reveal.getIndices(e)), { f: t });
|
|
1426
1426
|
} else {
|
|
1427
1427
|
let e = this.Reveal.getConfig(), n = e.hashOneBasedIndex || t.oneBasedIndex ? 1 : 0, i = parseInt(r[0], 10) - n || 0, a = parseInt(r[1], 10) - n || 0, o;
|
|
1428
1428
|
return e.fragmentInURL && (o = parseInt(r[2], 10), isNaN(o) && (o = void 0)), {
|
|
@@ -1465,7 +1465,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1465
1465
|
onWindowHashChange(e) {
|
|
1466
1466
|
this.readURL();
|
|
1467
1467
|
}
|
|
1468
|
-
},
|
|
1468
|
+
}, Ze = class {
|
|
1469
1469
|
constructor(e) {
|
|
1470
1470
|
this.Reveal = e, this.onNavigateLeftClicked = this.onNavigateLeftClicked.bind(this), this.onNavigateRightClicked = this.onNavigateRightClicked.bind(this), this.onNavigateUpClicked = this.onNavigateUpClicked.bind(this), this.onNavigateDownClicked = this.onNavigateDownClicked.bind(this), this.onNavigatePrevClicked = this.onNavigatePrevClicked.bind(this), this.onNavigateNextClicked = this.onNavigateNextClicked.bind(this), this.onEnterFullscreen = this.onEnterFullscreen.bind(this);
|
|
1471
1471
|
}
|
|
@@ -1474,7 +1474,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1474
1474
|
this.element = document.createElement("aside"), this.element.className = "controls", this.element.innerHTML = `<button class="navigate-left" aria-label="${e ? "next slide" : "previous slide"}"><div class="controls-arrow"></div></button>
|
|
1475
1475
|
<button class="navigate-right" aria-label="${e ? "previous slide" : "next slide"}"><div class="controls-arrow"></div></button>
|
|
1476
1476
|
<button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>
|
|
1477
|
-
<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft =
|
|
1477
|
+
<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = L(t, ".navigate-left"), this.controlsRight = L(t, ".navigate-right"), this.controlsUp = L(t, ".navigate-up"), this.controlsDown = L(t, ".navigate-down"), this.controlsPrev = L(t, ".navigate-prev"), this.controlsNext = L(t, ".navigate-next"), this.controlsFullscreen = L(t, ".enter-fullscreen"), this.controlsRightArrow = this.element.querySelector(".navigate-right"), this.controlsLeftArrow = this.element.querySelector(".navigate-left"), this.controlsDownArrow = this.element.querySelector(".navigate-down");
|
|
1478
1478
|
}
|
|
1479
1479
|
configure(e, t) {
|
|
1480
1480
|
let n = e.controls === "speaker" || e.controls === "speaker-only";
|
|
@@ -1482,7 +1482,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1482
1482
|
}
|
|
1483
1483
|
bind() {
|
|
1484
1484
|
let e = ["touchstart", "click"];
|
|
1485
|
-
|
|
1485
|
+
we && (e = ["touchend"]), e.forEach((e) => {
|
|
1486
1486
|
this.controlsLeft.forEach((t) => t.addEventListener(e, this.onNavigateLeftClicked, !1)), this.controlsRight.forEach((t) => t.addEventListener(e, this.onNavigateRightClicked, !1)), this.controlsUp.forEach((t) => t.addEventListener(e, this.onNavigateUpClicked, !1)), this.controlsDown.forEach((t) => t.addEventListener(e, this.onNavigateDownClicked, !1)), this.controlsPrev.forEach((t) => t.addEventListener(e, this.onNavigatePrevClicked, !1)), this.controlsNext.forEach((t) => t.addEventListener(e, this.onNavigateNextClicked, !1)), this.controlsFullscreen.forEach((t) => t.addEventListener(e, this.onEnterFullscreen, !1));
|
|
1487
1487
|
});
|
|
1488
1488
|
}
|
|
@@ -1566,9 +1566,9 @@ var O = u("sticky-note", [["path", {
|
|
|
1566
1566
|
}
|
|
1567
1567
|
onEnterFullscreen(e) {
|
|
1568
1568
|
let t = this.Reveal.getConfig(), n = this.Reveal.getViewportElement();
|
|
1569
|
-
|
|
1569
|
+
he(t.embedded ? n : n.parentElement);
|
|
1570
1570
|
}
|
|
1571
|
-
},
|
|
1571
|
+
}, Qe = class {
|
|
1572
1572
|
constructor(e) {
|
|
1573
1573
|
this.Reveal = e, this.onProgressClicked = this.onProgressClicked.bind(this);
|
|
1574
1574
|
}
|
|
@@ -1603,7 +1603,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1603
1603
|
destroy() {
|
|
1604
1604
|
this.element.remove();
|
|
1605
1605
|
}
|
|
1606
|
-
},
|
|
1606
|
+
}, $e = class {
|
|
1607
1607
|
constructor(e) {
|
|
1608
1608
|
this.Reveal = e, this.lastMouseWheelStep = 0, this.cursorHidden = !1, this.cursorInactiveTimeout = 0, this.onDocumentCursorActive = this.onDocumentCursorActive.bind(this), this.onDocumentMouseScroll = this.onDocumentMouseScroll.bind(this);
|
|
1609
1609
|
}
|
|
@@ -1629,7 +1629,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1629
1629
|
t > 0 ? this.Reveal.next() : t < 0 && this.Reveal.prev();
|
|
1630
1630
|
}
|
|
1631
1631
|
}
|
|
1632
|
-
},
|
|
1632
|
+
}, et = (e, t) => {
|
|
1633
1633
|
let n = document.createElement("script");
|
|
1634
1634
|
n.type = "text/javascript", n.async = !1, n.defer = !1, n.src = e, typeof t == "function" && (n.onload = (e) => {
|
|
1635
1635
|
e.type === "load" && (n.onload = n.onerror = null, t());
|
|
@@ -1638,7 +1638,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1638
1638
|
});
|
|
1639
1639
|
let r = document.querySelector("head");
|
|
1640
1640
|
r && r.insertBefore(n, r.lastChild);
|
|
1641
|
-
},
|
|
1641
|
+
}, tt = class {
|
|
1642
1642
|
constructor(e) {
|
|
1643
1643
|
this.Reveal = e, this.state = "idle", this.registeredPlugins = {}, this.asyncDependencies = [];
|
|
1644
1644
|
}
|
|
@@ -1653,7 +1653,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1653
1653
|
t && typeof t.callback == "function" && t.callback(), --r === 0 && this.initPlugins().then(e);
|
|
1654
1654
|
};
|
|
1655
1655
|
n.forEach((e) => {
|
|
1656
|
-
typeof e.id == "string" ? (this.registerPlugin(e), t(e)) : typeof e.src == "string" ?
|
|
1656
|
+
typeof e.id == "string" ? (this.registerPlugin(e), t(e)) : typeof e.src == "string" ? et(e.src, () => t(e)) : (console.warn("Unrecognized plugin format", e), t());
|
|
1657
1657
|
});
|
|
1658
1658
|
} else this.initPlugins().then(e);
|
|
1659
1659
|
});
|
|
@@ -1678,7 +1678,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1678
1678
|
}
|
|
1679
1679
|
loadAsync() {
|
|
1680
1680
|
return this.state = "loaded", this.asyncDependencies.length && this.asyncDependencies.forEach((e) => {
|
|
1681
|
-
|
|
1681
|
+
et(e.src, e.callback);
|
|
1682
1682
|
}), Promise.resolve();
|
|
1683
1683
|
}
|
|
1684
1684
|
registerPlugin(e) {
|
|
@@ -1700,7 +1700,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1700
1700
|
typeof e.destroy == "function" && e.destroy();
|
|
1701
1701
|
}), this.registeredPlugins = {}, this.asyncDependencies = [];
|
|
1702
1702
|
}
|
|
1703
|
-
},
|
|
1703
|
+
}, nt = class {
|
|
1704
1704
|
constructor(e) {
|
|
1705
1705
|
this.Reveal = e, this.onSlidesClicked = this.onSlidesClicked.bind(this), this.iframeTriggerSelector = null, this.mediaTriggerSelector = "[data-preview-image], [data-preview-video]", this.stateProps = [
|
|
1706
1706
|
"previewIframe",
|
|
@@ -1844,7 +1844,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1844
1844
|
destroy() {
|
|
1845
1845
|
this.close();
|
|
1846
1846
|
}
|
|
1847
|
-
},
|
|
1847
|
+
}, rt = 40, it = class {
|
|
1848
1848
|
constructor(e) {
|
|
1849
1849
|
this.Reveal = e, this.touchStartX = 0, this.touchStartY = 0, this.touchStartCount = 0, this.touchCaptured = !1, this.onPointerDown = this.onPointerDown.bind(this), this.onPointerMove = this.onPointerMove.bind(this), this.onPointerUp = this.onPointerUp.bind(this), this.onTouchStart = this.onTouchStart.bind(this), this.onTouchMove = this.onTouchMove.bind(this), this.onTouchEnd = this.onTouchEnd.bind(this);
|
|
1850
1850
|
}
|
|
@@ -1857,7 +1857,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1857
1857
|
e.removeEventListener("pointerdown", this.onPointerDown, !1), e.removeEventListener("pointermove", this.onPointerMove, !1), e.removeEventListener("pointerup", this.onPointerUp, !1), e.removeEventListener("MSPointerDown", this.onPointerDown, !1), e.removeEventListener("MSPointerMove", this.onPointerMove, !1), e.removeEventListener("MSPointerUp", this.onPointerUp, !1), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1);
|
|
1858
1858
|
}
|
|
1859
1859
|
isSwipePrevented(e) {
|
|
1860
|
-
if (
|
|
1860
|
+
if (me(e, "video[controls], audio[controls]")) return !0;
|
|
1861
1861
|
for (; e && typeof e.hasAttribute == "function";) {
|
|
1862
1862
|
if (e.hasAttribute("data-prevent-swipe")) return !0;
|
|
1863
1863
|
e = e.parentNode;
|
|
@@ -1871,13 +1871,13 @@ var O = u("sticky-note", [["path", {
|
|
|
1871
1871
|
onTouchMove(e) {
|
|
1872
1872
|
if (this.isSwipePrevented(e.target)) return !0;
|
|
1873
1873
|
let t = this.Reveal.getConfig();
|
|
1874
|
-
if (this.touchCaptured)
|
|
1874
|
+
if (this.touchCaptured) we && e.preventDefault();
|
|
1875
1875
|
else {
|
|
1876
1876
|
this.Reveal.onUserInput(e);
|
|
1877
1877
|
let n = e.touches[0].clientX, r = e.touches[0].clientY;
|
|
1878
1878
|
if (e.touches.length === 1 && this.touchStartCount !== 2) {
|
|
1879
1879
|
let i = this.Reveal.availableRoutes({ includeFragments: !0 }), a = n - this.touchStartX, o = r - this.touchStartY;
|
|
1880
|
-
a >
|
|
1880
|
+
a > rt && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, t.navigationMode === "linear" ? t.rtl ? this.Reveal.next() : this.Reveal.prev() : this.Reveal.left()) : a < -40 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, t.navigationMode === "linear" ? t.rtl ? this.Reveal.prev() : this.Reveal.next() : this.Reveal.right()) : o > rt && i.up ? (this.touchCaptured = !0, t.navigationMode === "linear" ? this.Reveal.prev() : this.Reveal.up()) : o < -40 && i.down && (this.touchCaptured = !0, t.navigationMode === "linear" ? this.Reveal.next() : this.Reveal.down()), t.embedded ? (this.touchCaptured || this.Reveal.isVerticalSlide()) && e.preventDefault() : e.preventDefault();
|
|
1881
1881
|
}
|
|
1882
1882
|
}
|
|
1883
1883
|
}
|
|
@@ -1902,7 +1902,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1902
1902
|
clientY: e.clientY
|
|
1903
1903
|
}], this.onTouchEnd(e));
|
|
1904
1904
|
}
|
|
1905
|
-
},
|
|
1905
|
+
}, at = "focus", ot = "blur", st = class {
|
|
1906
1906
|
constructor(e) {
|
|
1907
1907
|
this.Reveal = e, this.onRevealPointerDown = this.onRevealPointerDown.bind(this), this.onDocumentPointerDown = this.onDocumentPointerDown.bind(this);
|
|
1908
1908
|
}
|
|
@@ -1916,13 +1916,13 @@ var O = u("sticky-note", [["path", {
|
|
|
1916
1916
|
this.Reveal.getRevealElement().removeEventListener("pointerdown", this.onRevealPointerDown, !1), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1);
|
|
1917
1917
|
}
|
|
1918
1918
|
focus() {
|
|
1919
|
-
this.state !==
|
|
1919
|
+
this.state !== at && (this.Reveal.getRevealElement().classList.add("focused"), document.addEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = at;
|
|
1920
1920
|
}
|
|
1921
1921
|
blur() {
|
|
1922
|
-
this.state !==
|
|
1922
|
+
this.state !== ot && (this.Reveal.getRevealElement().classList.remove("focused"), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = ot;
|
|
1923
1923
|
}
|
|
1924
1924
|
isFocused() {
|
|
1925
|
-
return this.state ===
|
|
1925
|
+
return this.state === at;
|
|
1926
1926
|
}
|
|
1927
1927
|
destroy() {
|
|
1928
1928
|
this.Reveal.getRevealElement().classList.remove("focused");
|
|
@@ -1931,10 +1931,10 @@ var O = u("sticky-note", [["path", {
|
|
|
1931
1931
|
this.focus();
|
|
1932
1932
|
}
|
|
1933
1933
|
onDocumentPointerDown(e) {
|
|
1934
|
-
let t =
|
|
1934
|
+
let t = z(e.target, ".reveal");
|
|
1935
1935
|
(!t || t !== this.Reveal.getRevealElement()) && this.blur();
|
|
1936
1936
|
}
|
|
1937
|
-
},
|
|
1937
|
+
}, ct = class {
|
|
1938
1938
|
constructor(e) {
|
|
1939
1939
|
this.Reveal = e;
|
|
1940
1940
|
}
|
|
@@ -1964,7 +1964,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1964
1964
|
destroy() {
|
|
1965
1965
|
this.element.remove();
|
|
1966
1966
|
}
|
|
1967
|
-
},
|
|
1967
|
+
}, lt = class {
|
|
1968
1968
|
constructor(e, t) {
|
|
1969
1969
|
this.diameter = 100, this.diameter2 = this.diameter / 2, this.thickness = 6, this.playing = !1, this.progress = 0, this.progressOffset = 1, this.container = e, this.progressCheck = t, this.canvas = document.createElement("canvas"), this.canvas.className = "playback", this.canvas.width = this.diameter, this.canvas.height = this.diameter, this.canvas.style.width = this.diameter2 + "px", this.canvas.style.height = this.diameter2 + "px", this.context = this.canvas.getContext("2d"), this.container.appendChild(this.canvas), this.render();
|
|
1970
1970
|
}
|
|
@@ -1991,7 +1991,7 @@ var O = u("sticky-note", [["path", {
|
|
|
1991
1991
|
destroy() {
|
|
1992
1992
|
this.playing = !1, this.canvas.parentNode && this.container.removeChild(this.canvas);
|
|
1993
1993
|
}
|
|
1994
|
-
},
|
|
1994
|
+
}, ut = {
|
|
1995
1995
|
width: 960,
|
|
1996
1996
|
height: 700,
|
|
1997
1997
|
margin: .04,
|
|
@@ -2081,8 +2081,8 @@ var O = u("sticky-note", [["path", {
|
|
|
2081
2081
|
pdfPageHeightOffset: -1,
|
|
2082
2082
|
dependencies: [],
|
|
2083
2083
|
plugins: []
|
|
2084
|
-
},
|
|
2085
|
-
function
|
|
2084
|
+
}, dt = "6.0.0";
|
|
2085
|
+
function ft(e, t) {
|
|
2086
2086
|
arguments.length < 2 && (t = arguments[0], e = document.querySelector(".reveal"));
|
|
2087
2087
|
let n = {}, r = {}, i = !1, a = !1, o, s, c, l, u = {
|
|
2088
2088
|
hasNavigatedHorizontally: !1,
|
|
@@ -2090,19 +2090,19 @@ function it(e, t) {
|
|
|
2090
2090
|
}, d = [], f = 1, p = {
|
|
2091
2091
|
layout: "",
|
|
2092
2092
|
overview: ""
|
|
2093
|
-
}, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new
|
|
2094
|
-
function
|
|
2093
|
+
}, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new Te(n), S = new Fe(n), C = new Ie(n), w = new Be(n), T = new Re(n), E = new Ge(n), D = new Ke(n), O = new qe(n), k = new Je(n), A = new Ye(n), j = new Xe(n), ee = new Ze(n), M = new Qe(n), N = new $e(n), P = new tt(n), F = new nt(n), te = new st(n), ne = new it(n), I = new ct(n);
|
|
2094
|
+
function re(a) {
|
|
2095
2095
|
if (!e) throw "Unable to find presentation root (<div class=\"reveal\">).";
|
|
2096
2096
|
if (i) throw "Reveal.js has already been initialized.";
|
|
2097
2097
|
if (i = !0, m.wrapper = e, m.slides = e.querySelector(".slides"), !m.slides) throw "Unable to find slides container (<div class=\"slides\">).";
|
|
2098
|
-
return r =
|
|
2098
|
+
return r = se(se(se(se(se({}, ut), r), t), a), ve()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), ie(), window.addEventListener("load", Ve, !1), P.load(r.plugins, r.dependencies).then(ae), new Promise((e) => n.on("ready", e));
|
|
2099
2099
|
}
|
|
2100
|
-
function
|
|
2101
|
-
r.embedded === !0 ? m.viewport =
|
|
2100
|
+
function ie() {
|
|
2101
|
+
r.embedded === !0 ? m.viewport = z(e, ".reveal-viewport") || e : (m.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), m.viewport.classList.add("reveal-viewport");
|
|
2102
2102
|
}
|
|
2103
|
-
function
|
|
2104
|
-
i !== !1 && (a = !0,
|
|
2105
|
-
m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"),
|
|
2103
|
+
function ae() {
|
|
2104
|
+
i !== !1 && (a = !0, le(), ue(), Se(), be(), xe(), wt(), we(), T.update(!0), oe(), j.readURL(), setTimeout(() => {
|
|
2105
|
+
m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"), H({
|
|
2106
2106
|
type: "ready",
|
|
2107
2107
|
data: {
|
|
2108
2108
|
indexh: o,
|
|
@@ -2112,24 +2112,24 @@ function it(e, t) {
|
|
|
2112
2112
|
});
|
|
2113
2113
|
}, 1));
|
|
2114
2114
|
}
|
|
2115
|
-
function
|
|
2115
|
+
function oe() {
|
|
2116
2116
|
let e = r.view === "print", t = r.view === "scroll" || r.view === "reader";
|
|
2117
|
-
(e || t) && (e ?
|
|
2117
|
+
(e || t) && (e ? ke() : ne.unbind(), m.viewport.classList.add("loading-scroll-mode"), e ? document.readyState === "complete" ? D.activate() : window.addEventListener("load", () => D.activate()) : E.activate());
|
|
2118
2118
|
}
|
|
2119
|
-
function
|
|
2120
|
-
r.showHiddenSlides ||
|
|
2119
|
+
function le() {
|
|
2120
|
+
r.showHiddenSlides || L(m.wrapper, "section[data-visibility=\"hidden\"]").forEach((e) => {
|
|
2121
2121
|
let t = e.parentNode;
|
|
2122
2122
|
t.childElementCount === 1 && /section/i.test(t.nodeName) ? t.remove() : e.remove();
|
|
2123
2123
|
});
|
|
2124
2124
|
}
|
|
2125
|
-
function
|
|
2126
|
-
m.slides.classList.add("no-transition"),
|
|
2125
|
+
function ue() {
|
|
2126
|
+
m.slides.classList.add("no-transition"), Ce ? m.wrapper.classList.add("no-hover") : m.wrapper.classList.remove("no-hover"), T.render(), S.render(), C.render(), ee.render(), M.render(), I.render(), m.pauseOverlay = ge(m.wrapper, "div", "pause-overlay", r.controls ? "<button class=\"resume-button\">Resume presentation</button>" : null), m.statusElement = me(), m.wrapper.setAttribute("role", "application");
|
|
2127
2127
|
}
|
|
2128
|
-
function
|
|
2128
|
+
function me() {
|
|
2129
2129
|
let e = m.wrapper.querySelector(".aria-status");
|
|
2130
2130
|
return e || (e = document.createElement("div"), e.style.position = "absolute", e.style.height = "1px", e.style.width = "1px", e.style.overflow = "hidden", e.style.clip = "rect( 1px, 1px, 1px, 1px )", e.classList.add("aria-status"), e.setAttribute("aria-live", "polite"), e.setAttribute("aria-atomic", "true"), m.wrapper.appendChild(e)), e;
|
|
2131
2131
|
}
|
|
2132
|
-
function
|
|
2132
|
+
function he(e) {
|
|
2133
2133
|
m.statusElement.textContent = e;
|
|
2134
2134
|
}
|
|
2135
2135
|
function _e(e) {
|
|
@@ -2140,7 +2140,7 @@ function it(e, t) {
|
|
|
2140
2140
|
if (n !== "true" && !r) {
|
|
2141
2141
|
if (e.tagName === "IMG" || e.tagName === "VIDEO") {
|
|
2142
2142
|
let n = e.getAttribute("alt");
|
|
2143
|
-
n && (t +=
|
|
2143
|
+
n && (t += ye(n));
|
|
2144
2144
|
}
|
|
2145
2145
|
Array.from(e.childNodes).forEach((e) => {
|
|
2146
2146
|
t += _e(e);
|
|
@@ -2157,58 +2157,58 @@ function it(e, t) {
|
|
|
2157
2157
|
"H5",
|
|
2158
2158
|
"H6",
|
|
2159
2159
|
"BLOCKQUOTE"
|
|
2160
|
-
].includes(e.tagName) && t.trim() !== "" && (t =
|
|
2160
|
+
].includes(e.tagName) && t.trim() !== "" && (t = ye(t));
|
|
2161
2161
|
}
|
|
2162
2162
|
}
|
|
2163
2163
|
return t = t.trim(), t === "" ? "" : t + " ";
|
|
2164
2164
|
}
|
|
2165
|
-
function
|
|
2165
|
+
function ye(e) {
|
|
2166
2166
|
let t = e.trim();
|
|
2167
2167
|
return t === "" ? e : /[.!?]$/.test(t) ? t : t + ".";
|
|
2168
2168
|
}
|
|
2169
|
-
function
|
|
2169
|
+
function be() {
|
|
2170
2170
|
setInterval(() => {
|
|
2171
2171
|
(!E.isActive() && m.wrapper.scrollTop !== 0 || m.wrapper.scrollLeft !== 0) && (m.wrapper.scrollTop = 0, m.wrapper.scrollLeft = 0);
|
|
2172
2172
|
}, 1e3);
|
|
2173
2173
|
}
|
|
2174
|
-
function
|
|
2174
|
+
function xe() {
|
|
2175
2175
|
document.addEventListener("fullscreenchange", an), document.addEventListener("webkitfullscreenchange", an);
|
|
2176
2176
|
}
|
|
2177
|
-
function
|
|
2177
|
+
function Se() {
|
|
2178
2178
|
r.postMessage && window.addEventListener("message", $t, !1);
|
|
2179
2179
|
}
|
|
2180
|
-
function
|
|
2181
|
-
let t =
|
|
2182
|
-
if (typeof e == "object" &&
|
|
2183
|
-
let i = m.wrapper.querySelectorAll(
|
|
2184
|
-
m.wrapper.classList.remove(t.transition), m.wrapper.classList.add(r.transition), m.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), m.wrapper.setAttribute("data-background-transition", r.backgroundTransition), m.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), m.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle &&
|
|
2180
|
+
function we(e) {
|
|
2181
|
+
let t = se({}, r);
|
|
2182
|
+
if (typeof e == "object" && de(r, e), n.isReady() === !1) return;
|
|
2183
|
+
let i = m.wrapper.querySelectorAll(Ee).length;
|
|
2184
|
+
m.wrapper.classList.remove(t.transition), m.wrapper.classList.add(r.transition), m.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), m.wrapper.setAttribute("data-background-transition", r.backgroundTransition), m.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), m.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && Tt(), fe(m.wrapper, "embedded", r.embedded), fe(m.wrapper, "rtl", r.rtl), fe(m.wrapper, "center", r.center), r.pause === !1 && mt(), w.reset(), _ &&= (_.destroy(), null), i > 1 && r.autoSlide && r.autoSlideStoppable && (_ = new lt(m.wrapper, () => Math.min(Math.max((Date.now() - y) / g, 0), 1)), _.on("click", on), b = !1), r.navigationMode === "default" ? m.wrapper.removeAttribute("data-navigation-mode") : m.wrapper.setAttribute("data-navigation-mode", r.navigationMode), I.configure(r, t), te.configure(r, t), N.configure(r, t), ee.configure(r, t), M.configure(r, t), A.configure(r, t), O.configure(r, t), S.configure(r, t), St();
|
|
2185
2185
|
}
|
|
2186
|
-
function
|
|
2187
|
-
window.addEventListener("resize", nn, !1), r.touch &&
|
|
2186
|
+
function V() {
|
|
2187
|
+
window.addEventListener("resize", nn, !1), r.touch && ne.bind(), r.keyboard && A.bind(), r.progress && M.bind(), r.respondToHashChanges && j.bind(), ee.bind(), te.bind(), m.slides.addEventListener("click", tn, !1), m.slides.addEventListener("transitionend", en, !1), m.pauseOverlay.addEventListener("click", mt, !1), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", rn, !1);
|
|
2188
2188
|
}
|
|
2189
|
-
function
|
|
2190
|
-
|
|
2189
|
+
function ke() {
|
|
2190
|
+
ne.unbind(), te.unbind(), A.unbind(), ee.unbind(), M.unbind(), j.unbind(), window.removeEventListener("resize", nn, !1), m.slides.removeEventListener("click", tn, !1), m.slides.removeEventListener("transitionend", en, !1), m.pauseOverlay.removeEventListener("click", mt, !1);
|
|
2191
2191
|
}
|
|
2192
2192
|
function je() {
|
|
2193
|
-
i = !1, a !== !1 && (
|
|
2193
|
+
i = !1, a !== !1 && (ke(), Ut(), I.destroy(), te.destroy(), F.destroy(), P.destroy(), N.destroy(), ee.destroy(), M.destroy(), T.destroy(), S.destroy(), C.destroy(), document.removeEventListener("fullscreenchange", an), document.removeEventListener("webkitfullscreenchange", an), document.removeEventListener("visibilitychange", rn, !1), window.removeEventListener("message", $t, !1), window.removeEventListener("load", Ve, !1), m.pauseOverlay && m.pauseOverlay.remove(), m.statusElement && m.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), m.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), m.wrapper.removeAttribute("data-transition-speed"), m.wrapper.removeAttribute("data-background-transition"), m.viewport.classList.remove("reveal-viewport"), m.viewport.style.removeProperty("--slide-width"), m.viewport.style.removeProperty("--slide-height"), m.slides.style.removeProperty("width"), m.slides.style.removeProperty("height"), m.slides.style.removeProperty("zoom"), m.slides.style.removeProperty("left"), m.slides.style.removeProperty("top"), m.slides.style.removeProperty("bottom"), m.slides.style.removeProperty("right"), m.slides.style.removeProperty("transform"), Array.from(m.wrapper.querySelectorAll(Ee)).forEach((e) => {
|
|
2194
2194
|
e.style.removeProperty("display"), e.style.removeProperty("top"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden");
|
|
2195
2195
|
}));
|
|
2196
2196
|
}
|
|
2197
|
-
function
|
|
2197
|
+
function Me(t, n, r) {
|
|
2198
2198
|
e.addEventListener(t, n, r);
|
|
2199
2199
|
}
|
|
2200
|
-
function
|
|
2200
|
+
function Ne(t, n, r) {
|
|
2201
2201
|
e.removeEventListener(t, n, r);
|
|
2202
2202
|
}
|
|
2203
|
-
function
|
|
2204
|
-
typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ?
|
|
2203
|
+
function Pe(e) {
|
|
2204
|
+
typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ? R(m.slides, p.layout + " " + p.overview) : R(m.slides, p.overview);
|
|
2205
2205
|
}
|
|
2206
|
-
function
|
|
2206
|
+
function H({ target: e = m.wrapper, type: t, data: n, bubbles: r = !0 }) {
|
|
2207
2207
|
let i = document.createEvent("HTMLEvents", 1, 2);
|
|
2208
|
-
return i.initEvent(t, r, !0),
|
|
2208
|
+
return i.initEvent(t, r, !0), de(i, n), e.dispatchEvent(i), e === m.wrapper && ze(t), i;
|
|
2209
2209
|
}
|
|
2210
|
-
function
|
|
2211
|
-
|
|
2210
|
+
function Le(e) {
|
|
2211
|
+
H({
|
|
2212
2212
|
type: "slidechanged",
|
|
2213
2213
|
data: {
|
|
2214
2214
|
indexh: o,
|
|
@@ -2219,29 +2219,29 @@ function it(e, t) {
|
|
|
2219
2219
|
}
|
|
2220
2220
|
});
|
|
2221
2221
|
}
|
|
2222
|
-
function
|
|
2222
|
+
function ze(e, t) {
|
|
2223
2223
|
if (r.postMessageEvents && window.parent !== window.self) {
|
|
2224
2224
|
let n = {
|
|
2225
2225
|
namespace: "reveal",
|
|
2226
2226
|
eventName: e,
|
|
2227
2227
|
state: Bt()
|
|
2228
2228
|
};
|
|
2229
|
-
|
|
2229
|
+
de(n, t), window.parent.postMessage(JSON.stringify(n), "*");
|
|
2230
2230
|
}
|
|
2231
2231
|
}
|
|
2232
|
-
function
|
|
2233
|
-
if (m.wrapper && !
|
|
2232
|
+
function Ve() {
|
|
2233
|
+
if (m.wrapper && !D.isActive()) {
|
|
2234
2234
|
let e = m.viewport.offsetWidth, t = m.viewport.offsetHeight;
|
|
2235
2235
|
if (!r.disableLayout) {
|
|
2236
|
-
|
|
2237
|
-
let n = E.isActive() ?
|
|
2238
|
-
|
|
2239
|
-
let a = Array.from(m.wrapper.querySelectorAll(
|
|
2236
|
+
Ce && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * .01 + "px");
|
|
2237
|
+
let n = E.isActive() ? We(e, t) : We(), i = f;
|
|
2238
|
+
He(r.width, r.height), m.slides.style.width = n.width + "px", m.slides.style.height = n.height + "px", f = Math.min(n.presentationWidth / n.width, n.presentationHeight / n.height), f = Math.max(f, r.minScale), f = Math.min(f, r.maxScale), f === 1 || E.isActive() ? (m.slides.style.zoom = "", m.slides.style.left = "", m.slides.style.top = "", m.slides.style.bottom = "", m.slides.style.right = "", Pe({ layout: "" })) : (m.slides.style.zoom = "", m.slides.style.left = "50%", m.slides.style.top = "50%", m.slides.style.bottom = "auto", m.slides.style.right = "auto", Pe({ layout: "translate(-50%, -50%) scale(" + f + ")" }));
|
|
2239
|
+
let a = Array.from(m.wrapper.querySelectorAll(Ee));
|
|
2240
2240
|
for (let e = 0, t = a.length; e < t; e++) {
|
|
2241
2241
|
let t = a[e];
|
|
2242
2242
|
t.style.display !== "none" && (r.center || t.classList.contains("center") ? t.classList.contains("stack") ? t.style.top = 0 : t.style.top = Math.max((n.height - t.scrollHeight) / 2, 0) + "px" : t.style.top = "");
|
|
2243
2243
|
}
|
|
2244
|
-
i !== f &&
|
|
2244
|
+
i !== f && H({
|
|
2245
2245
|
type: "resize",
|
|
2246
2246
|
data: {
|
|
2247
2247
|
oldScale: i,
|
|
@@ -2250,25 +2250,25 @@ function it(e, t) {
|
|
|
2250
2250
|
}
|
|
2251
2251
|
});
|
|
2252
2252
|
}
|
|
2253
|
-
|
|
2253
|
+
Ue(), m.viewport.style.setProperty("--slide-scale", f), m.viewport.style.setProperty("--viewport-width", e + "px"), m.viewport.style.setProperty("--viewport-height", t + "px"), E.layout(), M.update(), T.updateParallax(), k.isActive() && k.update();
|
|
2254
2254
|
}
|
|
2255
2255
|
}
|
|
2256
|
-
function
|
|
2257
|
-
|
|
2258
|
-
let r =
|
|
2256
|
+
function He(e, t) {
|
|
2257
|
+
L(m.slides, "section > .stretch, section > .r-stretch").forEach((n) => {
|
|
2258
|
+
let r = B(n, t);
|
|
2259
2259
|
if (/(img|video)/gi.test(n.nodeName)) {
|
|
2260
2260
|
let t = n.naturalWidth || n.videoWidth, i = n.naturalHeight || n.videoHeight, a = Math.min(e / t, r / i);
|
|
2261
2261
|
n.style.width = t * a + "px", n.style.height = i * a + "px";
|
|
2262
2262
|
} else n.style.width = e + "px", n.style.height = r + "px";
|
|
2263
2263
|
});
|
|
2264
2264
|
}
|
|
2265
|
-
function
|
|
2266
|
-
if (m.wrapper && !r.disableLayout && !
|
|
2267
|
-
let e =
|
|
2265
|
+
function Ue() {
|
|
2266
|
+
if (m.wrapper && !r.disableLayout && !D.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
|
|
2267
|
+
let e = We();
|
|
2268
2268
|
e.presentationWidth > 0 && e.presentationWidth <= r.scrollActivationWidth ? E.isActive() || (T.create(), E.activate()) : E.isActive() && E.deactivate();
|
|
2269
2269
|
}
|
|
2270
2270
|
}
|
|
2271
|
-
function
|
|
2271
|
+
function We(e, t) {
|
|
2272
2272
|
let n = r.width, i = r.height;
|
|
2273
2273
|
r.disableLayout && (n = m.slides.offsetWidth, i = m.slides.offsetHeight);
|
|
2274
2274
|
let a = {
|
|
@@ -2279,58 +2279,58 @@ function it(e, t) {
|
|
|
2279
2279
|
};
|
|
2280
2280
|
return a.presentationWidth -= a.presentationWidth * r.margin, a.presentationHeight -= a.presentationHeight * r.margin, typeof a.width == "string" && /%$/.test(a.width) && (a.width = parseInt(a.width, 10) / 100 * a.presentationWidth), typeof a.height == "string" && /%$/.test(a.height) && (a.height = parseInt(a.height, 10) / 100 * a.presentationHeight), a;
|
|
2281
2281
|
}
|
|
2282
|
-
function
|
|
2282
|
+
function et(e, t) {
|
|
2283
2283
|
typeof e == "object" && typeof e.setAttribute == "function" && e.setAttribute("data-previous-indexv", t || 0);
|
|
2284
2284
|
}
|
|
2285
|
-
function
|
|
2285
|
+
function rt(e) {
|
|
2286
2286
|
if (typeof e == "object" && typeof e.setAttribute == "function" && e.classList.contains("stack")) {
|
|
2287
2287
|
let t = e.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
|
|
2288
2288
|
return parseInt(e.getAttribute(t) || 0, 10);
|
|
2289
2289
|
}
|
|
2290
2290
|
return 0;
|
|
2291
2291
|
}
|
|
2292
|
-
function
|
|
2292
|
+
function at(e = l) {
|
|
2293
2293
|
return e && e.parentNode && !!e.parentNode.nodeName.match(/section/i);
|
|
2294
2294
|
}
|
|
2295
2295
|
function ot(e = l) {
|
|
2296
2296
|
return e.classList.contains(".stack") || e.querySelector("section") !== null;
|
|
2297
2297
|
}
|
|
2298
|
-
function
|
|
2299
|
-
return l &&
|
|
2298
|
+
function ft() {
|
|
2299
|
+
return l && at(l) ? !l.nextElementSibling : !1;
|
|
2300
2300
|
}
|
|
2301
|
-
function
|
|
2301
|
+
function U() {
|
|
2302
2302
|
return o === 0 && s === 0;
|
|
2303
2303
|
}
|
|
2304
|
-
function
|
|
2305
|
-
return l ? !(l.nextElementSibling ||
|
|
2304
|
+
function pt() {
|
|
2305
|
+
return l ? !(l.nextElementSibling || at(l) && l.parentNode.nextElementSibling) : !1;
|
|
2306
2306
|
}
|
|
2307
|
-
function
|
|
2307
|
+
function W() {
|
|
2308
2308
|
if (r.pause) {
|
|
2309
2309
|
let e = m.wrapper.classList.contains("paused");
|
|
2310
|
-
Ut(), m.wrapper.classList.add("paused"), e === !1 &&
|
|
2310
|
+
Ut(), m.wrapper.classList.add("paused"), e === !1 && H({ type: "paused" });
|
|
2311
2311
|
}
|
|
2312
2312
|
}
|
|
2313
|
-
function
|
|
2313
|
+
function mt() {
|
|
2314
2314
|
let e = m.wrapper.classList.contains("paused");
|
|
2315
|
-
m.wrapper.classList.remove("paused"), Ht(), e &&
|
|
2315
|
+
m.wrapper.classList.remove("paused"), Ht(), e && H({ type: "resumed" });
|
|
2316
2316
|
}
|
|
2317
|
-
function
|
|
2318
|
-
typeof e == "boolean" ? e ?
|
|
2317
|
+
function ht(e) {
|
|
2318
|
+
typeof e == "boolean" ? e ? W() : mt() : gt() ? mt() : W();
|
|
2319
2319
|
}
|
|
2320
|
-
function
|
|
2320
|
+
function gt() {
|
|
2321
2321
|
return m.wrapper.classList.contains("paused");
|
|
2322
2322
|
}
|
|
2323
|
-
function
|
|
2323
|
+
function _t(e) {
|
|
2324
2324
|
typeof e == "boolean" ? e ? C.show() : C.hide() : C.isVisible() ? C.hide() : C.show();
|
|
2325
2325
|
}
|
|
2326
|
-
function
|
|
2326
|
+
function vt(e) {
|
|
2327
2327
|
typeof e == "boolean" ? e ? Gt() : Wt() : b ? Gt() : Wt();
|
|
2328
2328
|
}
|
|
2329
|
-
function
|
|
2329
|
+
function yt() {
|
|
2330
2330
|
return !!(g && !b);
|
|
2331
2331
|
}
|
|
2332
|
-
function
|
|
2333
|
-
if (
|
|
2332
|
+
function G(t, n, i, a) {
|
|
2333
|
+
if (H({
|
|
2334
2334
|
type: "beforeslidechange",
|
|
2335
2335
|
data: {
|
|
2336
2336
|
indexh: t === void 0 ? o : t,
|
|
@@ -2339,26 +2339,26 @@ function it(e, t) {
|
|
|
2339
2339
|
}
|
|
2340
2340
|
}).defaultPrevented) return;
|
|
2341
2341
|
c = l;
|
|
2342
|
-
let u = m.wrapper.querySelectorAll(
|
|
2342
|
+
let u = m.wrapper.querySelectorAll(De);
|
|
2343
2343
|
if (E.isActive()) {
|
|
2344
2344
|
let e = E.getSlideByIndices(t, n);
|
|
2345
2345
|
e && E.scrollToSlide(e);
|
|
2346
2346
|
return;
|
|
2347
2347
|
}
|
|
2348
2348
|
if (u.length === 0) return;
|
|
2349
|
-
n === void 0 && !
|
|
2349
|
+
n === void 0 && !k.isActive() && (n = rt(u[t])), c && c.parentNode && c.parentNode.classList.contains("stack") && et(c.parentNode, s);
|
|
2350
2350
|
let f = d.concat();
|
|
2351
2351
|
d.length = 0;
|
|
2352
2352
|
let p = o || 0, g = s || 0;
|
|
2353
|
-
o =
|
|
2353
|
+
o = Et(De, t === void 0 ? o : t), s = Et(Oe, n === void 0 ? s : n);
|
|
2354
2354
|
let _ = o !== p || s !== g;
|
|
2355
2355
|
_ || (c = null);
|
|
2356
2356
|
let v = u[o], y = v.querySelectorAll("section");
|
|
2357
2357
|
e.classList.toggle("is-vertical-slide", y.length > 1), l = y[s] || v;
|
|
2358
2358
|
let b = !1;
|
|
2359
|
-
_ && c && l && !
|
|
2359
|
+
_ && c && l && !k.isActive() && (h = "running", b = bt(c, l, p, g), b && m.slides.classList.add("disable-slide-transitions")), q(), Ve(), k.isActive() && k.update(), i !== void 0 && O.goto(i), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), U() && setTimeout(() => {
|
|
2360
2360
|
Nt().forEach((e) => {
|
|
2361
|
-
|
|
2361
|
+
et(e, 0);
|
|
2362
2362
|
});
|
|
2363
2363
|
}, 0));
|
|
2364
2364
|
e: for (let e = 0, t = d.length; e < t; e++) {
|
|
@@ -2366,64 +2366,64 @@ function it(e, t) {
|
|
|
2366
2366
|
f.splice(t, 1);
|
|
2367
2367
|
continue e;
|
|
2368
2368
|
}
|
|
2369
|
-
m.viewport.classList.add(d[e]),
|
|
2369
|
+
m.viewport.classList.add(d[e]), H({ type: d[e] });
|
|
2370
2370
|
}
|
|
2371
2371
|
for (; f.length;) m.viewport.classList.remove(f.pop());
|
|
2372
|
-
_ && (x.afterSlideChanged(),
|
|
2373
|
-
|
|
2374
|
-
}), M.update(),
|
|
2372
|
+
_ && (x.afterSlideChanged(), Le(a)), (_ || !c) && (x.stopEmbeddedContent(c), x.startEmbeddedContent(l)), requestAnimationFrame(() => {
|
|
2373
|
+
he(_e(l));
|
|
2374
|
+
}), M.update(), ee.update(), I.update(), T.update(), T.updateParallax(), S.update(), O.update(), j.writeURL(), Ht(), b && (setTimeout(() => {
|
|
2375
2375
|
m.slides.classList.remove("disable-slide-transitions");
|
|
2376
2376
|
}, 0), r.autoAnimate && w.run(c, l));
|
|
2377
2377
|
}
|
|
2378
|
-
function
|
|
2378
|
+
function bt(e, t, n, r) {
|
|
2379
2379
|
return e.hasAttribute("data-auto-animate") && t.hasAttribute("data-auto-animate") && e.getAttribute("data-auto-animate-id") === t.getAttribute("data-auto-animate-id") && !(o > n || s > r ? t : e).hasAttribute("data-auto-animate-restart");
|
|
2380
2380
|
}
|
|
2381
|
-
function
|
|
2381
|
+
function xt(e, t, n) {
|
|
2382
2382
|
let i = o || 0;
|
|
2383
2383
|
o = t, s = n;
|
|
2384
2384
|
let a = l !== e;
|
|
2385
|
-
c = l, l = e, l && c && r.autoAnimate &&
|
|
2386
|
-
|
|
2387
|
-
}),
|
|
2385
|
+
c = l, l = e, l && c && r.autoAnimate && bt(c, l, i, s) && w.run(c, l), a && (x.afterSlideChanged(), c && (x.stopEmbeddedContent(c), x.stopEmbeddedContent(c.slideBackgroundElement)), x.startEmbeddedContent(l), x.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
|
|
2386
|
+
he(_e(l));
|
|
2387
|
+
}), Le();
|
|
2388
2388
|
}
|
|
2389
|
-
function
|
|
2390
|
-
|
|
2389
|
+
function St() {
|
|
2390
|
+
ke(), V(), Ve(), g = r.autoSlide, Ht(), T.create(), j.writeURL(), r.sortFragmentsOnSync === !0 && O.sortAll(), o !== void 0 && (o = Et(De, o), s = Et(Oe, s)), ee.update(), M.update(), q(), I.update(), I.updateVisibility(), F.update(), T.update(!0), S.update(), x.formatEmbeddedContent(), r.autoPlayMedia === !1 ? x.stopEmbeddedContent(l, { unloadIframes: !1 }) : x.startEmbeddedContent(l), k.isActive() && k.layout(), H({ type: "sync" });
|
|
2391
2391
|
}
|
|
2392
|
-
function
|
|
2393
|
-
T.sync(e),
|
|
2392
|
+
function Ct(e = l) {
|
|
2393
|
+
T.sync(e), O.sync(e), x.load(e), T.update(), I.update(), H({
|
|
2394
2394
|
type: "slidesync",
|
|
2395
2395
|
data: { slide: e }
|
|
2396
2396
|
});
|
|
2397
2397
|
}
|
|
2398
|
-
function
|
|
2398
|
+
function wt() {
|
|
2399
2399
|
jt().forEach((e) => {
|
|
2400
|
-
|
|
2400
|
+
L(e, "section").forEach((e, t) => {
|
|
2401
2401
|
t > 0 && (e.classList.remove("present"), e.classList.remove("past"), e.classList.add("future"), e.setAttribute("aria-hidden", "true"));
|
|
2402
2402
|
});
|
|
2403
2403
|
});
|
|
2404
2404
|
}
|
|
2405
|
-
function
|
|
2405
|
+
function Tt(e = jt()) {
|
|
2406
2406
|
e.forEach((t, n) => {
|
|
2407
2407
|
let r = e[Math.floor(Math.random() * e.length)];
|
|
2408
2408
|
r.parentNode === t.parentNode && t.parentNode.insertBefore(t, r);
|
|
2409
2409
|
let i = t.querySelectorAll("section");
|
|
2410
|
-
i.length &&
|
|
2410
|
+
i.length && Tt(i);
|
|
2411
2411
|
});
|
|
2412
2412
|
}
|
|
2413
|
-
function
|
|
2414
|
-
let n =
|
|
2413
|
+
function Et(e, t) {
|
|
2414
|
+
let n = L(m.wrapper, e), i = n.length, a = E.isActive() || D.isActive(), o = !1, s = !1;
|
|
2415
2415
|
if (i) {
|
|
2416
2416
|
r.loop && (t >= i && (o = !0), t %= i, t < 0 && (t = i + t, s = !0)), t = Math.max(Math.min(t, i - 1), 0);
|
|
2417
2417
|
for (let e = 0; e < i; e++) {
|
|
2418
|
-
let i = n[e], c = r.rtl && !
|
|
2418
|
+
let i = n[e], c = r.rtl && !at(i);
|
|
2419
2419
|
if (i.classList.remove("past"), i.classList.remove("present"), i.classList.remove("future"), i.setAttribute("hidden", ""), i.setAttribute("aria-hidden", "true"), i.querySelector("section") && i.classList.add("stack"), a) {
|
|
2420
2420
|
i.classList.add("present");
|
|
2421
2421
|
continue;
|
|
2422
2422
|
}
|
|
2423
|
-
e < t ? (i.classList.add(c ? "future" : "past"), r.fragments &&
|
|
2423
|
+
e < t ? (i.classList.add(c ? "future" : "past"), r.fragments && K(i)) : e > t ? (i.classList.add(c ? "past" : "future"), r.fragments && Dt(i)) : e === t && r.fragments && (o ? Dt(i) : s && K(i));
|
|
2424
2424
|
}
|
|
2425
2425
|
let e = n[t], c = e.classList.contains("present");
|
|
2426
|
-
e.classList.add("present"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), c ||
|
|
2426
|
+
e.classList.add("present"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), c || H({
|
|
2427
2427
|
target: e,
|
|
2428
2428
|
type: "visible",
|
|
2429
2429
|
bubbles: !1
|
|
@@ -2433,25 +2433,25 @@ function it(e, t) {
|
|
|
2433
2433
|
} else t = 0;
|
|
2434
2434
|
return t;
|
|
2435
2435
|
}
|
|
2436
|
-
function
|
|
2437
|
-
|
|
2436
|
+
function K(e) {
|
|
2437
|
+
L(e, ".fragment").forEach((e) => {
|
|
2438
2438
|
e.classList.add("visible"), e.classList.remove("current-fragment");
|
|
2439
2439
|
});
|
|
2440
2440
|
}
|
|
2441
|
-
function
|
|
2442
|
-
|
|
2441
|
+
function Dt(e) {
|
|
2442
|
+
L(e, ".fragment.visible").forEach((e) => {
|
|
2443
2443
|
e.classList.remove("visible", "current-fragment");
|
|
2444
2444
|
});
|
|
2445
2445
|
}
|
|
2446
|
-
function
|
|
2446
|
+
function q() {
|
|
2447
2447
|
let e = jt(), t = e.length, n, i;
|
|
2448
2448
|
if (t && o !== void 0) {
|
|
2449
|
-
let a =
|
|
2450
|
-
|
|
2449
|
+
let a = k.isActive(), c = a ? 10 : r.viewDistance;
|
|
2450
|
+
Ce && (c = a ? 6 : r.mobileViewDistance), D.isActive() && (c = Number.MAX_VALUE);
|
|
2451
2451
|
for (let l = 0; l < t; l++) {
|
|
2452
|
-
let u = e[l], d =
|
|
2452
|
+
let u = e[l], d = L(u, "section"), f = d.length;
|
|
2453
2453
|
if (n = Math.abs((o || 0) - l) || 0, r.loop && (n = Math.abs(((o || 0) - l) % (t - c)) || 0), n < c ? x.load(u) : x.unload(u), f) {
|
|
2454
|
-
let e = a ? 0 :
|
|
2454
|
+
let e = a ? 0 : rt(u);
|
|
2455
2455
|
for (let t = 0; t < f; t++) {
|
|
2456
2456
|
let r = d[t];
|
|
2457
2457
|
i = Math.abs(l === (o || 0) ? (s || 0) - t : t - e), n + i < c ? x.load(r) : x.unload(r);
|
|
@@ -2461,15 +2461,15 @@ function it(e, t) {
|
|
|
2461
2461
|
Ft() ? m.wrapper.classList.add("has-vertical-slides") : m.wrapper.classList.remove("has-vertical-slides"), Pt() ? m.wrapper.classList.add("has-horizontal-slides") : m.wrapper.classList.remove("has-horizontal-slides");
|
|
2462
2462
|
}
|
|
2463
2463
|
}
|
|
2464
|
-
function
|
|
2465
|
-
let t = m.wrapper.querySelectorAll(
|
|
2464
|
+
function J({ includeFragments: e = !1 } = {}) {
|
|
2465
|
+
let t = m.wrapper.querySelectorAll(De), n = m.wrapper.querySelectorAll(Oe), i = {
|
|
2466
2466
|
left: o > 0,
|
|
2467
2467
|
right: o < t.length - 1,
|
|
2468
2468
|
up: s > 0,
|
|
2469
2469
|
down: s < n.length - 1
|
|
2470
2470
|
};
|
|
2471
2471
|
if (r.loop && (t.length > 1 && (i.left = !0, i.right = !0), n.length > 1 && (i.up = !0, i.down = !0)), t.length > 1 && r.navigationMode === "linear" && (i.right = i.right || i.down, i.left = i.left || i.up), e === !0) {
|
|
2472
|
-
let e =
|
|
2472
|
+
let e = O.availableRoutes();
|
|
2473
2473
|
i.left = i.left || e.prev, i.up = i.up || e.prev, i.down = i.down || e.next, i.right = i.right || e.next;
|
|
2474
2474
|
}
|
|
2475
2475
|
if (r.rtl) {
|
|
@@ -2478,7 +2478,7 @@ function it(e, t) {
|
|
|
2478
2478
|
}
|
|
2479
2479
|
return i;
|
|
2480
2480
|
}
|
|
2481
|
-
function
|
|
2481
|
+
function Ot(e = l) {
|
|
2482
2482
|
let t = jt(), n = 0;
|
|
2483
2483
|
e: for (let r = 0; r < t.length; r++) {
|
|
2484
2484
|
let i = t[r], a = i.querySelectorAll("section");
|
|
@@ -2491,8 +2491,8 @@ function it(e, t) {
|
|
|
2491
2491
|
}
|
|
2492
2492
|
return n;
|
|
2493
2493
|
}
|
|
2494
|
-
function
|
|
2495
|
-
let e = Lt(), t =
|
|
2494
|
+
function Y() {
|
|
2495
|
+
let e = Lt(), t = Ot();
|
|
2496
2496
|
if (l) {
|
|
2497
2497
|
let e = l.querySelectorAll(".fragment");
|
|
2498
2498
|
if (e.length > 0) {
|
|
@@ -2507,8 +2507,8 @@ function it(e, t) {
|
|
|
2507
2507
|
if (e) {
|
|
2508
2508
|
if (E.isActive()) t = parseInt(e.getAttribute("data-index-h"), 10), e.getAttribute("data-index-v") && (n = parseInt(e.getAttribute("data-index-v"), 10));
|
|
2509
2509
|
else {
|
|
2510
|
-
let r =
|
|
2511
|
-
t = Math.max(a.indexOf(i), 0), n = void 0, r && (n = Math.max(
|
|
2510
|
+
let r = at(e), i = r ? e.parentNode : e, a = jt();
|
|
2511
|
+
t = Math.max(a.indexOf(i), 0), n = void 0, r && (n = Math.max(L(e.parentNode, "section").indexOf(e), 0));
|
|
2512
2512
|
}
|
|
2513
2513
|
}
|
|
2514
2514
|
if (!e && l && l.querySelectorAll(".fragment").length > 0) {
|
|
@@ -2522,16 +2522,16 @@ function it(e, t) {
|
|
|
2522
2522
|
};
|
|
2523
2523
|
}
|
|
2524
2524
|
function At() {
|
|
2525
|
-
return
|
|
2525
|
+
return L(m.wrapper, ".slides section:not(.stack):not([data-visibility=\"uncounted\"])");
|
|
2526
2526
|
}
|
|
2527
2527
|
function jt() {
|
|
2528
|
-
return
|
|
2528
|
+
return L(m.wrapper, De);
|
|
2529
2529
|
}
|
|
2530
2530
|
function Mt() {
|
|
2531
|
-
return
|
|
2531
|
+
return L(m.wrapper, ".slides>section>section");
|
|
2532
2532
|
}
|
|
2533
2533
|
function Nt() {
|
|
2534
|
-
return
|
|
2534
|
+
return L(m.wrapper, ".slides>section.stack");
|
|
2535
2535
|
}
|
|
2536
2536
|
function Pt() {
|
|
2537
2537
|
return jt().length > 1;
|
|
@@ -2562,27 +2562,27 @@ function it(e, t) {
|
|
|
2562
2562
|
}
|
|
2563
2563
|
function Bt() {
|
|
2564
2564
|
let e = kt();
|
|
2565
|
-
return
|
|
2565
|
+
return se({
|
|
2566
2566
|
indexh: e.h,
|
|
2567
2567
|
indexv: e.v,
|
|
2568
2568
|
indexf: e.f,
|
|
2569
|
-
paused:
|
|
2570
|
-
overview:
|
|
2571
|
-
},
|
|
2569
|
+
paused: gt(),
|
|
2570
|
+
overview: k.isActive()
|
|
2571
|
+
}, F.getState());
|
|
2572
2572
|
}
|
|
2573
2573
|
function Vt(e) {
|
|
2574
2574
|
if (typeof e == "object") {
|
|
2575
|
-
|
|
2576
|
-
let t =
|
|
2577
|
-
typeof t == "boolean" && t !==
|
|
2575
|
+
G(pe(e.indexh), pe(e.indexv), pe(e.indexf));
|
|
2576
|
+
let t = pe(e.paused), n = pe(e.overview);
|
|
2577
|
+
typeof t == "boolean" && t !== gt() && ht(t), typeof n == "boolean" && n !== k.isActive() && k.toggle(n), F.setState(e);
|
|
2578
2578
|
}
|
|
2579
2579
|
}
|
|
2580
2580
|
function Ht() {
|
|
2581
2581
|
if (Ut(), l && r.autoSlide !== !1) {
|
|
2582
2582
|
let e = l.querySelector(".current-fragment[data-autoslide]"), t = e ? e.getAttribute("data-autoslide") : null, n = l.parentNode ? l.parentNode.getAttribute("data-autoslide") : null, i = l.getAttribute("data-autoslide");
|
|
2583
|
-
t ? g = parseInt(t, 10) : i ? g = parseInt(i, 10) : n ? g = parseInt(n, 10) : (g = r.autoSlide, l.querySelectorAll(".fragment").length === 0 &&
|
|
2583
|
+
t ? g = parseInt(t, 10) : i ? g = parseInt(i, 10) : n ? g = parseInt(n, 10) : (g = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && L(l, "video, audio").forEach((e) => {
|
|
2584
2584
|
e.hasAttribute("data-autoplay") && g && e.duration * 1e3 / e.playbackRate > g && (g = e.duration * 1e3 / e.playbackRate + 1e3);
|
|
2585
|
-
})), g && !b && !
|
|
2585
|
+
})), g && !b && !gt() && !k.isActive() && (!pt() || O.availableRoutes().next || r.loop === !0) && (v = setTimeout(() => {
|
|
2586
2586
|
typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : Zt(), Ht();
|
|
2587
2587
|
}, g), y = Date.now()), _ && _.setPlaying(v !== -1);
|
|
2588
2588
|
}
|
|
@@ -2591,45 +2591,45 @@ function it(e, t) {
|
|
|
2591
2591
|
clearTimeout(v), v = -1;
|
|
2592
2592
|
}
|
|
2593
2593
|
function Wt() {
|
|
2594
|
-
g && !b && (b = !0,
|
|
2594
|
+
g && !b && (b = !0, H({ type: "autoslidepaused" }), clearTimeout(v), _ && _.setPlaying(!1));
|
|
2595
2595
|
}
|
|
2596
2596
|
function Gt() {
|
|
2597
|
-
g && b && (b = !1,
|
|
2597
|
+
g && b && (b = !1, H({ type: "autoslideresumed" }), Ht());
|
|
2598
2598
|
}
|
|
2599
2599
|
function Kt({ skipFragments: e = !1 } = {}) {
|
|
2600
2600
|
if (u.hasNavigatedHorizontally = !0, E.isActive()) return E.prev();
|
|
2601
|
-
r.rtl ? (
|
|
2601
|
+
r.rtl ? (k.isActive() || e || O.next() === !1) && J().left && G(o + 1, r.navigationMode === "grid" ? s : void 0) : (k.isActive() || e || O.prev() === !1) && J().left && G(o - 1, r.navigationMode === "grid" ? s : void 0);
|
|
2602
2602
|
}
|
|
2603
2603
|
function qt({ skipFragments: e = !1 } = {}) {
|
|
2604
2604
|
if (u.hasNavigatedHorizontally = !0, E.isActive()) return E.next();
|
|
2605
|
-
r.rtl ? (
|
|
2605
|
+
r.rtl ? (k.isActive() || e || O.prev() === !1) && J().right && G(o - 1, r.navigationMode === "grid" ? s : void 0) : (k.isActive() || e || O.next() === !1) && J().right && G(o + 1, r.navigationMode === "grid" ? s : void 0);
|
|
2606
2606
|
}
|
|
2607
2607
|
function Jt({ skipFragments: e = !1 } = {}) {
|
|
2608
2608
|
if (E.isActive()) return E.prev();
|
|
2609
|
-
(
|
|
2609
|
+
(k.isActive() || e || O.prev() === !1) && J().up && G(o, s - 1);
|
|
2610
2610
|
}
|
|
2611
2611
|
function Yt({ skipFragments: e = !1 } = {}) {
|
|
2612
2612
|
if (u.hasNavigatedVertically = !0, E.isActive()) return E.next();
|
|
2613
|
-
(
|
|
2613
|
+
(k.isActive() || e || O.next() === !1) && J().down && G(o, s + 1);
|
|
2614
2614
|
}
|
|
2615
2615
|
function Xt({ skipFragments: e = !1 } = {}) {
|
|
2616
2616
|
if (E.isActive()) return E.prev();
|
|
2617
|
-
if (e ||
|
|
2618
|
-
if (
|
|
2617
|
+
if (e || O.prev() === !1) {
|
|
2618
|
+
if (J().up) Jt({ skipFragments: e });
|
|
2619
2619
|
else {
|
|
2620
2620
|
let t;
|
|
2621
|
-
if (t = r.rtl ?
|
|
2621
|
+
if (t = r.rtl ? L(m.wrapper, ".slides>section.future").pop() : L(m.wrapper, ".slides>section.past").pop(), t && t.classList.contains("stack")) {
|
|
2622
2622
|
let e = t.querySelectorAll("section").length - 1 || void 0;
|
|
2623
|
-
|
|
2623
|
+
G(o - 1, e);
|
|
2624
2624
|
} else r.rtl ? qt({ skipFragments: e }) : Kt({ skipFragments: e });
|
|
2625
2625
|
}
|
|
2626
2626
|
}
|
|
2627
2627
|
}
|
|
2628
2628
|
function Zt({ skipFragments: e = !1 } = {}) {
|
|
2629
2629
|
if (u.hasNavigatedHorizontally = !0, u.hasNavigatedVertically = !0, E.isActive()) return E.next();
|
|
2630
|
-
if (e ||
|
|
2631
|
-
let t =
|
|
2632
|
-
t.down && t.right && r.loop &&
|
|
2630
|
+
if (e || O.next() === !1) {
|
|
2631
|
+
let t = J();
|
|
2632
|
+
t.down && t.right && r.loop && ft() && (t.down = !1), t.down ? Yt({ skipFragments: e }) : r.rtl ? Kt({ skipFragments: e }) : qt({ skipFragments: e });
|
|
2633
2633
|
}
|
|
2634
2634
|
}
|
|
2635
2635
|
function Qt(e) {
|
|
@@ -2638,9 +2638,9 @@ function it(e, t) {
|
|
|
2638
2638
|
function $t(e) {
|
|
2639
2639
|
let t = e.data;
|
|
2640
2640
|
if (typeof t == "string" && t.charAt(0) === "{" && t.charAt(t.length - 1) === "}" && (t = JSON.parse(t), t.method && typeof n[t.method] == "function")) {
|
|
2641
|
-
if (
|
|
2641
|
+
if (Ae.test(t.method) === !1) {
|
|
2642
2642
|
let e = n[t.method].apply(n, t.args);
|
|
2643
|
-
|
|
2643
|
+
ze("callback", {
|
|
2644
2644
|
method: t.method,
|
|
2645
2645
|
result: e
|
|
2646
2646
|
});
|
|
@@ -2648,7 +2648,7 @@ function it(e, t) {
|
|
|
2648
2648
|
}
|
|
2649
2649
|
}
|
|
2650
2650
|
function en(e) {
|
|
2651
|
-
h === "running" && /section/gi.test(e.target.nodeName) && (h = "idle",
|
|
2651
|
+
h === "running" && /section/gi.test(e.target.nodeName) && (h = "idle", H({
|
|
2652
2652
|
type: "slidetransitionend",
|
|
2653
2653
|
data: {
|
|
2654
2654
|
indexh: o,
|
|
@@ -2659,14 +2659,14 @@ function it(e, t) {
|
|
|
2659
2659
|
}));
|
|
2660
2660
|
}
|
|
2661
2661
|
function tn(e) {
|
|
2662
|
-
let t =
|
|
2662
|
+
let t = z(e.target, "a[href^=\"#\"]");
|
|
2663
2663
|
if (t) {
|
|
2664
|
-
let r = t.getAttribute("href"), i =
|
|
2664
|
+
let r = t.getAttribute("href"), i = j.getIndicesFromHash(r);
|
|
2665
2665
|
i && (n.slide(i.h, i.v, i.f), e.preventDefault());
|
|
2666
2666
|
}
|
|
2667
2667
|
}
|
|
2668
2668
|
function nn(e) {
|
|
2669
|
-
|
|
2669
|
+
Ve();
|
|
2670
2670
|
}
|
|
2671
2671
|
function rn(e) {
|
|
2672
2672
|
document.hidden === !1 && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
|
|
@@ -2677,17 +2677,17 @@ function it(e, t) {
|
|
|
2677
2677
|
}, 1));
|
|
2678
2678
|
}
|
|
2679
2679
|
function on(e) {
|
|
2680
|
-
|
|
2680
|
+
pt() && r.loop === !1 ? (G(0, 0), Gt()) : b ? Gt() : Wt();
|
|
2681
2681
|
}
|
|
2682
2682
|
let sn = {
|
|
2683
|
-
VERSION:
|
|
2684
|
-
initialize:
|
|
2685
|
-
configure:
|
|
2683
|
+
VERSION: dt,
|
|
2684
|
+
initialize: re,
|
|
2685
|
+
configure: we,
|
|
2686
2686
|
destroy: je,
|
|
2687
|
-
sync:
|
|
2688
|
-
syncSlide:
|
|
2689
|
-
syncFragments:
|
|
2690
|
-
slide:
|
|
2687
|
+
sync: St,
|
|
2688
|
+
syncSlide: Ct,
|
|
2689
|
+
syncFragments: O.sync.bind(O),
|
|
2690
|
+
slide: G,
|
|
2691
2691
|
left: Kt,
|
|
2692
2692
|
right: qt,
|
|
2693
2693
|
up: Jt,
|
|
@@ -2700,61 +2700,61 @@ function it(e, t) {
|
|
|
2700
2700
|
navigateDown: Yt,
|
|
2701
2701
|
navigatePrev: Xt,
|
|
2702
2702
|
navigateNext: Zt,
|
|
2703
|
-
navigateFragment:
|
|
2704
|
-
prevFragment:
|
|
2705
|
-
nextFragment:
|
|
2706
|
-
on:
|
|
2707
|
-
off:
|
|
2708
|
-
addEventListener:
|
|
2709
|
-
removeEventListener:
|
|
2710
|
-
layout:
|
|
2711
|
-
shuffle:
|
|
2712
|
-
availableRoutes:
|
|
2713
|
-
availableFragments:
|
|
2714
|
-
toggleHelp:
|
|
2715
|
-
toggleOverview:
|
|
2703
|
+
navigateFragment: O.goto.bind(O),
|
|
2704
|
+
prevFragment: O.prev.bind(O),
|
|
2705
|
+
nextFragment: O.next.bind(O),
|
|
2706
|
+
on: Me,
|
|
2707
|
+
off: Ne,
|
|
2708
|
+
addEventListener: Me,
|
|
2709
|
+
removeEventListener: Ne,
|
|
2710
|
+
layout: Ve,
|
|
2711
|
+
shuffle: Tt,
|
|
2712
|
+
availableRoutes: J,
|
|
2713
|
+
availableFragments: O.availableRoutes.bind(O),
|
|
2714
|
+
toggleHelp: F.toggleHelp.bind(F),
|
|
2715
|
+
toggleOverview: k.toggle.bind(k),
|
|
2716
2716
|
toggleScrollView: E.toggle.bind(E),
|
|
2717
|
-
togglePause:
|
|
2718
|
-
toggleAutoSlide:
|
|
2719
|
-
toggleJumpToSlide:
|
|
2720
|
-
isFirstSlide:
|
|
2721
|
-
isLastSlide:
|
|
2722
|
-
isLastVerticalSlide:
|
|
2723
|
-
isVerticalSlide:
|
|
2717
|
+
togglePause: ht,
|
|
2718
|
+
toggleAutoSlide: vt,
|
|
2719
|
+
toggleJumpToSlide: _t,
|
|
2720
|
+
isFirstSlide: U,
|
|
2721
|
+
isLastSlide: pt,
|
|
2722
|
+
isLastVerticalSlide: ft,
|
|
2723
|
+
isVerticalSlide: at,
|
|
2724
2724
|
isVerticalStack: ot,
|
|
2725
|
-
isPaused:
|
|
2726
|
-
isAutoSliding:
|
|
2727
|
-
isSpeakerNotes:
|
|
2728
|
-
isOverview:
|
|
2729
|
-
isFocused:
|
|
2730
|
-
isOverlayOpen:
|
|
2725
|
+
isPaused: gt,
|
|
2726
|
+
isAutoSliding: yt,
|
|
2727
|
+
isSpeakerNotes: I.isSpeakerNotesWindow.bind(I),
|
|
2728
|
+
isOverview: k.isActive.bind(k),
|
|
2729
|
+
isFocused: te.isFocused.bind(te),
|
|
2730
|
+
isOverlayOpen: F.isOpen.bind(F),
|
|
2731
2731
|
isScrollView: E.isActive.bind(E),
|
|
2732
|
-
isPrintView:
|
|
2732
|
+
isPrintView: D.isActive.bind(D),
|
|
2733
2733
|
isReady: () => a,
|
|
2734
2734
|
loadSlide: x.load.bind(x),
|
|
2735
2735
|
unloadSlide: x.unload.bind(x),
|
|
2736
2736
|
startEmbeddedContent: () => x.startEmbeddedContent(l),
|
|
2737
2737
|
stopEmbeddedContent: () => x.stopEmbeddedContent(l, { unloadIframes: !1 }),
|
|
2738
|
-
previewIframe:
|
|
2739
|
-
previewImage:
|
|
2740
|
-
previewVideo:
|
|
2741
|
-
showPreview:
|
|
2742
|
-
hidePreview:
|
|
2743
|
-
addEventListeners:
|
|
2744
|
-
removeEventListeners:
|
|
2745
|
-
dispatchEvent:
|
|
2738
|
+
previewIframe: F.previewIframe.bind(F),
|
|
2739
|
+
previewImage: F.previewImage.bind(F),
|
|
2740
|
+
previewVideo: F.previewVideo.bind(F),
|
|
2741
|
+
showPreview: F.previewIframe.bind(F),
|
|
2742
|
+
hidePreview: F.close.bind(F),
|
|
2743
|
+
addEventListeners: V,
|
|
2744
|
+
removeEventListeners: ke,
|
|
2745
|
+
dispatchEvent: H,
|
|
2746
2746
|
getState: Bt,
|
|
2747
2747
|
setState: Vt,
|
|
2748
|
-
getProgress:
|
|
2748
|
+
getProgress: Y,
|
|
2749
2749
|
getIndices: kt,
|
|
2750
2750
|
getSlidesAttributes: It,
|
|
2751
|
-
getSlidePastCount:
|
|
2751
|
+
getSlidePastCount: Ot,
|
|
2752
2752
|
getTotalSlides: Lt,
|
|
2753
2753
|
getSlide: Rt,
|
|
2754
2754
|
getPreviousSlide: () => c,
|
|
2755
2755
|
getCurrentSlide: () => l,
|
|
2756
2756
|
getSlideBackground: zt,
|
|
2757
|
-
getSlideNotes:
|
|
2757
|
+
getSlideNotes: I.getSlideNotes.bind(I),
|
|
2758
2758
|
getSlides: At,
|
|
2759
2759
|
getHorizontalSlides: jt,
|
|
2760
2760
|
getVerticalSlides: Mt,
|
|
@@ -2762,55 +2762,55 @@ function it(e, t) {
|
|
|
2762
2762
|
hasVerticalSlides: Ft,
|
|
2763
2763
|
hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
|
|
2764
2764
|
hasNavigatedVertically: () => u.hasNavigatedVertically,
|
|
2765
|
-
shouldAutoAnimateBetween:
|
|
2766
|
-
addKeyBinding:
|
|
2767
|
-
removeKeyBinding:
|
|
2768
|
-
triggerKey:
|
|
2769
|
-
registerKeyboardShortcut:
|
|
2770
|
-
getComputedSlideSize:
|
|
2771
|
-
setCurrentScrollPage:
|
|
2772
|
-
removeHiddenSlides:
|
|
2765
|
+
shouldAutoAnimateBetween: bt,
|
|
2766
|
+
addKeyBinding: A.addKeyBinding.bind(A),
|
|
2767
|
+
removeKeyBinding: A.removeKeyBinding.bind(A),
|
|
2768
|
+
triggerKey: A.triggerKey.bind(A),
|
|
2769
|
+
registerKeyboardShortcut: A.registerKeyboardShortcut.bind(A),
|
|
2770
|
+
getComputedSlideSize: We,
|
|
2771
|
+
setCurrentScrollPage: xt,
|
|
2772
|
+
removeHiddenSlides: le,
|
|
2773
2773
|
getScale: () => f,
|
|
2774
2774
|
getConfig: () => r,
|
|
2775
|
-
getQueryHash:
|
|
2776
|
-
getSlidePath:
|
|
2775
|
+
getQueryHash: ve,
|
|
2776
|
+
getSlidePath: j.getHash.bind(j),
|
|
2777
2777
|
getRevealElement: () => e,
|
|
2778
2778
|
getSlidesElement: () => m.slides,
|
|
2779
2779
|
getViewportElement: () => m.viewport,
|
|
2780
2780
|
getBackgroundsElement: () => T.element,
|
|
2781
|
-
registerPlugin:
|
|
2782
|
-
hasPlugin:
|
|
2783
|
-
getPlugin:
|
|
2784
|
-
getPlugins:
|
|
2781
|
+
registerPlugin: P.registerPlugin.bind(P),
|
|
2782
|
+
hasPlugin: P.hasPlugin.bind(P),
|
|
2783
|
+
getPlugin: P.getPlugin.bind(P),
|
|
2784
|
+
getPlugins: P.getRegisteredPlugins.bind(P)
|
|
2785
2785
|
};
|
|
2786
|
-
return
|
|
2787
|
-
announceStatus:
|
|
2786
|
+
return de(n, ce(se({}, sn), {
|
|
2787
|
+
announceStatus: he,
|
|
2788
2788
|
getStatusText: _e,
|
|
2789
|
-
focus:
|
|
2789
|
+
focus: te,
|
|
2790
2790
|
scroll: E,
|
|
2791
2791
|
progress: M,
|
|
2792
|
-
controls:
|
|
2793
|
-
location:
|
|
2794
|
-
overview:
|
|
2795
|
-
keyboard:
|
|
2796
|
-
fragments:
|
|
2792
|
+
controls: ee,
|
|
2793
|
+
location: j,
|
|
2794
|
+
overview: k,
|
|
2795
|
+
keyboard: A,
|
|
2796
|
+
fragments: O,
|
|
2797
2797
|
backgrounds: T,
|
|
2798
2798
|
slideContent: x,
|
|
2799
2799
|
slideNumber: S,
|
|
2800
2800
|
onUserInput: Qt,
|
|
2801
|
-
closeOverlay:
|
|
2802
|
-
updateSlidesVisibility:
|
|
2803
|
-
layoutSlideContents:
|
|
2804
|
-
transformSlides:
|
|
2801
|
+
closeOverlay: F.close.bind(F),
|
|
2802
|
+
updateSlidesVisibility: q,
|
|
2803
|
+
layoutSlideContents: He,
|
|
2804
|
+
transformSlides: Pe,
|
|
2805
2805
|
cueAutoSlide: Ht,
|
|
2806
2806
|
cancelAutoSlide: Ut
|
|
2807
2807
|
})), sn;
|
|
2808
2808
|
}
|
|
2809
|
-
var
|
|
2810
|
-
|
|
2809
|
+
var U = ft, pt = [];
|
|
2810
|
+
U.initialize = (e) => {
|
|
2811
2811
|
let t = document.querySelector(".reveal");
|
|
2812
2812
|
if (!(t instanceof HTMLElement)) throw Error("Unable to find presentation root (<div class=\"reveal\">).");
|
|
2813
|
-
return Object.assign(
|
|
2813
|
+
return Object.assign(U, new ft(t, e)), pt.map((e) => e(U)), U.initialize();
|
|
2814
2814
|
}, [
|
|
2815
2815
|
"configure",
|
|
2816
2816
|
"on",
|
|
@@ -2819,14 +2819,14 @@ K.initialize = (e) => {
|
|
|
2819
2819
|
"removeEventListener",
|
|
2820
2820
|
"registerPlugin"
|
|
2821
2821
|
].forEach((e) => {
|
|
2822
|
-
|
|
2823
|
-
|
|
2822
|
+
U[e] = (...t) => {
|
|
2823
|
+
pt.push((n) => n[e].call(null, ...t));
|
|
2824
2824
|
};
|
|
2825
|
-
}),
|
|
2825
|
+
}), U.isReady = () => !1, U.VERSION = dt;
|
|
2826
2826
|
//#endregion
|
|
2827
2827
|
//#region ../node_modules/.pnpm/@revealjs+react@0.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_reveal.js@6.0.0/node_modules/@revealjs/react/dist/index.mjs
|
|
2828
|
-
var
|
|
2829
|
-
function
|
|
2828
|
+
var W = O(), mt = (0, P.createContext)(null), ht = [];
|
|
2829
|
+
function gt(e, t) {
|
|
2830
2830
|
if (e === t) return !1;
|
|
2831
2831
|
if (!e || !t) return e !== t;
|
|
2832
2832
|
let n = Object.keys(e), r = Object.keys(t);
|
|
@@ -2834,43 +2834,43 @@ function ct(e, t) {
|
|
|
2834
2834
|
for (let r of n) if (!(r in t) || e[r] !== t[r]) return !0;
|
|
2835
2835
|
return !1;
|
|
2836
2836
|
}
|
|
2837
|
-
function
|
|
2837
|
+
function _t(e, t) {
|
|
2838
2838
|
e && (typeof e == "function" ? e(t) : e.current = t);
|
|
2839
2839
|
}
|
|
2840
|
-
function
|
|
2840
|
+
function vt(e) {
|
|
2841
2841
|
return e.tagName === "SECTION";
|
|
2842
2842
|
}
|
|
2843
|
-
function
|
|
2844
|
-
return Array.from(e.children).filter(
|
|
2843
|
+
function yt(e, t, n) {
|
|
2844
|
+
return Array.from(e.children).filter(vt).map((e) => {
|
|
2845
2845
|
let r = t.get(e);
|
|
2846
2846
|
r === void 0 && (r = n.current++, t.set(e, r));
|
|
2847
|
-
let i =
|
|
2847
|
+
let i = yt(e, t, n);
|
|
2848
2848
|
return i.length > 0 ? [r, i] : r;
|
|
2849
2849
|
});
|
|
2850
2850
|
}
|
|
2851
|
-
function
|
|
2852
|
-
return e ? JSON.stringify(
|
|
2851
|
+
function G(e, t, n) {
|
|
2852
|
+
return e ? JSON.stringify(yt(e, t, n)) : "[]";
|
|
2853
2853
|
}
|
|
2854
|
-
function
|
|
2855
|
-
let _ = (0,
|
|
2856
|
-
return (0,
|
|
2857
|
-
if (
|
|
2854
|
+
function bt({ config: e, plugins: t = ht, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: d, onResumed: f, deckRef: p, className: m, style: h, children: g }) {
|
|
2855
|
+
let _ = (0, P.useRef)(null), v = (0, P.useRef)(null), y = (0, P.useRef)(null), [b, x] = (0, P.useState)(null), S = (0, P.useRef)(t), C = (0, P.useRef)(!1), w = (0, P.useRef)(e), T = (0, P.useRef)(null), E = (0, P.useRef)(/* @__PURE__ */ new WeakMap()), D = (0, P.useRef)(1), O = (0, P.useRef)(!1), k = (0, P.useRef)(0);
|
|
2856
|
+
return (0, P.useEffect)(() => {
|
|
2857
|
+
if (O.current = !0, k.current += 1, y.current) y.current.isReady() && x(y.current);
|
|
2858
2858
|
else {
|
|
2859
|
-
let t = new
|
|
2859
|
+
let t = new U(_.current, {
|
|
2860
2860
|
...e,
|
|
2861
2861
|
plugins: S.current
|
|
2862
2862
|
});
|
|
2863
2863
|
w.current = e, y.current = t, t.initialize().then(() => {
|
|
2864
|
-
!
|
|
2864
|
+
!O.current || y.current !== t || (x(t), n?.(t));
|
|
2865
2865
|
});
|
|
2866
2866
|
}
|
|
2867
2867
|
return () => {
|
|
2868
|
-
|
|
2868
|
+
O.current = !1;
|
|
2869
2869
|
let e = y.current;
|
|
2870
2870
|
if (!e) return;
|
|
2871
|
-
let t = ++
|
|
2871
|
+
let t = ++k.current;
|
|
2872
2872
|
Promise.resolve().then(() => {
|
|
2873
|
-
if (!(
|
|
2873
|
+
if (!(O.current || k.current !== t) && y.current === e) {
|
|
2874
2874
|
try {
|
|
2875
2875
|
e.destroy();
|
|
2876
2876
|
} catch {}
|
|
@@ -2878,7 +2878,7 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
|
|
|
2878
2878
|
}
|
|
2879
2879
|
});
|
|
2880
2880
|
};
|
|
2881
|
-
}, []), (0,
|
|
2881
|
+
}, []), (0, P.useEffect)(() => (_t(p, b), () => _t(p, null)), [p, b]), (0, P.useEffect)(() => {
|
|
2882
2882
|
if (!b) return;
|
|
2883
2883
|
let e = [
|
|
2884
2884
|
["sync", r],
|
|
@@ -2908,24 +2908,24 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
|
|
|
2908
2908
|
u,
|
|
2909
2909
|
d,
|
|
2910
2910
|
f
|
|
2911
|
-
]), (0,
|
|
2912
|
-
!b || !y.current?.isReady() ||
|
|
2913
|
-
}, [b, e]), (0,
|
|
2911
|
+
]), (0, P.useLayoutEffect)(() => {
|
|
2912
|
+
!b || !y.current?.isReady() || gt(w.current, e) && (C.current = !0, y.current.configure(e ?? {}), w.current = e);
|
|
2913
|
+
}, [b, e]), (0, P.useLayoutEffect)(() => {
|
|
2914
2914
|
let e = C.current;
|
|
2915
2915
|
C.current = !1;
|
|
2916
|
-
let t =
|
|
2916
|
+
let t = G(v.current, E.current, D);
|
|
2917
2917
|
if (e) {
|
|
2918
2918
|
T.current = t;
|
|
2919
2919
|
return;
|
|
2920
2920
|
}
|
|
2921
2921
|
y.current?.isReady() && T.current !== t && (y.current.sync(), T.current = t);
|
|
2922
|
-
}), /* @__PURE__ */ (0,
|
|
2922
|
+
}), /* @__PURE__ */ (0, W.jsx)(mt.Provider, {
|
|
2923
2923
|
value: b,
|
|
2924
|
-
children: /* @__PURE__ */ (0,
|
|
2924
|
+
children: /* @__PURE__ */ (0, W.jsx)("div", {
|
|
2925
2925
|
className: m ? `reveal ${m}` : "reveal",
|
|
2926
2926
|
style: h,
|
|
2927
2927
|
ref: _,
|
|
2928
|
-
children: /* @__PURE__ */ (0,
|
|
2928
|
+
children: /* @__PURE__ */ (0, W.jsx)("div", {
|
|
2929
2929
|
className: "slides",
|
|
2930
2930
|
ref: v,
|
|
2931
2931
|
children: g
|
|
@@ -2933,7 +2933,7 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
|
|
|
2933
2933
|
})
|
|
2934
2934
|
});
|
|
2935
2935
|
}
|
|
2936
|
-
var
|
|
2936
|
+
var xt = {
|
|
2937
2937
|
background: "data-background",
|
|
2938
2938
|
backgroundImage: "data-background-image",
|
|
2939
2939
|
backgroundVideo: "data-background-video",
|
|
@@ -2962,12 +2962,12 @@ var mt = {
|
|
|
2962
2962
|
backgroundInteractive: "data-background-interactive",
|
|
2963
2963
|
preload: "data-preload"
|
|
2964
2964
|
};
|
|
2965
|
-
function
|
|
2965
|
+
function St(e) {
|
|
2966
2966
|
return JSON.stringify(Object.entries(e).filter(([e]) => e.startsWith("data-")).sort(([e], [t]) => e.localeCompare(t)));
|
|
2967
2967
|
}
|
|
2968
|
-
function
|
|
2968
|
+
function Ct(e, t) {
|
|
2969
2969
|
let n = { ...e }, r = n;
|
|
2970
|
-
for (let [e, n] of Object.entries(
|
|
2970
|
+
for (let [e, n] of Object.entries(xt)) {
|
|
2971
2971
|
if (r[n] !== void 0) continue;
|
|
2972
2972
|
let i = t[e];
|
|
2973
2973
|
if (i !== void 0) {
|
|
@@ -2980,8 +2980,8 @@ function gt(e, t) {
|
|
|
2980
2980
|
}
|
|
2981
2981
|
return n;
|
|
2982
2982
|
}
|
|
2983
|
-
function
|
|
2984
|
-
let
|
|
2983
|
+
function wt({ children: e, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: d, backgroundOpacity: f, backgroundTransition: p, visibility: m, autoAnimate: h, autoAnimateId: g, autoAnimateRestart: _, autoAnimateUnmatched: v, autoAnimateEasing: y, autoAnimateDuration: b, autoAnimateDelay: x, transition: S, transitionSpeed: C, autoSlide: w, notes: T, backgroundInteractive: E, preload: D, ...O }) {
|
|
2984
|
+
let k = (0, P.useContext)(mt), A = (0, P.useRef)(null), j = (0, P.useRef)(null), ee = (0, P.useRef)(null), M = Ct(O, {
|
|
2985
2985
|
background: t,
|
|
2986
2986
|
backgroundImage: n,
|
|
2987
2987
|
backgroundVideo: r,
|
|
@@ -3008,32 +3008,32 @@ function _t({ children: e, background: t, backgroundImage: n, backgroundVideo: r
|
|
|
3008
3008
|
autoSlide: w,
|
|
3009
3009
|
notes: T,
|
|
3010
3010
|
backgroundInteractive: E,
|
|
3011
|
-
preload:
|
|
3012
|
-
}), N =
|
|
3013
|
-
return (0,
|
|
3011
|
+
preload: D
|
|
3012
|
+
}), N = St(M);
|
|
3013
|
+
return (0, P.useLayoutEffect)(() => {
|
|
3014
3014
|
let e = A.current;
|
|
3015
|
-
if (!
|
|
3016
|
-
if (j.current !==
|
|
3017
|
-
j.current =
|
|
3015
|
+
if (!k || !e || typeof k.syncSlide != "function") return;
|
|
3016
|
+
if (j.current !== k) {
|
|
3017
|
+
j.current = k, ee.current = N;
|
|
3018
3018
|
return;
|
|
3019
3019
|
}
|
|
3020
3020
|
if (N === "[]") return;
|
|
3021
|
-
let t = j.current ===
|
|
3022
|
-
t && n || (
|
|
3023
|
-
}, [
|
|
3021
|
+
let t = j.current === k, n = ee.current === N;
|
|
3022
|
+
t && n || (k.syncSlide(e), j.current = k, ee.current = N);
|
|
3023
|
+
}, [k, N]), /* @__PURE__ */ (0, W.jsx)("section", {
|
|
3024
3024
|
ref: A,
|
|
3025
|
-
...
|
|
3025
|
+
...M,
|
|
3026
3026
|
children: e
|
|
3027
3027
|
});
|
|
3028
3028
|
}
|
|
3029
|
-
function
|
|
3030
|
-
return /* @__PURE__ */ (0,
|
|
3029
|
+
function Tt({ className: e, style: t, children: n }) {
|
|
3030
|
+
return /* @__PURE__ */ (0, W.jsx)("section", {
|
|
3031
3031
|
className: e,
|
|
3032
3032
|
style: t,
|
|
3033
3033
|
children: n
|
|
3034
3034
|
});
|
|
3035
3035
|
}
|
|
3036
|
-
function
|
|
3036
|
+
function Et() {
|
|
3037
3037
|
return {
|
|
3038
3038
|
async: !1,
|
|
3039
3039
|
breaks: !1,
|
|
@@ -3047,11 +3047,11 @@ function yt() {
|
|
|
3047
3047
|
walkTokens: null
|
|
3048
3048
|
};
|
|
3049
3049
|
}
|
|
3050
|
-
var
|
|
3051
|
-
function
|
|
3052
|
-
|
|
3050
|
+
var K = Et();
|
|
3051
|
+
function Dt(e) {
|
|
3052
|
+
K = e;
|
|
3053
3053
|
}
|
|
3054
|
-
var
|
|
3054
|
+
var q = { exec: () => null };
|
|
3055
3055
|
function J(e, t = "") {
|
|
3056
3056
|
let n = typeof e == "string" ? e : e.source, r = {
|
|
3057
3057
|
replace: (e, t) => {
|
|
@@ -3062,7 +3062,7 @@ function J(e, t = "") {
|
|
|
3062
3062
|
};
|
|
3063
3063
|
return r;
|
|
3064
3064
|
}
|
|
3065
|
-
var
|
|
3065
|
+
var Ot = (() => {
|
|
3066
3066
|
try {
|
|
3067
3067
|
return !0;
|
|
3068
3068
|
} catch {
|
|
@@ -3125,96 +3125,96 @@ var Ct = (() => {
|
|
|
3125
3125
|
headingBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}#`),
|
|
3126
3126
|
htmlBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}<(?:[a-z].*>|!--)`, "i"),
|
|
3127
3127
|
blockquoteBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}>`)
|
|
3128
|
-
},
|
|
3129
|
-
blockquote: J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",
|
|
3130
|
-
code:
|
|
3131
|
-
def:
|
|
3132
|
-
fences:
|
|
3133
|
-
heading:
|
|
3134
|
-
hr:
|
|
3135
|
-
html:
|
|
3136
|
-
lheading:
|
|
3137
|
-
list:
|
|
3138
|
-
newline:
|
|
3139
|
-
paragraph:
|
|
3140
|
-
table:
|
|
3141
|
-
text:
|
|
3142
|
-
},
|
|
3143
|
-
...
|
|
3144
|
-
lheading:
|
|
3145
|
-
table:
|
|
3146
|
-
paragraph: J(
|
|
3147
|
-
},
|
|
3148
|
-
...
|
|
3149
|
-
html: J("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",
|
|
3128
|
+
}, kt = /^(?:[ \t]*(?:\n|$))+/, At = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, jt = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, Mt = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Nt = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Pt = / {0,3}(?:[*+-]|\d{1,9}[.)])/, Ft = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, It = J(Ft).replace(/bull/g, Pt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), Lt = J(Ft).replace(/bull/g, Pt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), Rt = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, zt = /^[^\n]+/, Bt = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Vt = J(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Bt).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Ht = J(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Pt).getRegex(), Ut = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Wt = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Gt = J("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Wt).replace("tag", Ut).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Kt = J(Rt).replace("hr", Mt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ut).getRegex(), qt = {
|
|
3129
|
+
blockquote: J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Kt).getRegex(),
|
|
3130
|
+
code: At,
|
|
3131
|
+
def: Vt,
|
|
3132
|
+
fences: jt,
|
|
3133
|
+
heading: Nt,
|
|
3134
|
+
hr: Mt,
|
|
3135
|
+
html: Gt,
|
|
3136
|
+
lheading: It,
|
|
3137
|
+
list: Ht,
|
|
3138
|
+
newline: kt,
|
|
3139
|
+
paragraph: Kt,
|
|
3140
|
+
table: q,
|
|
3141
|
+
text: zt
|
|
3142
|
+
}, Jt = J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", Mt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ut).getRegex(), Yt = {
|
|
3143
|
+
...qt,
|
|
3144
|
+
lheading: Lt,
|
|
3145
|
+
table: Jt,
|
|
3146
|
+
paragraph: J(Rt).replace("hr", Mt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Jt).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ut).getRegex()
|
|
3147
|
+
}, Xt = {
|
|
3148
|
+
...qt,
|
|
3149
|
+
html: J("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Wt).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
|
|
3150
3150
|
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
3151
3151
|
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
3152
|
-
fences:
|
|
3152
|
+
fences: q,
|
|
3153
3153
|
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
3154
|
-
paragraph: J(
|
|
3155
|
-
},
|
|
3156
|
-
_backpedal:
|
|
3157
|
-
anyPunctuation:
|
|
3158
|
-
autolink:
|
|
3159
|
-
blockSkip:
|
|
3160
|
-
br:
|
|
3161
|
-
code:
|
|
3162
|
-
del:
|
|
3163
|
-
delLDelim:
|
|
3164
|
-
delRDelim:
|
|
3165
|
-
emStrongLDelim:
|
|
3166
|
-
emStrongRDelimAst:
|
|
3167
|
-
emStrongRDelimUnd:
|
|
3168
|
-
escape:
|
|
3169
|
-
link:
|
|
3170
|
-
nolink:
|
|
3171
|
-
punctuation:
|
|
3172
|
-
reflink:
|
|
3173
|
-
reflinkSearch:
|
|
3174
|
-
tag:
|
|
3175
|
-
text:
|
|
3176
|
-
url:
|
|
3177
|
-
},
|
|
3178
|
-
...
|
|
3179
|
-
link: J(/^!?\[(label)\]\((.*?)\)/).replace("label",
|
|
3180
|
-
reflink: J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",
|
|
3181
|
-
},
|
|
3182
|
-
...
|
|
3183
|
-
emStrongRDelimAst:
|
|
3184
|
-
emStrongLDelim:
|
|
3185
|
-
delLDelim:
|
|
3186
|
-
delRDelim:
|
|
3187
|
-
url: J(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",
|
|
3154
|
+
paragraph: J(Rt).replace("hr", Mt).replace("heading", " *#{1,6} *[^\n]").replace("lheading", It).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
|
|
3155
|
+
}, Zt = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Qt = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, $t = /^( {2,}|\\)\n(?!\s*$)/, en = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, tn = /[\p{P}\p{S}]/u, nn = /[\s\p{P}\p{S}]/u, rn = /[^\s\p{P}\p{S}]/u, an = J(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, nn).getRegex(), on = /(?!~)[\p{P}\p{S}]/u, sn = /(?!~)[\s\p{P}\p{S}]/u, cn = /(?:[^\s\p{P}\p{S}]|~)/u, ln = J(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Ot ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), un = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, dn = J(un, "u").replace(/punct/g, tn).getRegex(), fn = J(un, "u").replace(/punct/g, on).getRegex(), pn = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", mn = J(pn, "gu").replace(/notPunctSpace/g, rn).replace(/punctSpace/g, nn).replace(/punct/g, tn).getRegex(), hn = J(pn, "gu").replace(/notPunctSpace/g, cn).replace(/punctSpace/g, sn).replace(/punct/g, on).getRegex(), gn = J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, rn).replace(/punctSpace/g, nn).replace(/punct/g, tn).getRegex(), _n = J(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, tn).getRegex(), vn = J("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, rn).replace(/punctSpace/g, nn).replace(/punct/g, tn).getRegex(), yn = J(/\\(punct)/, "gu").replace(/punct/g, tn).getRegex(), bn = J(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), xn = J(Wt).replace("(?:-->|$)", "-->").getRegex(), Sn = J("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", xn).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Cn = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, wn = J(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Cn).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Tn = J(/^!?\[(label)\]\[(ref)\]/).replace("label", Cn).replace("ref", Bt).getRegex(), En = J(/^!?\[(ref)\](?:\[\])?/).replace("ref", Bt).getRegex(), Dn = J("reflink|nolink(?!\\()", "g").replace("reflink", Tn).replace("nolink", En).getRegex(), On = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, kn = {
|
|
3156
|
+
_backpedal: q,
|
|
3157
|
+
anyPunctuation: yn,
|
|
3158
|
+
autolink: bn,
|
|
3159
|
+
blockSkip: ln,
|
|
3160
|
+
br: $t,
|
|
3161
|
+
code: Qt,
|
|
3162
|
+
del: q,
|
|
3163
|
+
delLDelim: q,
|
|
3164
|
+
delRDelim: q,
|
|
3165
|
+
emStrongLDelim: dn,
|
|
3166
|
+
emStrongRDelimAst: mn,
|
|
3167
|
+
emStrongRDelimUnd: gn,
|
|
3168
|
+
escape: Zt,
|
|
3169
|
+
link: wn,
|
|
3170
|
+
nolink: En,
|
|
3171
|
+
punctuation: an,
|
|
3172
|
+
reflink: Tn,
|
|
3173
|
+
reflinkSearch: Dn,
|
|
3174
|
+
tag: Sn,
|
|
3175
|
+
text: en,
|
|
3176
|
+
url: q
|
|
3177
|
+
}, An = {
|
|
3178
|
+
...kn,
|
|
3179
|
+
link: J(/^!?\[(label)\]\((.*?)\)/).replace("label", Cn).getRegex(),
|
|
3180
|
+
reflink: J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Cn).getRegex()
|
|
3181
|
+
}, jn = {
|
|
3182
|
+
...kn,
|
|
3183
|
+
emStrongRDelimAst: hn,
|
|
3184
|
+
emStrongLDelim: fn,
|
|
3185
|
+
delLDelim: _n,
|
|
3186
|
+
delRDelim: vn,
|
|
3187
|
+
url: J(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", On).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
|
|
3188
3188
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
|
3189
3189
|
del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
|
|
3190
|
-
text: J(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",
|
|
3191
|
-
},
|
|
3192
|
-
...
|
|
3193
|
-
br: J(
|
|
3194
|
-
text: J(
|
|
3195
|
-
},
|
|
3196
|
-
normal:
|
|
3197
|
-
gfm:
|
|
3198
|
-
pedantic:
|
|
3199
|
-
},
|
|
3200
|
-
normal:
|
|
3201
|
-
gfm:
|
|
3202
|
-
breaks:
|
|
3203
|
-
pedantic:
|
|
3204
|
-
},
|
|
3190
|
+
text: J(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", On).getRegex()
|
|
3191
|
+
}, Mn = {
|
|
3192
|
+
...jn,
|
|
3193
|
+
br: J($t).replace("{2,}", "*").getRegex(),
|
|
3194
|
+
text: J(jn.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
3195
|
+
}, Nn = {
|
|
3196
|
+
normal: qt,
|
|
3197
|
+
gfm: Yt,
|
|
3198
|
+
pedantic: Xt
|
|
3199
|
+
}, Pn = {
|
|
3200
|
+
normal: kn,
|
|
3201
|
+
gfm: jn,
|
|
3202
|
+
breaks: Mn,
|
|
3203
|
+
pedantic: An
|
|
3204
|
+
}, Fn = {
|
|
3205
3205
|
"&": "&",
|
|
3206
3206
|
"<": "<",
|
|
3207
3207
|
">": ">",
|
|
3208
3208
|
"\"": """,
|
|
3209
3209
|
"'": "'"
|
|
3210
|
-
},
|
|
3211
|
-
function
|
|
3210
|
+
}, In = (e) => Fn[e];
|
|
3211
|
+
function Ln(e, t) {
|
|
3212
3212
|
if (t) {
|
|
3213
|
-
if (Y.escapeTest.test(e)) return e.replace(Y.escapeReplace,
|
|
3214
|
-
} else if (Y.escapeTestNoEncode.test(e)) return e.replace(Y.escapeReplaceNoEncode,
|
|
3213
|
+
if (Y.escapeTest.test(e)) return e.replace(Y.escapeReplace, In);
|
|
3214
|
+
} else if (Y.escapeTestNoEncode.test(e)) return e.replace(Y.escapeReplaceNoEncode, In);
|
|
3215
3215
|
return e;
|
|
3216
3216
|
}
|
|
3217
|
-
function
|
|
3217
|
+
function Rn(e) {
|
|
3218
3218
|
try {
|
|
3219
3219
|
e = encodeURI(e).replace(Y.percentDecode, "%");
|
|
3220
3220
|
} catch {
|
|
@@ -3222,7 +3222,7 @@ function Nn(e) {
|
|
|
3222
3222
|
}
|
|
3223
3223
|
return e;
|
|
3224
3224
|
}
|
|
3225
|
-
function
|
|
3225
|
+
function zn(e, t) {
|
|
3226
3226
|
let n = e.replace(Y.findPipe, (e, t, n) => {
|
|
3227
3227
|
let r = !1, i = t;
|
|
3228
3228
|
for (; --i >= 0 && n[i] === "\\";) r = !r;
|
|
@@ -3235,7 +3235,7 @@ function Pn(e, t) {
|
|
|
3235
3235
|
for (; r < n.length; r++) n[r] = n[r].trim().replace(Y.slashPipe, "|");
|
|
3236
3236
|
return n;
|
|
3237
3237
|
}
|
|
3238
|
-
function
|
|
3238
|
+
function Bn(e, t, n) {
|
|
3239
3239
|
let r = e.length;
|
|
3240
3240
|
if (r === 0) return "";
|
|
3241
3241
|
let i = 0;
|
|
@@ -3247,7 +3247,7 @@ function Fn(e, t, n) {
|
|
|
3247
3247
|
}
|
|
3248
3248
|
return e.slice(0, r - i);
|
|
3249
3249
|
}
|
|
3250
|
-
function
|
|
3250
|
+
function Vn(e, t) {
|
|
3251
3251
|
if (e.indexOf(t[1]) === -1) return -1;
|
|
3252
3252
|
let n = 0;
|
|
3253
3253
|
for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
|
|
@@ -3255,7 +3255,7 @@ function In(e, t) {
|
|
|
3255
3255
|
else if (e[r] === t[1] && (n--, n < 0)) return r;
|
|
3256
3256
|
return n > 0 ? -2 : -1;
|
|
3257
3257
|
}
|
|
3258
|
-
function
|
|
3258
|
+
function Hn(e, t = 0) {
|
|
3259
3259
|
let n = t, r = "";
|
|
3260
3260
|
for (let t of e) if (t === " ") {
|
|
3261
3261
|
let e = 4 - n % 4;
|
|
@@ -3263,7 +3263,7 @@ function Ln(e, t = 0) {
|
|
|
3263
3263
|
} else r += t, n++;
|
|
3264
3264
|
return r;
|
|
3265
3265
|
}
|
|
3266
|
-
function
|
|
3266
|
+
function Un(e, t, n, r, i) {
|
|
3267
3267
|
let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1");
|
|
3268
3268
|
r.state.inLink = !0;
|
|
3269
3269
|
let c = {
|
|
@@ -3276,7 +3276,7 @@ function Rn(e, t, n, r, i) {
|
|
|
3276
3276
|
};
|
|
3277
3277
|
return r.state.inLink = !1, c;
|
|
3278
3278
|
}
|
|
3279
|
-
function
|
|
3279
|
+
function Wn(e, t, n) {
|
|
3280
3280
|
let r = e.match(n.other.indentCodeCompensation);
|
|
3281
3281
|
if (r === null) return t;
|
|
3282
3282
|
let i = r[1];
|
|
@@ -3287,12 +3287,12 @@ function zn(e, t, n) {
|
|
|
3287
3287
|
return r.length >= i.length ? e.slice(i.length) : e;
|
|
3288
3288
|
}).join("\n");
|
|
3289
3289
|
}
|
|
3290
|
-
var
|
|
3290
|
+
var Gn = class {
|
|
3291
3291
|
options;
|
|
3292
3292
|
rules;
|
|
3293
3293
|
lexer;
|
|
3294
3294
|
constructor(e) {
|
|
3295
|
-
this.options = e ||
|
|
3295
|
+
this.options = e || K;
|
|
3296
3296
|
}
|
|
3297
3297
|
space(e) {
|
|
3298
3298
|
let t = this.rules.block.newline.exec(e);
|
|
@@ -3309,14 +3309,14 @@ var Bn = class {
|
|
|
3309
3309
|
type: "code",
|
|
3310
3310
|
raw: t[0],
|
|
3311
3311
|
codeBlockStyle: "indented",
|
|
3312
|
-
text: this.options.pedantic ? e :
|
|
3312
|
+
text: this.options.pedantic ? e : Bn(e, "\n")
|
|
3313
3313
|
};
|
|
3314
3314
|
}
|
|
3315
3315
|
}
|
|
3316
3316
|
fences(e) {
|
|
3317
3317
|
let t = this.rules.block.fences.exec(e);
|
|
3318
3318
|
if (t) {
|
|
3319
|
-
let e = t[0], n =
|
|
3319
|
+
let e = t[0], n = Wn(e, t[3] || "", this.rules);
|
|
3320
3320
|
return {
|
|
3321
3321
|
type: "code",
|
|
3322
3322
|
raw: e,
|
|
@@ -3330,7 +3330,7 @@ var Bn = class {
|
|
|
3330
3330
|
if (t) {
|
|
3331
3331
|
let e = t[2].trim();
|
|
3332
3332
|
if (this.rules.other.endingHash.test(e)) {
|
|
3333
|
-
let t =
|
|
3333
|
+
let t = Bn(e, "#");
|
|
3334
3334
|
(this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
|
|
3335
3335
|
}
|
|
3336
3336
|
return {
|
|
@@ -3346,13 +3346,13 @@ var Bn = class {
|
|
|
3346
3346
|
let t = this.rules.block.hr.exec(e);
|
|
3347
3347
|
if (t) return {
|
|
3348
3348
|
type: "hr",
|
|
3349
|
-
raw:
|
|
3349
|
+
raw: Bn(t[0], "\n")
|
|
3350
3350
|
};
|
|
3351
3351
|
}
|
|
3352
3352
|
blockquote(e) {
|
|
3353
3353
|
let t = this.rules.block.blockquote.exec(e);
|
|
3354
3354
|
if (t) {
|
|
3355
|
-
let e =
|
|
3355
|
+
let e = Bn(t[0], "\n").split("\n"), n = "", r = "", i = [];
|
|
3356
3356
|
for (; e.length > 0;) {
|
|
3357
3357
|
let t = !1, a = [], o;
|
|
3358
3358
|
for (o = 0; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
|
|
@@ -3403,7 +3403,7 @@ ${c}` : c;
|
|
|
3403
3403
|
let n = !1, r = "", s = "";
|
|
3404
3404
|
if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
|
|
3405
3405
|
r = t[0], e = e.substring(r.length);
|
|
3406
|
-
let c =
|
|
3406
|
+
let c = Hn(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
|
|
3407
3407
|
if (this.options.pedantic ? (d = 2, s = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r += l + "\n", e = e.substring(l.length + 1), n = !0), !n) {
|
|
3408
3408
|
let t = this.rules.other.nextBulletRegex(d), n = this.rules.other.hrRegex(d), i = this.rules.other.fencesBeginRegex(d), a = this.rules.other.headingBeginRegex(d), o = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
|
|
3409
3409
|
for (; e;) {
|
|
@@ -3492,7 +3492,7 @@ ${c}` : c;
|
|
|
3492
3492
|
table(e) {
|
|
3493
3493
|
let t = this.rules.block.table.exec(e);
|
|
3494
3494
|
if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
|
|
3495
|
-
let n =
|
|
3495
|
+
let n = zn(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
|
|
3496
3496
|
type: "table",
|
|
3497
3497
|
raw: t[0],
|
|
3498
3498
|
header: [],
|
|
@@ -3507,7 +3507,7 @@ ${c}` : c;
|
|
|
3507
3507
|
header: !0,
|
|
3508
3508
|
align: a.align[e]
|
|
3509
3509
|
});
|
|
3510
|
-
for (let e of i) a.rows.push(
|
|
3510
|
+
for (let e of i) a.rows.push(zn(e, a.header.length).map((e, t) => ({
|
|
3511
3511
|
text: e,
|
|
3512
3512
|
tokens: this.lexer.inline(e),
|
|
3513
3513
|
header: !1,
|
|
@@ -3575,10 +3575,10 @@ ${c}` : c;
|
|
|
3575
3575
|
let e = t[2].trim();
|
|
3576
3576
|
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e)) {
|
|
3577
3577
|
if (!this.rules.other.endAngleBracket.test(e)) return;
|
|
3578
|
-
let t =
|
|
3578
|
+
let t = Bn(e.slice(0, -1), "\\");
|
|
3579
3579
|
if ((e.length - t.length) % 2 == 0) return;
|
|
3580
3580
|
} else {
|
|
3581
|
-
let e =
|
|
3581
|
+
let e = Vn(t[2], "()");
|
|
3582
3582
|
if (e === -2) return;
|
|
3583
3583
|
if (e > -1) {
|
|
3584
3584
|
let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
|
|
@@ -3590,7 +3590,7 @@ ${c}` : c;
|
|
|
3590
3590
|
let e = this.rules.other.pedanticHrefTitle.exec(n);
|
|
3591
3591
|
e && (n = e[1], r = e[3]);
|
|
3592
3592
|
} else r = t[3] ? t[3].slice(1, -1) : "";
|
|
3593
|
-
return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)),
|
|
3593
|
+
return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), Un(t, {
|
|
3594
3594
|
href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
|
|
3595
3595
|
title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
|
|
3596
3596
|
}, t[0], this.lexer, this.rules);
|
|
@@ -3608,7 +3608,7 @@ ${c}` : c;
|
|
|
3608
3608
|
text: e
|
|
3609
3609
|
};
|
|
3610
3610
|
}
|
|
3611
|
-
return
|
|
3611
|
+
return Un(n, e, n[0], this.lexer, this.rules);
|
|
3612
3612
|
}
|
|
3613
3613
|
}
|
|
3614
3614
|
emStrong(e, t, n = "") {
|
|
@@ -3741,29 +3741,29 @@ ${c}` : c;
|
|
|
3741
3741
|
};
|
|
3742
3742
|
}
|
|
3743
3743
|
}
|
|
3744
|
-
},
|
|
3744
|
+
}, Kn = class e {
|
|
3745
3745
|
tokens;
|
|
3746
3746
|
options;
|
|
3747
3747
|
state;
|
|
3748
3748
|
inlineQueue;
|
|
3749
3749
|
tokenizer;
|
|
3750
3750
|
constructor(e) {
|
|
3751
|
-
this.tokens = [], this.tokens.links = Object.create(null), this.options = e ||
|
|
3751
|
+
this.tokens = [], this.tokens.links = Object.create(null), this.options = e || K, this.options.tokenizer = this.options.tokenizer || new Gn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
|
|
3752
3752
|
inLink: !1,
|
|
3753
3753
|
inRawBlock: !1,
|
|
3754
3754
|
top: !0
|
|
3755
3755
|
};
|
|
3756
3756
|
let t = {
|
|
3757
3757
|
other: Y,
|
|
3758
|
-
block:
|
|
3759
|
-
inline:
|
|
3758
|
+
block: Nn.normal,
|
|
3759
|
+
inline: Pn.normal
|
|
3760
3760
|
};
|
|
3761
|
-
this.options.pedantic ? (t.block =
|
|
3761
|
+
this.options.pedantic ? (t.block = Nn.pedantic, t.inline = Pn.pedantic) : this.options.gfm && (t.block = Nn.gfm, t.inline = this.options.breaks ? Pn.breaks : Pn.gfm), this.tokenizer.rules = t;
|
|
3762
3762
|
}
|
|
3763
3763
|
static get rules() {
|
|
3764
3764
|
return {
|
|
3765
|
-
block:
|
|
3766
|
-
inline:
|
|
3765
|
+
block: Nn,
|
|
3766
|
+
inline: Pn
|
|
3767
3767
|
};
|
|
3768
3768
|
}
|
|
3769
3769
|
static lex(t, n) {
|
|
@@ -3954,18 +3954,18 @@ ${c}` : c;
|
|
|
3954
3954
|
}
|
|
3955
3955
|
return t;
|
|
3956
3956
|
}
|
|
3957
|
-
},
|
|
3957
|
+
}, qn = class {
|
|
3958
3958
|
options;
|
|
3959
3959
|
parser;
|
|
3960
3960
|
constructor(e) {
|
|
3961
|
-
this.options = e ||
|
|
3961
|
+
this.options = e || K;
|
|
3962
3962
|
}
|
|
3963
3963
|
space(e) {
|
|
3964
3964
|
return "";
|
|
3965
3965
|
}
|
|
3966
3966
|
code({ text: e, lang: t, escaped: n }) {
|
|
3967
3967
|
let r = (t || "").match(Y.notSpaceStart)?.[0], i = e.replace(Y.endingNewline, "") + "\n";
|
|
3968
|
-
return r ? "<pre><code class=\"language-" +
|
|
3968
|
+
return r ? "<pre><code class=\"language-" + Ln(r) + "\">" + (n ? i : Ln(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : Ln(i, !0)) + "</code></pre>\n";
|
|
3969
3969
|
}
|
|
3970
3970
|
blockquote({ tokens: e }) {
|
|
3971
3971
|
return `<blockquote>
|
|
@@ -4035,7 +4035,7 @@ ${e}</tr>
|
|
|
4035
4035
|
return `<em>${this.parser.parseInline(e)}</em>`;
|
|
4036
4036
|
}
|
|
4037
4037
|
codespan({ text: e }) {
|
|
4038
|
-
return `<code>${
|
|
4038
|
+
return `<code>${Ln(e, !0)}</code>`;
|
|
4039
4039
|
}
|
|
4040
4040
|
br(e) {
|
|
4041
4041
|
return "<br>";
|
|
@@ -4044,24 +4044,24 @@ ${e}</tr>
|
|
|
4044
4044
|
return `<del>${this.parser.parseInline(e)}</del>`;
|
|
4045
4045
|
}
|
|
4046
4046
|
link({ href: e, title: t, tokens: n }) {
|
|
4047
|
-
let r = this.parser.parseInline(n), i =
|
|
4047
|
+
let r = this.parser.parseInline(n), i = Rn(e);
|
|
4048
4048
|
if (i === null) return r;
|
|
4049
4049
|
e = i;
|
|
4050
4050
|
let a = "<a href=\"" + e + "\"";
|
|
4051
|
-
return t && (a += " title=\"" +
|
|
4051
|
+
return t && (a += " title=\"" + Ln(t) + "\""), a += ">" + r + "</a>", a;
|
|
4052
4052
|
}
|
|
4053
4053
|
image({ href: e, title: t, text: n, tokens: r }) {
|
|
4054
4054
|
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
|
|
4055
|
-
let i =
|
|
4056
|
-
if (i === null) return
|
|
4055
|
+
let i = Rn(e);
|
|
4056
|
+
if (i === null) return Ln(n);
|
|
4057
4057
|
e = i;
|
|
4058
|
-
let a = `<img src="${e}" alt="${
|
|
4059
|
-
return t && (a += ` title="${
|
|
4058
|
+
let a = `<img src="${e}" alt="${Ln(n)}"`;
|
|
4059
|
+
return t && (a += ` title="${Ln(t)}"`), a += ">", a;
|
|
4060
4060
|
}
|
|
4061
4061
|
text(e) {
|
|
4062
|
-
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text :
|
|
4062
|
+
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : Ln(e.text);
|
|
4063
4063
|
}
|
|
4064
|
-
},
|
|
4064
|
+
}, Jn = class {
|
|
4065
4065
|
strong({ text: e }) {
|
|
4066
4066
|
return e;
|
|
4067
4067
|
}
|
|
@@ -4092,12 +4092,12 @@ ${e}</tr>
|
|
|
4092
4092
|
checkbox({ raw: e }) {
|
|
4093
4093
|
return e;
|
|
4094
4094
|
}
|
|
4095
|
-
},
|
|
4095
|
+
}, Yn = class e {
|
|
4096
4096
|
options;
|
|
4097
4097
|
renderer;
|
|
4098
4098
|
textRenderer;
|
|
4099
4099
|
constructor(e) {
|
|
4100
|
-
this.options = e ||
|
|
4100
|
+
this.options = e || K, this.options.renderer = this.options.renderer || new qn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Jn();
|
|
4101
4101
|
}
|
|
4102
4102
|
static parse(t, n) {
|
|
4103
4103
|
return new e(n).parse(t);
|
|
@@ -4243,11 +4243,11 @@ ${e}</tr>
|
|
|
4243
4243
|
}
|
|
4244
4244
|
return n;
|
|
4245
4245
|
}
|
|
4246
|
-
},
|
|
4246
|
+
}, Xn = class {
|
|
4247
4247
|
options;
|
|
4248
4248
|
block;
|
|
4249
4249
|
constructor(e) {
|
|
4250
|
-
this.options = e ||
|
|
4250
|
+
this.options = e || K;
|
|
4251
4251
|
}
|
|
4252
4252
|
static passThroughHooks = /* @__PURE__ */ new Set([
|
|
4253
4253
|
"preprocess",
|
|
@@ -4273,22 +4273,22 @@ ${e}</tr>
|
|
|
4273
4273
|
return e;
|
|
4274
4274
|
}
|
|
4275
4275
|
provideLexer() {
|
|
4276
|
-
return this.block ?
|
|
4276
|
+
return this.block ? Kn.lex : Kn.lexInline;
|
|
4277
4277
|
}
|
|
4278
4278
|
provideParser() {
|
|
4279
|
-
return this.block ?
|
|
4279
|
+
return this.block ? Yn.parse : Yn.parseInline;
|
|
4280
4280
|
}
|
|
4281
|
-
},
|
|
4282
|
-
defaults =
|
|
4281
|
+
}, Zn = new class {
|
|
4282
|
+
defaults = Et();
|
|
4283
4283
|
options = this.setOptions;
|
|
4284
4284
|
parse = this.parseMarkdown(!0);
|
|
4285
4285
|
parseInline = this.parseMarkdown(!1);
|
|
4286
|
-
Parser =
|
|
4287
|
-
Renderer =
|
|
4288
|
-
TextRenderer =
|
|
4289
|
-
Lexer =
|
|
4290
|
-
Tokenizer =
|
|
4291
|
-
Hooks =
|
|
4286
|
+
Parser = Yn;
|
|
4287
|
+
Renderer = qn;
|
|
4288
|
+
TextRenderer = Jn;
|
|
4289
|
+
Lexer = Kn;
|
|
4290
|
+
Tokenizer = Gn;
|
|
4291
|
+
Hooks = Xn;
|
|
4292
4292
|
constructor(...e) {
|
|
4293
4293
|
this.use(...e);
|
|
4294
4294
|
}
|
|
@@ -4339,7 +4339,7 @@ ${e}</tr>
|
|
|
4339
4339
|
}
|
|
4340
4340
|
"childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
|
|
4341
4341
|
}), n.extensions = t), e.renderer) {
|
|
4342
|
-
let t = this.defaults.renderer || new
|
|
4342
|
+
let t = this.defaults.renderer || new qn(this.defaults);
|
|
4343
4343
|
for (let n in e.renderer) {
|
|
4344
4344
|
if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
|
|
4345
4345
|
if (["options", "parser"].includes(n)) continue;
|
|
@@ -4352,7 +4352,7 @@ ${e}</tr>
|
|
|
4352
4352
|
n.renderer = t;
|
|
4353
4353
|
}
|
|
4354
4354
|
if (e.tokenizer) {
|
|
4355
|
-
let t = this.defaults.tokenizer || new
|
|
4355
|
+
let t = this.defaults.tokenizer || new Gn(this.defaults);
|
|
4356
4356
|
for (let n in e.tokenizer) {
|
|
4357
4357
|
if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
|
|
4358
4358
|
if ([
|
|
@@ -4369,13 +4369,13 @@ ${e}</tr>
|
|
|
4369
4369
|
n.tokenizer = t;
|
|
4370
4370
|
}
|
|
4371
4371
|
if (e.hooks) {
|
|
4372
|
-
let t = this.defaults.hooks || new
|
|
4372
|
+
let t = this.defaults.hooks || new Xn();
|
|
4373
4373
|
for (let n in e.hooks) {
|
|
4374
4374
|
if (!(n in t)) throw Error(`hook '${n}' does not exist`);
|
|
4375
4375
|
if (["options", "block"].includes(n)) continue;
|
|
4376
4376
|
let r = n, i = e.hooks[r], a = t[r];
|
|
4377
|
-
t[r] =
|
|
4378
|
-
if (this.defaults.async &&
|
|
4377
|
+
t[r] = Xn.passThroughHooks.has(n) ? (e) => {
|
|
4378
|
+
if (this.defaults.async && Xn.passThroughHooksRespectAsync.has(n)) return (async () => {
|
|
4379
4379
|
let n = await i.call(t, e);
|
|
4380
4380
|
return a.call(t, n);
|
|
4381
4381
|
})();
|
|
@@ -4412,10 +4412,10 @@ ${e}</tr>
|
|
|
4412
4412
|
}, this;
|
|
4413
4413
|
}
|
|
4414
4414
|
lexer(e, t) {
|
|
4415
|
-
return
|
|
4415
|
+
return Kn.lex(e, t ?? this.defaults);
|
|
4416
4416
|
}
|
|
4417
4417
|
parser(e, t) {
|
|
4418
|
-
return
|
|
4418
|
+
return Yn.parse(e, t ?? this.defaults);
|
|
4419
4419
|
}
|
|
4420
4420
|
parseMarkdown(e) {
|
|
4421
4421
|
return (t, n) => {
|
|
@@ -4427,16 +4427,16 @@ ${e}</tr>
|
|
|
4427
4427
|
if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
|
|
4428
4428
|
if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
|
|
4429
4429
|
if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
|
|
4430
|
-
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ?
|
|
4430
|
+
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? Kn.lex : Kn.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
|
|
4431
4431
|
i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
|
|
4432
|
-
let o = await (i.hooks ? await i.hooks.provideParser() : e ?
|
|
4432
|
+
let o = await (i.hooks ? await i.hooks.provideParser() : e ? Yn.parse : Yn.parseInline)(a, i);
|
|
4433
4433
|
return i.hooks ? await i.hooks.postprocess(o) : o;
|
|
4434
4434
|
})().catch(a);
|
|
4435
4435
|
try {
|
|
4436
4436
|
i.hooks && (t = i.hooks.preprocess(t));
|
|
4437
|
-
let n = (i.hooks ? i.hooks.provideLexer() : e ?
|
|
4437
|
+
let n = (i.hooks ? i.hooks.provideLexer() : e ? Kn.lex : Kn.lexInline)(t, i);
|
|
4438
4438
|
i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
|
|
4439
|
-
let r = (i.hooks ? i.hooks.provideParser() : e ?
|
|
4439
|
+
let r = (i.hooks ? i.hooks.provideParser() : e ? Yn.parse : Yn.parseInline)(n, i);
|
|
4440
4440
|
return i.hooks && (r = i.hooks.postprocess(r)), r;
|
|
4441
4441
|
} catch (e) {
|
|
4442
4442
|
return a(e);
|
|
@@ -4446,7 +4446,7 @@ ${e}</tr>
|
|
|
4446
4446
|
onError(e, t) {
|
|
4447
4447
|
return (n) => {
|
|
4448
4448
|
if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
|
|
4449
|
-
let e = "<p>An error occurred:</p><pre>" +
|
|
4449
|
+
let e = "<p>An error occurred:</p><pre>" + Ln(n.message + "", !0) + "</pre>";
|
|
4450
4450
|
return t ? Promise.resolve(e) : e;
|
|
4451
4451
|
}
|
|
4452
4452
|
if (t) return Promise.reject(n);
|
|
@@ -4455,41 +4455,41 @@ ${e}</tr>
|
|
|
4455
4455
|
}
|
|
4456
4456
|
}();
|
|
4457
4457
|
function X(e, t) {
|
|
4458
|
-
return
|
|
4458
|
+
return Zn.parse(e, t);
|
|
4459
4459
|
}
|
|
4460
4460
|
X.options = X.setOptions = function(e) {
|
|
4461
|
-
return
|
|
4462
|
-
}, X.getDefaults =
|
|
4463
|
-
return
|
|
4461
|
+
return Zn.setOptions(e), X.defaults = Zn.defaults, Dt(X.defaults), X;
|
|
4462
|
+
}, X.getDefaults = Et, X.defaults = K, X.use = function(...e) {
|
|
4463
|
+
return Zn.use(...e), X.defaults = Zn.defaults, Dt(X.defaults), X;
|
|
4464
4464
|
}, X.walkTokens = function(e, t) {
|
|
4465
|
-
return
|
|
4466
|
-
}, X.parseInline =
|
|
4467
|
-
function
|
|
4465
|
+
return Zn.walkTokens(e, t);
|
|
4466
|
+
}, X.parseInline = Zn.parseInline, X.Parser = Yn, X.parser = Yn.parse, X.Renderer = qn, X.TextRenderer = Jn, X.Lexer = Kn, X.lexer = Kn.lex, X.Tokenizer = Gn, X.Hooks = Xn, X.parse = X, X.options, X.setOptions, X.use, X.walkTokens, X.parseInline, Yn.parse, Kn.lex;
|
|
4467
|
+
function Qn(...e) {
|
|
4468
4468
|
return e.filter(Boolean).join(" ");
|
|
4469
4469
|
}
|
|
4470
|
-
function
|
|
4470
|
+
function $n(e, t) {
|
|
4471
4471
|
return e ? t ? {
|
|
4472
4472
|
...e,
|
|
4473
4473
|
...t
|
|
4474
4474
|
} : e : t;
|
|
4475
4475
|
}
|
|
4476
|
-
function
|
|
4477
|
-
let s =
|
|
4476
|
+
function er({ animation: e, index: t, as: n, asChild: r, className: i, style: a, children: o }) {
|
|
4477
|
+
let s = Qn("fragment", e, i);
|
|
4478
4478
|
if (r) {
|
|
4479
4479
|
let e;
|
|
4480
4480
|
try {
|
|
4481
|
-
e =
|
|
4481
|
+
e = P.Children.only(o);
|
|
4482
4482
|
} catch {
|
|
4483
4483
|
throw Error("Fragment with asChild expects exactly one React element child.");
|
|
4484
4484
|
}
|
|
4485
|
-
if (!(0,
|
|
4485
|
+
if (!(0, P.isValidElement)(e) || e.type === P.Fragment) throw Error("Fragment with asChild expects exactly one non-Fragment React element child.");
|
|
4486
4486
|
let n = {
|
|
4487
|
-
className:
|
|
4488
|
-
style:
|
|
4487
|
+
className: Qn(e.props.className, s),
|
|
4488
|
+
style: $n(e.props.style, a)
|
|
4489
4489
|
};
|
|
4490
|
-
return t !== void 0 && (n["data-fragment-index"] = t), (0,
|
|
4490
|
+
return t !== void 0 && (n["data-fragment-index"] = t), (0, P.cloneElement)(e, n);
|
|
4491
4491
|
}
|
|
4492
|
-
return /* @__PURE__ */ (0,
|
|
4492
|
+
return /* @__PURE__ */ (0, W.jsx)(n ?? "span", {
|
|
4493
4493
|
className: s,
|
|
4494
4494
|
style: a,
|
|
4495
4495
|
"data-fragment-index": t,
|
|
@@ -4498,24 +4498,24 @@ function Yn({ animation: e, index: t, as: n, asChild: r, className: i, style: a,
|
|
|
4498
4498
|
}
|
|
4499
4499
|
//#endregion
|
|
4500
4500
|
//#region src/components/slides/slide-scroll-hint.tsx
|
|
4501
|
-
var
|
|
4502
|
-
function
|
|
4501
|
+
var tr = 8, nr = 1;
|
|
4502
|
+
function rr(e) {
|
|
4503
4503
|
let { scrollHeight: t, clientHeight: n, scrollTop: r } = e;
|
|
4504
|
-
return t > n +
|
|
4504
|
+
return t > n + nr && r <= tr;
|
|
4505
4505
|
}
|
|
4506
|
-
function
|
|
4506
|
+
function ir(e) {
|
|
4507
4507
|
let t = e.querySelector(".fragment:not(.visible)");
|
|
4508
4508
|
return t ? t.getBoundingClientRect().top - e.getBoundingClientRect().top + e.scrollTop : e.scrollHeight;
|
|
4509
4509
|
}
|
|
4510
|
-
function
|
|
4511
|
-
let n = (0,
|
|
4510
|
+
function ar(e, t) {
|
|
4511
|
+
let n = (0, F.c)(4), [r, i] = (0, P.useState)(!1), a, o;
|
|
4512
4512
|
return n[0] !== t || n[1] !== e ? (a = () => {
|
|
4513
4513
|
let n = e.current, r = t.current;
|
|
4514
4514
|
if (!n || !r) return;
|
|
4515
4515
|
let a = 0, o = () => {
|
|
4516
4516
|
cancelAnimationFrame(a), a = requestAnimationFrame(() => {
|
|
4517
|
-
i(
|
|
4518
|
-
scrollHeight:
|
|
4517
|
+
i(rr({
|
|
4518
|
+
scrollHeight: ir(n),
|
|
4519
4519
|
clientHeight: n.clientHeight,
|
|
4520
4520
|
scrollTop: n.scrollTop
|
|
4521
4521
|
}));
|
|
@@ -4532,50 +4532,50 @@ function er(e, t) {
|
|
|
4532
4532
|
}), n.addEventListener("scroll", o, { passive: !0 }), () => {
|
|
4533
4533
|
cancelAnimationFrame(a), s.disconnect(), c?.disconnect(), n.removeEventListener("scroll", o);
|
|
4534
4534
|
};
|
|
4535
|
-
}, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), (0,
|
|
4535
|
+
}, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), (0, P.useEffect)(a, o), r;
|
|
4536
4536
|
}
|
|
4537
|
-
var
|
|
4538
|
-
let t = (0,
|
|
4537
|
+
var or = (e) => {
|
|
4538
|
+
let t = (0, F.c)(6), { className: n } = e, i;
|
|
4539
4539
|
t[0] === n ? i = t[1] : (i = r("pointer-events-none absolute inset-x-0 bottom-0 z-10 flex flex-col items-center", "animate-in fade-in-0 duration-200", n), t[0] = n, t[1] = i);
|
|
4540
4540
|
let a;
|
|
4541
|
-
t[2] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ (0,
|
|
4541
|
+
t[2] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ (0, W.jsx)("div", { className: "h-16 w-full bg-linear-to-t from-background via-background/80 to-transparent" }), t[2] = a) : a = t[2];
|
|
4542
4542
|
let o;
|
|
4543
|
-
t[3] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ (0,
|
|
4543
|
+
t[3] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
4544
4544
|
className: "absolute bottom-3 flex items-center gap-1 rounded-full border border-border/60 bg-background/90 px-2.5 py-1 text-xs text-muted-foreground shadow-sm backdrop-blur-sm",
|
|
4545
|
-
children: [/* @__PURE__ */ (0,
|
|
4545
|
+
children: [/* @__PURE__ */ (0, W.jsx)(E, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, W.jsx)("span", { children: "Scroll for more" })]
|
|
4546
4546
|
}), t[3] = o) : o = t[3];
|
|
4547
4547
|
let s;
|
|
4548
|
-
return t[4] === i ? s = t[5] : (s = /* @__PURE__ */ (0,
|
|
4548
|
+
return t[4] === i ? s = t[5] : (s = /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
4549
4549
|
className: i,
|
|
4550
4550
|
"data-testid": "slide-scroll-hint",
|
|
4551
4551
|
"aria-hidden": !0,
|
|
4552
4552
|
children: [a, o]
|
|
4553
4553
|
}), t[4] = i, t[5] = s), s;
|
|
4554
|
-
},
|
|
4555
|
-
let t = (0,
|
|
4554
|
+
}, sr = (e) => {
|
|
4555
|
+
let t = (0, F.c)(10), { children: n, className: i } = e, a = (0, P.useRef)(null), o = (0, P.useRef)(null), s = ar(a, o), c;
|
|
4556
4556
|
t[0] === i ? c = t[1] : (c = r("relative h-full w-full", i), t[0] = i, t[1] = c);
|
|
4557
4557
|
let l;
|
|
4558
|
-
t[2] === n ? l = t[3] : (l = /* @__PURE__ */ (0,
|
|
4558
|
+
t[2] === n ? l = t[3] : (l = /* @__PURE__ */ (0, W.jsx)("div", {
|
|
4559
4559
|
ref: a,
|
|
4560
4560
|
className: "h-full w-full overflow-auto",
|
|
4561
4561
|
"data-testid": "slide-scroll-container",
|
|
4562
|
-
children: /* @__PURE__ */ (0,
|
|
4562
|
+
children: /* @__PURE__ */ (0, W.jsx)("div", {
|
|
4563
4563
|
ref: o,
|
|
4564
4564
|
className: "flex w-full min-h-full",
|
|
4565
4565
|
children: n
|
|
4566
4566
|
})
|
|
4567
4567
|
}), t[2] = n, t[3] = l);
|
|
4568
4568
|
let u;
|
|
4569
|
-
t[4] === s ? u = t[5] : (u = s && /* @__PURE__ */ (0,
|
|
4569
|
+
t[4] === s ? u = t[5] : (u = s && /* @__PURE__ */ (0, W.jsx)(or, {}), t[4] = s, t[5] = u);
|
|
4570
4570
|
let d;
|
|
4571
|
-
return t[6] !== c || t[7] !== l || t[8] !== u ? (d = /* @__PURE__ */ (0,
|
|
4571
|
+
return t[6] !== c || t[7] !== l || t[8] !== u ? (d = /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
4572
4572
|
className: c,
|
|
4573
4573
|
children: [l, u]
|
|
4574
4574
|
}), t[6] = c, t[7] = l, t[8] = u, t[9] = d) : d = t[9], d;
|
|
4575
4575
|
};
|
|
4576
4576
|
//#endregion
|
|
4577
4577
|
//#region src/components/slides/compose-slides.ts
|
|
4578
|
-
function
|
|
4578
|
+
function cr({ cells: e, getType: t }) {
|
|
4579
4579
|
let n = [], r = null, i = null, a = () => {
|
|
4580
4580
|
let e = { subslides: [] };
|
|
4581
4581
|
return n.push(e), r = e, i = null, e;
|
|
@@ -4601,7 +4601,7 @@ function rr({ cells: e, getType: t }) {
|
|
|
4601
4601
|
}
|
|
4602
4602
|
return { stacks: n };
|
|
4603
4603
|
}
|
|
4604
|
-
function
|
|
4604
|
+
function lr({ composition: e, cells: t, getId: n }) {
|
|
4605
4605
|
let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
|
|
4606
4606
|
for (let [e, r] of t.entries()) a.set(n(r), e);
|
|
4607
4607
|
return e.stacks.forEach((e, t) => {
|
|
@@ -4644,27 +4644,27 @@ function ir({ composition: e, cells: t, getId: n }) {
|
|
|
4644
4644
|
targetToCellIndex: i
|
|
4645
4645
|
};
|
|
4646
4646
|
}
|
|
4647
|
-
function
|
|
4647
|
+
function ur(e, t) {
|
|
4648
4648
|
let { h: n, v: r, f: i } = t;
|
|
4649
4649
|
return e.get(`${n},${r},${i}`) ?? e.get(`${n},${r},-1`);
|
|
4650
4650
|
}
|
|
4651
|
-
function
|
|
4651
|
+
function dr({ start: e, stop: t, step: n, cells: r, cellToTarget: i, getId: a }) {
|
|
4652
4652
|
for (let o = e; o !== t; o += n) {
|
|
4653
4653
|
let e = i.get(a(r[o]));
|
|
4654
4654
|
if (e) return e;
|
|
4655
4655
|
}
|
|
4656
4656
|
}
|
|
4657
|
-
function
|
|
4657
|
+
function fr({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
|
|
4658
4658
|
if (e == null) return;
|
|
4659
4659
|
let i = t[e];
|
|
4660
|
-
return i ? n.get(r(i)) || (
|
|
4660
|
+
return i ? n.get(r(i)) || (dr({
|
|
4661
4661
|
start: e - 1,
|
|
4662
4662
|
stop: -1,
|
|
4663
4663
|
step: -1,
|
|
4664
4664
|
cells: t,
|
|
4665
4665
|
cellToTarget: n,
|
|
4666
4666
|
getId: r
|
|
4667
|
-
}) ??
|
|
4667
|
+
}) ?? dr({
|
|
4668
4668
|
start: e + 1,
|
|
4669
4669
|
stop: t.length,
|
|
4670
4670
|
step: 1,
|
|
@@ -4673,7 +4673,7 @@ function sr({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
|
|
|
4673
4673
|
getId: r
|
|
4674
4674
|
})) : void 0;
|
|
4675
4675
|
}
|
|
4676
|
-
function
|
|
4676
|
+
function pr(e, t) {
|
|
4677
4677
|
let n = {
|
|
4678
4678
|
h: t.h,
|
|
4679
4679
|
v: t.v,
|
|
@@ -4683,8 +4683,8 @@ function cr(e, t) {
|
|
|
4683
4683
|
}
|
|
4684
4684
|
//#endregion
|
|
4685
4685
|
//#region src/core/islands/stubs/slide-cell-view.tsx
|
|
4686
|
-
var
|
|
4687
|
-
let t = (0,
|
|
4686
|
+
var mr = (e) => (n.warn("SlideCellView islands stub rendered; this should never happen in a read-only embed."), null), hr = (e) => (n.warn("SlideCellReadOnlyView islands stub rendered; this should never happen in a read-only embed."), null), gr = 300, _r = (e) => {
|
|
4687
|
+
let t = (0, F.c)(25), { layout: n, setLayout: a, cellId: o, className: s } = e, c = o ? n.cells.get(o)?.speakerNotes ?? "" : "", [l, u] = (0, P.useState)(c), d = (0, P.useRef)(!1), f;
|
|
4688
4688
|
t[0] !== n || t[1] !== a ? (f = (e, t) => {
|
|
4689
4689
|
d.current = !1;
|
|
4690
4690
|
let r = n.cells.get(e);
|
|
@@ -4698,7 +4698,7 @@ var lr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
|
|
|
4698
4698
|
cells: i
|
|
4699
4699
|
});
|
|
4700
4700
|
}, t[0] = n, t[1] = a, t[2] = f) : f = t[2];
|
|
4701
|
-
let p =
|
|
4701
|
+
let p = M(f), m = D(p, gr), h = (0, P.useRef)(o), g, _;
|
|
4702
4702
|
t[3] !== o || t[4] !== l || t[5] !== c || t[6] !== m ? (g = () => {
|
|
4703
4703
|
if (h.current !== o) {
|
|
4704
4704
|
m.flush(), d.current = !1, u(c), h.current = o;
|
|
@@ -4710,62 +4710,62 @@ var lr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
|
|
|
4710
4710
|
c,
|
|
4711
4711
|
l,
|
|
4712
4712
|
m
|
|
4713
|
-
], t[3] = o, t[4] = l, t[5] = c, t[6] = m, t[7] = g, t[8] = _) : (g = t[7], _ = t[8]), (0,
|
|
4713
|
+
], t[3] = o, t[4] = l, t[5] = c, t[6] = m, t[7] = g, t[8] = _) : (g = t[7], _ = t[8]), (0, P.useEffect)(g, _);
|
|
4714
4714
|
let v, y;
|
|
4715
4715
|
t[9] === m ? (v = t[10], y = t[11]) : (v = () => () => {
|
|
4716
4716
|
m.flush();
|
|
4717
|
-
}, y = [m], t[9] = m, t[10] = v, t[11] = y), (0,
|
|
4717
|
+
}, y = [m], t[9] = m, t[10] = v, t[11] = y), (0, P.useEffect)(v, y);
|
|
4718
4718
|
let b;
|
|
4719
4719
|
t[12] !== o || t[13] !== m ? (b = (e) => {
|
|
4720
4720
|
u(e), o && (d.current = !0, m(o, e));
|
|
4721
4721
|
}, t[12] = o, t[13] = m, t[14] = b) : b = t[14];
|
|
4722
|
-
let x = b,
|
|
4723
|
-
t[15] === s ?
|
|
4724
|
-
let
|
|
4725
|
-
t[17] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
4722
|
+
let x = b, S;
|
|
4723
|
+
t[15] === s ? S = t[16] : (S = r("h-full min-h-0 flex flex-col bg-muted/40 dark:bg-muted/20 border-t", s), t[15] = s, t[16] = S);
|
|
4724
|
+
let C;
|
|
4725
|
+
t[17] === Symbol.for("react.memo_cache_sentinel") ? (C = /* @__PURE__ */ (0, W.jsxs)("header", {
|
|
4726
4726
|
className: "flex items-center gap-1.5 px-3 h-8 shrink-0 text-xs font-medium uppercase tracking-wide text-muted-foreground",
|
|
4727
|
-
children: [/* @__PURE__ */ (0,
|
|
4728
|
-
}), t[17] =
|
|
4729
|
-
let
|
|
4730
|
-
t[18] !== o || t[19] !== l || t[20] !== x ? (
|
|
4727
|
+
children: [/* @__PURE__ */ (0, W.jsx)(N, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, W.jsx)("span", { children: "Speaker notes" })]
|
|
4728
|
+
}), t[17] = C) : C = t[17];
|
|
4729
|
+
let w;
|
|
4730
|
+
t[18] !== o || t[19] !== l || t[20] !== x ? (w = /* @__PURE__ */ (0, W.jsx)("div", {
|
|
4731
4731
|
className: "flex-1 min-h-0 p-2",
|
|
4732
|
-
children: o ? /* @__PURE__ */ (0,
|
|
4732
|
+
children: o ? /* @__PURE__ */ (0, W.jsx)("textarea", {
|
|
4733
4733
|
value: l,
|
|
4734
4734
|
onChange: (e) => x(e.target.value),
|
|
4735
4735
|
onClick: i.stopPropagation(),
|
|
4736
4736
|
placeholder: "Add notes for this slide. Visible to you in speaker view (press S during presentation).",
|
|
4737
4737
|
className: r("h-full w-full resize-none rounded-sm border border-input/25 bg-background", "px-3 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground", "ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:border-accent"),
|
|
4738
4738
|
"aria-label": "Speaker notes for the current slide"
|
|
4739
|
-
}) : /* @__PURE__ */ (0,
|
|
4739
|
+
}) : /* @__PURE__ */ (0, W.jsx)("div", {
|
|
4740
4740
|
className: "h-full flex items-center justify-center text-xs text-muted-foreground",
|
|
4741
4741
|
children: "Select a slide to add notes."
|
|
4742
4742
|
})
|
|
4743
|
-
}), t[18] = o, t[19] = l, t[20] = x, t[21] =
|
|
4744
|
-
let
|
|
4745
|
-
return t[22] !==
|
|
4746
|
-
className:
|
|
4743
|
+
}), t[18] = o, t[19] = l, t[20] = x, t[21] = w) : w = t[21];
|
|
4744
|
+
let T;
|
|
4745
|
+
return t[22] !== S || t[23] !== w ? (T = /* @__PURE__ */ (0, W.jsxs)("section", {
|
|
4746
|
+
className: S,
|
|
4747
4747
|
"aria-label": "Speaker notes",
|
|
4748
|
-
onKeyDown:
|
|
4749
|
-
children: [
|
|
4750
|
-
}), t[22] =
|
|
4748
|
+
onKeyDown: vr,
|
|
4749
|
+
children: [C, w]
|
|
4750
|
+
}), t[22] = S, t[23] = w, t[24] = T) : T = t[24], T;
|
|
4751
4751
|
};
|
|
4752
|
-
function
|
|
4752
|
+
function vr(e) {
|
|
4753
4753
|
return e.stopPropagation();
|
|
4754
4754
|
}
|
|
4755
|
-
var
|
|
4756
|
-
let n = e.blocks.map((e) =>
|
|
4755
|
+
var yr = "\n\n---\n\n", br = (e, t) => e.map((e) => t.get(e.id)?.speakerNotes ?? "").filter((e) => e.trim().length > 0).join("\n\n"), xr = (e, t) => {
|
|
4756
|
+
let n = e.blocks.map((e) => br(e.cells, t)), r = e.blocks.map((e, t) => e.isFragment ? "" : n[t]).filter((e) => e.length > 0).join("\n\n"), i = /* @__PURE__ */ new Map(), a = [];
|
|
4757
4757
|
return e.blocks.forEach((e, t) => {
|
|
4758
4758
|
if (!e.isFragment) return;
|
|
4759
4759
|
let o = n[t];
|
|
4760
4760
|
o.length > 0 && a.push(o);
|
|
4761
|
-
let s = [r, ...a].filter((e) => e.length > 0).join(
|
|
4761
|
+
let s = [r, ...a].filter((e) => e.length > 0).join(yr);
|
|
4762
4762
|
s.length > 0 && i.set(t, s);
|
|
4763
4763
|
}), {
|
|
4764
4764
|
slideLevel: r,
|
|
4765
4765
|
cumulativeByBlock: i
|
|
4766
4766
|
};
|
|
4767
|
-
}, _r = "<!--\n NOTE: You need to build the notes plugin after making changes to this file.\n-->\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n\n <title>reveal.js - Speaker View</title>\n\n <style>\n body {\n font-family: Helvetica;\n font-size: 18px;\n }\n\n #current-slide,\n #upcoming-slide,\n #speaker-controls {\n padding: 6px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n }\n\n #current-slide iframe,\n #upcoming-slide iframe {\n width: 100%;\n height: 100%;\n border: 1px solid #ddd;\n }\n\n #current-slide .label,\n #upcoming-slide .label {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 2;\n }\n\n #connection-status {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 20;\n padding: 30% 20% 20% 20%;\n font-size: 18px;\n color: #222;\n background: #fff;\n text-align: center;\n box-sizing: border-box;\n line-height: 1.4;\n }\n\n .overlay-element {\n height: 34px;\n line-height: 34px;\n padding: 0 10px;\n text-shadow: none;\n background: rgba( 220, 220, 220, 0.8 );\n color: #222;\n font-size: 14px;\n }\n\n .overlay-element.interactive:hover {\n background: rgba( 220, 220, 220, 1 );\n }\n\n #current-slide {\n position: absolute;\n width: 60%;\n height: 100%;\n top: 0;\n left: 0;\n padding-right: 0;\n }\n\n #upcoming-slide {\n position: absolute;\n width: 40%;\n height: 40%;\n right: 0;\n top: 0;\n }\n\n /* Speaker controls */\n #speaker-controls {\n position: absolute;\n top: 40%;\n right: 0;\n width: 40%;\n height: 60%;\n overflow: auto;\n font-size: 18px;\n }\n\n .speaker-controls-time.hidden,\n .speaker-controls-notes.hidden {\n display: none;\n }\n\n .speaker-controls-time .label,\n .speaker-controls-pace .label,\n .speaker-controls-notes .label {\n text-transform: uppercase;\n font-weight: normal;\n font-size: 0.66em;\n color: #666;\n margin: 0;\n }\n\n .speaker-controls-time, .speaker-controls-pace {\n border-bottom: 1px solid rgba( 200, 200, 200, 0.5 );\n margin-bottom: 10px;\n padding: 10px 16px;\n padding-bottom: 20px;\n cursor: pointer;\n }\n\n .speaker-controls-time .reset-button {\n opacity: 0;\n float: right;\n color: #666;\n text-decoration: none;\n }\n .speaker-controls-time:hover .reset-button {\n opacity: 1;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock {\n width: 50%;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock,\n .speaker-controls-time .pacing .hours-value,\n .speaker-controls-time .pacing .minutes-value,\n .speaker-controls-time .pacing .seconds-value {\n font-size: 1.9em;\n }\n\n .speaker-controls-time .timer {\n float: left;\n }\n\n .speaker-controls-time .clock {\n float: right;\n text-align: right;\n }\n\n .speaker-controls-time span.mute {\n opacity: 0.3;\n }\n\n .speaker-controls-time .pacing-title {\n margin-top: 5px;\n }\n\n .speaker-controls-time .pacing.ahead {\n color: blue;\n }\n\n .speaker-controls-time .pacing.on-track {\n color: green;\n }\n\n .speaker-controls-time .pacing.behind {\n color: red;\n }\n\n .speaker-controls-notes {\n padding: 10px 16px;\n }\n\n .speaker-controls-notes .value {\n margin-top: 5px;\n line-height: 1.4;\n font-size: 1.2em;\n }\n\n /* Layout selector\xA0*/\n #speaker-layout {\n position: absolute;\n top: 10px;\n right: 10px;\n color: #222;\n z-index: 10;\n }\n #speaker-layout select {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n border: 0;\n box-shadow: 0;\n cursor: pointer;\n opacity: 0;\n\n font-size: 1em;\n background-color: transparent;\n\n -moz-appearance: none;\n -webkit-appearance: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n\n #speaker-layout select:focus {\n outline: none;\n box-shadow: none;\n }\n\n .clear {\n clear: both;\n }\n\n /* Speaker layout: Wide */\n body[data-speaker-layout=\"wide\"] #current-slide,\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n width: 50%;\n height: 45%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"wide\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n top: 0;\n left: 50%;\n }\n\n body[data-speaker-layout=\"wide\"] #speaker-controls {\n top: 45%;\n left: 0;\n width: 100%;\n height: 50%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Tall */\n body[data-speaker-layout=\"tall\"] #current-slide,\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n width: 45%;\n height: 50%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"tall\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n top: 50%;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 45%;\n width: 55%;\n height: 100%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Notes only */\n body[data-speaker-layout=\"notes-only\"] #current-slide,\n body[data-speaker-layout=\"notes-only\"] #upcoming-slide {\n display: none;\n }\n\n body[data-speaker-layout=\"notes-only\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n font-size: 1.25em;\n }\n\n @media screen and (max-width: 1080px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 16px;\n }\n }\n\n @media screen and (max-width: 900px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 14px;\n }\n }\n\n @media screen and (max-width: 800px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 12px;\n }\n }\n\n </style>\n </head>\n\n <body>\n\n <div id=\"connection-status\">Loading speaker view...</div>\n\n <div id=\"current-slide\"></div>\n <div id=\"upcoming-slide\"><span class=\"overlay-element label\">Upcoming</span></div>\n <div id=\"speaker-controls\">\n <div class=\"speaker-controls-time\">\n <h4 class=\"label\">Time <span class=\"reset-button\">Click to Reset</span></h4>\n <div class=\"clock\">\n <span class=\"clock-value\">0:00 AM</span>\n </div>\n <div class=\"timer\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n <div class=\"clear\"></div>\n\n <h4 class=\"label pacing-title\" style=\"display: none\">Pacing – Time to finish current slide</h4>\n <div class=\"pacing\" style=\"display: none\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n </div>\n\n <div class=\"speaker-controls-notes hidden\">\n <h4 class=\"label\">Notes</h4>\n <div class=\"value\"></div>\n </div>\n </div>\n <div id=\"speaker-layout\" class=\"overlay-element interactive\">\n <span class=\"speaker-layout-label\"></span>\n <select class=\"speaker-layout-dropdown\"></select>\n </div>\n\n <script>\n\n (function() {\n\n var notes,\n notesValue,\n currentState,\n currentSlide,\n upcomingSlide,\n layoutLabel,\n layoutDropdown,\n pendingCalls = {},\n lastRevealApiCallId = 0,\n connected = false\n\n var connectionStatus = document.querySelector( '#connection-status' );\n\n var SPEAKER_LAYOUTS = {\n 'default': 'Default',\n 'wide': 'Wide',\n 'tall': 'Tall',\n 'notes-only': 'Notes only'\n };\n\n setupLayout();\n\n let openerOrigin;\n\n try {\n openerOrigin = window.opener.location.origin;\n }\n catch ( error ) { console.warn( error ) }\n\n // In order to prevent XSS, the speaker view will only run if its\n // opener has the same origin as itself\n if( window.location.origin !== openerOrigin ) {\n connectionStatus.innerHTML = 'Cross origin error.<br>The speaker window can only be opened from the same origin.';\n return;\n }\n\n var connectionTimeout = setTimeout( function() {\n connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';\n }, 5000 );\n\n window.addEventListener( 'message', function( event ) {\n\n // Validate the origin of all messages to avoid parsing messages\n // that aren't meant for us. Ignore when running off file:// so\n // that the speaker view continues to work without a web server.\n if( window.location.origin !== event.origin && window.location.origin !== 'file://' ) {\n return\n }\n\n clearTimeout( connectionTimeout );\n connectionStatus.style.display = 'none';\n\n var data = JSON.parse( event.data );\n\n // The overview mode is only useful to the reveal.js instance\n // where navigation occurs so we don't sync it\n if( data.state ) delete data.state.overview;\n\n // Messages sent by the notes plugin inside of the main window\n if( data && data.namespace === 'reveal-notes' ) {\n if( data.type === 'connect' ) {\n handleConnectMessage( data );\n }\n else if( data.type === 'state' ) {\n handleStateMessage( data );\n }\n else if( data.type === 'return' ) {\n pendingCalls[data.callId](data.result);\n delete pendingCalls[data.callId];\n }\n }\n // Messages sent by the reveal.js inside of the current slide preview\n else if( data && data.namespace === 'reveal' ) {\n const supportedEvents = [\n 'slidechanged',\n 'fragmentshown',\n 'fragmenthidden',\n 'paused',\n 'resumed',\n 'previewiframe',\n 'previewimage',\n 'previewvideo',\n 'closeoverlay'\n ];\n\n if( /ready/.test( data.eventName ) ) {\n // Send a message back to notify that the handshake is complete\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'connected'} ), '*' );\n }\n else if( supportedEvents.includes( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {\n dispatchStateToMainWindow( data.state );\n }\n }\n\n } );\n\n /**\n * Updates the presentation in the main window to match the state\n * of the presentation in the notes window.\n */\n const dispatchStateToMainWindow = debounce(( state ) => {\n window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );\n }, 500);\n\n /**\n * Asynchronously calls the Reveal.js API of the main frame.\n */\n function callRevealApi( methodName, methodArguments, callback ) {\n\n var callId = ++lastRevealApiCallId;\n pendingCalls[callId] = callback;\n window.opener.postMessage( JSON.stringify( {\n namespace: 'reveal-notes',\n type: 'call',\n callId: callId,\n methodName: methodName,\n arguments: methodArguments\n } ), '*' );\n\n }\n\n /**\n * Called when the main window is trying to establish a\n * connection.\n */\n function handleConnectMessage( data ) {\n\n if( connected === false ) {\n connected = true;\n\n setupIframes( data );\n setupKeyboard();\n setupNotes();\n setupTimer();\n setupHeartbeat();\n }\n\n }\n\n /**\n * Called when the main window sends an updated state.\n */\n function handleStateMessage( data ) {\n\n // Store the most recently set state to avoid circular loops\n // applying the same state\n currentState = JSON.stringify( data.state );\n\n // No need for updating the notes in case of fragment changes\n if ( data.notes ) {\n notes.classList.remove( 'hidden' );\n notesValue.style.whiteSpace = data.whitespace;\n if( data.markdown ) {\n notesValue.innerHTML = marked.parse( data.notes );\n }\n else {\n notesValue.innerHTML = data.notes;\n }\n }\n else {\n notes.classList.add( 'hidden' );\n }\n\n // Don't show lightboxes in the upcoming slide\n const { previewVideo, previewImage, previewIframe, ...upcomingState } = data.state;\n\n // Update the note slides\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ upcomingState ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' );\n\n }\n\n // Limit to max one state update per X ms\n handleStateMessage = debounce( handleStateMessage, 200 );\n\n /**\n * Forward keyboard events to the current slide window.\n * This enables keyboard events to work even if focus\n * isn't set on the current slide iframe.\n *\n * Block F5 default handling, it reloads and disconnects\n * the speaker notes window.\n */\n function setupKeyboard() {\n\n document.addEventListener( 'keydown', function( event ) {\n if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) {\n event.preventDefault();\n return false;\n }\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );\n } );\n\n }\n\n /**\n * Creates the preview iframes.\n */\n function setupIframes( data ) {\n\n var params = [\n 'receiver',\n 'progress=false',\n 'history=false',\n 'transition=none',\n 'autoSlide=0',\n 'backgroundTransition=none'\n ].join( '&' );\n\n var urlSeparator = /\\?/.test(data.url) ? '&' : '?';\n var hash = '#/' + data.state.indexh + '/' + data.state.indexv;\n var currentURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&postMessageEvents=true' + hash;\n var upcomingURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&controls=false' + hash;\n\n currentSlide = document.createElement( 'iframe' );\n currentSlide.setAttribute( 'width', 1280 );\n currentSlide.setAttribute( 'height', 1024 );\n currentSlide.setAttribute( 'src', currentURL );\n document.querySelector( '#current-slide' ).appendChild( currentSlide );\n\n upcomingSlide = document.createElement( 'iframe' );\n upcomingSlide.setAttribute( 'width', 640 );\n upcomingSlide.setAttribute( 'height', 512 );\n upcomingSlide.setAttribute( 'src', upcomingURL );\n document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide );\n\n }\n\n /**\n * Setup the notes UI.\n */\n function setupNotes() {\n\n notes = document.querySelector( '.speaker-controls-notes' );\n notesValue = document.querySelector( '.speaker-controls-notes .value' );\n\n }\n\n /**\n * We send out a heartbeat at all times to ensure we can\n * reconnect with the main presentation window after reloads.\n */\n function setupHeartbeat() {\n\n setInterval( () => {\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'heartbeat'} ), '*' );\n }, 1000 );\n\n }\n\n function getTimings( callback ) {\n\n callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {\n callRevealApi( 'getConfig', [], function ( config ) {\n var totalTime = config.totalTime;\n var minTimePerSlide = config.minimumTimePerSlide || 0;\n var defaultTiming = config.defaultTiming;\n if ((defaultTiming == null) && (totalTime == null)) {\n callback(null);\n return;\n }\n // Setting totalTime overrides defaultTiming\n if (totalTime) {\n defaultTiming = 0;\n }\n var timings = [];\n for ( var i in slideAttributes ) {\n var slide = slideAttributes[ i ];\n var timing = defaultTiming;\n if( slide.hasOwnProperty( 'data-timing' )) {\n var t = slide[ 'data-timing' ];\n timing = parseInt(t);\n if( isNaN(timing) ) {\n console.warn(\"Could not parse timing '\" + t + \"' of slide \" + i + \"; using default of \" + defaultTiming);\n timing = defaultTiming;\n }\n }\n timings.push(timing);\n }\n if ( totalTime ) {\n // After we've allocated time to individual slides, we summarize it and\n // subtract it from the total time\n var remainingTime = totalTime - timings.reduce( function(a, b) { return a + b; }, 0 );\n // The remaining time is divided by the number of slides that have 0 seconds\n // allocated at the moment, giving the average time-per-slide on the remaining slides\n var remainingSlides = (timings.filter( function(x) { return x == 0 }) ).length\n var timePerSlide = Math.round( remainingTime / remainingSlides, 0 )\n // And now we replace every zero-value timing with that average\n timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );\n }\n var slidesUnderMinimum = timings.filter( function(x) { return (x < minTimePerSlide) } ).length\n if ( slidesUnderMinimum ) {\n message = \"The pacing time for \" + slidesUnderMinimum + \" slide(s) is under the configured minimum of \" + minTimePerSlide + \" seconds. Check the data-timing attribute on individual slides, or consider increasing the totalTime or minimumTimePerSlide configuration options (or removing some slides).\";\n alert(message);\n }\n callback( timings );\n } );\n } );\n\n }\n\n /**\n * Return the number of seconds allocated for presenting\n * all slides up to and including this one.\n */\n function getTimeAllocated( timings, callback ) {\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var allocated = 0;\n for (var i in timings.slice(0, currentSlide + 1)) {\n allocated += timings[i];\n }\n callback( allocated );\n } );\n\n }\n\n /**\n * Create the timer and clock and start updating them\n * at an interval.\n */\n function setupTimer() {\n\n var start = new Date(),\n timeEl = document.querySelector( '.speaker-controls-time' ),\n clockEl = timeEl.querySelector( '.clock-value' ),\n hoursEl = timeEl.querySelector( '.hours-value' ),\n minutesEl = timeEl.querySelector( '.minutes-value' ),\n secondsEl = timeEl.querySelector( '.seconds-value' ),\n pacingTitleEl = timeEl.querySelector( '.pacing-title' ),\n pacingEl = timeEl.querySelector( '.pacing' ),\n pacingHoursEl = pacingEl.querySelector( '.hours-value' ),\n pacingMinutesEl = pacingEl.querySelector( '.minutes-value' ),\n pacingSecondsEl = pacingEl.querySelector( '.seconds-value' );\n\n var timings = null;\n getTimings( function ( _timings ) {\n\n timings = _timings;\n if (_timings !== null) {\n pacingTitleEl.style.removeProperty('display');\n pacingEl.style.removeProperty('display');\n }\n\n // Update once directly\n _updateTimer();\n\n // Then update every second\n setInterval( _updateTimer, 1000 );\n\n } );\n\n\n function _resetTimer() {\n\n if (timings == null) {\n start = new Date();\n _updateTimer();\n }\n else {\n // Reset timer to beginning of current slide\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var previousSlidesTiming = slideEndTiming - currentSlideTiming;\n var now = new Date();\n start = new Date(now.getTime() - previousSlidesTiming);\n _updateTimer();\n } );\n } );\n }\n\n }\n\n timeEl.addEventListener( 'click', function() {\n _resetTimer();\n return false;\n } );\n\n function _displayTime( hrEl, minEl, secEl, time) {\n\n var sign = Math.sign(time) == -1 ? \"-\" : \"\";\n time = Math.abs(Math.round(time / 1000));\n var seconds = time % 60;\n var minutes = Math.floor( time / 60 ) % 60 ;\n var hours = Math.floor( time / ( 60 * 60 )) ;\n hrEl.innerHTML = sign + zeroPadInteger( hours );\n if (hours == 0) {\n hrEl.classList.add( 'mute' );\n }\n else {\n hrEl.classList.remove( 'mute' );\n }\n minEl.innerHTML = ':' + zeroPadInteger( minutes );\n if (hours == 0 && minutes == 0) {\n minEl.classList.add( 'mute' );\n }\n else {\n minEl.classList.remove( 'mute' );\n }\n secEl.innerHTML = ':' + zeroPadInteger( seconds );\n }\n\n function _updateTimer() {\n\n var diff, hours, minutes, seconds,\n now = new Date();\n\n diff = now.getTime() - start.getTime();\n\n clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } );\n _displayTime( hoursEl, minutesEl, secondsEl, diff );\n if (timings !== null) {\n _updatePacing(diff);\n }\n\n }\n\n function _updatePacing(diff) {\n\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var timeLeftCurrentSlide = slideEndTiming - diff;\n if (timeLeftCurrentSlide < 0) {\n pacingEl.className = 'pacing behind';\n }\n else if (timeLeftCurrentSlide < currentSlideTiming) {\n pacingEl.className = 'pacing on-track';\n }\n else {\n pacingEl.className = 'pacing ahead';\n }\n _displayTime( pacingHoursEl, pacingMinutesEl, pacingSecondsEl, timeLeftCurrentSlide );\n } );\n } );\n }\n\n }\n\n /**\n * Sets up the speaker view layout and layout selector.\n */\n function setupLayout() {\n\n layoutDropdown = document.querySelector( '.speaker-layout-dropdown' );\n layoutLabel = document.querySelector( '.speaker-layout-label' );\n\n // Render the list of available layouts\n for( var id in SPEAKER_LAYOUTS ) {\n var option = document.createElement( 'option' );\n option.setAttribute( 'value', id );\n option.textContent = SPEAKER_LAYOUTS[ id ];\n layoutDropdown.appendChild( option );\n }\n\n // Monitor the dropdown for changes\n layoutDropdown.addEventListener( 'change', function( event ) {\n\n setLayout( layoutDropdown.value );\n\n }, false );\n\n // Restore any currently persisted layout\n setLayout( getLayout() );\n\n }\n\n /**\n * Sets a new speaker view layout. The layout is persisted\n * in local storage.\n */\n function setLayout( value ) {\n\n var title = SPEAKER_LAYOUTS[ value ];\n\n layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' );\n layoutDropdown.value = value;\n\n document.body.setAttribute( 'data-speaker-layout', value );\n\n // Persist locally\n if( supportsLocalStorage() ) {\n window.localStorage.setItem( 'reveal-speaker-layout', value );\n }\n\n }\n\n /**\n * Returns the ID of the most recently set speaker layout\n * or our default layout if none has been set.\n */\n function getLayout() {\n\n if( supportsLocalStorage() ) {\n var layout = window.localStorage.getItem( 'reveal-speaker-layout' );\n if( layout ) {\n return layout;\n }\n }\n\n // Default to the first record in the layouts hash\n for( var id in SPEAKER_LAYOUTS ) {\n return id;\n }\n\n }\n\n function supportsLocalStorage() {\n\n try {\n localStorage.setItem('test', 'test');\n localStorage.removeItem('test');\n return true;\n }\n catch( e ) {\n return false;\n }\n\n }\n\n function zeroPadInteger( num ) {\n\n var str = '00' + parseInt( num );\n return str.substring( str.length - 2 );\n\n }\n\n /**\n * Limits the frequency at which a function can be called.\n */\n function debounce( fn, ms ) {\n\n var lastTime = 0,\n timeout;\n\n return function() {\n\n var args = arguments;\n var context = this;\n\n clearTimeout( timeout );\n\n var timeSinceLastCall = Date.now() - lastTime;\n if( timeSinceLastCall > ms ) {\n fn.apply( context, args );\n lastTime = Date.now();\n }\n else {\n timeout = setTimeout( function() {\n fn.apply( context, args );\n lastTime = Date.now();\n }, ms - timeSinceLastCall );\n }\n\n }\n\n }\n\n })();\n\n <\/script>\n </body>\n</html>";
|
|
4768
|
-
function
|
|
4767
|
+
}, Sr = "<!--\n NOTE: You need to build the notes plugin after making changes to this file.\n-->\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n\n <title>reveal.js - Speaker View</title>\n\n <style>\n body {\n font-family: Helvetica;\n font-size: 18px;\n }\n\n #current-slide,\n #upcoming-slide,\n #speaker-controls {\n padding: 6px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n }\n\n #current-slide iframe,\n #upcoming-slide iframe {\n width: 100%;\n height: 100%;\n border: 1px solid #ddd;\n }\n\n #current-slide .label,\n #upcoming-slide .label {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 2;\n }\n\n #connection-status {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 20;\n padding: 30% 20% 20% 20%;\n font-size: 18px;\n color: #222;\n background: #fff;\n text-align: center;\n box-sizing: border-box;\n line-height: 1.4;\n }\n\n .overlay-element {\n height: 34px;\n line-height: 34px;\n padding: 0 10px;\n text-shadow: none;\n background: rgba( 220, 220, 220, 0.8 );\n color: #222;\n font-size: 14px;\n }\n\n .overlay-element.interactive:hover {\n background: rgba( 220, 220, 220, 1 );\n }\n\n #current-slide {\n position: absolute;\n width: 60%;\n height: 100%;\n top: 0;\n left: 0;\n padding-right: 0;\n }\n\n #upcoming-slide {\n position: absolute;\n width: 40%;\n height: 40%;\n right: 0;\n top: 0;\n }\n\n /* Speaker controls */\n #speaker-controls {\n position: absolute;\n top: 40%;\n right: 0;\n width: 40%;\n height: 60%;\n overflow: auto;\n font-size: 18px;\n }\n\n .speaker-controls-time.hidden,\n .speaker-controls-notes.hidden {\n display: none;\n }\n\n .speaker-controls-time .label,\n .speaker-controls-pace .label,\n .speaker-controls-notes .label {\n text-transform: uppercase;\n font-weight: normal;\n font-size: 0.66em;\n color: #666;\n margin: 0;\n }\n\n .speaker-controls-time, .speaker-controls-pace {\n border-bottom: 1px solid rgba( 200, 200, 200, 0.5 );\n margin-bottom: 10px;\n padding: 10px 16px;\n padding-bottom: 20px;\n cursor: pointer;\n }\n\n .speaker-controls-time .reset-button {\n opacity: 0;\n float: right;\n color: #666;\n text-decoration: none;\n }\n .speaker-controls-time:hover .reset-button {\n opacity: 1;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock {\n width: 50%;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock,\n .speaker-controls-time .pacing .hours-value,\n .speaker-controls-time .pacing .minutes-value,\n .speaker-controls-time .pacing .seconds-value {\n font-size: 1.9em;\n }\n\n .speaker-controls-time .timer {\n float: left;\n }\n\n .speaker-controls-time .clock {\n float: right;\n text-align: right;\n }\n\n .speaker-controls-time span.mute {\n opacity: 0.3;\n }\n\n .speaker-controls-time .pacing-title {\n margin-top: 5px;\n }\n\n .speaker-controls-time .pacing.ahead {\n color: blue;\n }\n\n .speaker-controls-time .pacing.on-track {\n color: green;\n }\n\n .speaker-controls-time .pacing.behind {\n color: red;\n }\n\n .speaker-controls-notes {\n padding: 10px 16px;\n }\n\n .speaker-controls-notes .value {\n margin-top: 5px;\n line-height: 1.4;\n font-size: 1.2em;\n }\n\n /* Layout selector\xA0*/\n #speaker-layout {\n position: absolute;\n top: 10px;\n right: 10px;\n color: #222;\n z-index: 10;\n }\n #speaker-layout select {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n border: 0;\n box-shadow: 0;\n cursor: pointer;\n opacity: 0;\n\n font-size: 1em;\n background-color: transparent;\n\n -moz-appearance: none;\n -webkit-appearance: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n\n #speaker-layout select:focus {\n outline: none;\n box-shadow: none;\n }\n\n .clear {\n clear: both;\n }\n\n /* Speaker layout: Wide */\n body[data-speaker-layout=\"wide\"] #current-slide,\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n width: 50%;\n height: 45%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"wide\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n top: 0;\n left: 50%;\n }\n\n body[data-speaker-layout=\"wide\"] #speaker-controls {\n top: 45%;\n left: 0;\n width: 100%;\n height: 50%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Tall */\n body[data-speaker-layout=\"tall\"] #current-slide,\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n width: 45%;\n height: 50%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"tall\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n top: 50%;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 45%;\n width: 55%;\n height: 100%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Notes only */\n body[data-speaker-layout=\"notes-only\"] #current-slide,\n body[data-speaker-layout=\"notes-only\"] #upcoming-slide {\n display: none;\n }\n\n body[data-speaker-layout=\"notes-only\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n font-size: 1.25em;\n }\n\n @media screen and (max-width: 1080px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 16px;\n }\n }\n\n @media screen and (max-width: 900px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 14px;\n }\n }\n\n @media screen and (max-width: 800px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 12px;\n }\n }\n\n </style>\n </head>\n\n <body>\n\n <div id=\"connection-status\">Loading speaker view...</div>\n\n <div id=\"current-slide\"></div>\n <div id=\"upcoming-slide\"><span class=\"overlay-element label\">Upcoming</span></div>\n <div id=\"speaker-controls\">\n <div class=\"speaker-controls-time\">\n <h4 class=\"label\">Time <span class=\"reset-button\">Click to Reset</span></h4>\n <div class=\"clock\">\n <span class=\"clock-value\">0:00 AM</span>\n </div>\n <div class=\"timer\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n <div class=\"clear\"></div>\n\n <h4 class=\"label pacing-title\" style=\"display: none\">Pacing – Time to finish current slide</h4>\n <div class=\"pacing\" style=\"display: none\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n </div>\n\n <div class=\"speaker-controls-notes hidden\">\n <h4 class=\"label\">Notes</h4>\n <div class=\"value\"></div>\n </div>\n </div>\n <div id=\"speaker-layout\" class=\"overlay-element interactive\">\n <span class=\"speaker-layout-label\"></span>\n <select class=\"speaker-layout-dropdown\"></select>\n </div>\n\n <script>\n\n (function() {\n\n var notes,\n notesValue,\n currentState,\n currentSlide,\n upcomingSlide,\n layoutLabel,\n layoutDropdown,\n pendingCalls = {},\n lastRevealApiCallId = 0,\n connected = false\n\n var connectionStatus = document.querySelector( '#connection-status' );\n\n var SPEAKER_LAYOUTS = {\n 'default': 'Default',\n 'wide': 'Wide',\n 'tall': 'Tall',\n 'notes-only': 'Notes only'\n };\n\n setupLayout();\n\n let openerOrigin;\n\n try {\n openerOrigin = window.opener.location.origin;\n }\n catch ( error ) { console.warn( error ) }\n\n // In order to prevent XSS, the speaker view will only run if its\n // opener has the same origin as itself\n if( window.location.origin !== openerOrigin ) {\n connectionStatus.innerHTML = 'Cross origin error.<br>The speaker window can only be opened from the same origin.';\n return;\n }\n\n var connectionTimeout = setTimeout( function() {\n connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';\n }, 5000 );\n\n window.addEventListener( 'message', function( event ) {\n\n // Validate the origin of all messages to avoid parsing messages\n // that aren't meant for us. Ignore when running off file:// so\n // that the speaker view continues to work without a web server.\n if( window.location.origin !== event.origin && window.location.origin !== 'file://' ) {\n return\n }\n\n clearTimeout( connectionTimeout );\n connectionStatus.style.display = 'none';\n\n var data = JSON.parse( event.data );\n\n // The overview mode is only useful to the reveal.js instance\n // where navigation occurs so we don't sync it\n if( data.state ) delete data.state.overview;\n\n // Messages sent by the notes plugin inside of the main window\n if( data && data.namespace === 'reveal-notes' ) {\n if( data.type === 'connect' ) {\n handleConnectMessage( data );\n }\n else if( data.type === 'state' ) {\n handleStateMessage( data );\n }\n else if( data.type === 'return' ) {\n pendingCalls[data.callId](data.result);\n delete pendingCalls[data.callId];\n }\n }\n // Messages sent by the reveal.js inside of the current slide preview\n else if( data && data.namespace === 'reveal' ) {\n const supportedEvents = [\n 'slidechanged',\n 'fragmentshown',\n 'fragmenthidden',\n 'paused',\n 'resumed',\n 'previewiframe',\n 'previewimage',\n 'previewvideo',\n 'closeoverlay'\n ];\n\n if( /ready/.test( data.eventName ) ) {\n // Send a message back to notify that the handshake is complete\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'connected'} ), '*' );\n }\n else if( supportedEvents.includes( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {\n dispatchStateToMainWindow( data.state );\n }\n }\n\n } );\n\n /**\n * Updates the presentation in the main window to match the state\n * of the presentation in the notes window.\n */\n const dispatchStateToMainWindow = debounce(( state ) => {\n window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );\n }, 500);\n\n /**\n * Asynchronously calls the Reveal.js API of the main frame.\n */\n function callRevealApi( methodName, methodArguments, callback ) {\n\n var callId = ++lastRevealApiCallId;\n pendingCalls[callId] = callback;\n window.opener.postMessage( JSON.stringify( {\n namespace: 'reveal-notes',\n type: 'call',\n callId: callId,\n methodName: methodName,\n arguments: methodArguments\n } ), '*' );\n\n }\n\n /**\n * Called when the main window is trying to establish a\n * connection.\n */\n function handleConnectMessage( data ) {\n\n if( connected === false ) {\n connected = true;\n\n setupIframes( data );\n setupKeyboard();\n setupNotes();\n setupTimer();\n setupHeartbeat();\n }\n\n }\n\n /**\n * Called when the main window sends an updated state.\n */\n function handleStateMessage( data ) {\n\n // Store the most recently set state to avoid circular loops\n // applying the same state\n currentState = JSON.stringify( data.state );\n\n // No need for updating the notes in case of fragment changes\n if ( data.notes ) {\n notes.classList.remove( 'hidden' );\n notesValue.style.whiteSpace = data.whitespace;\n if( data.markdown ) {\n notesValue.innerHTML = marked.parse( data.notes );\n }\n else {\n notesValue.innerHTML = data.notes;\n }\n }\n else {\n notes.classList.add( 'hidden' );\n }\n\n // Don't show lightboxes in the upcoming slide\n const { previewVideo, previewImage, previewIframe, ...upcomingState } = data.state;\n\n // Update the note slides\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ upcomingState ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' );\n\n }\n\n // Limit to max one state update per X ms\n handleStateMessage = debounce( handleStateMessage, 200 );\n\n /**\n * Forward keyboard events to the current slide window.\n * This enables keyboard events to work even if focus\n * isn't set on the current slide iframe.\n *\n * Block F5 default handling, it reloads and disconnects\n * the speaker notes window.\n */\n function setupKeyboard() {\n\n document.addEventListener( 'keydown', function( event ) {\n if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) {\n event.preventDefault();\n return false;\n }\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );\n } );\n\n }\n\n /**\n * Creates the preview iframes.\n */\n function setupIframes( data ) {\n\n var params = [\n 'receiver',\n 'progress=false',\n 'history=false',\n 'transition=none',\n 'autoSlide=0',\n 'backgroundTransition=none'\n ].join( '&' );\n\n var urlSeparator = /\\?/.test(data.url) ? '&' : '?';\n var hash = '#/' + data.state.indexh + '/' + data.state.indexv;\n var currentURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&postMessageEvents=true' + hash;\n var upcomingURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&controls=false' + hash;\n\n currentSlide = document.createElement( 'iframe' );\n currentSlide.setAttribute( 'width', 1280 );\n currentSlide.setAttribute( 'height', 1024 );\n currentSlide.setAttribute( 'src', currentURL );\n document.querySelector( '#current-slide' ).appendChild( currentSlide );\n\n upcomingSlide = document.createElement( 'iframe' );\n upcomingSlide.setAttribute( 'width', 640 );\n upcomingSlide.setAttribute( 'height', 512 );\n upcomingSlide.setAttribute( 'src', upcomingURL );\n document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide );\n\n }\n\n /**\n * Setup the notes UI.\n */\n function setupNotes() {\n\n notes = document.querySelector( '.speaker-controls-notes' );\n notesValue = document.querySelector( '.speaker-controls-notes .value' );\n\n }\n\n /**\n * We send out a heartbeat at all times to ensure we can\n * reconnect with the main presentation window after reloads.\n */\n function setupHeartbeat() {\n\n setInterval( () => {\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'heartbeat'} ), '*' );\n }, 1000 );\n\n }\n\n function getTimings( callback ) {\n\n callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {\n callRevealApi( 'getConfig', [], function ( config ) {\n var totalTime = config.totalTime;\n var minTimePerSlide = config.minimumTimePerSlide || 0;\n var defaultTiming = config.defaultTiming;\n if ((defaultTiming == null) && (totalTime == null)) {\n callback(null);\n return;\n }\n // Setting totalTime overrides defaultTiming\n if (totalTime) {\n defaultTiming = 0;\n }\n var timings = [];\n for ( var i in slideAttributes ) {\n var slide = slideAttributes[ i ];\n var timing = defaultTiming;\n if( slide.hasOwnProperty( 'data-timing' )) {\n var t = slide[ 'data-timing' ];\n timing = parseInt(t);\n if( isNaN(timing) ) {\n console.warn(\"Could not parse timing '\" + t + \"' of slide \" + i + \"; using default of \" + defaultTiming);\n timing = defaultTiming;\n }\n }\n timings.push(timing);\n }\n if ( totalTime ) {\n // After we've allocated time to individual slides, we summarize it and\n // subtract it from the total time\n var remainingTime = totalTime - timings.reduce( function(a, b) { return a + b; }, 0 );\n // The remaining time is divided by the number of slides that have 0 seconds\n // allocated at the moment, giving the average time-per-slide on the remaining slides\n var remainingSlides = (timings.filter( function(x) { return x == 0 }) ).length\n var timePerSlide = Math.round( remainingTime / remainingSlides, 0 )\n // And now we replace every zero-value timing with that average\n timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );\n }\n var slidesUnderMinimum = timings.filter( function(x) { return (x < minTimePerSlide) } ).length\n if ( slidesUnderMinimum ) {\n message = \"The pacing time for \" + slidesUnderMinimum + \" slide(s) is under the configured minimum of \" + minTimePerSlide + \" seconds. Check the data-timing attribute on individual slides, or consider increasing the totalTime or minimumTimePerSlide configuration options (or removing some slides).\";\n alert(message);\n }\n callback( timings );\n } );\n } );\n\n }\n\n /**\n * Return the number of seconds allocated for presenting\n * all slides up to and including this one.\n */\n function getTimeAllocated( timings, callback ) {\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var allocated = 0;\n for (var i in timings.slice(0, currentSlide + 1)) {\n allocated += timings[i];\n }\n callback( allocated );\n } );\n\n }\n\n /**\n * Create the timer and clock and start updating them\n * at an interval.\n */\n function setupTimer() {\n\n var start = new Date(),\n timeEl = document.querySelector( '.speaker-controls-time' ),\n clockEl = timeEl.querySelector( '.clock-value' ),\n hoursEl = timeEl.querySelector( '.hours-value' ),\n minutesEl = timeEl.querySelector( '.minutes-value' ),\n secondsEl = timeEl.querySelector( '.seconds-value' ),\n pacingTitleEl = timeEl.querySelector( '.pacing-title' ),\n pacingEl = timeEl.querySelector( '.pacing' ),\n pacingHoursEl = pacingEl.querySelector( '.hours-value' ),\n pacingMinutesEl = pacingEl.querySelector( '.minutes-value' ),\n pacingSecondsEl = pacingEl.querySelector( '.seconds-value' );\n\n var timings = null;\n getTimings( function ( _timings ) {\n\n timings = _timings;\n if (_timings !== null) {\n pacingTitleEl.style.removeProperty('display');\n pacingEl.style.removeProperty('display');\n }\n\n // Update once directly\n _updateTimer();\n\n // Then update every second\n setInterval( _updateTimer, 1000 );\n\n } );\n\n\n function _resetTimer() {\n\n if (timings == null) {\n start = new Date();\n _updateTimer();\n }\n else {\n // Reset timer to beginning of current slide\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var previousSlidesTiming = slideEndTiming - currentSlideTiming;\n var now = new Date();\n start = new Date(now.getTime() - previousSlidesTiming);\n _updateTimer();\n } );\n } );\n }\n\n }\n\n timeEl.addEventListener( 'click', function() {\n _resetTimer();\n return false;\n } );\n\n function _displayTime( hrEl, minEl, secEl, time) {\n\n var sign = Math.sign(time) == -1 ? \"-\" : \"\";\n time = Math.abs(Math.round(time / 1000));\n var seconds = time % 60;\n var minutes = Math.floor( time / 60 ) % 60 ;\n var hours = Math.floor( time / ( 60 * 60 )) ;\n hrEl.innerHTML = sign + zeroPadInteger( hours );\n if (hours == 0) {\n hrEl.classList.add( 'mute' );\n }\n else {\n hrEl.classList.remove( 'mute' );\n }\n minEl.innerHTML = ':' + zeroPadInteger( minutes );\n if (hours == 0 && minutes == 0) {\n minEl.classList.add( 'mute' );\n }\n else {\n minEl.classList.remove( 'mute' );\n }\n secEl.innerHTML = ':' + zeroPadInteger( seconds );\n }\n\n function _updateTimer() {\n\n var diff, hours, minutes, seconds,\n now = new Date();\n\n diff = now.getTime() - start.getTime();\n\n clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } );\n _displayTime( hoursEl, minutesEl, secondsEl, diff );\n if (timings !== null) {\n _updatePacing(diff);\n }\n\n }\n\n function _updatePacing(diff) {\n\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var timeLeftCurrentSlide = slideEndTiming - diff;\n if (timeLeftCurrentSlide < 0) {\n pacingEl.className = 'pacing behind';\n }\n else if (timeLeftCurrentSlide < currentSlideTiming) {\n pacingEl.className = 'pacing on-track';\n }\n else {\n pacingEl.className = 'pacing ahead';\n }\n _displayTime( pacingHoursEl, pacingMinutesEl, pacingSecondsEl, timeLeftCurrentSlide );\n } );\n } );\n }\n\n }\n\n /**\n * Sets up the speaker view layout and layout selector.\n */\n function setupLayout() {\n\n layoutDropdown = document.querySelector( '.speaker-layout-dropdown' );\n layoutLabel = document.querySelector( '.speaker-layout-label' );\n\n // Render the list of available layouts\n for( var id in SPEAKER_LAYOUTS ) {\n var option = document.createElement( 'option' );\n option.setAttribute( 'value', id );\n option.textContent = SPEAKER_LAYOUTS[ id ];\n layoutDropdown.appendChild( option );\n }\n\n // Monitor the dropdown for changes\n layoutDropdown.addEventListener( 'change', function( event ) {\n\n setLayout( layoutDropdown.value );\n\n }, false );\n\n // Restore any currently persisted layout\n setLayout( getLayout() );\n\n }\n\n /**\n * Sets a new speaker view layout. The layout is persisted\n * in local storage.\n */\n function setLayout( value ) {\n\n var title = SPEAKER_LAYOUTS[ value ];\n\n layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' );\n layoutDropdown.value = value;\n\n document.body.setAttribute( 'data-speaker-layout', value );\n\n // Persist locally\n if( supportsLocalStorage() ) {\n window.localStorage.setItem( 'reveal-speaker-layout', value );\n }\n\n }\n\n /**\n * Returns the ID of the most recently set speaker layout\n * or our default layout if none has been set.\n */\n function getLayout() {\n\n if( supportsLocalStorage() ) {\n var layout = window.localStorage.getItem( 'reveal-speaker-layout' );\n if( layout ) {\n return layout;\n }\n }\n\n // Default to the first record in the layouts hash\n for( var id in SPEAKER_LAYOUTS ) {\n return id;\n }\n\n }\n\n function supportsLocalStorage() {\n\n try {\n localStorage.setItem('test', 'test');\n localStorage.removeItem('test');\n return true;\n }\n catch( e ) {\n return false;\n }\n\n }\n\n function zeroPadInteger( num ) {\n\n var str = '00' + parseInt( num );\n return str.substring( str.length - 2 );\n\n }\n\n /**\n * Limits the frequency at which a function can be called.\n */\n function debounce( fn, ms ) {\n\n var lastTime = 0,\n timeout;\n\n return function() {\n\n var args = arguments;\n var context = this;\n\n clearTimeout( timeout );\n\n var timeSinceLastCall = Date.now() - lastTime;\n if( timeSinceLastCall > ms ) {\n fn.apply( context, args );\n lastTime = Date.now();\n }\n else {\n timeout = setTimeout( function() {\n fn.apply( context, args );\n lastTime = Date.now();\n }, ms - timeSinceLastCall );\n }\n\n }\n\n }\n\n })();\n\n <\/script>\n </body>\n</html>";
|
|
4768
|
+
function Cr() {
|
|
4769
4769
|
return {
|
|
4770
4770
|
async: !1,
|
|
4771
4771
|
breaks: !1,
|
|
@@ -4779,11 +4779,11 @@ function vr() {
|
|
|
4779
4779
|
walkTokens: null
|
|
4780
4780
|
};
|
|
4781
4781
|
}
|
|
4782
|
-
var
|
|
4783
|
-
function
|
|
4784
|
-
|
|
4782
|
+
var wr = Cr();
|
|
4783
|
+
function Tr(e) {
|
|
4784
|
+
wr = e;
|
|
4785
4785
|
}
|
|
4786
|
-
var
|
|
4786
|
+
var Er = { exec: () => null };
|
|
4787
4787
|
function Z(e, t = "") {
|
|
4788
4788
|
let n = typeof e == "string" ? e : e.source, r = {
|
|
4789
4789
|
replace: (e, t) => {
|
|
@@ -4794,7 +4794,7 @@ function Z(e, t = "") {
|
|
|
4794
4794
|
};
|
|
4795
4795
|
return r;
|
|
4796
4796
|
}
|
|
4797
|
-
var
|
|
4797
|
+
var Dr = (() => {
|
|
4798
4798
|
try {
|
|
4799
4799
|
return !0;
|
|
4800
4800
|
} catch {
|
|
@@ -4857,96 +4857,96 @@ var Sr = (() => {
|
|
|
4857
4857
|
headingBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}#`),
|
|
4858
4858
|
htmlBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}<(?:[a-z].*>|!--)`, "i"),
|
|
4859
4859
|
blockquoteBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}>`)
|
|
4860
|
-
},
|
|
4861
|
-
blockquote: Z(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",
|
|
4862
|
-
code:
|
|
4863
|
-
def:
|
|
4864
|
-
fences:
|
|
4865
|
-
heading:
|
|
4866
|
-
hr:
|
|
4867
|
-
html:
|
|
4868
|
-
lheading:
|
|
4869
|
-
list:
|
|
4870
|
-
newline:
|
|
4871
|
-
paragraph:
|
|
4872
|
-
table:
|
|
4873
|
-
text:
|
|
4874
|
-
},
|
|
4875
|
-
...
|
|
4876
|
-
lheading:
|
|
4877
|
-
table:
|
|
4878
|
-
paragraph: Z(
|
|
4879
|
-
},
|
|
4880
|
-
...
|
|
4881
|
-
html: Z("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",
|
|
4860
|
+
}, Or = /^(?:[ \t]*(?:\n|$))+/, kr = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Ar = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, jr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Mr = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Nr = / {0,3}(?:[*+-]|\d{1,9}[.)])/, Pr = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, Fr = Z(Pr).replace(/bull/g, Nr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), Ir = Z(Pr).replace(/bull/g, Nr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), Lr = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Rr = /^[^\n]+/, zr = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Br = Z(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", zr).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Vr = Z(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Nr).getRegex(), Hr = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Ur = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Wr = Z("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Ur).replace("tag", Hr).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Gr = Z(Lr).replace("hr", jr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Hr).getRegex(), Kr = {
|
|
4861
|
+
blockquote: Z(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Gr).getRegex(),
|
|
4862
|
+
code: kr,
|
|
4863
|
+
def: Br,
|
|
4864
|
+
fences: Ar,
|
|
4865
|
+
heading: Mr,
|
|
4866
|
+
hr: jr,
|
|
4867
|
+
html: Wr,
|
|
4868
|
+
lheading: Fr,
|
|
4869
|
+
list: Vr,
|
|
4870
|
+
newline: Or,
|
|
4871
|
+
paragraph: Gr,
|
|
4872
|
+
table: Er,
|
|
4873
|
+
text: Rr
|
|
4874
|
+
}, qr = Z("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", jr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Hr).getRegex(), Jr = {
|
|
4875
|
+
...Kr,
|
|
4876
|
+
lheading: Ir,
|
|
4877
|
+
table: qr,
|
|
4878
|
+
paragraph: Z(Lr).replace("hr", jr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", qr).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Hr).getRegex()
|
|
4879
|
+
}, Yr = {
|
|
4880
|
+
...Kr,
|
|
4881
|
+
html: Z("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Ur).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
|
|
4882
4882
|
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
4883
4883
|
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
4884
|
-
fences:
|
|
4884
|
+
fences: Er,
|
|
4885
4885
|
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
4886
|
-
paragraph: Z(
|
|
4887
|
-
},
|
|
4888
|
-
_backpedal:
|
|
4889
|
-
anyPunctuation:
|
|
4890
|
-
autolink:
|
|
4891
|
-
blockSkip:
|
|
4892
|
-
br:
|
|
4893
|
-
code:
|
|
4894
|
-
del:
|
|
4895
|
-
delLDelim:
|
|
4896
|
-
delRDelim:
|
|
4897
|
-
emStrongLDelim:
|
|
4898
|
-
emStrongRDelimAst:
|
|
4899
|
-
emStrongRDelimUnd:
|
|
4900
|
-
escape:
|
|
4901
|
-
link:
|
|
4902
|
-
nolink:
|
|
4903
|
-
punctuation:
|
|
4904
|
-
reflink:
|
|
4905
|
-
reflinkSearch:
|
|
4906
|
-
tag:
|
|
4907
|
-
text:
|
|
4908
|
-
url:
|
|
4909
|
-
},
|
|
4910
|
-
...
|
|
4911
|
-
link: Z(/^!?\[(label)\]\((.*?)\)/).replace("label",
|
|
4912
|
-
reflink: Z(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",
|
|
4913
|
-
},
|
|
4914
|
-
...
|
|
4915
|
-
emStrongRDelimAst:
|
|
4916
|
-
emStrongLDelim:
|
|
4917
|
-
delLDelim:
|
|
4918
|
-
delRDelim:
|
|
4919
|
-
url: Z(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",
|
|
4886
|
+
paragraph: Z(Lr).replace("hr", jr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", Fr).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
|
|
4887
|
+
}, Xr = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Zr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Qr = /^( {2,}|\\)\n(?!\s*$)/, $r = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, ei = /[\p{P}\p{S}]/u, ti = /[\s\p{P}\p{S}]/u, ni = /[^\s\p{P}\p{S}]/u, ri = Z(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, ti).getRegex(), ii = /(?!~)[\p{P}\p{S}]/u, ai = /(?!~)[\s\p{P}\p{S}]/u, oi = /(?:[^\s\p{P}\p{S}]|~)/u, si = /(?![*_])[\p{P}\p{S}]/u, ci = /(?![*_])[\s\p{P}\p{S}]/u, li = /(?:[^\s\p{P}\p{S}]|[*_])/u, ui = Z(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Dr ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), di = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, fi = Z(di, "u").replace(/punct/g, ei).getRegex(), pi = Z(di, "u").replace(/punct/g, ii).getRegex(), mi = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", hi = Z(mi, "gu").replace(/notPunctSpace/g, ni).replace(/punctSpace/g, ti).replace(/punct/g, ei).getRegex(), gi = Z(mi, "gu").replace(/notPunctSpace/g, oi).replace(/punctSpace/g, ai).replace(/punct/g, ii).getRegex(), _i = Z("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ni).replace(/punctSpace/g, ti).replace(/punct/g, ei).getRegex(), vi = Z(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, si).getRegex(), yi = Z("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, li).replace(/punctSpace/g, ci).replace(/punct/g, si).getRegex(), bi = Z(/\\(punct)/, "gu").replace(/punct/g, ei).getRegex(), xi = Z(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Si = Z(Ur).replace("(?:-->|$)", "-->").getRegex(), Ci = Z("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Si).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), wi = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/, Ti = Z(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", wi).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Ei = Z(/^!?\[(label)\]\[(ref)\]/).replace("label", wi).replace("ref", zr).getRegex(), Di = Z(/^!?\[(ref)\](?:\[\])?/).replace("ref", zr).getRegex(), Oi = Z("reflink|nolink(?!\\()", "g").replace("reflink", Ei).replace("nolink", Di).getRegex(), ki = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Ai = {
|
|
4888
|
+
_backpedal: Er,
|
|
4889
|
+
anyPunctuation: bi,
|
|
4890
|
+
autolink: xi,
|
|
4891
|
+
blockSkip: ui,
|
|
4892
|
+
br: Qr,
|
|
4893
|
+
code: Zr,
|
|
4894
|
+
del: Er,
|
|
4895
|
+
delLDelim: Er,
|
|
4896
|
+
delRDelim: Er,
|
|
4897
|
+
emStrongLDelim: fi,
|
|
4898
|
+
emStrongRDelimAst: hi,
|
|
4899
|
+
emStrongRDelimUnd: _i,
|
|
4900
|
+
escape: Xr,
|
|
4901
|
+
link: Ti,
|
|
4902
|
+
nolink: Di,
|
|
4903
|
+
punctuation: ri,
|
|
4904
|
+
reflink: Ei,
|
|
4905
|
+
reflinkSearch: Oi,
|
|
4906
|
+
tag: Ci,
|
|
4907
|
+
text: $r,
|
|
4908
|
+
url: Er
|
|
4909
|
+
}, ji = {
|
|
4910
|
+
...Ai,
|
|
4911
|
+
link: Z(/^!?\[(label)\]\((.*?)\)/).replace("label", wi).getRegex(),
|
|
4912
|
+
reflink: Z(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", wi).getRegex()
|
|
4913
|
+
}, Mi = {
|
|
4914
|
+
...Ai,
|
|
4915
|
+
emStrongRDelimAst: gi,
|
|
4916
|
+
emStrongLDelim: pi,
|
|
4917
|
+
delLDelim: vi,
|
|
4918
|
+
delRDelim: yi,
|
|
4919
|
+
url: Z(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", ki).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
|
|
4920
4920
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
|
4921
4921
|
del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
|
|
4922
|
-
text: Z(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",
|
|
4923
|
-
},
|
|
4924
|
-
...
|
|
4925
|
-
br: Z(
|
|
4926
|
-
text: Z(
|
|
4927
|
-
},
|
|
4928
|
-
normal:
|
|
4929
|
-
gfm:
|
|
4930
|
-
pedantic:
|
|
4931
|
-
},
|
|
4932
|
-
normal:
|
|
4933
|
-
gfm:
|
|
4934
|
-
breaks:
|
|
4935
|
-
pedantic:
|
|
4936
|
-
},
|
|
4922
|
+
text: Z(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", ki).getRegex()
|
|
4923
|
+
}, Ni = {
|
|
4924
|
+
...Mi,
|
|
4925
|
+
br: Z(Qr).replace("{2,}", "*").getRegex(),
|
|
4926
|
+
text: Z(Mi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
4927
|
+
}, Pi = {
|
|
4928
|
+
normal: Kr,
|
|
4929
|
+
gfm: Jr,
|
|
4930
|
+
pedantic: Yr
|
|
4931
|
+
}, Fi = {
|
|
4932
|
+
normal: Ai,
|
|
4933
|
+
gfm: Mi,
|
|
4934
|
+
breaks: Ni,
|
|
4935
|
+
pedantic: ji
|
|
4936
|
+
}, Ii = {
|
|
4937
4937
|
"&": "&",
|
|
4938
4938
|
"<": "<",
|
|
4939
4939
|
">": ">",
|
|
4940
4940
|
"\"": """,
|
|
4941
4941
|
"'": "'"
|
|
4942
|
-
},
|
|
4943
|
-
function
|
|
4942
|
+
}, Li = (e) => Ii[e];
|
|
4943
|
+
function Ri(e, t) {
|
|
4944
4944
|
if (t) {
|
|
4945
|
-
if (Q.escapeTest.test(e)) return e.replace(Q.escapeReplace,
|
|
4946
|
-
} else if (Q.escapeTestNoEncode.test(e)) return e.replace(Q.escapeReplaceNoEncode,
|
|
4945
|
+
if (Q.escapeTest.test(e)) return e.replace(Q.escapeReplace, Li);
|
|
4946
|
+
} else if (Q.escapeTestNoEncode.test(e)) return e.replace(Q.escapeReplaceNoEncode, Li);
|
|
4947
4947
|
return e;
|
|
4948
4948
|
}
|
|
4949
|
-
function
|
|
4949
|
+
function zi(e) {
|
|
4950
4950
|
try {
|
|
4951
4951
|
e = encodeURI(e).replace(Q.percentDecode, "%");
|
|
4952
4952
|
} catch {
|
|
@@ -4954,7 +4954,7 @@ function Pi(e) {
|
|
|
4954
4954
|
}
|
|
4955
4955
|
return e;
|
|
4956
4956
|
}
|
|
4957
|
-
function
|
|
4957
|
+
function Bi(e, t) {
|
|
4958
4958
|
let n = e.replace(Q.findPipe, (e, t, n) => {
|
|
4959
4959
|
let r = !1, i = t;
|
|
4960
4960
|
for (; --i >= 0 && n[i] === "\\";) r = !r;
|
|
@@ -4967,14 +4967,14 @@ function Fi(e, t) {
|
|
|
4967
4967
|
for (; r < n.length; r++) n[r] = n[r].trim().replace(Q.slashPipe, "|");
|
|
4968
4968
|
return n;
|
|
4969
4969
|
}
|
|
4970
|
-
function
|
|
4970
|
+
function Vi(e, t, n) {
|
|
4971
4971
|
let r = e.length;
|
|
4972
4972
|
if (r === 0) return "";
|
|
4973
4973
|
let i = 0;
|
|
4974
4974
|
for (; i < r && e.charAt(r - i - 1) === t;) i++;
|
|
4975
4975
|
return e.slice(0, r - i);
|
|
4976
4976
|
}
|
|
4977
|
-
function
|
|
4977
|
+
function Hi(e, t) {
|
|
4978
4978
|
if (e.indexOf(t[1]) === -1) return -1;
|
|
4979
4979
|
let n = 0;
|
|
4980
4980
|
for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
|
|
@@ -4982,7 +4982,7 @@ function Li(e, t) {
|
|
|
4982
4982
|
else if (e[r] === t[1] && (n--, n < 0)) return r;
|
|
4983
4983
|
return n > 0 ? -2 : -1;
|
|
4984
4984
|
}
|
|
4985
|
-
function
|
|
4985
|
+
function Ui(e, t = 0) {
|
|
4986
4986
|
let n = t, r = "";
|
|
4987
4987
|
for (let t of e) if (t === " ") {
|
|
4988
4988
|
let e = 4 - n % 4;
|
|
@@ -4990,7 +4990,7 @@ function Ri(e, t = 0) {
|
|
|
4990
4990
|
} else r += t, n++;
|
|
4991
4991
|
return r;
|
|
4992
4992
|
}
|
|
4993
|
-
function
|
|
4993
|
+
function Wi(e, t, n, r, i) {
|
|
4994
4994
|
let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1");
|
|
4995
4995
|
r.state.inLink = !0;
|
|
4996
4996
|
let c = {
|
|
@@ -5003,7 +5003,7 @@ function zi(e, t, n, r, i) {
|
|
|
5003
5003
|
};
|
|
5004
5004
|
return r.state.inLink = !1, c;
|
|
5005
5005
|
}
|
|
5006
|
-
function
|
|
5006
|
+
function Gi(e, t, n) {
|
|
5007
5007
|
let r = e.match(n.other.indentCodeCompensation);
|
|
5008
5008
|
if (r === null) return t;
|
|
5009
5009
|
let i = r[1];
|
|
@@ -5014,12 +5014,12 @@ function Bi(e, t, n) {
|
|
|
5014
5014
|
return r.length >= i.length ? e.slice(i.length) : e;
|
|
5015
5015
|
}).join("\n");
|
|
5016
5016
|
}
|
|
5017
|
-
var
|
|
5017
|
+
var Ki = class {
|
|
5018
5018
|
options;
|
|
5019
5019
|
rules;
|
|
5020
5020
|
lexer;
|
|
5021
5021
|
constructor(e) {
|
|
5022
|
-
this.options = e ||
|
|
5022
|
+
this.options = e || wr;
|
|
5023
5023
|
}
|
|
5024
5024
|
space(e) {
|
|
5025
5025
|
let t = this.rules.block.newline.exec(e);
|
|
@@ -5036,14 +5036,14 @@ var Vi = class {
|
|
|
5036
5036
|
type: "code",
|
|
5037
5037
|
raw: t[0],
|
|
5038
5038
|
codeBlockStyle: "indented",
|
|
5039
|
-
text: this.options.pedantic ? e :
|
|
5039
|
+
text: this.options.pedantic ? e : Vi(e, "\n")
|
|
5040
5040
|
};
|
|
5041
5041
|
}
|
|
5042
5042
|
}
|
|
5043
5043
|
fences(e) {
|
|
5044
5044
|
let t = this.rules.block.fences.exec(e);
|
|
5045
5045
|
if (t) {
|
|
5046
|
-
let e = t[0], n =
|
|
5046
|
+
let e = t[0], n = Gi(e, t[3] || "", this.rules);
|
|
5047
5047
|
return {
|
|
5048
5048
|
type: "code",
|
|
5049
5049
|
raw: e,
|
|
@@ -5057,7 +5057,7 @@ var Vi = class {
|
|
|
5057
5057
|
if (t) {
|
|
5058
5058
|
let e = t[2].trim();
|
|
5059
5059
|
if (this.rules.other.endingHash.test(e)) {
|
|
5060
|
-
let t =
|
|
5060
|
+
let t = Vi(e, "#");
|
|
5061
5061
|
(this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
|
|
5062
5062
|
}
|
|
5063
5063
|
return {
|
|
@@ -5073,13 +5073,13 @@ var Vi = class {
|
|
|
5073
5073
|
let t = this.rules.block.hr.exec(e);
|
|
5074
5074
|
if (t) return {
|
|
5075
5075
|
type: "hr",
|
|
5076
|
-
raw:
|
|
5076
|
+
raw: Vi(t[0], "\n")
|
|
5077
5077
|
};
|
|
5078
5078
|
}
|
|
5079
5079
|
blockquote(e) {
|
|
5080
5080
|
let t = this.rules.block.blockquote.exec(e);
|
|
5081
5081
|
if (t) {
|
|
5082
|
-
let e =
|
|
5082
|
+
let e = Vi(t[0], "\n").split("\n"), n = "", r = "", i = [];
|
|
5083
5083
|
for (; e.length > 0;) {
|
|
5084
5084
|
let t = !1, a = [], o;
|
|
5085
5085
|
for (o = 0; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
|
|
@@ -5130,7 +5130,7 @@ ${c}` : c;
|
|
|
5130
5130
|
let n = !1, r = "", s = "";
|
|
5131
5131
|
if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
|
|
5132
5132
|
r = t[0], e = e.substring(r.length);
|
|
5133
|
-
let c =
|
|
5133
|
+
let c = Ui(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
|
|
5134
5134
|
if (this.options.pedantic ? (d = 2, s = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r += l + "\n", e = e.substring(l.length + 1), n = !0), !n) {
|
|
5135
5135
|
let t = this.rules.other.nextBulletRegex(d), n = this.rules.other.hrRegex(d), i = this.rules.other.fencesBeginRegex(d), a = this.rules.other.headingBeginRegex(d), o = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
|
|
5136
5136
|
for (; e;) {
|
|
@@ -5219,7 +5219,7 @@ ${c}` : c;
|
|
|
5219
5219
|
table(e) {
|
|
5220
5220
|
let t = this.rules.block.table.exec(e);
|
|
5221
5221
|
if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
|
|
5222
|
-
let n =
|
|
5222
|
+
let n = Bi(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
|
|
5223
5223
|
type: "table",
|
|
5224
5224
|
raw: t[0],
|
|
5225
5225
|
header: [],
|
|
@@ -5234,7 +5234,7 @@ ${c}` : c;
|
|
|
5234
5234
|
header: !0,
|
|
5235
5235
|
align: a.align[e]
|
|
5236
5236
|
});
|
|
5237
|
-
for (let e of i) a.rows.push(
|
|
5237
|
+
for (let e of i) a.rows.push(Bi(e, a.header.length).map((e, t) => ({
|
|
5238
5238
|
text: e,
|
|
5239
5239
|
tokens: this.lexer.inline(e),
|
|
5240
5240
|
header: !1,
|
|
@@ -5299,10 +5299,10 @@ ${c}` : c;
|
|
|
5299
5299
|
let e = t[2].trim();
|
|
5300
5300
|
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e)) {
|
|
5301
5301
|
if (!this.rules.other.endAngleBracket.test(e)) return;
|
|
5302
|
-
let t =
|
|
5302
|
+
let t = Vi(e.slice(0, -1), "\\");
|
|
5303
5303
|
if ((e.length - t.length) % 2 == 0) return;
|
|
5304
5304
|
} else {
|
|
5305
|
-
let e =
|
|
5305
|
+
let e = Hi(t[2], "()");
|
|
5306
5306
|
if (e === -2) return;
|
|
5307
5307
|
if (e > -1) {
|
|
5308
5308
|
let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
|
|
@@ -5314,7 +5314,7 @@ ${c}` : c;
|
|
|
5314
5314
|
let e = this.rules.other.pedanticHrefTitle.exec(n);
|
|
5315
5315
|
e && (n = e[1], r = e[3]);
|
|
5316
5316
|
} else r = t[3] ? t[3].slice(1, -1) : "";
|
|
5317
|
-
return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)),
|
|
5317
|
+
return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), Wi(t, {
|
|
5318
5318
|
href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
|
|
5319
5319
|
title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
|
|
5320
5320
|
}, t[0], this.lexer, this.rules);
|
|
@@ -5332,7 +5332,7 @@ ${c}` : c;
|
|
|
5332
5332
|
text: e
|
|
5333
5333
|
};
|
|
5334
5334
|
}
|
|
5335
|
-
return
|
|
5335
|
+
return Wi(n, e, n[0], this.lexer, this.rules);
|
|
5336
5336
|
}
|
|
5337
5337
|
}
|
|
5338
5338
|
emStrong(e, t, n = "") {
|
|
@@ -5465,29 +5465,29 @@ ${c}` : c;
|
|
|
5465
5465
|
};
|
|
5466
5466
|
}
|
|
5467
5467
|
}
|
|
5468
|
-
},
|
|
5468
|
+
}, qi = class e {
|
|
5469
5469
|
tokens;
|
|
5470
5470
|
options;
|
|
5471
5471
|
state;
|
|
5472
5472
|
inlineQueue;
|
|
5473
5473
|
tokenizer;
|
|
5474
5474
|
constructor(e) {
|
|
5475
|
-
this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e ||
|
|
5475
|
+
this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || wr, this.options.tokenizer = this.options.tokenizer || new Ki(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
|
|
5476
5476
|
inLink: !1,
|
|
5477
5477
|
inRawBlock: !1,
|
|
5478
5478
|
top: !0
|
|
5479
5479
|
};
|
|
5480
5480
|
let t = {
|
|
5481
5481
|
other: Q,
|
|
5482
|
-
block:
|
|
5483
|
-
inline:
|
|
5482
|
+
block: Pi.normal,
|
|
5483
|
+
inline: Fi.normal
|
|
5484
5484
|
};
|
|
5485
|
-
this.options.pedantic ? (t.block =
|
|
5485
|
+
this.options.pedantic ? (t.block = Pi.pedantic, t.inline = Fi.pedantic) : this.options.gfm && (t.block = Pi.gfm, t.inline = this.options.breaks ? Fi.breaks : Fi.gfm), this.tokenizer.rules = t;
|
|
5486
5486
|
}
|
|
5487
5487
|
static get rules() {
|
|
5488
5488
|
return {
|
|
5489
|
-
block:
|
|
5490
|
-
inline:
|
|
5489
|
+
block: Pi,
|
|
5490
|
+
inline: Fi
|
|
5491
5491
|
};
|
|
5492
5492
|
}
|
|
5493
5493
|
static lex(t, n) {
|
|
@@ -5677,18 +5677,18 @@ ${c}` : c;
|
|
|
5677
5677
|
}
|
|
5678
5678
|
return t;
|
|
5679
5679
|
}
|
|
5680
|
-
},
|
|
5680
|
+
}, Ji = class {
|
|
5681
5681
|
options;
|
|
5682
5682
|
parser;
|
|
5683
5683
|
constructor(e) {
|
|
5684
|
-
this.options = e ||
|
|
5684
|
+
this.options = e || wr;
|
|
5685
5685
|
}
|
|
5686
5686
|
space(e) {
|
|
5687
5687
|
return "";
|
|
5688
5688
|
}
|
|
5689
5689
|
code({ text: e, lang: t, escaped: n }) {
|
|
5690
5690
|
let r = (t || "").match(Q.notSpaceStart)?.[0], i = e.replace(Q.endingNewline, "") + "\n";
|
|
5691
|
-
return r ? "<pre><code class=\"language-" +
|
|
5691
|
+
return r ? "<pre><code class=\"language-" + Ri(r) + "\">" + (n ? i : Ri(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : Ri(i, !0)) + "</code></pre>\n";
|
|
5692
5692
|
}
|
|
5693
5693
|
blockquote({ tokens: e }) {
|
|
5694
5694
|
return `<blockquote>
|
|
@@ -5758,7 +5758,7 @@ ${e}</tr>
|
|
|
5758
5758
|
return `<em>${this.parser.parseInline(e)}</em>`;
|
|
5759
5759
|
}
|
|
5760
5760
|
codespan({ text: e }) {
|
|
5761
|
-
return `<code>${
|
|
5761
|
+
return `<code>${Ri(e, !0)}</code>`;
|
|
5762
5762
|
}
|
|
5763
5763
|
br(e) {
|
|
5764
5764
|
return "<br>";
|
|
@@ -5767,24 +5767,24 @@ ${e}</tr>
|
|
|
5767
5767
|
return `<del>${this.parser.parseInline(e)}</del>`;
|
|
5768
5768
|
}
|
|
5769
5769
|
link({ href: e, title: t, tokens: n }) {
|
|
5770
|
-
let r = this.parser.parseInline(n), i =
|
|
5770
|
+
let r = this.parser.parseInline(n), i = zi(e);
|
|
5771
5771
|
if (i === null) return r;
|
|
5772
5772
|
e = i;
|
|
5773
5773
|
let a = "<a href=\"" + e + "\"";
|
|
5774
|
-
return t && (a += " title=\"" +
|
|
5774
|
+
return t && (a += " title=\"" + Ri(t) + "\""), a += ">" + r + "</a>", a;
|
|
5775
5775
|
}
|
|
5776
5776
|
image({ href: e, title: t, text: n, tokens: r }) {
|
|
5777
5777
|
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
|
|
5778
|
-
let i =
|
|
5779
|
-
if (i === null) return
|
|
5778
|
+
let i = zi(e);
|
|
5779
|
+
if (i === null) return Ri(n);
|
|
5780
5780
|
e = i;
|
|
5781
|
-
let a = `<img src="${e}" alt="${
|
|
5782
|
-
return t && (a += ` title="${
|
|
5781
|
+
let a = `<img src="${e}" alt="${Ri(n)}"`;
|
|
5782
|
+
return t && (a += ` title="${Ri(t)}"`), a += ">", a;
|
|
5783
5783
|
}
|
|
5784
5784
|
text(e) {
|
|
5785
|
-
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text :
|
|
5785
|
+
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : Ri(e.text);
|
|
5786
5786
|
}
|
|
5787
|
-
},
|
|
5787
|
+
}, Yi = class {
|
|
5788
5788
|
strong({ text: e }) {
|
|
5789
5789
|
return e;
|
|
5790
5790
|
}
|
|
@@ -5815,12 +5815,12 @@ ${e}</tr>
|
|
|
5815
5815
|
checkbox({ raw: e }) {
|
|
5816
5816
|
return e;
|
|
5817
5817
|
}
|
|
5818
|
-
},
|
|
5818
|
+
}, Xi = class e {
|
|
5819
5819
|
options;
|
|
5820
5820
|
renderer;
|
|
5821
5821
|
textRenderer;
|
|
5822
5822
|
constructor(e) {
|
|
5823
|
-
this.options = e ||
|
|
5823
|
+
this.options = e || wr, this.options.renderer = this.options.renderer || new Ji(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Yi();
|
|
5824
5824
|
}
|
|
5825
5825
|
static parse(t, n) {
|
|
5826
5826
|
return new e(n).parse(t);
|
|
@@ -5964,11 +5964,11 @@ ${e}</tr>
|
|
|
5964
5964
|
}
|
|
5965
5965
|
return n;
|
|
5966
5966
|
}
|
|
5967
|
-
},
|
|
5967
|
+
}, Zi = class {
|
|
5968
5968
|
options;
|
|
5969
5969
|
block;
|
|
5970
5970
|
constructor(e) {
|
|
5971
|
-
this.options = e ||
|
|
5971
|
+
this.options = e || wr;
|
|
5972
5972
|
}
|
|
5973
5973
|
static passThroughHooks = /* @__PURE__ */ new Set([
|
|
5974
5974
|
"preprocess",
|
|
@@ -5994,22 +5994,22 @@ ${e}</tr>
|
|
|
5994
5994
|
return e;
|
|
5995
5995
|
}
|
|
5996
5996
|
provideLexer() {
|
|
5997
|
-
return this.block ?
|
|
5997
|
+
return this.block ? qi.lex : qi.lexInline;
|
|
5998
5998
|
}
|
|
5999
5999
|
provideParser() {
|
|
6000
|
-
return this.block ?
|
|
6000
|
+
return this.block ? Xi.parse : Xi.parseInline;
|
|
6001
6001
|
}
|
|
6002
|
-
},
|
|
6003
|
-
defaults =
|
|
6002
|
+
}, Qi = new class {
|
|
6003
|
+
defaults = Cr();
|
|
6004
6004
|
options = this.setOptions;
|
|
6005
6005
|
parse = this.parseMarkdown(!0);
|
|
6006
6006
|
parseInline = this.parseMarkdown(!1);
|
|
6007
|
-
Parser =
|
|
6008
|
-
Renderer =
|
|
6009
|
-
TextRenderer =
|
|
6010
|
-
Lexer =
|
|
6011
|
-
Tokenizer =
|
|
6012
|
-
Hooks =
|
|
6007
|
+
Parser = Xi;
|
|
6008
|
+
Renderer = Ji;
|
|
6009
|
+
TextRenderer = Yi;
|
|
6010
|
+
Lexer = qi;
|
|
6011
|
+
Tokenizer = Ki;
|
|
6012
|
+
Hooks = Zi;
|
|
6013
6013
|
constructor(...e) {
|
|
6014
6014
|
this.use(...e);
|
|
6015
6015
|
}
|
|
@@ -6060,7 +6060,7 @@ ${e}</tr>
|
|
|
6060
6060
|
}
|
|
6061
6061
|
"childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
|
|
6062
6062
|
}), n.extensions = t), e.renderer) {
|
|
6063
|
-
let t = this.defaults.renderer || new
|
|
6063
|
+
let t = this.defaults.renderer || new Ji(this.defaults);
|
|
6064
6064
|
for (let n in e.renderer) {
|
|
6065
6065
|
if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
|
|
6066
6066
|
if (["options", "parser"].includes(n)) continue;
|
|
@@ -6073,7 +6073,7 @@ ${e}</tr>
|
|
|
6073
6073
|
n.renderer = t;
|
|
6074
6074
|
}
|
|
6075
6075
|
if (e.tokenizer) {
|
|
6076
|
-
let t = this.defaults.tokenizer || new
|
|
6076
|
+
let t = this.defaults.tokenizer || new Ki(this.defaults);
|
|
6077
6077
|
for (let n in e.tokenizer) {
|
|
6078
6078
|
if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
|
|
6079
6079
|
if ([
|
|
@@ -6090,13 +6090,13 @@ ${e}</tr>
|
|
|
6090
6090
|
n.tokenizer = t;
|
|
6091
6091
|
}
|
|
6092
6092
|
if (e.hooks) {
|
|
6093
|
-
let t = this.defaults.hooks || new
|
|
6093
|
+
let t = this.defaults.hooks || new Zi();
|
|
6094
6094
|
for (let n in e.hooks) {
|
|
6095
6095
|
if (!(n in t)) throw Error(`hook '${n}' does not exist`);
|
|
6096
6096
|
if (["options", "block"].includes(n)) continue;
|
|
6097
6097
|
let r = n, i = e.hooks[r], a = t[r];
|
|
6098
|
-
t[r] =
|
|
6099
|
-
if (this.defaults.async &&
|
|
6098
|
+
t[r] = Zi.passThroughHooks.has(n) ? (e) => {
|
|
6099
|
+
if (this.defaults.async && Zi.passThroughHooksRespectAsync.has(n)) return (async () => {
|
|
6100
6100
|
let n = await i.call(t, e);
|
|
6101
6101
|
return a.call(t, n);
|
|
6102
6102
|
})();
|
|
@@ -6133,10 +6133,10 @@ ${e}</tr>
|
|
|
6133
6133
|
}, this;
|
|
6134
6134
|
}
|
|
6135
6135
|
lexer(e, t) {
|
|
6136
|
-
return
|
|
6136
|
+
return qi.lex(e, t ?? this.defaults);
|
|
6137
6137
|
}
|
|
6138
6138
|
parser(e, t) {
|
|
6139
|
-
return
|
|
6139
|
+
return Xi.parse(e, t ?? this.defaults);
|
|
6140
6140
|
}
|
|
6141
6141
|
parseMarkdown(e) {
|
|
6142
6142
|
return (t, n) => {
|
|
@@ -6148,16 +6148,16 @@ ${e}</tr>
|
|
|
6148
6148
|
if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
|
|
6149
6149
|
if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
|
|
6150
6150
|
if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
|
|
6151
|
-
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ?
|
|
6151
|
+
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? qi.lex : qi.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
|
|
6152
6152
|
i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
|
|
6153
|
-
let o = await (i.hooks ? await i.hooks.provideParser() : e ?
|
|
6153
|
+
let o = await (i.hooks ? await i.hooks.provideParser() : e ? Xi.parse : Xi.parseInline)(a, i);
|
|
6154
6154
|
return i.hooks ? await i.hooks.postprocess(o) : o;
|
|
6155
6155
|
})().catch(a);
|
|
6156
6156
|
try {
|
|
6157
6157
|
i.hooks && (t = i.hooks.preprocess(t));
|
|
6158
|
-
let n = (i.hooks ? i.hooks.provideLexer() : e ?
|
|
6158
|
+
let n = (i.hooks ? i.hooks.provideLexer() : e ? qi.lex : qi.lexInline)(t, i);
|
|
6159
6159
|
i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
|
|
6160
|
-
let r = (i.hooks ? i.hooks.provideParser() : e ?
|
|
6160
|
+
let r = (i.hooks ? i.hooks.provideParser() : e ? Xi.parse : Xi.parseInline)(n, i);
|
|
6161
6161
|
return i.hooks && (r = i.hooks.postprocess(r)), r;
|
|
6162
6162
|
} catch (e) {
|
|
6163
6163
|
return a(e);
|
|
@@ -6167,7 +6167,7 @@ ${e}</tr>
|
|
|
6167
6167
|
onError(e, t) {
|
|
6168
6168
|
return (n) => {
|
|
6169
6169
|
if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
|
|
6170
|
-
let e = "<p>An error occurred:</p><pre>" +
|
|
6170
|
+
let e = "<p>An error occurred:</p><pre>" + Ri(n.message + "", !0) + "</pre>";
|
|
6171
6171
|
return t ? Promise.resolve(e) : e;
|
|
6172
6172
|
}
|
|
6173
6173
|
if (t) return Promise.reject(n);
|
|
@@ -6176,21 +6176,21 @@ ${e}</tr>
|
|
|
6176
6176
|
}
|
|
6177
6177
|
}();
|
|
6178
6178
|
function $(e, t) {
|
|
6179
|
-
return
|
|
6179
|
+
return Qi.parse(e, t);
|
|
6180
6180
|
}
|
|
6181
6181
|
$.options = $.setOptions = function(e) {
|
|
6182
|
-
return
|
|
6183
|
-
}, $.getDefaults =
|
|
6184
|
-
return
|
|
6182
|
+
return Qi.setOptions(e), $.defaults = Qi.defaults, Tr($.defaults), $;
|
|
6183
|
+
}, $.getDefaults = Cr, $.defaults = wr, $.use = function(...e) {
|
|
6184
|
+
return Qi.use(...e), $.defaults = Qi.defaults, Tr($.defaults), $;
|
|
6185
6185
|
}, $.walkTokens = function(e, t) {
|
|
6186
|
-
return
|
|
6187
|
-
}, $.parseInline =
|
|
6188
|
-
var
|
|
6186
|
+
return Qi.walkTokens(e, t);
|
|
6187
|
+
}, $.parseInline = Qi.parseInline, $.Parser = Xi, $.parser = Xi.parse, $.Renderer = Ji, $.TextRenderer = Yi, $.Lexer = qi, $.lexer = qi.lex, $.Tokenizer = Ki, $.Hooks = Zi, $.parse = $, $.options, $.setOptions, $.use, $.walkTokens, $.parseInline, Xi.parse, qi.lex;
|
|
6188
|
+
var $i = () => {
|
|
6189
6189
|
let e, t = null, n;
|
|
6190
6190
|
function r() {
|
|
6191
6191
|
if (t && !t.closed) t.focus();
|
|
6192
6192
|
else {
|
|
6193
|
-
if (t = window.open("about:blank", "reveal.js - Notes", "width=1100,height=700"), t.marked = $, t.document.write(
|
|
6193
|
+
if (t = window.open("about:blank", "reveal.js - Notes", "width=1100,height=700"), t.marked = $, t.document.write(Sr), !t) {
|
|
6194
6194
|
alert("Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.");
|
|
6195
6195
|
return;
|
|
6196
6196
|
}
|
|
@@ -6272,79 +6272,86 @@ var Ji = () => {
|
|
|
6272
6272
|
},
|
|
6273
6273
|
open: r
|
|
6274
6274
|
};
|
|
6275
|
-
},
|
|
6276
|
-
function
|
|
6275
|
+
}, ea = 16 / 9, ta = 67;
|
|
6276
|
+
function na({ deck: e, enabled: t, onToggle: n }) {
|
|
6277
|
+
e.removeKeyBinding(ta), t && e.addKeyBinding({
|
|
6278
|
+
keyCode: ta,
|
|
6279
|
+
key: "C",
|
|
6280
|
+
description: "Toggle code editor"
|
|
6281
|
+
}, n);
|
|
6282
|
+
}
|
|
6283
|
+
function ra(e) {
|
|
6277
6284
|
let t = e.getSlidesElement();
|
|
6278
6285
|
if (t) for (let e of t.querySelectorAll("section.stack[data-previous-indexv]")) e.removeAttribute("data-previous-indexv");
|
|
6279
6286
|
}
|
|
6280
|
-
var
|
|
6287
|
+
var ia = /* @__PURE__ */ new Set([
|
|
6281
6288
|
" ",
|
|
6282
6289
|
"Spacebar",
|
|
6283
6290
|
"ArrowRight",
|
|
6284
6291
|
"ArrowDown",
|
|
6285
6292
|
"PageDown"
|
|
6286
|
-
]),
|
|
6293
|
+
]), aa = /* @__PURE__ */ new Set([
|
|
6287
6294
|
"ArrowLeft",
|
|
6288
6295
|
"ArrowUp",
|
|
6289
6296
|
"PageUp"
|
|
6290
6297
|
]);
|
|
6291
|
-
function
|
|
6292
|
-
return
|
|
6298
|
+
function oa(e) {
|
|
6299
|
+
return ia.has(e.key) ? 1 : aa.has(e.key) ? -1 : 0;
|
|
6293
6300
|
}
|
|
6294
|
-
function
|
|
6295
|
-
let t = (0,
|
|
6301
|
+
function sa(e) {
|
|
6302
|
+
let t = (0, F.c)(4), n;
|
|
6296
6303
|
t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = {
|
|
6297
6304
|
width: 960,
|
|
6298
6305
|
height: 540
|
|
6299
6306
|
}, t[0] = n) : n = t[0];
|
|
6300
|
-
let [r, i] = (0,
|
|
6307
|
+
let [r, i] = (0, P.useState)(n), a, o;
|
|
6301
6308
|
return t[1] === e ? (a = t[2], o = t[3]) : (a = () => {
|
|
6302
6309
|
let t = e.current;
|
|
6303
6310
|
if (!t) return;
|
|
6304
6311
|
let n = new ResizeObserver((e) => {
|
|
6305
6312
|
let { width: t, height: n } = e[0].contentRect;
|
|
6306
6313
|
if (t <= 0 || n <= 0) return;
|
|
6307
|
-
let r = Math.min(t, n *
|
|
6314
|
+
let r = Math.min(t, n * ea), a = r / ea;
|
|
6308
6315
|
i({
|
|
6309
6316
|
width: Math.round(r),
|
|
6310
6317
|
height: Math.round(a)
|
|
6311
6318
|
});
|
|
6312
6319
|
});
|
|
6313
6320
|
return n.observe(t), () => n.disconnect();
|
|
6314
|
-
}, o = [e], t[1] = e, t[2] = a, t[3] = o), (0,
|
|
6321
|
+
}, o = [e], t[1] = e, t[2] = a, t[3] = o), (0, P.useEffect)(a, o), r;
|
|
6315
6322
|
}
|
|
6316
|
-
var
|
|
6317
|
-
let t = (0,
|
|
6323
|
+
var ca = (e) => {
|
|
6324
|
+
let t = (0, F.c)(6), { text: n } = e, r, i;
|
|
6318
6325
|
if (t[0] !== n) {
|
|
6319
6326
|
let e = n.split("\n");
|
|
6320
6327
|
r = "notes", i = e.map((t, n) => {
|
|
6321
6328
|
let r = n === e.length - 1;
|
|
6322
|
-
return t === "---" ? /* @__PURE__ */ (0,
|
|
6329
|
+
return t === "---" ? /* @__PURE__ */ (0, W.jsx)("hr", {}, n) : /* @__PURE__ */ (0, W.jsxs)(P.Fragment, { children: [t, !r && /* @__PURE__ */ (0, W.jsx)("br", {})] }, n);
|
|
6323
6330
|
}), t[0] = n, t[1] = r, t[2] = i;
|
|
6324
6331
|
} else r = t[1], i = t[2];
|
|
6325
6332
|
let a;
|
|
6326
|
-
return t[3] !== r || t[4] !== i ? (a = /* @__PURE__ */ (0,
|
|
6333
|
+
return t[3] !== r || t[4] !== i ? (a = /* @__PURE__ */ (0, W.jsx)("aside", {
|
|
6327
6334
|
className: r,
|
|
6328
6335
|
children: i
|
|
6329
6336
|
}), t[3] = r, t[4] = i, t[5] = a) : a = t[5], a;
|
|
6330
6337
|
};
|
|
6331
|
-
function
|
|
6332
|
-
let { cells: t, cellId: n, showCodeOverrides: r,
|
|
6338
|
+
function la(e) {
|
|
6339
|
+
let { cells: t, cellId: n, showCodeOverrides: r, codeAvailable: i } = e;
|
|
6333
6340
|
return n == null || !i ? !1 : (t.get(n)?.showCode ?? !1) || r.has(n);
|
|
6334
6341
|
}
|
|
6335
|
-
function
|
|
6342
|
+
function ua(e) {
|
|
6336
6343
|
let { cell: t, noOutputIds: n, heldEditCellId: r, slideConfigs: i } = e;
|
|
6337
6344
|
return n.has(t.id) || t.id === r ? "skip" : i.get(t.id)?.type ?? "slide";
|
|
6338
6345
|
}
|
|
6339
|
-
function
|
|
6340
|
-
let t = (0,
|
|
6346
|
+
function da(e) {
|
|
6347
|
+
let t = (0, F.c)(15), { activeCell: n, slideConfigs: r, noOutputIds: i } = e, a = n?.id ?? null, o;
|
|
6341
6348
|
t[0] !== n || t[1] !== i ? (o = n != null && i.has(n.id), t[0] = n, t[1] = i, t[2] = o) : o = t[2];
|
|
6342
6349
|
let s = o, c = n != null && r.get(n.id)?.type === "skip" || s, l;
|
|
6343
6350
|
t[3] === a ? l = t[4] : (l = {
|
|
6344
6351
|
activeCellId: a,
|
|
6345
6352
|
cellId: null
|
|
6346
6353
|
}, t[3] = a, t[4] = l);
|
|
6347
|
-
let [u, d] = (0,
|
|
6354
|
+
let [u, d] = (0, P.useState)(l), f = u.cellId;
|
|
6348
6355
|
u.activeCellId === a ? s && f !== a && (f = a, d({
|
|
6349
6356
|
activeCellId: a,
|
|
6350
6357
|
cellId: f
|
|
@@ -6357,14 +6364,14 @@ function ia(e) {
|
|
|
6357
6364
|
cellId: m,
|
|
6358
6365
|
show: !0
|
|
6359
6366
|
}, t[5] = m, t[6] = h);
|
|
6360
|
-
let [g, _] = (0,
|
|
6367
|
+
let [g, _] = (0, P.useState)(h), v = g.show;
|
|
6361
6368
|
g.cellId !== m && (v = !0, _({
|
|
6362
6369
|
cellId: m,
|
|
6363
6370
|
show: !0
|
|
6364
6371
|
}));
|
|
6365
6372
|
let y;
|
|
6366
|
-
t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(
|
|
6367
|
-
let b =
|
|
6373
|
+
t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(fa), t[7] = y) : y = t[7];
|
|
6374
|
+
let b = M(y), x = c || p ? n ?? null : null, S;
|
|
6368
6375
|
return t[8] !== m || t[9] !== v || t[10] !== p || t[11] !== s || t[12] !== x || t[13] !== b ? (S = {
|
|
6369
6376
|
parkedPreviewCell: x,
|
|
6370
6377
|
isHeldEdit: p,
|
|
@@ -6374,401 +6381,420 @@ function ia(e) {
|
|
|
6374
6381
|
toggleHeldShowsCode: b
|
|
6375
6382
|
}, t[8] = m, t[9] = v, t[10] = p, t[11] = s, t[12] = x, t[13] = b, t[14] = S) : S = t[14], S;
|
|
6376
6383
|
}
|
|
6377
|
-
function
|
|
6384
|
+
function fa(e) {
|
|
6378
6385
|
return {
|
|
6379
6386
|
...e,
|
|
6380
6387
|
show: !e.show
|
|
6381
6388
|
};
|
|
6382
6389
|
}
|
|
6383
|
-
function
|
|
6390
|
+
function pa(e) {
|
|
6384
6391
|
switch (e ?? "center") {
|
|
6385
6392
|
case "top": return { margin: "0 20px auto" };
|
|
6386
6393
|
case "bottom": return { margin: "auto 20px 0" };
|
|
6387
6394
|
default: return { margin: "auto 20px" };
|
|
6388
6395
|
}
|
|
6389
6396
|
}
|
|
6390
|
-
var
|
|
6391
|
-
let t = (0,
|
|
6392
|
-
t[0] !== n.id || t[1] !== n.name ? (r =
|
|
6397
|
+
var ma = (e) => {
|
|
6398
|
+
let t = (0, F.c)(13), { cell: n } = e, r;
|
|
6399
|
+
t[0] !== n.id || t[1] !== n.name ? (r = C(n.id, n.name), t[0] = n.id, t[1] = n.name, t[2] = r) : r = t[2];
|
|
6393
6400
|
let i = n.id, a = n.status, o = n.output, s;
|
|
6394
|
-
t[3] === n ? s = t[4] : (s =
|
|
6395
|
-
let
|
|
6396
|
-
t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== s ? (
|
|
6401
|
+
t[3] === n ? s = t[4] : (s = l(n, !1), t[3] = n, t[4] = s);
|
|
6402
|
+
let c;
|
|
6403
|
+
t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== s ? (c = /* @__PURE__ */ (0, W.jsx)(p, {
|
|
6397
6404
|
cellId: i,
|
|
6398
6405
|
status: a,
|
|
6399
6406
|
output: o,
|
|
6400
6407
|
stale: s
|
|
6401
|
-
}), t[5] = n.id, t[6] = n.output, t[7] = n.status, t[8] = s, t[9] =
|
|
6408
|
+
}), t[5] = n.id, t[6] = n.output, t[7] = n.status, t[8] = s, t[9] = c) : c = t[9];
|
|
6402
6409
|
let u;
|
|
6403
|
-
return t[10] !== r || t[11] !==
|
|
6410
|
+
return t[10] !== r || t[11] !== c ? (u = /* @__PURE__ */ (0, W.jsx)("div", {
|
|
6404
6411
|
className: "flex flex-col",
|
|
6405
6412
|
...r,
|
|
6406
|
-
children:
|
|
6407
|
-
}), t[10] = r, t[11] =
|
|
6408
|
-
},
|
|
6409
|
-
let t = (0,
|
|
6413
|
+
children: c
|
|
6414
|
+
}), t[10] = r, t[11] = c, t[12] = u) : u = t[12], u;
|
|
6415
|
+
}, ha = (e) => {
|
|
6416
|
+
let t = (0, F.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a, contentStyle: o } = e, s, c, l, u, d, f;
|
|
6410
6417
|
if (t[0] !== o || t[1] !== i || t[2] !== r || t[3] !== a || t[4] !== n) {
|
|
6411
|
-
let { slideLevel: e, cumulativeByBlock: p } =
|
|
6418
|
+
let { slideLevel: e, cumulativeByBlock: p } = xr(n, a);
|
|
6412
6419
|
l = e;
|
|
6413
6420
|
let m = n.blocks.some((e) => e.cells.some((e) => r(e.id)));
|
|
6414
|
-
c =
|
|
6415
|
-
let n = e.cells.map((e) => r(e.id) ? i ? /* @__PURE__ */ (0,
|
|
6421
|
+
c = wt, s = sr, u = m ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content", d = o, f = n.blocks.map((e, t) => {
|
|
6422
|
+
let n = e.cells.map((e) => r(e.id) ? i ? /* @__PURE__ */ (0, W.jsx)(mr, { cell: e }, e.id) : /* @__PURE__ */ (0, W.jsx)(hr, { cell: e }, e.id) : /* @__PURE__ */ (0, W.jsx)(ma, { cell: e }, e.id));
|
|
6416
6423
|
if (e.isFragment) {
|
|
6417
6424
|
let e = p.get(t);
|
|
6418
|
-
return /* @__PURE__ */ (0,
|
|
6425
|
+
return /* @__PURE__ */ (0, W.jsxs)(er, {
|
|
6419
6426
|
as: "div",
|
|
6420
|
-
children: [n, e && /* @__PURE__ */ (0,
|
|
6427
|
+
children: [n, e && /* @__PURE__ */ (0, W.jsx)(ca, { text: e })]
|
|
6421
6428
|
}, t);
|
|
6422
6429
|
}
|
|
6423
|
-
return /* @__PURE__ */ (0,
|
|
6430
|
+
return /* @__PURE__ */ (0, W.jsx)(P.Fragment, { children: n }, t);
|
|
6424
6431
|
}), t[0] = o, t[1] = i, t[2] = r, t[3] = a, t[4] = n, t[5] = s, t[6] = c, t[7] = l, t[8] = u, t[9] = d, t[10] = f;
|
|
6425
6432
|
} else s = t[5], c = t[6], l = t[7], u = t[8], d = t[9], f = t[10];
|
|
6426
6433
|
let p;
|
|
6427
|
-
t[11] !== u || t[12] !== d || t[13] !== f ? (p = /* @__PURE__ */ (0,
|
|
6434
|
+
t[11] !== u || t[12] !== d || t[13] !== f ? (p = /* @__PURE__ */ (0, W.jsx)("div", {
|
|
6428
6435
|
className: u,
|
|
6429
6436
|
style: d,
|
|
6430
6437
|
children: f
|
|
6431
6438
|
}), t[11] = u, t[12] = d, t[13] = f, t[14] = p) : p = t[14];
|
|
6432
6439
|
let m;
|
|
6433
|
-
t[15] !== s || t[16] !== p ? (m = /* @__PURE__ */ (0,
|
|
6440
|
+
t[15] !== s || t[16] !== p ? (m = /* @__PURE__ */ (0, W.jsx)(s, { children: p }), t[15] = s, t[16] = p, t[17] = m) : m = t[17];
|
|
6434
6441
|
let h;
|
|
6435
|
-
t[18] === l ? h = t[19] : (h = l && /* @__PURE__ */ (0,
|
|
6442
|
+
t[18] === l ? h = t[19] : (h = l && /* @__PURE__ */ (0, W.jsx)(ca, { text: l }), t[18] = l, t[19] = h);
|
|
6436
6443
|
let g;
|
|
6437
|
-
return t[20] !== c || t[21] !== m || t[22] !== h ? (g = /* @__PURE__ */ (0,
|
|
6444
|
+
return t[20] !== c || t[21] !== m || t[22] !== h ? (g = /* @__PURE__ */ (0, W.jsxs)(c, { children: [m, h] }), t[20] = c, t[21] = m, t[22] = h, t[23] = g) : g = t[23], g;
|
|
6438
6445
|
};
|
|
6439
|
-
function
|
|
6446
|
+
function ga(e) {
|
|
6440
6447
|
let { isNoOutputPreview: t, isEditable: n, showCode: r } = e;
|
|
6441
6448
|
return t && n || r;
|
|
6442
6449
|
}
|
|
6443
|
-
var
|
|
6444
|
-
let t = (0,
|
|
6445
|
-
if (
|
|
6450
|
+
var _a = (e) => {
|
|
6451
|
+
let t = (0, F.c)(5), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e;
|
|
6452
|
+
if (ga({
|
|
6446
6453
|
isNoOutputPreview: r,
|
|
6447
6454
|
isEditable: i,
|
|
6448
6455
|
showCode: a
|
|
6449
6456
|
})) {
|
|
6450
6457
|
let e;
|
|
6451
|
-
return t[0] !== n || t[1] !== i ? (e = i ? /* @__PURE__ */ (0,
|
|
6458
|
+
return t[0] !== n || t[1] !== i ? (e = i ? /* @__PURE__ */ (0, W.jsx)(mr, { cell: n }) : /* @__PURE__ */ (0, W.jsx)(hr, { cell: n }), t[0] = n, t[1] = i, t[2] = e) : e = t[2], e;
|
|
6452
6459
|
}
|
|
6453
6460
|
let o;
|
|
6454
|
-
return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0,
|
|
6455
|
-
},
|
|
6456
|
-
let n = (0,
|
|
6457
|
-
n[0]
|
|
6458
|
-
let
|
|
6459
|
-
n[
|
|
6460
|
-
let
|
|
6461
|
-
n[
|
|
6462
|
-
let
|
|
6463
|
-
n[7] !==
|
|
6464
|
-
|
|
6461
|
+
return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0, W.jsx)(ma, { cell: n }), t[3] = n, t[4] = o), o;
|
|
6462
|
+
}, va = (e) => {
|
|
6463
|
+
let n = (0, F.c)(160), { slideCells: o, layout: s, setLayout: l, noOutputIds: u, activeIndex: p, onSlideChange: C, mode: E, configWidth: D, isEditable: O } = e, N = O !== void 0 && O, te = (0, P.useRef)(null), ne = (0, P.useRef)(null), { width: I, height: re } = sa(te), ie = k() != null, ae = j(c), oe = j(x).kind, se = j(y), ce = oe !== "wasm" || se, le;
|
|
6464
|
+
n[0] !== ae || n[1] !== oe ? (le = ae || !w(oe) ? [] : [$i], n[0] = ae, n[1] = oe, n[2] = le) : le = n[2];
|
|
6465
|
+
let ue = le, [de, L] = (0, P.useState)(ya), fe = v(o), pe;
|
|
6466
|
+
n[3] === fe ? pe = n[4] : (pe = !ee() && fe, n[3] = fe, n[4] = pe);
|
|
6467
|
+
let R = pe, me;
|
|
6468
|
+
n[5] === ae ? me = n[6] : (me = g(ae, window.location.search), n[5] = ae, n[6] = me);
|
|
6469
|
+
let z = !me && R, he = p == null ? void 0 : o[p], ge;
|
|
6470
|
+
n[7] !== he || n[8] !== o ? (ge = he ?? o.at(0), n[7] = he, n[8] = o, n[9] = ge) : ge = n[9];
|
|
6471
|
+
let _e = ge, ve;
|
|
6472
|
+
n[10] !== he || n[11] !== s.cells || n[12] !== u ? (ve = {
|
|
6473
|
+
activeCell: he,
|
|
6465
6474
|
slideConfigs: s.cells,
|
|
6466
6475
|
noOutputIds: u
|
|
6467
|
-
}, n[
|
|
6468
|
-
let { parkedPreviewCell:
|
|
6469
|
-
n[
|
|
6476
|
+
}, n[10] = he, n[11] = s.cells, n[12] = u, n[13] = ve) : ve = n[13];
|
|
6477
|
+
let { parkedPreviewCell: B, isHeldEdit: ye, isNoOutputPreview: be, heldEditCellId: xe, heldShowsCode: Se, toggleHeldShowsCode: Ce } = da(ve), we;
|
|
6478
|
+
n[14] !== R || n[15] !== s.cells || n[16] !== de ? (we = (e) => la({
|
|
6470
6479
|
cells: s.cells,
|
|
6471
6480
|
cellId: e,
|
|
6472
|
-
showCodeOverrides:
|
|
6473
|
-
|
|
6474
|
-
}), n[
|
|
6475
|
-
let
|
|
6476
|
-
n[
|
|
6477
|
-
let
|
|
6478
|
-
n[
|
|
6479
|
-
let
|
|
6480
|
-
n[
|
|
6481
|
+
showCodeOverrides: de,
|
|
6482
|
+
codeAvailable: R
|
|
6483
|
+
}), n[14] = R, n[15] = s.cells, n[16] = de, n[17] = we) : we = n[17];
|
|
6484
|
+
let V = we, Te = he?.id ?? _e?.id, Ee;
|
|
6485
|
+
n[18] !== Te || n[19] !== Se || n[20] !== ye || n[21] !== V ? (Ee = ye ? Se : V(Te), n[18] = Te, n[19] = Se, n[20] = ye, n[21] = V, n[22] = Ee) : Ee = n[22];
|
|
6486
|
+
let De = Ee, Oe;
|
|
6487
|
+
n[23] !== Te || n[24] !== R || n[25] !== s.cells ? (Oe = R && Te != null && (s.cells.get(Te)?.showCode ?? !1), n[23] = Te, n[24] = R, n[25] = s.cells, n[26] = Oe) : Oe = n[26];
|
|
6488
|
+
let ke = Oe, Ae;
|
|
6489
|
+
n[27] !== xe || n[28] !== s.cells || n[29] !== u ? (Ae = (e) => ua({
|
|
6481
6490
|
cell: e,
|
|
6482
6491
|
noOutputIds: u,
|
|
6483
|
-
heldEditCellId:
|
|
6492
|
+
heldEditCellId: xe,
|
|
6484
6493
|
slideConfigs: s.cells
|
|
6485
|
-
}), n[
|
|
6486
|
-
let
|
|
6487
|
-
n[
|
|
6494
|
+
}), n[27] = xe, n[28] = s.cells, n[29] = u, n[30] = Ae) : Ae = n[30];
|
|
6495
|
+
let je;
|
|
6496
|
+
n[31] !== o || n[32] !== Ae ? (je = cr({
|
|
6488
6497
|
cells: o,
|
|
6489
|
-
getType:
|
|
6490
|
-
}), n[
|
|
6491
|
-
let
|
|
6492
|
-
n[
|
|
6493
|
-
composition:
|
|
6498
|
+
getType: Ae
|
|
6499
|
+
}), n[31] = o, n[32] = Ae, n[33] = je) : je = n[33];
|
|
6500
|
+
let Me = je, Ne;
|
|
6501
|
+
n[34] !== Me || n[35] !== o ? (Ne = lr({
|
|
6502
|
+
composition: Me,
|
|
6494
6503
|
cells: o,
|
|
6495
|
-
getId:
|
|
6496
|
-
}), n[
|
|
6497
|
-
let { cellToTarget:
|
|
6498
|
-
n[
|
|
6499
|
-
let
|
|
6500
|
-
|
|
6501
|
-
|
|
6502
|
-
|
|
6503
|
-
} else Oe = n[36];
|
|
6504
|
-
let ke = Oe, Ae;
|
|
6505
|
-
n[37] !== Te || n[38] !== N || n[39] !== te ? (Ae = {
|
|
6504
|
+
getId: ba
|
|
6505
|
+
}), n[34] = Me, n[35] = o, n[36] = Ne) : Ne = n[36];
|
|
6506
|
+
let { cellToTarget: Pe, targetToCellIndex: Fe } = Ne, Ie = s.deck?.transition ?? "slide", H = s.deck?.verticalAlign, Le;
|
|
6507
|
+
n[37] === H ? Le = n[38] : (Le = pa(H), n[37] = H, n[38] = Le);
|
|
6508
|
+
let Re = Le, ze;
|
|
6509
|
+
n[39] === Symbol.for("react.memo_cache_sentinel") ? (ze = f(window.location.href), n[39] = ze) : ze = n[39];
|
|
6510
|
+
let Be = ze, Ve;
|
|
6511
|
+
n[40] !== Ie || n[41] !== re || n[42] !== I ? (Ve = {
|
|
6506
6512
|
embedded: !0,
|
|
6507
|
-
width:
|
|
6508
|
-
height:
|
|
6513
|
+
width: I,
|
|
6514
|
+
height: re,
|
|
6509
6515
|
center: !1,
|
|
6510
6516
|
minScale: .2,
|
|
6511
6517
|
maxScale: 2,
|
|
6512
|
-
transition:
|
|
6513
|
-
keyboardCondition:
|
|
6514
|
-
url:
|
|
6518
|
+
transition: Ie,
|
|
6519
|
+
keyboardCondition: xa,
|
|
6520
|
+
url: Be,
|
|
6515
6521
|
scrollActivationWidth: 0
|
|
6516
|
-
}, n[
|
|
6517
|
-
let
|
|
6518
|
-
n[
|
|
6519
|
-
|
|
6520
|
-
|
|
6522
|
+
}, n[40] = Ie, n[41] = re, n[42] = I, n[43] = Ve) : Ve = n[43];
|
|
6523
|
+
let He = Ve, Ue;
|
|
6524
|
+
n[44] !== p || n[45] !== ce || n[46] !== Pe || n[47] !== o ? (Ue = (e) => {
|
|
6525
|
+
if (p == null && window.location.hash.startsWith("#/")) {
|
|
6526
|
+
if (!ce) return;
|
|
6527
|
+
window.dispatchEvent(new HashChangeEvent("hashchange")), ra(e);
|
|
6528
|
+
return;
|
|
6529
|
+
}
|
|
6530
|
+
let t = fr({
|
|
6531
|
+
activeIndex: p,
|
|
6521
6532
|
cells: o,
|
|
6522
|
-
cellToTarget:
|
|
6523
|
-
getId:
|
|
6524
|
-
}), n = t &&
|
|
6525
|
-
n && (e.slide(n.h, n.v, n.f),
|
|
6526
|
-
}, n[
|
|
6527
|
-
let
|
|
6528
|
-
n[
|
|
6529
|
-
let e =
|
|
6530
|
-
e != null &&
|
|
6531
|
-
}, n[
|
|
6532
|
-
let
|
|
6533
|
-
n[
|
|
6534
|
-
|
|
6535
|
-
|
|
6533
|
+
cellToTarget: Pe,
|
|
6534
|
+
getId: Sa
|
|
6535
|
+
}), n = t && pr(e.getIndices(), t);
|
|
6536
|
+
n && (e.slide(n.h, n.v, n.f), ra(e));
|
|
6537
|
+
}, n[44] = p, n[45] = ce, n[46] = Pe, n[47] = o, n[48] = Ue) : Ue = n[48];
|
|
6538
|
+
let We = M(Ue), Ge;
|
|
6539
|
+
n[49] === We ? Ge = n[50] : (Ge = () => {
|
|
6540
|
+
let e = ne.current;
|
|
6541
|
+
e != null && We(e);
|
|
6542
|
+
}, n[49] = We, n[50] = Ge);
|
|
6543
|
+
let Ke;
|
|
6544
|
+
n[51] !== p || n[52] !== ce || n[53] !== Pe || n[54] !== We || n[55] !== o ? (Ke = [
|
|
6545
|
+
p,
|
|
6546
|
+
ce,
|
|
6547
|
+
Pe,
|
|
6536
6548
|
o,
|
|
6537
|
-
|
|
6538
|
-
], n[
|
|
6539
|
-
let
|
|
6540
|
-
n[
|
|
6541
|
-
if (!(
|
|
6542
|
-
if (
|
|
6543
|
-
|
|
6549
|
+
We
|
|
6550
|
+
], n[51] = p, n[52] = ce, n[53] = Pe, n[54] = We, n[55] = o, n[56] = Ke) : Ke = n[56], (0, P.useEffect)(Ge, Ke);
|
|
6551
|
+
let qe;
|
|
6552
|
+
n[57] !== Te || n[58] !== ke || n[59] !== ye || n[60] !== Ce ? (qe = () => {
|
|
6553
|
+
if (!(Te == null || ke)) {
|
|
6554
|
+
if (ye) {
|
|
6555
|
+
Ce();
|
|
6544
6556
|
return;
|
|
6545
6557
|
}
|
|
6546
|
-
(0,
|
|
6558
|
+
(0, P.startTransition)(() => L((e) => {
|
|
6547
6559
|
let t = new Set(e);
|
|
6548
|
-
return t.has(
|
|
6560
|
+
return t.has(Te) ? t.delete(Te) : t.add(Te), t;
|
|
6549
6561
|
}));
|
|
6550
6562
|
}
|
|
6551
|
-
}, n[
|
|
6552
|
-
let
|
|
6553
|
-
n[
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6558
|
-
|
|
6563
|
+
}, n[57] = Te, n[58] = ke, n[59] = ye, n[60] = Ce, n[61] = qe) : qe = n[61];
|
|
6564
|
+
let Je = M(qe), Ye, Xe;
|
|
6565
|
+
n[62] !== z || n[63] !== Je ? (Ye = () => {
|
|
6566
|
+
let e = ne.current;
|
|
6567
|
+
return e && na({
|
|
6568
|
+
deck: e,
|
|
6569
|
+
enabled: z,
|
|
6570
|
+
onToggle: Je
|
|
6571
|
+
}), () => {
|
|
6572
|
+
ne.current?.removeKeyBinding(ta);
|
|
6573
|
+
};
|
|
6574
|
+
}, Xe = [z, Je], n[62] = z, n[63] = Je, n[64] = Ye, n[65] = Xe) : (Ye = n[64], Xe = n[65]), (0, P.useEffect)(Ye, Xe);
|
|
6575
|
+
let Ze;
|
|
6576
|
+
n[66] !== C || n[67] !== B || n[68] !== Fe ? (Ze = (e) => {
|
|
6577
|
+
if (B != null) return;
|
|
6578
|
+
let t = ur(Fe, e.getIndices());
|
|
6579
|
+
t != null && C?.(t);
|
|
6580
|
+
}, n[66] = C, n[67] = B, n[68] = Fe, n[69] = Ze) : Ze = n[69];
|
|
6581
|
+
let Qe = M(Ze), $e;
|
|
6582
|
+
n[70] === Qe ? $e = n[71] : ($e = () => {
|
|
6583
|
+
let e = ne.current;
|
|
6584
|
+
e && Qe(e);
|
|
6585
|
+
}, n[70] = Qe, n[71] = $e);
|
|
6586
|
+
let et = M($e), tt;
|
|
6587
|
+
n[72] !== ce || n[73] !== z || n[74] !== We || n[75] !== Qe || n[76] !== Je ? (tt = (e) => {
|
|
6588
|
+
We(e), ce && Qe(e), na({
|
|
6589
|
+
deck: e,
|
|
6590
|
+
enabled: z,
|
|
6591
|
+
onToggle: Je
|
|
6592
|
+
});
|
|
6559
6593
|
let t = e.getSlidesElement()?.closest(".reveal");
|
|
6560
6594
|
t instanceof HTMLElement && (t.tabIndex = -1, t.focus({ preventScroll: !0 }));
|
|
6561
|
-
}, n[
|
|
6562
|
-
let
|
|
6563
|
-
n[
|
|
6564
|
-
if (
|
|
6565
|
-
let
|
|
6566
|
-
if (!e) return;
|
|
6567
|
-
let t = ar(we, e.getIndices());
|
|
6568
|
-
t != null && b?.(t);
|
|
6569
|
-
}, n[61] = b, n[62] = R, n[63] = we, n[64] = Re) : Re = n[64];
|
|
6570
|
-
let ze = D(Re), Be;
|
|
6571
|
-
n[65] !== y || n[66] !== b || n[67] !== R || n[68] !== o ? (Be = (e) => {
|
|
6572
|
-
if (!R || y == null || i.fromInput(e)) return;
|
|
6573
|
-
let t = $i(e);
|
|
6595
|
+
}, n[72] = ce, n[73] = z, n[74] = We, n[75] = Qe, n[76] = Je, n[77] = tt) : tt = n[77];
|
|
6596
|
+
let nt = M(tt), rt;
|
|
6597
|
+
n[78] !== p || n[79] !== C || n[80] !== B || n[81] !== o ? (rt = (e) => {
|
|
6598
|
+
if (!B || p == null || i.fromInput(e)) return;
|
|
6599
|
+
let t = oa(e);
|
|
6574
6600
|
if (t === 0) return;
|
|
6575
6601
|
e.preventDefault(), e.stopPropagation();
|
|
6576
|
-
let n =
|
|
6577
|
-
n < 0 || n >= o.length ||
|
|
6578
|
-
}, n[
|
|
6579
|
-
let
|
|
6580
|
-
n[
|
|
6581
|
-
|
|
6582
|
-
}, n[
|
|
6583
|
-
let
|
|
6584
|
-
n[
|
|
6585
|
-
let
|
|
6586
|
-
n[
|
|
6587
|
-
let
|
|
6588
|
-
n[
|
|
6589
|
-
isNoOutputPreview:
|
|
6590
|
-
isEditable:
|
|
6591
|
-
showCode:
|
|
6592
|
-
}), n[
|
|
6593
|
-
let
|
|
6594
|
-
n[
|
|
6595
|
-
width:
|
|
6596
|
-
height:
|
|
6597
|
-
}, n[
|
|
6598
|
-
let
|
|
6599
|
-
if (n[
|
|
6602
|
+
let n = p + t;
|
|
6603
|
+
n < 0 || n >= o.length || C?.(n);
|
|
6604
|
+
}, n[78] = p, n[79] = C, n[80] = B, n[81] = o, n[82] = rt) : rt = n[82];
|
|
6605
|
+
let it = M(rt), at;
|
|
6606
|
+
n[83] === et ? at = n[84] : (at = () => {
|
|
6607
|
+
et();
|
|
6608
|
+
}, n[83] = et, n[84] = at);
|
|
6609
|
+
let ot = M(at), st;
|
|
6610
|
+
n[85] === Symbol.for("react.memo_cache_sentinel") ? (st = { capture: !0 }, n[85] = st) : st = n[85], t(document, "keydown", it, st);
|
|
6611
|
+
let ct = ye ? null : be ? "Hidden as there is no output" : "Skipped in presentation", lt;
|
|
6612
|
+
n[86] !== Se || n[87] !== ye || n[88] !== B?.id || n[89] !== V ? (lt = ye ? Se : V(B?.id), n[86] = Se, n[87] = ye, n[88] = B?.id, n[89] = V, n[90] = lt) : lt = n[90];
|
|
6613
|
+
let ut = lt, dt;
|
|
6614
|
+
n[91] !== N || n[92] !== be || n[93] !== ut ? (dt = ga({
|
|
6615
|
+
isNoOutputPreview: be,
|
|
6616
|
+
isEditable: N,
|
|
6617
|
+
showCode: ut
|
|
6618
|
+
}), n[91] = N, n[92] = be, n[93] = ut, n[94] = dt) : dt = n[94];
|
|
6619
|
+
let ft = dt, U;
|
|
6620
|
+
n[95] !== re || n[96] !== I ? (U = {
|
|
6621
|
+
width: I,
|
|
6622
|
+
height: re
|
|
6623
|
+
}, n[95] = re, n[96] = I, n[97] = U) : U = n[97];
|
|
6624
|
+
let pt;
|
|
6625
|
+
if (n[98] !== Me.stacks || n[99] !== N || n[100] !== s.cells || n[101] !== V || n[102] !== Re) {
|
|
6600
6626
|
let e;
|
|
6601
|
-
n[
|
|
6627
|
+
n[104] !== N || n[105] !== s.cells || n[106] !== V || n[107] !== Re ? (e = (e, t) => e.subslides.length === 1 ? /* @__PURE__ */ (0, W.jsx)(ha, {
|
|
6602
6628
|
subslide: e.subslides[0],
|
|
6603
|
-
resolveShowCode:
|
|
6604
|
-
isEditable:
|
|
6629
|
+
resolveShowCode: V,
|
|
6630
|
+
isEditable: N,
|
|
6605
6631
|
slideConfigs: s.cells,
|
|
6606
|
-
contentStyle:
|
|
6607
|
-
}, t) : /* @__PURE__ */ (0,
|
|
6632
|
+
contentStyle: Re
|
|
6633
|
+
}, t) : /* @__PURE__ */ (0, W.jsx)(Tt, { children: e.subslides.map((e, t) => /* @__PURE__ */ (0, W.jsx)(ha, {
|
|
6608
6634
|
subslide: e,
|
|
6609
|
-
resolveShowCode:
|
|
6610
|
-
isEditable:
|
|
6635
|
+
resolveShowCode: V,
|
|
6636
|
+
isEditable: N,
|
|
6611
6637
|
slideConfigs: s.cells,
|
|
6612
|
-
contentStyle:
|
|
6613
|
-
}, t)) }, t), n[
|
|
6614
|
-
} else
|
|
6615
|
-
let
|
|
6616
|
-
n[
|
|
6617
|
-
deckRef:
|
|
6638
|
+
contentStyle: Re
|
|
6639
|
+
}, t)) }, t), n[104] = N, n[105] = s.cells, n[106] = V, n[107] = Re, n[108] = e) : e = n[108], pt = Me.stacks.map(e), n[98] = Me.stacks, n[99] = N, n[100] = s.cells, n[101] = V, n[102] = Re, n[103] = pt;
|
|
6640
|
+
} else pt = n[103];
|
|
6641
|
+
let mt;
|
|
6642
|
+
n[109] !== ue || n[110] !== nt || n[111] !== ot || n[112] !== et || n[113] !== He || n[114] !== pt ? (mt = /* @__PURE__ */ (0, W.jsx)(bt, {
|
|
6643
|
+
deckRef: ne,
|
|
6618
6644
|
className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden",
|
|
6619
|
-
config:
|
|
6620
|
-
onReady:
|
|
6621
|
-
onSlideChange:
|
|
6622
|
-
onFragmentShown:
|
|
6623
|
-
onFragmentHidden:
|
|
6624
|
-
plugins:
|
|
6625
|
-
children:
|
|
6626
|
-
}), n[
|
|
6627
|
-
let
|
|
6628
|
-
n[
|
|
6645
|
+
config: He,
|
|
6646
|
+
onReady: nt,
|
|
6647
|
+
onSlideChange: ot,
|
|
6648
|
+
onFragmentShown: et,
|
|
6649
|
+
onFragmentHidden: et,
|
|
6650
|
+
plugins: ue,
|
|
6651
|
+
children: pt
|
|
6652
|
+
}), n[109] = ue, n[110] = nt, n[111] = ot, n[112] = et, n[113] = He, n[114] = pt, n[115] = mt) : mt = n[115];
|
|
6653
|
+
let ht;
|
|
6654
|
+
n[116] !== N || n[117] !== be || n[118] !== B || n[119] !== ct || n[120] !== ut || n[121] !== ft || n[122] !== Re ? (ht = B && /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
6629
6655
|
className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
|
|
6630
|
-
"aria-label":
|
|
6631
|
-
children: [
|
|
6656
|
+
"aria-label": ct ?? void 0,
|
|
6657
|
+
children: [ct && /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
6632
6658
|
className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",
|
|
6633
|
-
children: [/* @__PURE__ */ (0,
|
|
6634
|
-
}), /* @__PURE__ */ (0,
|
|
6659
|
+
children: [/* @__PURE__ */ (0, W.jsx)(_, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, W.jsx)("span", { children: ct })]
|
|
6660
|
+
}), /* @__PURE__ */ (0, W.jsx)("div", {
|
|
6635
6661
|
className: "flex-1 overflow-auto flex",
|
|
6636
|
-
children: /* @__PURE__ */ (0,
|
|
6637
|
-
className:
|
|
6638
|
-
style:
|
|
6639
|
-
children: /* @__PURE__ */ (0,
|
|
6640
|
-
cell:
|
|
6641
|
-
isNoOutputPreview:
|
|
6642
|
-
isEditable:
|
|
6643
|
-
showCode:
|
|
6662
|
+
children: /* @__PURE__ */ (0, W.jsx)("div", {
|
|
6663
|
+
className: ft ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
|
|
6664
|
+
style: Re,
|
|
6665
|
+
children: /* @__PURE__ */ (0, W.jsx)(_a, {
|
|
6666
|
+
cell: B,
|
|
6667
|
+
isNoOutputPreview: be,
|
|
6668
|
+
isEditable: N,
|
|
6669
|
+
showCode: ut
|
|
6644
6670
|
})
|
|
6645
6671
|
})
|
|
6646
6672
|
})]
|
|
6647
|
-
},
|
|
6648
|
-
let
|
|
6649
|
-
n[
|
|
6650
|
-
content:
|
|
6651
|
-
children: /* @__PURE__ */ (0,
|
|
6673
|
+
}, B.id), n[116] = N, n[117] = be, n[118] = B, n[119] = ct, n[120] = ut, n[121] = ft, n[122] = Re, n[123] = ht) : ht = n[123];
|
|
6674
|
+
let gt;
|
|
6675
|
+
n[124] !== De || n[125] !== ke || n[126] !== z || n[127] !== Je ? (gt = z && /* @__PURE__ */ (0, W.jsx)(A, {
|
|
6676
|
+
content: ke ? "Code is always shown for this slide" : De ? "Hide code (C)" : "Show code (C)",
|
|
6677
|
+
children: /* @__PURE__ */ (0, W.jsx)(a, {
|
|
6652
6678
|
"data-testid": "marimo-plugin-slides-toggle-code",
|
|
6653
6679
|
variant: "ghost",
|
|
6654
6680
|
size: "icon",
|
|
6655
|
-
className: r("text-muted-foreground h-7 w-7",
|
|
6656
|
-
"aria-pressed":
|
|
6657
|
-
"aria-disabled":
|
|
6658
|
-
"aria-label":
|
|
6659
|
-
onClick:
|
|
6660
|
-
children: /* @__PURE__ */ (0,
|
|
6681
|
+
className: r("text-muted-foreground h-7 w-7", De && "text-foreground bg-muted", ke && "opacity-50 cursor-not-allowed"),
|
|
6682
|
+
"aria-pressed": De,
|
|
6683
|
+
"aria-disabled": ke,
|
|
6684
|
+
"aria-label": ke ? "Code always shown" : De ? "Hide code" : "Show code",
|
|
6685
|
+
onClick: Je,
|
|
6686
|
+
children: /* @__PURE__ */ (0, W.jsx)(T, { className: "h-4 w-4" })
|
|
6661
6687
|
})
|
|
6662
|
-
}), n[
|
|
6663
|
-
let
|
|
6664
|
-
n[
|
|
6688
|
+
}), n[124] = De, n[125] = ke, n[126] = z, n[127] = Je, n[128] = gt) : gt = n[128];
|
|
6689
|
+
let _t;
|
|
6690
|
+
n[129] === Symbol.for("react.memo_cache_sentinel") ? (_t = /* @__PURE__ */ (0, W.jsx)(A, {
|
|
6665
6691
|
content: "Fullscreen (F)",
|
|
6666
|
-
children: /* @__PURE__ */ (0,
|
|
6692
|
+
children: /* @__PURE__ */ (0, W.jsx)(a, {
|
|
6667
6693
|
"data-testid": "marimo-plugin-slides-fullscreen",
|
|
6668
6694
|
variant: "ghost",
|
|
6669
6695
|
size: "icon",
|
|
6670
6696
|
className: "text-muted-foreground h-7 w-7",
|
|
6671
6697
|
"aria-label": "Enter fullscreen",
|
|
6672
6698
|
onClick: () => {
|
|
6673
|
-
|
|
6699
|
+
ne.current?.getViewportElement()?.requestFullscreen().catch(Ca);
|
|
6674
6700
|
},
|
|
6675
|
-
children: /* @__PURE__ */ (0,
|
|
6701
|
+
children: /* @__PURE__ */ (0, W.jsx)(h, { className: "h-4 w-4" })
|
|
6676
6702
|
})
|
|
6677
|
-
}), n[
|
|
6678
|
-
let
|
|
6679
|
-
n[
|
|
6703
|
+
}), n[129] = _t) : _t = n[129];
|
|
6704
|
+
let vt;
|
|
6705
|
+
n[130] === gt ? vt = n[131] : (vt = /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
6680
6706
|
className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",
|
|
6681
|
-
children: [
|
|
6682
|
-
}), n[
|
|
6683
|
-
let
|
|
6684
|
-
n[
|
|
6685
|
-
ref:
|
|
6707
|
+
children: [gt, _t]
|
|
6708
|
+
}), n[130] = gt, n[131] = vt);
|
|
6709
|
+
let yt;
|
|
6710
|
+
n[132] !== U || n[133] !== mt || n[134] !== ht || n[135] !== vt ? (yt = /* @__PURE__ */ (0, W.jsx)("div", {
|
|
6711
|
+
ref: te,
|
|
6686
6712
|
className: "h-full w-full min-w-0 flex items-center justify-center overflow-hidden",
|
|
6687
|
-
children: /* @__PURE__ */ (0,
|
|
6713
|
+
children: /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
6688
6714
|
className: "group relative",
|
|
6689
|
-
style:
|
|
6715
|
+
style: U,
|
|
6690
6716
|
children: [
|
|
6691
|
-
|
|
6692
|
-
|
|
6693
|
-
|
|
6717
|
+
mt,
|
|
6718
|
+
ht,
|
|
6719
|
+
vt
|
|
6694
6720
|
]
|
|
6695
6721
|
})
|
|
6696
|
-
}), n[
|
|
6697
|
-
let
|
|
6698
|
-
if (
|
|
6722
|
+
}), n[132] = U, n[133] = mt, n[134] = ht, n[135] = vt, n[136] = yt) : yt = n[136];
|
|
6723
|
+
let G = yt;
|
|
6724
|
+
if (E === "read") {
|
|
6699
6725
|
let e;
|
|
6700
|
-
return n[
|
|
6726
|
+
return n[137] === G ? e = n[138] : (e = /* @__PURE__ */ (0, W.jsx)("div", {
|
|
6701
6727
|
className: "flex-1 min-w-0 flex flex-row gap-3",
|
|
6702
|
-
children:
|
|
6703
|
-
}), n[
|
|
6728
|
+
children: G
|
|
6729
|
+
}), n[137] = G, n[138] = e), e;
|
|
6704
6730
|
}
|
|
6705
|
-
let
|
|
6706
|
-
n[
|
|
6731
|
+
let xt;
|
|
6732
|
+
n[139] === G ? xt = n[140] : (xt = /* @__PURE__ */ (0, W.jsx)(d, {
|
|
6707
6733
|
defaultSize: 92,
|
|
6708
6734
|
minSize: 60,
|
|
6709
|
-
children:
|
|
6710
|
-
}), n[
|
|
6711
|
-
let
|
|
6712
|
-
n[
|
|
6735
|
+
children: G
|
|
6736
|
+
}), n[139] = G, n[140] = xt);
|
|
6737
|
+
let St;
|
|
6738
|
+
n[141] === Symbol.for("react.memo_cache_sentinel") ? (St = {
|
|
6713
6739
|
coarse: 12,
|
|
6714
6740
|
fine: 4
|
|
6715
|
-
}, n[
|
|
6716
|
-
let
|
|
6717
|
-
n[
|
|
6741
|
+
}, n[141] = St) : St = n[141];
|
|
6742
|
+
let Ct;
|
|
6743
|
+
n[142] === ie ? Ct = n[143] : (Ct = /* @__PURE__ */ (0, W.jsx)(S, {
|
|
6718
6744
|
className: "mo-slides-notes-resize",
|
|
6719
|
-
hitAreaMargins:
|
|
6720
|
-
disabled:
|
|
6721
|
-
}), n[
|
|
6722
|
-
let
|
|
6723
|
-
n[
|
|
6745
|
+
hitAreaMargins: St,
|
|
6746
|
+
disabled: ie
|
|
6747
|
+
}), n[142] = ie, n[143] = Ct);
|
|
6748
|
+
let wt = _e?.id, Et;
|
|
6749
|
+
n[144] !== s || n[145] !== l || n[146] !== wt ? (Et = /* @__PURE__ */ (0, W.jsx)(d, {
|
|
6724
6750
|
defaultSize: 10,
|
|
6725
6751
|
minSize: 4,
|
|
6726
6752
|
collapsible: !0,
|
|
6727
6753
|
collapsedSize: 4,
|
|
6728
|
-
children: /* @__PURE__ */ (0,
|
|
6754
|
+
children: /* @__PURE__ */ (0, W.jsx)(_r, {
|
|
6729
6755
|
layout: s,
|
|
6730
|
-
setLayout:
|
|
6731
|
-
cellId:
|
|
6756
|
+
setLayout: l,
|
|
6757
|
+
cellId: wt
|
|
6732
6758
|
})
|
|
6733
|
-
}), n[
|
|
6734
|
-
let
|
|
6735
|
-
n[
|
|
6759
|
+
}), n[144] = s, n[145] = l, n[146] = wt, n[147] = Et) : Et = n[147];
|
|
6760
|
+
let K;
|
|
6761
|
+
n[148] !== xt || n[149] !== Ct || n[150] !== Et ? (K = /* @__PURE__ */ (0, W.jsxs)(b, {
|
|
6736
6762
|
direction: "vertical",
|
|
6737
6763
|
autoSaveId: "marimo:slides:notes-panel",
|
|
6738
6764
|
className: "flex-1 min-w-0",
|
|
6739
6765
|
children: [
|
|
6740
|
-
|
|
6741
|
-
|
|
6742
|
-
|
|
6766
|
+
xt,
|
|
6767
|
+
Ct,
|
|
6768
|
+
Et
|
|
6743
6769
|
]
|
|
6744
|
-
}), n[
|
|
6745
|
-
let
|
|
6746
|
-
n[
|
|
6747
|
-
configWidth:
|
|
6770
|
+
}), n[148] = xt, n[149] = Ct, n[150] = Et, n[151] = K) : K = n[151];
|
|
6771
|
+
let Dt;
|
|
6772
|
+
n[152] !== _e || n[153] !== D || n[154] !== s || n[155] !== l ? (Dt = /* @__PURE__ */ (0, W.jsx)(m, {
|
|
6773
|
+
configWidth: D,
|
|
6748
6774
|
layout: s,
|
|
6749
|
-
setLayout:
|
|
6750
|
-
activeConfigCell:
|
|
6751
|
-
}), n[
|
|
6752
|
-
let
|
|
6753
|
-
return n[
|
|
6775
|
+
setLayout: l,
|
|
6776
|
+
activeConfigCell: _e
|
|
6777
|
+
}), n[152] = _e, n[153] = D, n[154] = s, n[155] = l, n[156] = Dt) : Dt = n[156];
|
|
6778
|
+
let q;
|
|
6779
|
+
return n[157] !== K || n[158] !== Dt ? (q = /* @__PURE__ */ (0, W.jsxs)("div", {
|
|
6754
6780
|
className: "flex-1 min-w-0 flex flex-row gap-3",
|
|
6755
|
-
children: [
|
|
6756
|
-
}), n[
|
|
6781
|
+
children: [K, Dt]
|
|
6782
|
+
}), n[157] = K, n[158] = Dt, n[159] = q) : q = n[159], q;
|
|
6757
6783
|
};
|
|
6758
|
-
function
|
|
6784
|
+
function ya() {
|
|
6759
6785
|
return /* @__PURE__ */ new Set();
|
|
6760
6786
|
}
|
|
6761
|
-
function
|
|
6787
|
+
function ba(e) {
|
|
6762
6788
|
return e.id;
|
|
6763
6789
|
}
|
|
6764
|
-
function
|
|
6790
|
+
function xa(e) {
|
|
6765
6791
|
return !i.fromInput(e);
|
|
6766
6792
|
}
|
|
6767
|
-
function
|
|
6793
|
+
function Sa(e) {
|
|
6768
6794
|
return e.id;
|
|
6769
6795
|
}
|
|
6770
|
-
function
|
|
6796
|
+
function Ca(e) {
|
|
6771
6797
|
n.error("Failed to request fullscreen", e);
|
|
6772
6798
|
}
|
|
6773
6799
|
//#endregion
|
|
6774
|
-
export {
|
|
6800
|
+
export { ma as CellOutputBlock, ua as deckSlideType, va as default, ga as parkedRendersSource, la as shouldShowCode, na as syncCodeToggleKeyBinding, da as useParkedPreview };
|