@marimo-team/islands 0.25.2-dev97 → 0.25.2
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/{ConnectedDataExplorerComponent-BZmqc_F0.js → ConnectedDataExplorerComponent-CNSxdKyJ.js} +15 -15
- package/dist/{ErrorBoundary-B-t5rRT6.js → ErrorBoundary-HusVNio-.js} +12 -12
- package/dist/{ImageComparisonComponent-Cpfz30OZ.js → ImageComparisonComponent-uU8FSKZE.js} +3 -3
- package/dist/{Plot-CTyjbQDT.js → Plot-DdYOe1UK.js} +2 -2
- package/dist/{abnfDiagram-VCTEODGH-C_Lmaa2j.js → abnfDiagram-VCTEODGH-DQDjNXt3.js} +3 -3
- package/dist/{any-language-editor-BFzqhOBR.js → any-language-editor-B9REGlD9.js} +7 -7
- package/dist/{architectureDiagram-5GKGNRK7-BKMataHB.js → architectureDiagram-5GKGNRK7-Nmls7Wxn.js} +5 -5
- package/dist/assets/__vite-browser-external-BXYkiFsk.js +1 -0
- package/dist/assets/worker-HPY9fbhz.js +114 -0
- package/dist/{blockDiagram-I7D4REHJ-BeHOjyDk.js → blockDiagram-I7D4REHJ-Cg25UrxT.js} +9 -9
- package/dist/{button-BtsM2UqM.js → button-CvjkwdSk.js} +5 -5
- package/dist/{c4Diagram-7LVT6UL2-Bao10t_O.js → c4Diagram-7LVT6UL2-BxFgrnNV.js} +7 -7
- package/dist/{capabilities-A5jrzjCJ.js → capabilities-CQ5IjhzL.js} +1 -1
- package/dist/{cells-DZi0ioak.js → cells-C8iCYvLU.js} +6644 -5604
- package/dist/{channel-BxCkvUgE.js → channel-CPObtJXj.js} +1 -1
- package/dist/{chat-ui-CwOWzoSO.js → chat-ui-BDpymeoe.js} +1589 -1396
- package/dist/{check-CNP79M3A.js → check-EDwSwP89.js} +1 -1
- package/dist/{chunk-4HAMMTFA-CH7Gpamd.js → chunk-4HAMMTFA-D4eFPyFh.js} +5 -5
- package/dist/{chunk-75Z2AOVW-AI7CvgKn.js → chunk-75Z2AOVW-D7gxIs2Q.js} +1 -1
- package/dist/{chunk-DU6HZSFF-BSvuTkX4.js → chunk-DU6HZSFF-BwiyaNpg.js} +1 -1
- package/dist/{chunk-F27PBJKO-CLshwT9T.js → chunk-F27PBJKO-ufseIn5y.js} +1 -1
- package/dist/{chunk-GMAD6QVW-wnHcn-lH.js → chunk-GMAD6QVW-BhaJx0X3.js} +3 -3
- package/dist/{chunk-GVQU2GXP-7O2p8hut.js → chunk-GVQU2GXP-Cwbt-lF0.js} +2 -2
- package/dist/{chunk-IMKFNOWR-Bu0Vh_Yi.js → chunk-IMKFNOWR-CoIFEo-1.js} +5 -5
- package/dist/{chunk-L3NEJ4N5-B9_Alrxb.js → chunk-L3NEJ4N5-n-zgIVSy.js} +5 -5
- package/dist/{chunk-OSK3NFVY-PeQPH2fD.js → chunk-OSK3NFVY-DXa-Cxbn.js} +6 -6
- package/dist/{chunk-P2QGCYS3-D9twiFuU.js → chunk-P2QGCYS3-B_Zd3-X0.js} +1 -1
- package/dist/{chunk-POPQ4Y6H-BUiNs18s.js → chunk-POPQ4Y6H-hYOXbYH_.js} +1 -1
- package/dist/{chunk-PWAF6VOD-D8S9NPCy.js → chunk-PWAF6VOD-CQw5qATZ.js} +1 -1
- package/dist/{chunk-SHT3W25Y-B2dyNZ31.js → chunk-SHT3W25Y-lHiGx3ZC.js} +7 -7
- package/dist/{chunk-SVP7TREG-D7UPvB10.js → chunk-SVP7TREG-BvsHIrY_.js} +2 -2
- package/dist/{chunk-TICWLB2K-BNaGoadd.js → chunk-TICWLB2K-BC8YIm_n.js} +5 -5
- package/dist/{chunk-YOKDWASO-DrWbKnxA.js → chunk-YOKDWASO-DPZk8vhS.js} +6 -6
- package/dist/classDiagram-ZZMXUADV-Bt98lkkv.js +30 -0
- package/dist/classDiagram-v2-VYDZK3BY-D9bfbcC3.js +30 -0
- package/dist/{code-visibility-B_vyV9G1.js → code-visibility-4aW5326K.js} +8 -8
- package/dist/{common-DrnmK6Aw.js → common-Cjo7bjRK.js} +6574 -7877
- package/dist/{compiler-runtime-Cj8ZWiNS.js → compiler-runtime-CldRdSsv.js} +2 -2
- package/dist/{copy-icon-BY7jgcaV.js → copy-icon-Ft7t9bqz.js} +6 -6
- package/dist/{cynefinDiagram-5FMLGOSQ-CCDn4Z9e.js → cynefinDiagram-5FMLGOSQ-CgWra7wt.js} +3 -3
- package/dist/{dagre-GXQ25YYZ-BJiUO_SV.js → dagre-GXQ25YYZ-CFZ8-35c.js} +10 -10
- package/dist/{data-grid-overlay-editor-CauDs7BG.js → data-grid-overlay-editor-CvdQXfSk.js} +7 -7
- package/dist/{data-grid-types-BucVmDDp.js → data-grid-types-BH_r7g7l.js} +1 -1
- package/dist/{diagram-S7CK7UJ4-BZfxFNRR.js → diagram-S7CK7UJ4-lCNQrW7d.js} +4 -4
- package/dist/{diagram-UQ7AKVKN-1xcsiIMg.js → diagram-UQ7AKVKN-CQPQ6pP_.js} +3 -3
- package/dist/{diagram-VSXAHHWV-DPAWJ9Nw.js → diagram-VSXAHHWV-BJWcVVJY.js} +2 -2
- package/dist/{diagram-VX7I27RA-DmRsnHYY.js → diagram-VX7I27RA-Cf3b0llz.js} +5 -5
- package/dist/{diagram-Z3DM3KII--b49ryKx.js → diagram-Z3DM3KII-Bt4QLrpn.js} +3 -3
- package/dist/{dialog-CmExhUDI.js → dialog-CEBFZNyc.js} +6 -6
- package/dist/{dist-CcyKTBTF.js → dist-DpBpA_n1.js} +2 -2
- package/dist/{dropdown-menu-Cz4TdOJh.js → dropdown-menu-CP_qCYHC.js} +139 -139
- package/dist/{ebnfDiagram-PWID7BFC-rSwVyh4y.js → ebnfDiagram-PWID7BFC-D3NAyPFY.js} +3 -3
- package/dist/{erDiagram-RLTQ6QDP-Bfd3iAoC.js → erDiagram-RLTQ6QDP-Tlu09_Nm.js} +12 -12
- package/dist/{error-banner-D30nA9nE.js → error-banner-Da600cwz.js} +6 -6
- package/dist/{error-entries-BovkFYNy.js → error-entries-CzoYkIQZ.js} +2 -2
- package/dist/{esm-DAVrGVKP.js → esm-AMFssoNp.js} +4 -4
- package/dist/{feedback-button-D7yOYYPr.js → feedback-button-ZuLnINhC.js} +13 -13
- package/dist/flowDiagram-HODETNUW-CAYbpJmV.js +16 -0
- package/dist/{formats-DhhbdyAH.js → formats-BGh2thRc.js} +6 -6
- package/dist/{ganttDiagram-EL5Y4UJY-B4m_YsKa.js → ganttDiagram-EL5Y4UJY-BQT16JSc.js} +2 -2
- package/dist/{gitGraphDiagram-WWUBYQGX-QRBbvWXh.js → gitGraphDiagram-WWUBYQGX-D5nSIzdE.js} +2 -2
- package/dist/{glide-data-editor-BVIswvcw.js → glide-data-editor-qM9FSJA9.js} +60 -60
- package/dist/{glide-utils-BVJ4fkxX.js → glide-utils-DJyqh0EM.js} +4 -4
- package/dist/{globals-oj-cWKZj.js → globals-Ci7B9t6C.js} +3 -3
- package/dist/{highlighted-body-KPVGNVTW-Ad3MKZ18.js → highlighted-body-KPVGNVTW-zwjq21tf.js} +4 -4
- package/dist/{html-to-image-Cn1_16-x.js → html-to-image-CZY1pIZH.js} +17 -17
- package/dist/{infoDiagram-27XIBGKW-DVQFYvhg.js → infoDiagram-27XIBGKW-XrDxhr0x.js} +2 -2
- package/dist/{ishikawaDiagram-5VMMS53U-viPND-nm.js → ishikawaDiagram-5VMMS53U-CD1muzov.js} +3 -3
- package/dist/{journeyDiagram-3NMN7TZE-BeeJdJo3.js → journeyDiagram-3NMN7TZE-BaLqn-dZ.js} +2 -2
- package/dist/{jsx-runtime-DgDPJV9S.js → jsx-runtime-3BD1kT0s.js} +1 -1
- package/dist/{kanban-definition-UXKFOSKX-Dcl_ECO9.js → kanban-definition-UXKFOSKX-Dg9W142_.js} +9 -9
- package/dist/{katex-BNCmKUol.js → katex-BIdZGsyO.js} +141 -116
- package/dist/{label-DQO1jFjf.js → label-BDKF3Afc.js} +10 -10
- package/dist/{loader-Cm-ATtou.js → loader-BQOfjTIJ.js} +1 -1
- package/dist/main.js +499 -467
- package/dist/{mermaid-BfhcnSj-.js → mermaid-CiAXjLpA.js} +56 -56
- package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +2 -0
- package/dist/{mhchem-BEc7A1or.js → mhchem-CdWPJK6g.js} +1 -1
- package/dist/{mindmap-definition-YA3MSWOX-BdxxhF-5.js → mindmap-definition-YA3MSWOX-DgCidgYJ.js} +11 -11
- package/dist/{number-overlay-editor-CS7fiUj7.js → number-overlay-editor-DunDxAzh.js} +5 -5
- package/dist/{pegDiagram-XKGWAZYB-Du5p2s0w.js → pegDiagram-XKGWAZYB-coOYYKB6.js} +3 -3
- package/dist/{pieDiagram-E7YTZNPT-DJg-SOIq.js → pieDiagram-E7YTZNPT-BnXTc3bj.js} +3 -3
- package/dist/{process-output-CUG57KRp.js → process-output-e4jj9Ijt.js} +4 -4
- package/dist/{quadrantDiagram-AXDQQJYC-keLfFx9f.js → quadrantDiagram-AXDQQJYC-Ccw0xMjN.js} +1 -1
- package/dist/{railroadDiagram-O6MQD6OU-C0ojm-6_.js → railroadDiagram-O6MQD6OU-B28-u83n.js} +3 -3
- package/dist/{react-dom-BUgJ-ab_.js → react-dom-DUmH0GXv.js} +29 -21
- package/dist/{react-ofJbxM4x.js → react-sHtZdjeP.js} +103 -94
- package/dist/{react-vega-ewj7q_U5.js → react-vega-BED0DjiB.js} +3 -3
- package/dist/{requirementDiagram-BXWQKSXE-CNwNBmI3.js → requirementDiagram-BXWQKSXE-CdYCTMu0.js} +11 -11
- package/dist/{reveal-component-taGJ10XF.js → reveal-component-A7HedxmE.js} +906 -878
- package/dist/{sankeyDiagram-P5KCCOFB-Bh4EsJox.js → sankeyDiagram-P5KCCOFB-ELvOcnZH.js} +1 -1
- package/dist/{select-Bs-nmvm6.js → select-BButFi-d.js} +11 -11
- package/dist/{sequenceDiagram-WJ2MYXX4-DQaW5qBG.js → sequenceDiagram-WJ2MYXX4-CM3aRAe_.js} +4 -4
- package/dist/{spec-DVsoMvYT.js → spec-BwarBpUJ.js} +4 -4
- package/dist/{stateDiagram-D77RDMKH-BDa515QC.js → stateDiagram-D77RDMKH-DOZUMVj8.js} +13 -13
- package/dist/stateDiagram-v2-MP3YSRHH-CISYxma6.js +30 -0
- package/dist/style.css +1 -1
- package/dist/{swimlanes-42K2YHIH-M4IdGi8J.js → swimlanes-42K2YHIH-BkSppxp8.js} +10 -10
- package/dist/swimlanesDiagram-VR7AAH4N-c8G5pGxC.js +30 -0
- package/dist/{swiper-component-CpN-hewZ.js → swiper-component-DKntyn8p.js} +5 -5
- package/dist/{timeline-definition-24CTP7MA-DH-kvakg.js → timeline-definition-24CTP7MA-CaMQayqK.js} +3 -3
- package/dist/{toDate-vEi5kTfY.js → toDate-BNJf01u1.js} +7 -7
- package/dist/{toast-DfEpJedt.js → toast-B9UMEi8u.js} +9 -9
- package/dist/{tooltip-CuNWg2ay.js → tooltip-BO1REbqs.js} +7 -7
- package/dist/{use-restore-focus-kmgwrL8q.js → use-restore-focus-BEM7sFWl.js} +2042 -1827
- package/dist/{use-vega-container-remeasure-4DwJbPWu.js → use-vega-container-remeasure-Bz4PZMtt.js} +2 -2
- package/dist/{useAsyncData-rkAlR_vh.js → useAsyncData-Deh5kszT.js} +3 -3
- package/dist/{useDateFormatter-C-tz65rD.js → useDateFormatter-D8XruNGG.js} +4 -4
- package/dist/{useDeepCompareMemoize-BlHFBj5_.js → useDeepCompareMemoize-DXwzRINI.js} +2 -2
- package/dist/{useIframeCapabilities-C1Bt04Iz.js → useIframeCapabilities-DBETvvPl.js} +2 -2
- package/dist/{useLifecycle-B68iY077.js → useLifecycle-j7D9uD1o.js} +6 -6
- package/dist/{useTheme-BwSgeAFb.js → useTheme-CRnjkku0.js} +7 -7
- package/dist/{vega-component-C-bPttRN.js → vega-component-DG29TAB7.js} +14 -14
- package/dist/{vega-embed-container-sSR5hAsy.js → vega-embed-container-BNHE18G9.js} +5 -5
- package/dist/{vennDiagram-4TSXK5OY-d5g7XeiI.js → vennDiagram-4TSXK5OY-CF8pfaK3.js} +3 -3
- package/dist/{wardleyDiagram-VM6X3IG4-BfX3bSzR.js → wardleyDiagram-VM6X3IG4-dGPu39d-.js} +3 -3
- package/dist/{xychartDiagram-S5SC5T6Z-C1QsLZg7.js → xychartDiagram-S5SC5T6Z-CP6-9q56.js} +5 -5
- package/package.json +23 -22
- package/src/components/data-table/__tests__/column_formatting.test.ts +30 -0
- package/src/components/data-table/__tests__/columns.test.tsx +70 -0
- package/src/components/data-table/column-formatting/feature.ts +20 -1
- package/src/components/data-table/columns.tsx +25 -18
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +4 -3
- package/src/components/editor/output/console/ConsoleOutput.tsx +5 -3
- package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +18 -0
- package/src/components/storage/__tests__/storage-file-viewer.test.tsx +2 -1
- package/src/core/cells/__tests__/document-roundtrip.test.ts +16 -0
- package/src/core/codemirror/copilot/__tests__/completion-integration.test.ts +447 -0
- package/src/core/codemirror/copilot/__tests__/inline-completion.test.ts +395 -0
- package/src/core/codemirror/copilot/__tests__/language-server.test.ts +511 -2
- package/src/core/codemirror/copilot/__tests__/rpc-cancellation.test.ts +201 -0
- package/src/core/codemirror/copilot/extension.ts +22 -11
- package/src/core/codemirror/copilot/language-server.ts +109 -60
- package/src/core/codemirror/language/__tests__/sql.test.ts +4 -3
- package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +138 -26
- package/src/core/codemirror/language/embedded/embedded-python.ts +47 -13
- package/src/core/codemirror/language/embedded/latex.ts +20 -13
- package/src/core/datasets/__tests__/data-source-discovery.test.ts +18 -11
- package/src/core/islands/bridge.ts +2 -2
- package/src/core/kernel/messages.ts +4 -7
- package/src/core/network/__tests__/api.test.ts +114 -1
- package/src/core/network/api.ts +3 -2
- package/src/core/wasm/bridge.ts +2 -2
- package/src/core/wasm/worker/types.ts +2 -2
- package/src/css/katex-css.test.ts +166 -0
- package/src/css/katex.min.css +33 -28
- package/src/hooks/__tests__/useEventListener.test.tsx +45 -1
- package/src/hooks/useEventListener.ts +6 -1
- package/src/plugins/impl/NumberPlugin.tsx +20 -3
- package/src/plugins/impl/__tests__/NumberPlugin.test.tsx +159 -1
- package/dist/assets/__vite-browser-external-BqAtzd2P.js +0 -1
- package/dist/assets/worker-Bf8dt6S-.js +0 -109
- package/dist/classDiagram-ZZMXUADV-Bbo2n384.js +0 -30
- package/dist/classDiagram-v2-VYDZK3BY-xR8cGP0r.js +0 -30
- package/dist/flowDiagram-HODETNUW-D7IBKS12.js +0 -16
- package/dist/mermaid-HWGCJPDP-DYCzSILp.js +0 -2
- package/dist/stateDiagram-v2-MP3YSRHH-ChNddepZ.js +0 -30
- package/dist/swimlanesDiagram-VR7AAH4N-FUSwmzEp.js +0 -30
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { c as t, g as n, h as r, m as i, t as a } from "./button-
|
|
3
|
-
import { t as o } from "./react-
|
|
4
|
-
import { t as s } from "./compiler-runtime-
|
|
5
|
-
import { h as c, t as l } from "./tooltip-
|
|
6
|
-
import { w as u } from "./cells-
|
|
7
|
-
import { $ as d, Q as f, Z as p, an as m, i as h, l as g, ln as _, n as v, on as y, r as b, t as x, u as S } from "./common-
|
|
8
|
-
import { M as C } from "./select-
|
|
9
|
-
import { q as ee } from "./dropdown-menu-
|
|
10
|
-
import {
|
|
11
|
-
import { t as T } from "./jsx-runtime-
|
|
12
|
-
import { q as
|
|
13
|
-
import { A as
|
|
14
|
-
import { a as
|
|
2
|
+
import { c as t, g as n, h as r, m as i, t as a } from "./button-CvjkwdSk.js";
|
|
3
|
+
import { t as o } from "./react-sHtZdjeP.js";
|
|
4
|
+
import { t as s } from "./compiler-runtime-CldRdSsv.js";
|
|
5
|
+
import { h as c, t as l } from "./tooltip-BO1REbqs.js";
|
|
6
|
+
import { w as u } from "./cells-C8iCYvLU.js";
|
|
7
|
+
import { $ as d, Q as f, Z as p, an as m, i as h, l as g, ln as _, n as v, on as y, r as b, t as x, u as S } from "./common-Cjo7bjRK.js";
|
|
8
|
+
import { M as C } from "./select-BButFi-d.js";
|
|
9
|
+
import { q as ee } from "./dropdown-menu-CP_qCYHC.js";
|
|
10
|
+
import { g as w } from "./toDate-BNJf01u1.js";
|
|
11
|
+
import { t as T } from "./jsx-runtime-3BD1kT0s.js";
|
|
12
|
+
import { q as E } from "./use-restore-focus-BEM7sFWl.js";
|
|
13
|
+
import { A as D, C as O, b as k } from "./useTheme-CRnjkku0.js";
|
|
14
|
+
import { a as A, n as te, t as ne } from "./code-visibility-4aW5326K.js";
|
|
15
15
|
/* empty css */
|
|
16
|
-
var
|
|
16
|
+
var j = c("sticky-note", [["path", {
|
|
17
17
|
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",
|
|
18
18
|
key: "1dfntj"
|
|
19
19
|
}], ["path", {
|
|
20
20
|
d: "M15 3v5a1 1 0 0 0 1 1h5",
|
|
21
21
|
key: "6s6qgf"
|
|
22
|
-
}]]),
|
|
22
|
+
}]]), M = /* @__PURE__ */ e(o(), 1), N = s(), re = (e, t) => {
|
|
23
23
|
for (let n in t) e[n] = t[n];
|
|
24
24
|
return e;
|
|
25
|
-
},
|
|
25
|
+
}, P = (e, t) => Array.from(e.querySelectorAll(t)), ie = (e, t, n) => {
|
|
26
26
|
n ? e.classList.add(t) : e.classList.remove(t);
|
|
27
|
-
},
|
|
27
|
+
}, ae = (e) => {
|
|
28
28
|
if (typeof e == "string") {
|
|
29
29
|
if (e === "null") return null;
|
|
30
30
|
if (e === "true") return !0;
|
|
@@ -32,23 +32,23 @@ var A = c("sticky-note", [["path", {
|
|
|
32
32
|
if (e.match(/^-?[\d\.]+$/)) return parseFloat(e);
|
|
33
33
|
}
|
|
34
34
|
return e;
|
|
35
|
-
},
|
|
35
|
+
}, oe = (e, t) => {
|
|
36
36
|
e.style.transform = t;
|
|
37
|
-
},
|
|
37
|
+
}, F = (e, t) => {
|
|
38
38
|
let n = e.matches || e.matchesSelector || e.msMatchesSelector;
|
|
39
39
|
return !!(n && n.call(e, t));
|
|
40
|
-
},
|
|
40
|
+
}, I = (e, t) => {
|
|
41
41
|
if (e && typeof e.closest == "function") return e.closest(t);
|
|
42
42
|
for (; e;) {
|
|
43
|
-
if (
|
|
43
|
+
if (F(e, t)) return e;
|
|
44
44
|
e = e.parentElement;
|
|
45
45
|
}
|
|
46
46
|
return null;
|
|
47
|
-
},
|
|
47
|
+
}, se = (e) => {
|
|
48
48
|
e ||= document.documentElement;
|
|
49
49
|
let t = e.requestFullscreen || e.webkitRequestFullscreen || e.webkitRequestFullScreen || e.mozRequestFullScreen || e.msRequestFullscreen;
|
|
50
50
|
t && t.apply(e);
|
|
51
|
-
},
|
|
51
|
+
}, ce = (e, t, n, r = "") => {
|
|
52
52
|
let i = e.querySelectorAll("." + n);
|
|
53
53
|
for (let t = 0; t < i.length; t++) {
|
|
54
54
|
let n = i[t];
|
|
@@ -56,10 +56,10 @@ var A = c("sticky-note", [["path", {
|
|
|
56
56
|
}
|
|
57
57
|
let a = document.createElement(t);
|
|
58
58
|
return a.className = n, a.innerHTML = r, e.appendChild(a), a;
|
|
59
|
-
},
|
|
59
|
+
}, L = (e) => {
|
|
60
60
|
let t = document.createElement("style");
|
|
61
61
|
return e && e.length > 0 && t.appendChild(document.createTextNode(e)), document.head.appendChild(t), t;
|
|
62
|
-
},
|
|
62
|
+
}, le = () => {
|
|
63
63
|
let e = {};
|
|
64
64
|
location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, (t) => {
|
|
65
65
|
let n = t.split("=").shift(), r = t.split("=").pop();
|
|
@@ -67,27 +67,27 @@ var A = c("sticky-note", [["path", {
|
|
|
67
67
|
});
|
|
68
68
|
for (let t in e) {
|
|
69
69
|
let n = e[t];
|
|
70
|
-
e[t] =
|
|
70
|
+
e[t] = ae(unescape(n));
|
|
71
71
|
}
|
|
72
72
|
return e.dependencies !== void 0 && delete e.dependencies, e;
|
|
73
|
-
},
|
|
73
|
+
}, ue = (e, t = 0) => {
|
|
74
74
|
if (e) {
|
|
75
75
|
let n, r = e.style.height;
|
|
76
76
|
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;
|
|
77
77
|
}
|
|
78
78
|
return t;
|
|
79
|
-
},
|
|
79
|
+
}, de = {
|
|
80
80
|
mp4: "video/mp4",
|
|
81
81
|
m4a: "video/mp4",
|
|
82
82
|
ogv: "video/ogg",
|
|
83
83
|
mpeg: "video/mpeg",
|
|
84
84
|
webm: "video/webm"
|
|
85
|
-
},
|
|
85
|
+
}, fe = (e = "") => {
|
|
86
86
|
let t = e.split(".").pop();
|
|
87
|
-
return t ?
|
|
88
|
-
},
|
|
89
|
-
/chrome/i.test(
|
|
90
|
-
var
|
|
87
|
+
return t ? de[t] : void 0;
|
|
88
|
+
}, pe = (e = "") => encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]").replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), me = navigator.userAgent, he = /(iphone|ipod|ipad|android)/gi.test(me) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
|
|
89
|
+
/chrome/i.test(me) && /edge/i.test(me);
|
|
90
|
+
var R = /android/gi.test(me), ge = function(e) {
|
|
91
91
|
if (e) {
|
|
92
92
|
var t = function(e) {
|
|
93
93
|
return [].slice.call(e);
|
|
@@ -167,16 +167,16 @@ var L = /android/gi.test(he), _e = function(e) {
|
|
|
167
167
|
characterData: !0
|
|
168
168
|
}
|
|
169
169
|
}, ee = null, w = function() {
|
|
170
|
-
e.clearTimeout(ee), ee = e.setTimeout(l(i),
|
|
170
|
+
e.clearTimeout(ee), ee = e.setTimeout(l(i), D.observeWindowDelay);
|
|
171
171
|
}, T = ["resize", "orientationchange"];
|
|
172
|
-
return Object.defineProperty(
|
|
172
|
+
return Object.defineProperty(D, "observeWindow", { set: function(t) {
|
|
173
173
|
var n = `${t ? "add" : "remove"}EventListener`;
|
|
174
174
|
T.forEach((function(t) {
|
|
175
175
|
e[n](t, w);
|
|
176
176
|
}));
|
|
177
|
-
} }),
|
|
177
|
+
} }), D.observeWindow = !0, D.observeWindowDelay = 100, D.fitAll = l(a), D;
|
|
178
178
|
}
|
|
179
|
-
function
|
|
179
|
+
function E(e, t) {
|
|
180
180
|
var n = Object.assign({}, C, t), r = e.map((function(e) {
|
|
181
181
|
var t = Object.assign({}, n, {
|
|
182
182
|
element: e,
|
|
@@ -198,44 +198,44 @@ var L = /android/gi.test(he), _e = function(e) {
|
|
|
198
198
|
}));
|
|
199
199
|
return c(), r;
|
|
200
200
|
}
|
|
201
|
-
function
|
|
201
|
+
function D(e) {
|
|
202
202
|
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
203
|
-
return typeof e == "string" ?
|
|
203
|
+
return typeof e == "string" ? E(t(document.querySelectorAll(e)), n) : E([e], n)[0];
|
|
204
204
|
}
|
|
205
205
|
}(typeof window > "u" ? null : window);
|
|
206
|
-
function
|
|
206
|
+
function _e(e) {
|
|
207
207
|
"@babel/helpers - typeof";
|
|
208
|
-
return
|
|
208
|
+
return _e = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
|
|
209
209
|
return typeof e;
|
|
210
210
|
} : function(e) {
|
|
211
211
|
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
|
|
212
|
-
},
|
|
212
|
+
}, _e(e);
|
|
213
213
|
}
|
|
214
|
-
function
|
|
215
|
-
if (
|
|
214
|
+
function ve(e, t) {
|
|
215
|
+
if (_e(e) != "object" || !e) return e;
|
|
216
216
|
var n = e[Symbol.toPrimitive];
|
|
217
217
|
if (n !== void 0) {
|
|
218
218
|
var r = n.call(e, t || "default");
|
|
219
|
-
if (
|
|
219
|
+
if (_e(r) != "object") return r;
|
|
220
220
|
throw TypeError("@@toPrimitive must return a primitive value.");
|
|
221
221
|
}
|
|
222
222
|
return (t === "string" ? String : Number)(e);
|
|
223
223
|
}
|
|
224
|
-
function
|
|
225
|
-
var t =
|
|
226
|
-
return
|
|
224
|
+
function ye(e) {
|
|
225
|
+
var t = ve(e, "string");
|
|
226
|
+
return _e(t) == "symbol" ? t : t + "";
|
|
227
227
|
}
|
|
228
|
-
function
|
|
229
|
-
return (t =
|
|
228
|
+
function z(e, t, n) {
|
|
229
|
+
return (t = ye(t)) in e ? Object.defineProperty(e, t, {
|
|
230
230
|
value: n,
|
|
231
231
|
enumerable: !0,
|
|
232
232
|
configurable: !0,
|
|
233
233
|
writable: !0
|
|
234
234
|
}) : e[t] = n, e;
|
|
235
235
|
}
|
|
236
|
-
var
|
|
236
|
+
var be = class {
|
|
237
237
|
constructor(e) {
|
|
238
|
-
|
|
238
|
+
z(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();
|
|
239
239
|
}
|
|
240
240
|
renderMediaPlayButton() {
|
|
241
241
|
this.mediaPlayButton = document.createElement("button"), this.mediaPlayButton.className = "r-overlay-button r-media-play-button", this.mediaPlayButton.addEventListener("click", () => {
|
|
@@ -259,14 +259,14 @@ var xe = class {
|
|
|
259
259
|
let t = n.replace(/\s*!important\s*$/, "").trim();
|
|
260
260
|
e.style.setProperty("display", t, "important");
|
|
261
261
|
} else e.style.display = n;
|
|
262
|
-
|
|
262
|
+
P(e, "img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e) => {
|
|
263
263
|
let t = e.tagName === "IFRAME";
|
|
264
264
|
(!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));
|
|
265
|
-
}),
|
|
265
|
+
}), P(e, "video, audio").forEach((e) => {
|
|
266
266
|
let t = 0;
|
|
267
|
-
|
|
267
|
+
P(e, "source[data-src]").forEach((e) => {
|
|
268
268
|
e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src"), e.setAttribute("data-lazy-loaded", ""), t += 1;
|
|
269
|
-
}),
|
|
269
|
+
}), he && e.tagName === "VIDEO" && e.setAttribute("playsinline", ""), t > 0 && e.load();
|
|
270
270
|
});
|
|
271
271
|
let r = e.slideBackgroundElement;
|
|
272
272
|
if (r) {
|
|
@@ -275,13 +275,13 @@ var xe = class {
|
|
|
275
275
|
if (r.hasAttribute("data-loaded") === !1) {
|
|
276
276
|
r.setAttribute("data-loaded", "true");
|
|
277
277
|
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");
|
|
278
|
-
if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${
|
|
278
|
+
if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${pe(decodeURI(e.trim()))})`).join(",");
|
|
279
279
|
else if (o) {
|
|
280
280
|
let e = document.createElement("video");
|
|
281
|
-
s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0),
|
|
281
|
+
s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0), he && e.setAttribute("playsinline", ""), o.split(",").forEach((t) => {
|
|
282
282
|
let n = document.createElement("source");
|
|
283
283
|
n.setAttribute("src", t);
|
|
284
|
-
let r =
|
|
284
|
+
let r = fe(t);
|
|
285
285
|
r && n.setAttribute("type", r), e.appendChild(n);
|
|
286
286
|
}), n.appendChild(e);
|
|
287
287
|
} else if (i && t.excludeIframes !== !0) {
|
|
@@ -296,7 +296,7 @@ var xe = class {
|
|
|
296
296
|
}
|
|
297
297
|
layout(e) {
|
|
298
298
|
Array.from(e.querySelectorAll(".r-fit-text")).forEach((e) => {
|
|
299
|
-
|
|
299
|
+
ge(e, {
|
|
300
300
|
minSize: 24,
|
|
301
301
|
maxSize: this.Reveal.getConfig().height * .8,
|
|
302
302
|
observeMutations: !1,
|
|
@@ -307,17 +307,17 @@ var xe = class {
|
|
|
307
307
|
unload(e) {
|
|
308
308
|
e.style.display = "none";
|
|
309
309
|
let t = this.Reveal.getSlideBackground(e);
|
|
310
|
-
t && (t.style.display = "none",
|
|
310
|
+
t && (t.style.display = "none", P(t, "iframe[src]").forEach((e) => {
|
|
311
311
|
e.removeAttribute("src");
|
|
312
|
-
})),
|
|
312
|
+
})), P(e, "video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e) => {
|
|
313
313
|
e.setAttribute("data-src", e.getAttribute("src")), e.removeAttribute("src");
|
|
314
|
-
}),
|
|
314
|
+
}), P(e, "video[data-lazy-loaded] source[src], audio source[src]").forEach((e) => {
|
|
315
315
|
e.setAttribute("data-src", e.getAttribute("src")), e.removeAttribute("src");
|
|
316
316
|
});
|
|
317
317
|
}
|
|
318
318
|
formatEmbeddedContent() {
|
|
319
319
|
let e = (e, t, n) => {
|
|
320
|
-
|
|
320
|
+
P(this.Reveal.getSlidesElement(), "iframe[" + e + "*=\"" + t + "\"]").forEach((t) => {
|
|
321
321
|
let r = t.getAttribute(e);
|
|
322
322
|
r && r.indexOf(n) === -1 && t.setAttribute(e, r + (/\?/.test(r) ? "&" : "?") + n);
|
|
323
323
|
});
|
|
@@ -327,19 +327,19 @@ var xe = class {
|
|
|
327
327
|
startEmbeddedContent(e) {
|
|
328
328
|
if (e) {
|
|
329
329
|
let t = this.Reveal.isSpeakerNotes();
|
|
330
|
-
|
|
330
|
+
P(e, "img[src$=\".gif\"]").forEach((e) => {
|
|
331
331
|
e.setAttribute("src", e.getAttribute("src"));
|
|
332
|
-
}),
|
|
333
|
-
if (
|
|
332
|
+
}), P(e, "video, audio").forEach((e) => {
|
|
333
|
+
if (I(e, ".fragment") && !I(e, ".fragment.visible")) return;
|
|
334
334
|
let n = this.Reveal.getConfig().autoPlayMedia;
|
|
335
|
-
if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!
|
|
335
|
+
if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!I(e, ".slide-background")), n && typeof e.play == "function") {
|
|
336
336
|
if (t && !e.muted) return;
|
|
337
|
-
e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) :
|
|
337
|
+
e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) : he ? (e.addEventListener("canplay", this.ensureMobileMediaPlaying), this.playMediaElement(e)) : (e.removeEventListener("loadeddata", this.startEmbeddedMedia), e.addEventListener("loadeddata", this.startEmbeddedMedia));
|
|
338
338
|
}
|
|
339
|
-
}), t || (
|
|
340
|
-
|
|
341
|
-
}),
|
|
342
|
-
|
|
339
|
+
}), t || (P(e, "iframe[src]").forEach((e) => {
|
|
340
|
+
I(e, ".fragment") && !I(e, ".fragment.visible") || this.startEmbeddedIframe({ target: e });
|
|
341
|
+
}), P(e, "iframe[data-src]").forEach((e) => {
|
|
342
|
+
I(e, ".fragment") && !I(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")));
|
|
343
343
|
}));
|
|
344
344
|
}
|
|
345
345
|
}
|
|
@@ -351,7 +351,7 @@ var xe = class {
|
|
|
351
351
|
}, 1e3);
|
|
352
352
|
}
|
|
353
353
|
startEmbeddedMedia(e) {
|
|
354
|
-
let t = !!
|
|
354
|
+
let t = !!I(e.target, "html"), n = !!I(e.target, ".present");
|
|
355
355
|
t && n && (e.target.paused || e.target.ended) && (e.target.currentTime = 0, this.playMediaElement(e.target)), e.target.removeEventListener("loadeddata", this.startEmbeddedMedia);
|
|
356
356
|
}
|
|
357
357
|
playMediaElement(e) {
|
|
@@ -362,7 +362,7 @@ var xe = class {
|
|
|
362
362
|
if (t.name === "NotAllowedError") {
|
|
363
363
|
if (this.allowedToPlayAudio = !1, e.tagName === "VIDEO") {
|
|
364
364
|
this.onVideoPlaybackNotAllowed(e);
|
|
365
|
-
let t = !!
|
|
365
|
+
let t = !!I(e, "html"), n = !!I(e, ".present"), r = e.muted;
|
|
366
366
|
t && n && !r && (e.setAttribute("data-muted-by-reveal", "true"), e.muted = !0, e.play().catch(() => {
|
|
367
367
|
this.onMutedVideoPlaybackNotAllowed(e);
|
|
368
368
|
}));
|
|
@@ -373,23 +373,23 @@ var xe = class {
|
|
|
373
373
|
startEmbeddedIframe(e) {
|
|
374
374
|
let t = e.target;
|
|
375
375
|
if (this.preventIframeAutoFocus(e), t && t.contentWindow) {
|
|
376
|
-
let n = !!
|
|
376
|
+
let n = !!I(e.target, "html"), r = !!I(e.target, ".present");
|
|
377
377
|
if (n && r) {
|
|
378
378
|
let e = this.Reveal.getConfig().autoPlayMedia;
|
|
379
|
-
typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!
|
|
379
|
+
typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!I(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", "*");
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
stopEmbeddedContent(e, t = {}) {
|
|
384
|
-
t =
|
|
385
|
-
!e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(),
|
|
386
|
-
}),
|
|
384
|
+
t = re({ unloadIframes: !0 }, t), e && e.parentNode && (P(e, "video, audio").forEach((e) => {
|
|
385
|
+
!e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(), he && e.removeEventListener("canplay", this.ensureMobileMediaPlaying));
|
|
386
|
+
}), P(e, "iframe").forEach((e) => {
|
|
387
387
|
e.contentWindow && e.contentWindow.postMessage("slide:stop", "*"), e.removeEventListener("load", this.preventIframeAutoFocus), e.removeEventListener("load", this.startEmbeddedIframe);
|
|
388
|
-
}),
|
|
388
|
+
}), P(e, "iframe[src*=\"youtube.com/embed/\"]").forEach((e) => {
|
|
389
389
|
!e.hasAttribute("data-ignore") && e.contentWindow && typeof e.contentWindow.postMessage == "function" && e.contentWindow.postMessage("{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}", "*");
|
|
390
|
-
}),
|
|
390
|
+
}), P(e, "iframe[src*=\"player.vimeo.com/\"]").forEach((e) => {
|
|
391
391
|
!e.hasAttribute("data-ignore") && e.contentWindow && typeof e.contentWindow.postMessage == "function" && e.contentWindow.postMessage("{\"method\":\"pause\"}", "*");
|
|
392
|
-
}), t.unloadIframes === !0 &&
|
|
392
|
+
}), t.unloadIframes === !0 && P(e, "iframe[data-src]").forEach((e) => {
|
|
393
393
|
e.setAttribute("src", "about:blank"), e.removeAttribute("src");
|
|
394
394
|
}));
|
|
395
395
|
}
|
|
@@ -433,7 +433,7 @@ var xe = class {
|
|
|
433
433
|
afterSlideChanged() {
|
|
434
434
|
this.clearMediaPlaybackErrors();
|
|
435
435
|
}
|
|
436
|
-
},
|
|
436
|
+
}, B = ".slides section", xe = ".slides>section", Se = ".slides>section.present>section", Ce = ".backgrounds>.slide-background", we = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview|previewIframe/, Te = class {
|
|
437
437
|
constructor(e) {
|
|
438
438
|
this.Reveal = e;
|
|
439
439
|
}
|
|
@@ -482,7 +482,7 @@ var xe = class {
|
|
|
482
482
|
destroy() {
|
|
483
483
|
this.element.remove();
|
|
484
484
|
}
|
|
485
|
-
},
|
|
485
|
+
}, V = class {
|
|
486
486
|
constructor(e) {
|
|
487
487
|
this.Reveal = e, this.onInput = this.onInput.bind(this), this.onBlur = this.onBlur.bind(this), this.onKeyDown = this.onKeyDown.bind(this);
|
|
488
488
|
}
|
|
@@ -535,7 +535,7 @@ var xe = class {
|
|
|
535
535
|
onBlur() {
|
|
536
536
|
setTimeout(() => this.hide(), 1);
|
|
537
537
|
}
|
|
538
|
-
},
|
|
538
|
+
}, Ee = (e) => {
|
|
539
539
|
let t = e.match(/^#([0-9a-f]{3})$/i);
|
|
540
540
|
if (t && t[1]) {
|
|
541
541
|
let e = t[1];
|
|
@@ -567,7 +567,7 @@ var xe = class {
|
|
|
567
567
|
b: parseInt(i[3], 10),
|
|
568
568
|
a: parseFloat(i[4])
|
|
569
569
|
} : null;
|
|
570
|
-
},
|
|
570
|
+
}, De = (e) => (typeof e == "string" && (e = Ee(e)), e ? (e.r * 299 + e.g * 587 + e.b * 114) / 1e3 : null), Oe = class {
|
|
571
571
|
constructor(e) {
|
|
572
572
|
this.Reveal = e;
|
|
573
573
|
}
|
|
@@ -577,7 +577,7 @@ var xe = class {
|
|
|
577
577
|
create() {
|
|
578
578
|
this.element.innerHTML = "", this.element.classList.add("no-transition"), this.Reveal.getHorizontalSlides().forEach((e) => {
|
|
579
579
|
let t = this.createBackground(e, this.element);
|
|
580
|
-
|
|
580
|
+
P(e, "section").forEach((e) => {
|
|
581
581
|
this.createBackground(e, t), t.classList.add("stack");
|
|
582
582
|
});
|
|
583
583
|
}), 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(() => {
|
|
@@ -610,13 +610,13 @@ var xe = class {
|
|
|
610
610
|
}
|
|
611
611
|
getContrastClass(e) {
|
|
612
612
|
let t = e.slideBackgroundElement, n = e.getAttribute("data-background-color");
|
|
613
|
-
if (!n || !
|
|
613
|
+
if (!n || !Ee(n)) {
|
|
614
614
|
let e = window.getComputedStyle(t);
|
|
615
615
|
e && e.backgroundColor && (n = e.backgroundColor);
|
|
616
616
|
}
|
|
617
617
|
if (n) {
|
|
618
|
-
let e =
|
|
619
|
-
if (e && e.a !== 0) return
|
|
618
|
+
let e = Ee(n);
|
|
619
|
+
if (e && e.a !== 0) return De(n) < 128 ? "has-dark-background" : "has-light-background";
|
|
620
620
|
}
|
|
621
621
|
return null;
|
|
622
622
|
}
|
|
@@ -628,7 +628,7 @@ var xe = class {
|
|
|
628
628
|
update(e = !1) {
|
|
629
629
|
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";
|
|
630
630
|
if (Array.from(this.element.childNodes).forEach((t, n) => {
|
|
631
|
-
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) &&
|
|
631
|
+
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) && P(t, ".slide-background").forEach((e, t) => {
|
|
632
632
|
e.classList.remove("past", "present", "future");
|
|
633
633
|
let a = typeof r.v == "number" ? r.v : 0;
|
|
634
634
|
t < a ? e.classList.add("past") : t > a ? e.classList.add("future") : (e.classList.add("present"), n === r.h && (i = e));
|
|
@@ -672,7 +672,7 @@ var xe = class {
|
|
|
672
672
|
destroy() {
|
|
673
673
|
this.element.remove();
|
|
674
674
|
}
|
|
675
|
-
},
|
|
675
|
+
}, ke = 0, Ae = class {
|
|
676
676
|
constructor(e) {
|
|
677
677
|
this.Reveal = e;
|
|
678
678
|
}
|
|
@@ -680,17 +680,17 @@ var xe = class {
|
|
|
680
680
|
this.reset();
|
|
681
681
|
let n = this.Reveal.getSlides(), r = n.indexOf(t), i = n.indexOf(e);
|
|
682
682
|
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")) {
|
|
683
|
-
this.autoAnimateStyleSheet = this.autoAnimateStyleSheet ||
|
|
683
|
+
this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || L();
|
|
684
684
|
let n = this.getAutoAnimateOptions(t);
|
|
685
685
|
e.dataset.autoAnimate = "pending", t.dataset.autoAnimate = "pending", n.slideDirection = r > i ? "forward" : "backward";
|
|
686
686
|
let a = e.style.display === "none";
|
|
687
687
|
a && (e.style.display = this.Reveal.getConfig().display);
|
|
688
|
-
let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n,
|
|
688
|
+
let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n, ke++));
|
|
689
689
|
if (a && (e.style.display = "none"), t.dataset.autoAnimateUnmatched !== "false" && this.Reveal.getConfig().autoAnimateUnmatched === !0) {
|
|
690
690
|
let e = n.duration * .8, r = n.duration * .2;
|
|
691
691
|
this.getUnmatchedAutoAnimateElements(t).forEach((e) => {
|
|
692
692
|
let t = this.getAutoAnimateOptions(e, n), r = "unmatched";
|
|
693
|
-
(t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" +
|
|
693
|
+
(t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" + ke++, o.push(`[data-auto-animate="running"] [data-auto-animate-target="${r}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)), e.dataset.autoAnimateTarget = r;
|
|
694
694
|
}, this), o.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e}s ease ${r}s; }`);
|
|
695
695
|
}
|
|
696
696
|
this.autoAnimateStyleSheet.innerHTML = o.join(""), requestAnimationFrame(() => {
|
|
@@ -706,9 +706,9 @@ var xe = class {
|
|
|
706
706
|
}
|
|
707
707
|
}
|
|
708
708
|
reset() {
|
|
709
|
-
|
|
709
|
+
P(this.Reveal.getRevealElement(), "[data-auto-animate]:not([data-auto-animate=\"\"])").forEach((e) => {
|
|
710
710
|
e.dataset.autoAnimate = "";
|
|
711
|
-
}),
|
|
711
|
+
}), P(this.Reveal.getRevealElement(), "[data-auto-animate-target]").forEach((e) => {
|
|
712
712
|
delete e.dataset.autoAnimateTarget;
|
|
713
713
|
}), this.autoAnimateStyleSheet && this.autoAnimateStyleSheet.parentNode && (this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet), this.autoAnimateStyleSheet = null);
|
|
714
714
|
}
|
|
@@ -749,8 +749,8 @@ var xe = class {
|
|
|
749
749
|
duration: this.Reveal.getConfig().autoAnimateDuration,
|
|
750
750
|
delay: 0
|
|
751
751
|
};
|
|
752
|
-
if (n =
|
|
753
|
-
let t =
|
|
752
|
+
if (n = re(n, t), e.parentNode) {
|
|
753
|
+
let t = I(e.parentNode, "[data-auto-animate-target]");
|
|
754
754
|
t && (n = this.getAutoAnimateOptions(t, n));
|
|
755
755
|
}
|
|
756
756
|
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;
|
|
@@ -793,7 +793,7 @@ var xe = class {
|
|
|
793
793
|
getAutoAnimatePairs(e, t) {
|
|
794
794
|
let n = [], r = "h1, h2, h3, h4, h5, h6, p, li";
|
|
795
795
|
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) => {
|
|
796
|
-
|
|
796
|
+
F(e.from, r) ? e.options = { scale: !1 } : F(e.from, "pre") && (e.options = {
|
|
797
797
|
scale: !1,
|
|
798
798
|
styles: ["width", "height"]
|
|
799
799
|
}, this.findAutoAnimateMatches(n, e.from, e.to, ".hljs .hljs-ln-code", (e) => e.textContent, {
|
|
@@ -842,15 +842,15 @@ var xe = class {
|
|
|
842
842
|
return !t.hasAttribute("data-auto-animate-target") && !n && e.push(t), t.querySelector("[data-auto-animate-target]") && (e = e.concat(this.getUnmatchedAutoAnimateElements(t))), e;
|
|
843
843
|
}, []);
|
|
844
844
|
}
|
|
845
|
-
},
|
|
845
|
+
}, je = 500, Me = 4, Ne = 6, Pe = 8, Fe = class {
|
|
846
846
|
constructor(e) {
|
|
847
|
-
this.Reveal = e, this.active = !1, this.activatedCallbacks = [], this.onScroll = this.onScroll.bind(this);
|
|
847
|
+
this.Reveal = e, this.active = !1, this.activeProgressBarPage = null, this.activeProgressBarTrigger = null, this.activatedCallbacks = [], this.onScroll = this.onScroll.bind(this);
|
|
848
848
|
}
|
|
849
849
|
activate() {
|
|
850
850
|
if (this.active) return;
|
|
851
851
|
let e = this.Reveal.getState();
|
|
852
852
|
this.active = !0, this.slideHTMLBeforeActivation = this.Reveal.getSlidesElement().innerHTML;
|
|
853
|
-
let t =
|
|
853
|
+
let t = P(this.Reveal.getRevealElement(), xe), n = P(this.Reveal.getRevealElement(), Ce);
|
|
854
854
|
this.viewportElement.classList.add("loading-scroll-mode", "reveal-scroll");
|
|
855
855
|
let r, i = window.getComputedStyle(this.viewportElement);
|
|
856
856
|
i && i.background && (r = i.background);
|
|
@@ -866,18 +866,18 @@ var xe = class {
|
|
|
866
866
|
let i = document.createElement("div");
|
|
867
867
|
i.className = "scroll-page-sticky", e.appendChild(i), c = document.createElement("div"), c.className = "scroll-page-content", i.appendChild(c);
|
|
868
868
|
}
|
|
869
|
-
c.appendChild(e), e.classList.remove("past", "future"), e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", i), e.slideBackgroundElement && (e.slideBackgroundElement.remove("past", "future"), c.insertBefore(e.slideBackgroundElement, e)), s = e;
|
|
869
|
+
c.appendChild(e), e.classList.remove("past", "future"), e.removeAttribute("inert"), e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", i), e.slideBackgroundElement && (e.slideBackgroundElement.remove("past", "future"), c.insertBefore(e.slideBackgroundElement, e)), s = e;
|
|
870
870
|
};
|
|
871
871
|
t.forEach((e, t) => {
|
|
872
872
|
this.Reveal.isVerticalStack(e) ? e.querySelectorAll("section").forEach((e, n) => {
|
|
873
873
|
c(e, t, n, !0);
|
|
874
874
|
}) : c(e, t, 0);
|
|
875
|
-
}, this), this.createProgressBar(),
|
|
875
|
+
}, this), this.createProgressBar(), P(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 });
|
|
876
876
|
}
|
|
877
877
|
deactivate() {
|
|
878
878
|
if (!this.active) return;
|
|
879
879
|
let e = this.Reveal.getState();
|
|
880
|
-
this.active = !1, this.viewportElement.removeEventListener("scroll", this.onScroll), this.viewportElement.classList.remove("reveal-scroll"), this.removeProgressBar(), this.Reveal.getSlidesElement().innerHTML = this.slideHTMLBeforeActivation, this.Reveal.sync(), this.Reveal.setState(e), this.slideHTMLBeforeActivation = null;
|
|
880
|
+
this.active = !1, this.viewportElement.removeEventListener("scroll", this.onScroll), this.viewportElement.classList.remove("reveal-scroll"), this.pendingScrollRaf &&= (cancelAnimationFrame(this.pendingScrollRaf), 0), this.removeProgressBar(), this.Reveal.getSlidesElement().innerHTML = this.slideHTMLBeforeActivation, this.Reveal.sync(), this.Reveal.setState(e), this.slideHTMLBeforeActivation = null;
|
|
881
881
|
}
|
|
882
882
|
toggle(e) {
|
|
883
883
|
typeof e == "boolean" ? e ? this.activate() : this.deactivate() : this.isActive() ? this.deactivate() : this.activate();
|
|
@@ -898,14 +898,16 @@ var xe = class {
|
|
|
898
898
|
});
|
|
899
899
|
}
|
|
900
900
|
removeProgressBar() {
|
|
901
|
-
this.progressBar &&= (this.progressBar.remove(), null);
|
|
901
|
+
this.progressBar &&= (this.progressBar.remove(), null), this.activeProgressBarPage = null, this.activeProgressBarTrigger = null;
|
|
902
902
|
}
|
|
903
903
|
layout() {
|
|
904
904
|
this.isActive() && (this.syncPages(), this.syncScrollPosition());
|
|
905
905
|
}
|
|
906
906
|
syncPages() {
|
|
907
907
|
let e = this.Reveal.getConfig(), t = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), n = this.Reveal.getScale(), r = e.scrollLayout === "compact", i = this.viewportElement.offsetHeight, a = t.height * n, o = r ? a : i;
|
|
908
|
-
this.scrollTriggerHeight = r ? a : i, this.viewportElement.style.setProperty("--page-height", o + "px"), this.viewportElement.style.scrollSnapType = typeof e.scrollSnap == "string" ? `y ${e.scrollSnap}` : "", this.slideTriggers = []
|
|
908
|
+
this.scrollTriggerHeight = r ? a : i, this.viewportElement.style.setProperty("--page-height", o + "px"), this.viewportElement.style.scrollSnapType = typeof e.scrollSnap == "string" ? `y ${e.scrollSnap}` : "", this.slideTriggers = [];
|
|
909
|
+
let s = Array.from(this.Reveal.getRevealElement().querySelectorAll(".scroll-page"));
|
|
910
|
+
this.pages = s.map((n) => {
|
|
909
911
|
let a = this.createPage({
|
|
910
912
|
pageElement: n,
|
|
911
913
|
slideElement: n.querySelector("section"),
|
|
@@ -969,38 +971,46 @@ var xe = class {
|
|
|
969
971
|
return e.scrollTriggers = [], e.indexh = parseInt(e.slideElement.getAttribute("data-index-h"), 10), e.indexv = parseInt(e.slideElement.getAttribute("data-index-v"), 10), e;
|
|
970
972
|
}
|
|
971
973
|
syncProgressBar() {
|
|
972
|
-
this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach((e) => e.remove())
|
|
974
|
+
this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach((e) => e.remove()), this.activeProgressBarPage = null, this.activeProgressBarTrigger = null, this.getAllPages().forEach((e) => {
|
|
975
|
+
e.progressBarSlide = null, e.scrollTriggers.forEach((e) => e.progressBarElement = null);
|
|
976
|
+
});
|
|
973
977
|
let e = this.viewportElement.scrollHeight, t = this.viewportElement.offsetHeight, n = t / e;
|
|
974
|
-
this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight,
|
|
975
|
-
let r = t / e * this.progressBarHeight, i = Math.min(r / 8,
|
|
976
|
-
this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r >
|
|
978
|
+
this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight, Pe), this.progressBarScrollableHeight = this.progressBarHeight - this.playheadHeight;
|
|
979
|
+
let r = t / e * this.progressBarHeight, i = Math.min(r / 8, Me);
|
|
980
|
+
this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r > Ne && this.slideTriggers.forEach((e) => {
|
|
977
981
|
let { page: t } = e;
|
|
978
|
-
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.
|
|
982
|
+
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.scrollTriggers.forEach((n, r) => {
|
|
979
983
|
let a = document.createElement("div");
|
|
980
|
-
|
|
984
|
+
a.className = "scrollbar-trigger", a.style.top = (n.range[0] - e.range[0]) * this.progressBarHeight + "px", a.style.height = (n.range[1] - n.range[0]) * this.progressBarHeight - i + "px", t.progressBarSlide.appendChild(a), r === 0 && (a.style.display = "none"), n.progressBarElement = a;
|
|
981
985
|
});
|
|
982
|
-
})
|
|
986
|
+
});
|
|
983
987
|
}
|
|
984
988
|
syncScrollPosition() {
|
|
985
|
-
let e = this.viewportElement.offsetHeight, t = e / this.viewportElement.scrollHeight, n = this.viewportElement.scrollTop, r = this.viewportElement.scrollHeight - e, i = Math.max(Math.min(n / r, 1), 0), a = Math.max(Math.min((n + e / 2) / this.viewportElement.scrollHeight, 1), 0), o;
|
|
989
|
+
let e = this.viewportElement.offsetHeight, t = e / this.viewportElement.scrollHeight, n = this.viewportElement.scrollTop, r = this.viewportElement.scrollHeight - e, i = Math.max(Math.min(n / r, 1), 0), a = Math.max(Math.min((n + e / 2) / this.viewportElement.scrollHeight, 1), 0), o, s = null;
|
|
986
990
|
this.slideTriggers.forEach((e) => {
|
|
987
|
-
let { page: n } = e;
|
|
988
|
-
|
|
991
|
+
let { page: n } = e, r = i >= e.range[0] - t * 2 && i <= e.range[1] + t * 2;
|
|
992
|
+
r && !n.loaded ? (n.loaded = !0, this.Reveal.slideContent.load(n.slideElement)) : !r && n.loaded && (n.loaded = !1, this.Reveal.slideContent.unload(n.slideElement)), i >= e.range[0] && i <= e.range[1] ? (this.activateTrigger(e), o = e.page) : e.active && this.deactivateTrigger(e);
|
|
989
993
|
}), o && o.scrollTriggers.forEach((e) => {
|
|
990
|
-
a >= e.range[0] && a <= e.range[1] ? this.activateTrigger(e) : e.active && this.deactivateTrigger(e);
|
|
991
|
-
}), this.setProgressBarValue(n / (this.viewportElement.scrollHeight - e));
|
|
994
|
+
a >= e.range[0] && a <= e.range[1] ? (this.activateTrigger(e), s = e) : e.active && this.deactivateTrigger(e);
|
|
995
|
+
}), this.setProgressBarValue(n / (this.viewportElement.scrollHeight - e), o, s);
|
|
992
996
|
}
|
|
993
|
-
setProgressBarValue(e) {
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
997
|
+
setProgressBarValue(e, t = null, n = null) {
|
|
998
|
+
if (this.progressBar) {
|
|
999
|
+
if (this.progressBarPlayhead.style.transform = `translateY(${e * this.progressBarScrollableHeight}px)`, this.activeProgressBarPage !== t) {
|
|
1000
|
+
var r, i;
|
|
1001
|
+
(r = this.activeProgressBarPage) == null || (r = r.progressBarSlide) == null || r.classList.remove("active"), t == null || (i = t.progressBarSlide) == null || i.classList.add("active"), this.activeProgressBarPage = t;
|
|
1002
|
+
}
|
|
1003
|
+
if (this.activeProgressBarTrigger !== n) {
|
|
1004
|
+
var a, o;
|
|
1005
|
+
(a = this.activeProgressBarTrigger) == null || (a = a.progressBarElement) == null || a.classList.remove("active"), n == null || (o = n.progressBarElement) == null || o.classList.add("active"), this.activeProgressBarTrigger = n;
|
|
1006
|
+
}
|
|
1007
|
+
this.showProgressBar();
|
|
1008
|
+
}
|
|
999
1009
|
}
|
|
1000
1010
|
showProgressBar() {
|
|
1001
1011
|
this.progressBar.classList.add("visible"), clearTimeout(this.hideProgressBarTimeout), this.Reveal.getConfig().scrollProgress === "auto" && !this.draggingProgressBar && (this.hideProgressBarTimeout = setTimeout(() => {
|
|
1002
1012
|
this.progressBar && this.progressBar.classList.remove("visible");
|
|
1003
|
-
},
|
|
1013
|
+
}, je));
|
|
1004
1014
|
}
|
|
1005
1015
|
prev() {
|
|
1006
1016
|
this.viewportElement.scrollTop -= this.scrollTriggerHeight;
|
|
@@ -1053,13 +1063,15 @@ var xe = class {
|
|
|
1053
1063
|
return this.pages.flatMap((e) => [e, ...e.autoAnimatePages || []]);
|
|
1054
1064
|
}
|
|
1055
1065
|
onScroll() {
|
|
1056
|
-
this.
|
|
1066
|
+
this.pendingScrollRaf ||= requestAnimationFrame(() => {
|
|
1067
|
+
this.pendingScrollRaf = 0, this.syncScrollPosition(), this.storeScrollPosition();
|
|
1068
|
+
});
|
|
1057
1069
|
}
|
|
1058
1070
|
get viewportElement() {
|
|
1059
1071
|
return this.Reveal.getViewportElement();
|
|
1060
1072
|
}
|
|
1061
1073
|
};
|
|
1062
|
-
function
|
|
1074
|
+
function Ie(e, t, n, r, i, a, o) {
|
|
1063
1075
|
try {
|
|
1064
1076
|
var s = e[a](o), c = s.value;
|
|
1065
1077
|
} catch (e) {
|
|
@@ -1068,30 +1080,30 @@ function Le(e, t, n, r, i, a, o) {
|
|
|
1068
1080
|
}
|
|
1069
1081
|
s.done ? t(c) : Promise.resolve(c).then(r, i);
|
|
1070
1082
|
}
|
|
1071
|
-
function
|
|
1083
|
+
function Le(e) {
|
|
1072
1084
|
return function() {
|
|
1073
1085
|
var t = this, n = arguments;
|
|
1074
1086
|
return new Promise(function(r, i) {
|
|
1075
1087
|
var a = e.apply(t, n);
|
|
1076
1088
|
function o(e) {
|
|
1077
|
-
|
|
1089
|
+
Ie(a, r, i, o, s, "next", e);
|
|
1078
1090
|
}
|
|
1079
1091
|
function s(e) {
|
|
1080
|
-
|
|
1092
|
+
Ie(a, r, i, o, s, "throw", e);
|
|
1081
1093
|
}
|
|
1082
1094
|
o(void 0);
|
|
1083
1095
|
});
|
|
1084
1096
|
};
|
|
1085
1097
|
}
|
|
1086
|
-
var
|
|
1098
|
+
var Re = class {
|
|
1087
1099
|
constructor(e) {
|
|
1088
1100
|
this.Reveal = e;
|
|
1089
1101
|
}
|
|
1090
1102
|
activate() {
|
|
1091
1103
|
var e = this;
|
|
1092
|
-
return
|
|
1093
|
-
let t = e.Reveal.getConfig(), n =
|
|
1094
|
-
yield new Promise(requestAnimationFrame),
|
|
1104
|
+
return Le(function* () {
|
|
1105
|
+
let t = e.Reveal.getConfig(), n = P(e.Reveal.getRevealElement(), B), r = t.slideNumber && /all|print/i.test(t.showSlideNumber), i = e.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), a = Math.floor(i.width * (1 + t.margin)), o = Math.floor(i.height * (1 + t.margin)), s = i.width, c = i.height;
|
|
1106
|
+
yield new Promise(requestAnimationFrame), L("@page{size:" + a + "px " + o + "px; margin: 0px;}"), L(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + s + "px; max-height:" + c + "px}"), document.documentElement.classList.add("reveal-print", "print-pdf"), document.body.style.width = a + "px", document.body.style.height = o + "px";
|
|
1095
1107
|
let l = e.Reveal.getViewportElement(), u;
|
|
1096
1108
|
if (l) {
|
|
1097
1109
|
let e = window.getComputedStyle(l);
|
|
@@ -1134,7 +1146,7 @@ var ze = class {
|
|
|
1134
1146
|
e.classList.remove("visible", "current-fragment");
|
|
1135
1147
|
});
|
|
1136
1148
|
});
|
|
1137
|
-
} else
|
|
1149
|
+
} else P(g, ".fragment:not(.fade-out)").forEach(function(e) {
|
|
1138
1150
|
e.classList.add("visible");
|
|
1139
1151
|
});
|
|
1140
1152
|
}
|
|
@@ -1144,7 +1156,7 @@ var ze = class {
|
|
|
1144
1156
|
isActive() {
|
|
1145
1157
|
return this.Reveal.getConfig().view === "print";
|
|
1146
1158
|
}
|
|
1147
|
-
},
|
|
1159
|
+
}, ze = class {
|
|
1148
1160
|
constructor(e) {
|
|
1149
1161
|
this.Reveal = e;
|
|
1150
1162
|
}
|
|
@@ -1152,12 +1164,12 @@ var ze = class {
|
|
|
1152
1164
|
e.fragments === !1 ? this.disable() : t.fragments === !1 && this.enable();
|
|
1153
1165
|
}
|
|
1154
1166
|
disable() {
|
|
1155
|
-
|
|
1167
|
+
P(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
|
|
1156
1168
|
e.classList.add("visible"), e.classList.remove("current-fragment");
|
|
1157
1169
|
});
|
|
1158
1170
|
}
|
|
1159
1171
|
enable() {
|
|
1160
|
-
|
|
1172
|
+
P(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
|
|
1161
1173
|
e.classList.remove("visible"), e.classList.remove("current-fragment");
|
|
1162
1174
|
});
|
|
1163
1175
|
}
|
|
@@ -1193,7 +1205,7 @@ var ze = class {
|
|
|
1193
1205
|
}
|
|
1194
1206
|
sortAll() {
|
|
1195
1207
|
this.Reveal.getHorizontalSlides().forEach((e) => {
|
|
1196
|
-
let t =
|
|
1208
|
+
let t = P(e, "section");
|
|
1197
1209
|
t.forEach((e, t) => {
|
|
1198
1210
|
this.sort(e.querySelectorAll(".fragment"));
|
|
1199
1211
|
}, this), t.length === 0 && this.sort(e.querySelectorAll(".fragment"));
|
|
@@ -1267,13 +1279,13 @@ var ze = class {
|
|
|
1267
1279
|
prev() {
|
|
1268
1280
|
return this.goto(null, -1);
|
|
1269
1281
|
}
|
|
1270
|
-
},
|
|
1282
|
+
}, Be = class {
|
|
1271
1283
|
constructor(e) {
|
|
1272
1284
|
this.Reveal = e, this.active = !1, this.onSlideClicked = this.onSlideClicked.bind(this);
|
|
1273
1285
|
}
|
|
1274
1286
|
activate() {
|
|
1275
1287
|
if (this.Reveal.getConfig().overview && !this.Reveal.isScrollView() && !this.isActive()) {
|
|
1276
|
-
this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),
|
|
1288
|
+
this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()), P(this.Reveal.getRevealElement(), B).forEach((e) => {
|
|
1277
1289
|
e.classList.contains("stack") || e.addEventListener("click", this.onSlideClicked, !0);
|
|
1278
1290
|
});
|
|
1279
1291
|
let e = this.Reveal.getComputedSlideSize();
|
|
@@ -1291,12 +1303,12 @@ var ze = class {
|
|
|
1291
1303
|
}
|
|
1292
1304
|
layout() {
|
|
1293
1305
|
this.Reveal.getHorizontalSlides().forEach((e, t) => {
|
|
1294
|
-
e.setAttribute("data-index-h", t),
|
|
1295
|
-
e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", n),
|
|
1306
|
+
e.setAttribute("data-index-h", t), oe(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), e.classList.contains("stack") && P(e, "section").forEach((e, n) => {
|
|
1307
|
+
e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", n), oe(e, "translate3d(0, " + n * this.overviewSlideHeight + "px, 0)");
|
|
1296
1308
|
});
|
|
1297
1309
|
}), Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e, t) => {
|
|
1298
|
-
|
|
1299
|
-
|
|
1310
|
+
oe(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), P(e, ".slide-background").forEach((e, t) => {
|
|
1311
|
+
oe(e, "translate3d(0, " + t * this.overviewSlideHeight + "px, 0)");
|
|
1300
1312
|
});
|
|
1301
1313
|
});
|
|
1302
1314
|
}
|
|
@@ -1312,10 +1324,10 @@ var ze = class {
|
|
|
1312
1324
|
if (this.Reveal.getConfig().overview) {
|
|
1313
1325
|
this.active = !1, this.Reveal.getRevealElement().classList.remove("overview"), this.Reveal.getRevealElement().classList.add("overview-deactivating"), setTimeout(() => {
|
|
1314
1326
|
this.Reveal.getRevealElement().classList.remove("overview-deactivating");
|
|
1315
|
-
}, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),
|
|
1316
|
-
|
|
1317
|
-
}),
|
|
1318
|
-
|
|
1327
|
+
}, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), P(this.Reveal.getRevealElement(), B).forEach((e) => {
|
|
1328
|
+
oe(e, ""), e.removeEventListener("click", this.onSlideClicked, !0);
|
|
1329
|
+
}), P(this.Reveal.getBackgroundsElement(), ".slide-background").forEach((e) => {
|
|
1330
|
+
oe(e, "");
|
|
1319
1331
|
}), this.Reveal.transformSlides({ overview: "" });
|
|
1320
1332
|
let e = this.Reveal.getIndices();
|
|
1321
1333
|
this.Reveal.slide(e.h, e.v), this.Reveal.layout(), this.Reveal.cueAutoSlide(), this.Reveal.dispatchEvent({
|
|
@@ -1345,7 +1357,7 @@ var ze = class {
|
|
|
1345
1357
|
}
|
|
1346
1358
|
}
|
|
1347
1359
|
}
|
|
1348
|
-
},
|
|
1360
|
+
}, Ve = class {
|
|
1349
1361
|
constructor(e) {
|
|
1350
1362
|
this.Reveal = e, this.shortcuts = {}, this.bindings = {}, this.onDocumentKeyDown = this.onDocumentKeyDown.bind(this);
|
|
1351
1363
|
}
|
|
@@ -1435,10 +1447,10 @@ var ze = class {
|
|
|
1435
1447
|
66,
|
|
1436
1448
|
86,
|
|
1437
1449
|
190
|
|
1438
|
-
].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ?
|
|
1450
|
+
].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ? se(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();
|
|
1439
1451
|
}
|
|
1440
1452
|
};
|
|
1441
|
-
function
|
|
1453
|
+
function H(e, t) {
|
|
1442
1454
|
var n = Object.keys(e);
|
|
1443
1455
|
if (Object.getOwnPropertySymbols) {
|
|
1444
1456
|
var r = Object.getOwnPropertySymbols(e);
|
|
@@ -1448,20 +1460,20 @@ function V(e, t) {
|
|
|
1448
1460
|
}
|
|
1449
1461
|
return n;
|
|
1450
1462
|
}
|
|
1451
|
-
function
|
|
1463
|
+
function U(e) {
|
|
1452
1464
|
for (var t = 1; t < arguments.length; t++) {
|
|
1453
1465
|
var n = arguments[t] == null ? {} : arguments[t];
|
|
1454
|
-
t % 2 ?
|
|
1455
|
-
|
|
1456
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) :
|
|
1466
|
+
t % 2 ? H(Object(n), !0).forEach(function(t) {
|
|
1467
|
+
z(e, t, n[t]);
|
|
1468
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : H(Object(n)).forEach(function(t) {
|
|
1457
1469
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
|
|
1458
1470
|
});
|
|
1459
1471
|
}
|
|
1460
1472
|
return e;
|
|
1461
1473
|
}
|
|
1462
|
-
var
|
|
1474
|
+
var He = class {
|
|
1463
1475
|
constructor(e) {
|
|
1464
|
-
|
|
1476
|
+
z(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
|
|
1465
1477
|
}
|
|
1466
1478
|
bind() {
|
|
1467
1479
|
window.addEventListener("hashchange", this.onWindowHashChange, !1);
|
|
@@ -1478,7 +1490,7 @@ var Ue = class {
|
|
|
1478
1490
|
let t = decodeURIComponent(n);
|
|
1479
1491
|
e = (document.getElementById(t) || document.querySelector(`[data-id="${t}"]`)).closest(".slides section");
|
|
1480
1492
|
} catch {}
|
|
1481
|
-
if (e) return
|
|
1493
|
+
if (e) return U(U({}, this.Reveal.getIndices(e)), {}, { f: t });
|
|
1482
1494
|
} else {
|
|
1483
1495
|
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;
|
|
1484
1496
|
return e.fragmentInURL && (o = parseInt(r[2], 10), isNaN(o) && (o = void 0)), {
|
|
@@ -1521,7 +1533,7 @@ var Ue = class {
|
|
|
1521
1533
|
onWindowHashChange(e) {
|
|
1522
1534
|
this.readURL();
|
|
1523
1535
|
}
|
|
1524
|
-
},
|
|
1536
|
+
}, Ue = class {
|
|
1525
1537
|
constructor(e) {
|
|
1526
1538
|
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);
|
|
1527
1539
|
}
|
|
@@ -1530,7 +1542,7 @@ var Ue = class {
|
|
|
1530
1542
|
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>
|
|
1531
1543
|
<button class="navigate-right" aria-label="${e ? "previous slide" : "next slide"}"><div class="controls-arrow"></div></button>
|
|
1532
1544
|
<button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>
|
|
1533
|
-
<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft =
|
|
1545
|
+
<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = P(t, ".navigate-left"), this.controlsRight = P(t, ".navigate-right"), this.controlsUp = P(t, ".navigate-up"), this.controlsDown = P(t, ".navigate-down"), this.controlsPrev = P(t, ".navigate-prev"), this.controlsNext = P(t, ".navigate-next"), this.controlsFullscreen = P(t, ".enter-fullscreen"), this.controlsRightArrow = this.element.querySelector(".navigate-right"), this.controlsLeftArrow = this.element.querySelector(".navigate-left"), this.controlsDownArrow = this.element.querySelector(".navigate-down");
|
|
1534
1546
|
}
|
|
1535
1547
|
configure(e, t) {
|
|
1536
1548
|
let n = e.controls === "speaker" || e.controls === "speaker-only";
|
|
@@ -1538,7 +1550,7 @@ var Ue = class {
|
|
|
1538
1550
|
}
|
|
1539
1551
|
bind() {
|
|
1540
1552
|
let e = ["touchstart", "click"];
|
|
1541
|
-
|
|
1553
|
+
R && (e = ["touchend"]), e.forEach((e) => {
|
|
1542
1554
|
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));
|
|
1543
1555
|
});
|
|
1544
1556
|
}
|
|
@@ -1622,9 +1634,9 @@ var Ue = class {
|
|
|
1622
1634
|
}
|
|
1623
1635
|
onEnterFullscreen(e) {
|
|
1624
1636
|
let t = this.Reveal.getConfig(), n = this.Reveal.getViewportElement();
|
|
1625
|
-
|
|
1637
|
+
se(t.embedded ? n : n.parentElement);
|
|
1626
1638
|
}
|
|
1627
|
-
},
|
|
1639
|
+
}, We = class {
|
|
1628
1640
|
constructor(e) {
|
|
1629
1641
|
this.Reveal = e, this.onProgressClicked = this.onProgressClicked.bind(this);
|
|
1630
1642
|
}
|
|
@@ -1659,7 +1671,7 @@ var Ue = class {
|
|
|
1659
1671
|
destroy() {
|
|
1660
1672
|
this.element.remove();
|
|
1661
1673
|
}
|
|
1662
|
-
},
|
|
1674
|
+
}, Ge = class {
|
|
1663
1675
|
constructor(e) {
|
|
1664
1676
|
this.Reveal = e, this.lastMouseWheelStep = 0, this.cursorHidden = !1, this.cursorInactiveTimeout = 0, this.onDocumentCursorActive = this.onDocumentCursorActive.bind(this), this.onDocumentMouseScroll = this.onDocumentMouseScroll.bind(this);
|
|
1665
1677
|
}
|
|
@@ -1685,7 +1697,7 @@ var Ue = class {
|
|
|
1685
1697
|
t > 0 ? this.Reveal.next() : t < 0 && this.Reveal.prev();
|
|
1686
1698
|
}
|
|
1687
1699
|
}
|
|
1688
|
-
},
|
|
1700
|
+
}, Ke = (e, t) => {
|
|
1689
1701
|
let n = document.createElement("script");
|
|
1690
1702
|
n.type = "text/javascript", n.async = !1, n.defer = !1, n.src = e, typeof t == "function" && (n.onload = (e) => {
|
|
1691
1703
|
e.type === "load" && (n.onload = n.onerror = null, t());
|
|
@@ -1694,7 +1706,7 @@ var Ue = class {
|
|
|
1694
1706
|
});
|
|
1695
1707
|
let r = document.querySelector("head");
|
|
1696
1708
|
r && r.insertBefore(n, r.lastChild);
|
|
1697
|
-
},
|
|
1709
|
+
}, qe = class {
|
|
1698
1710
|
constructor(e) {
|
|
1699
1711
|
this.Reveal = e, this.state = "idle", this.registeredPlugins = {}, this.asyncDependencies = [];
|
|
1700
1712
|
}
|
|
@@ -1709,7 +1721,7 @@ var Ue = class {
|
|
|
1709
1721
|
t && typeof t.callback == "function" && t.callback(), --r === 0 && this.initPlugins().then(e);
|
|
1710
1722
|
};
|
|
1711
1723
|
n.forEach((e) => {
|
|
1712
|
-
typeof e.id == "string" ? (this.registerPlugin(e), t(e)) : typeof e.src == "string" ?
|
|
1724
|
+
typeof e.id == "string" ? (this.registerPlugin(e), t(e)) : typeof e.src == "string" ? Ke(e.src, () => t(e)) : (console.warn("Unrecognized plugin format", e), t());
|
|
1713
1725
|
});
|
|
1714
1726
|
} else this.initPlugins().then(e);
|
|
1715
1727
|
});
|
|
@@ -1734,7 +1746,7 @@ var Ue = class {
|
|
|
1734
1746
|
}
|
|
1735
1747
|
loadAsync() {
|
|
1736
1748
|
return this.state = "loaded", this.asyncDependencies.length && this.asyncDependencies.forEach((e) => {
|
|
1737
|
-
|
|
1749
|
+
Ke(e.src, e.callback);
|
|
1738
1750
|
}), Promise.resolve();
|
|
1739
1751
|
}
|
|
1740
1752
|
registerPlugin(e) {
|
|
@@ -1756,7 +1768,7 @@ var Ue = class {
|
|
|
1756
1768
|
typeof e.destroy == "function" && e.destroy();
|
|
1757
1769
|
}), this.registeredPlugins = {}, this.asyncDependencies = [];
|
|
1758
1770
|
}
|
|
1759
|
-
},
|
|
1771
|
+
}, Je = class {
|
|
1760
1772
|
constructor(e) {
|
|
1761
1773
|
this.Reveal = e, this.onSlidesClicked = this.onSlidesClicked.bind(this), this.iframeTriggerSelector = null, this.mediaTriggerSelector = "[data-preview-image], [data-preview-video]", this.stateProps = [
|
|
1762
1774
|
"previewIframe",
|
|
@@ -1774,19 +1786,23 @@ var Ue = class {
|
|
|
1774
1786
|
this.dom = document.createElement("div"), this.dom.classList.add("r-overlay"), this.dom.classList.add(e), this.viewport = document.createElement("div"), this.viewport.classList.add("r-overlay-viewport"), this.dom.appendChild(this.viewport), this.Reveal.getRevealElement().appendChild(this.dom);
|
|
1775
1787
|
}
|
|
1776
1788
|
previewIframe(e) {
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1789
|
+
if (typeof e != "string") return;
|
|
1790
|
+
let t;
|
|
1791
|
+
try {
|
|
1792
|
+
t = new URL(e, document.baseURI);
|
|
1793
|
+
} catch {
|
|
1794
|
+
return;
|
|
1795
|
+
}
|
|
1796
|
+
if (t.protocol === "file:" && window.location.protocol !== "file:" || ![
|
|
1797
|
+
"http:",
|
|
1798
|
+
"https:",
|
|
1799
|
+
"file:"
|
|
1800
|
+
].includes(t.protocol) && t.href !== "about:blank") return;
|
|
1801
|
+
this.close(), this.state = { previewIframe: e }, this.createOverlay("r-overlay-preview"), this.dom.dataset.state = "loading", this.viewport.innerHTML = "<header class=\"r-overlay-header\">\n <a class=\"r-overlay-header-button r-overlay-external\" target=\"_blank\" rel=\"noopener\"><span class=\"icon\"></span></a>\n <button class=\"r-overlay-header-button r-overlay-close\"><span class=\"icon\"></span></button>\n </header>\n <div class=\"r-overlay-spinner\"></div>\n <div class=\"r-overlay-content\">\n <iframe></iframe>\n <small class=\"r-overlay-content-inner\">\n <span class=\"r-overlay-error x-frame-error\">Unable to load iframe. This is likely due to the site's policy (x-frame-options).</span>\n </small>\n </div>";
|
|
1802
|
+
let n = this.dom.querySelector("iframe");
|
|
1803
|
+
n.addEventListener("load", (e) => {
|
|
1788
1804
|
this.dom.dataset.state = "loaded";
|
|
1789
|
-
}, !1), this.dom.querySelector(".r-overlay-close").addEventListener("click", (e) => {
|
|
1805
|
+
}, !1), n.src = t.href, this.dom.querySelector(".r-overlay-external").href = t.href, this.dom.querySelector(".r-overlay-close").addEventListener("click", (e) => {
|
|
1790
1806
|
this.close(), e.preventDefault();
|
|
1791
1807
|
}, !1), this.dom.querySelector(".r-overlay-external").addEventListener("click", (e) => {
|
|
1792
1808
|
this.close();
|
|
@@ -1900,26 +1916,31 @@ var Ue = class {
|
|
|
1900
1916
|
destroy() {
|
|
1901
1917
|
this.close();
|
|
1902
1918
|
}
|
|
1903
|
-
},
|
|
1919
|
+
}, Ye = 40, Xe = 1.03, Ze = class {
|
|
1904
1920
|
constructor(e) {
|
|
1905
|
-
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);
|
|
1921
|
+
this.Reveal = e, this.touchStartX = 0, this.touchStartY = 0, this.touchStartCount = 0, this.touchCaptured = !1, this.activePointers = /* @__PURE__ */ new Map(), this.onPointerDown = this.onPointerDown.bind(this), this.onPointerMove = this.onPointerMove.bind(this), this.onPointerUp = this.onPointerUp.bind(this), this.onPointerCancel = this.onPointerCancel.bind(this), this.onTouchStart = this.onTouchStart.bind(this), this.onTouchMove = this.onTouchMove.bind(this), this.onTouchEnd = this.onTouchEnd.bind(this);
|
|
1906
1922
|
}
|
|
1907
1923
|
bind() {
|
|
1908
1924
|
let e = this.Reveal.getRevealElement();
|
|
1909
|
-
"onpointerdown" in window ? (e.addEventListener("pointerdown", this.onPointerDown, !1), e.addEventListener("pointermove", this.onPointerMove, !1), e.addEventListener("pointerup", this.onPointerUp, !1)
|
|
1925
|
+
"onpointerdown" in window ? (e.addEventListener("pointerdown", this.onPointerDown, !1), e.addEventListener("pointermove", this.onPointerMove, !1), e.addEventListener("pointerup", this.onPointerUp, !1), e.addEventListener("pointercancel", this.onPointerCancel, !1)) : (e.addEventListener("touchstart", this.onTouchStart, !1), e.addEventListener("touchmove", this.onTouchMove, !1), e.addEventListener("touchend", this.onTouchEnd, !1));
|
|
1910
1926
|
}
|
|
1911
1927
|
unbind() {
|
|
1912
1928
|
let e = this.Reveal.getRevealElement();
|
|
1913
|
-
e.removeEventListener("pointerdown", this.onPointerDown, !1), e.removeEventListener("pointermove", this.onPointerMove, !1), e.removeEventListener("pointerup", this.onPointerUp, !1), e.removeEventListener("
|
|
1929
|
+
e.removeEventListener("pointerdown", this.onPointerDown, !1), e.removeEventListener("pointermove", this.onPointerMove, !1), e.removeEventListener("pointerup", this.onPointerUp, !1), e.removeEventListener("pointercancel", this.onPointerCancel, !1), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1);
|
|
1914
1930
|
}
|
|
1915
1931
|
isSwipePrevented(e) {
|
|
1916
|
-
if (
|
|
1932
|
+
if (F(e, "video[controls], audio[controls]")) return !0;
|
|
1917
1933
|
for (; e && typeof e.hasAttribute == "function";) {
|
|
1918
1934
|
if (e.hasAttribute("data-prevent-swipe")) return !0;
|
|
1919
1935
|
e = e.parentNode;
|
|
1920
1936
|
}
|
|
1921
1937
|
return !1;
|
|
1922
1938
|
}
|
|
1939
|
+
isViewportZoomed() {
|
|
1940
|
+
if (!window.visualViewport || typeof window.visualViewport.scale != "number") return !1;
|
|
1941
|
+
let e = window.visualViewport.scale;
|
|
1942
|
+
return this.visualViewportBaseScale = this.visualViewportBaseScale === void 0 ? e : Math.min(this.visualViewportBaseScale, e), e / this.visualViewportBaseScale > Xe;
|
|
1943
|
+
}
|
|
1923
1944
|
onTouchStart(e) {
|
|
1924
1945
|
if (this.touchCaptured = !1, this.isSwipePrevented(e.target)) return !0;
|
|
1925
1946
|
this.touchStartX = e.touches[0].clientX, this.touchStartY = e.touches[0].clientY, this.touchStartCount = e.touches.length;
|
|
@@ -1927,38 +1948,38 @@ var Ue = class {
|
|
|
1927
1948
|
onTouchMove(e) {
|
|
1928
1949
|
if (this.isSwipePrevented(e.target)) return !0;
|
|
1929
1950
|
let t = this.Reveal.getConfig();
|
|
1930
|
-
if (this.touchCaptured)
|
|
1951
|
+
if (this.touchCaptured) R && e.preventDefault();
|
|
1931
1952
|
else {
|
|
1932
1953
|
this.Reveal.onUserInput(e);
|
|
1933
1954
|
let n = e.touches[0].clientX, r = e.touches[0].clientY;
|
|
1934
1955
|
if (e.touches.length === 1 && this.touchStartCount !== 2) {
|
|
1935
1956
|
let i = this.Reveal.availableRoutes({ includeFragments: !0 }), a = n - this.touchStartX, o = r - this.touchStartY;
|
|
1936
|
-
a >
|
|
1957
|
+
a > Ye && 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 > Ye && 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();
|
|
1937
1958
|
}
|
|
1938
1959
|
}
|
|
1939
1960
|
}
|
|
1940
1961
|
onTouchEnd(e) {
|
|
1941
1962
|
this.touchCaptured && !this.Reveal.slideContent.isAllowedToPlayAudio() && this.Reveal.startEmbeddedContent(this.Reveal.getCurrentSlide()), this.touchCaptured = !1;
|
|
1942
1963
|
}
|
|
1943
|
-
|
|
1944
|
-
(
|
|
1964
|
+
getActiveTouches() {
|
|
1965
|
+
return Array.from(this.activePointers.values(), (e) => ({
|
|
1945
1966
|
clientX: e.clientX,
|
|
1946
1967
|
clientY: e.clientY
|
|
1947
|
-
}
|
|
1968
|
+
}));
|
|
1969
|
+
}
|
|
1970
|
+
onPointerDown(e) {
|
|
1971
|
+
e.pointerType === "touch" && (this.activePointers.set(e.pointerId, e), e.touches = this.getActiveTouches(), this.onTouchStart(e));
|
|
1948
1972
|
}
|
|
1949
1973
|
onPointerMove(e) {
|
|
1950
|
-
|
|
1951
|
-
clientX: e.clientX,
|
|
1952
|
-
clientY: e.clientY
|
|
1953
|
-
}], this.onTouchMove(e));
|
|
1974
|
+
e.pointerType === "touch" && (this.activePointers.set(e.pointerId, e), e.touches = this.getActiveTouches(), this.onTouchMove(e));
|
|
1954
1975
|
}
|
|
1955
1976
|
onPointerUp(e) {
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1977
|
+
e.pointerType === "touch" && (this.activePointers.delete(e.pointerId), e.touches = this.getActiveTouches(), this.onTouchEnd(e));
|
|
1978
|
+
}
|
|
1979
|
+
onPointerCancel(e) {
|
|
1980
|
+
e.pointerType === "touch" && (this.activePointers.delete(e.pointerId), e.touches = this.getActiveTouches(), this.onTouchEnd(e));
|
|
1960
1981
|
}
|
|
1961
|
-
},
|
|
1982
|
+
}, Qe = "focus", $e = "blur", et = class {
|
|
1962
1983
|
constructor(e) {
|
|
1963
1984
|
this.Reveal = e, this.onRevealPointerDown = this.onRevealPointerDown.bind(this), this.onDocumentPointerDown = this.onDocumentPointerDown.bind(this);
|
|
1964
1985
|
}
|
|
@@ -1972,13 +1993,13 @@ var Ue = class {
|
|
|
1972
1993
|
this.Reveal.getRevealElement().removeEventListener("pointerdown", this.onRevealPointerDown, !1), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1);
|
|
1973
1994
|
}
|
|
1974
1995
|
focus() {
|
|
1975
|
-
this.state !==
|
|
1996
|
+
this.state !== Qe && (this.Reveal.getRevealElement().classList.add("focused"), document.addEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = Qe;
|
|
1976
1997
|
}
|
|
1977
1998
|
blur() {
|
|
1978
|
-
this.state !==
|
|
1999
|
+
this.state !== $e && (this.Reveal.getRevealElement().classList.remove("focused"), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = $e;
|
|
1979
2000
|
}
|
|
1980
2001
|
isFocused() {
|
|
1981
|
-
return this.state ===
|
|
2002
|
+
return this.state === Qe;
|
|
1982
2003
|
}
|
|
1983
2004
|
destroy() {
|
|
1984
2005
|
this.Reveal.getRevealElement().classList.remove("focused");
|
|
@@ -1987,10 +2008,10 @@ var Ue = class {
|
|
|
1987
2008
|
this.focus();
|
|
1988
2009
|
}
|
|
1989
2010
|
onDocumentPointerDown(e) {
|
|
1990
|
-
let t =
|
|
2011
|
+
let t = I(e.target, ".reveal");
|
|
1991
2012
|
(!t || t !== this.Reveal.getRevealElement()) && this.blur();
|
|
1992
2013
|
}
|
|
1993
|
-
},
|
|
2014
|
+
}, tt = class {
|
|
1994
2015
|
constructor(e) {
|
|
1995
2016
|
this.Reveal = e;
|
|
1996
2017
|
}
|
|
@@ -2020,7 +2041,7 @@ var Ue = class {
|
|
|
2020
2041
|
destroy() {
|
|
2021
2042
|
this.element.remove();
|
|
2022
2043
|
}
|
|
2023
|
-
},
|
|
2044
|
+
}, nt = class {
|
|
2024
2045
|
constructor(e, t) {
|
|
2025
2046
|
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();
|
|
2026
2047
|
}
|
|
@@ -2047,7 +2068,7 @@ var Ue = class {
|
|
|
2047
2068
|
destroy() {
|
|
2048
2069
|
this.playing = !1, this.canvas.parentNode && this.container.removeChild(this.canvas);
|
|
2049
2070
|
}
|
|
2050
|
-
},
|
|
2071
|
+
}, rt = {
|
|
2051
2072
|
width: 960,
|
|
2052
2073
|
height: 700,
|
|
2053
2074
|
margin: .04,
|
|
@@ -2137,8 +2158,8 @@ var Ue = class {
|
|
|
2137
2158
|
pdfPageHeightOffset: -1,
|
|
2138
2159
|
dependencies: [],
|
|
2139
2160
|
plugins: []
|
|
2140
|
-
},
|
|
2141
|
-
function
|
|
2161
|
+
}, it = "6.0.2";
|
|
2162
|
+
function at(e, t) {
|
|
2142
2163
|
arguments.length < 2 && (t = arguments[0], e = document.querySelector(".reveal"));
|
|
2143
2164
|
let n = {}, r = {}, i = !1, a = !1, o, s, c, l, u = {
|
|
2144
2165
|
hasNavigatedHorizontally: !1,
|
|
@@ -2146,19 +2167,19 @@ function it(e, t) {
|
|
|
2146
2167
|
}, d = [], f = 1, p = {
|
|
2147
2168
|
layout: "",
|
|
2148
2169
|
overview: ""
|
|
2149
|
-
}, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new
|
|
2150
|
-
function
|
|
2170
|
+
}, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new be(n), S = new Te(n), C = new V(n), ee = new Ae(n), w = new Oe(n), T = new Fe(n), E = new Re(n), D = new ze(n), O = new Be(n), k = new Ve(n), A = new He(n), te = new Ue(n), ne = new We(n), j = new Ge(n), M = new qe(n), N = new Je(n), F = new et(n), se = new Ze(n), L = new tt(n);
|
|
2171
|
+
function de(a) {
|
|
2151
2172
|
if (!e) throw "Unable to find presentation root (<div class=\"reveal\">).";
|
|
2152
2173
|
if (i) throw "Reveal.js has already been initialized.";
|
|
2153
2174
|
if (i = !0, m.wrapper = e, m.slides = e.querySelector(".slides"), !m.slides) throw "Unable to find slides container (<div class=\"slides\">).";
|
|
2154
|
-
return r =
|
|
2175
|
+
return r = U(U(U(U(U({}, rt), r), t), a), le()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), fe(), window.addEventListener("load", Xe, !1), M.load(r.plugins, r.dependencies).then(pe), new Promise((e) => n.on("ready", e));
|
|
2155
2176
|
}
|
|
2156
|
-
function
|
|
2157
|
-
r.embedded === !0 ? m.viewport =
|
|
2177
|
+
function fe() {
|
|
2178
|
+
r.embedded === !0 ? m.viewport = I(e, ".reveal-viewport") || e : (m.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), m.viewport.classList.add("reveal-viewport");
|
|
2158
2179
|
}
|
|
2159
|
-
function
|
|
2160
|
-
i !== !1 && (a = !0,
|
|
2161
|
-
m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"),
|
|
2180
|
+
function pe() {
|
|
2181
|
+
i !== !1 && (a = !0, R(), ge(), De(), Ce(), Ee(), xt(), ke(), w.update(!0), me(), A.readURL(), setTimeout(() => {
|
|
2182
|
+
m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"), H({
|
|
2162
2183
|
type: "ready",
|
|
2163
2184
|
data: {
|
|
2164
2185
|
indexh: o,
|
|
@@ -2168,27 +2189,27 @@ function it(e, t) {
|
|
|
2168
2189
|
});
|
|
2169
2190
|
}, 1));
|
|
2170
2191
|
}
|
|
2171
|
-
function
|
|
2192
|
+
function me() {
|
|
2172
2193
|
let e = r.view === "print", t = r.view === "scroll" || r.view === "reader";
|
|
2173
|
-
(e || t) && (e ?
|
|
2194
|
+
(e || t) && (e ? Me() : se.unbind(), m.viewport.classList.add("loading-scroll-mode"), e ? document.readyState === "complete" ? E.activate() : window.addEventListener("load", () => E.activate()) : T.activate());
|
|
2174
2195
|
}
|
|
2175
|
-
function
|
|
2176
|
-
r.showHiddenSlides ||
|
|
2196
|
+
function R() {
|
|
2197
|
+
r.showHiddenSlides || P(m.wrapper, "section[data-visibility=\"hidden\"]").forEach((e) => {
|
|
2177
2198
|
let t = e.parentNode;
|
|
2178
2199
|
t.childElementCount === 1 && /section/i.test(t.nodeName) ? t.remove() : e.remove();
|
|
2179
2200
|
});
|
|
2180
2201
|
}
|
|
2181
|
-
function
|
|
2182
|
-
m.slides.classList.add("no-transition"),
|
|
2202
|
+
function ge() {
|
|
2203
|
+
m.slides.classList.add("no-transition"), he ? m.wrapper.classList.add("no-hover") : m.wrapper.classList.remove("no-hover"), w.render(), S.render(), C.render(), te.render(), ne.render(), L.render(), m.pauseOverlay = ce(m.wrapper, "div", "pause-overlay", r.controls ? "<button class=\"resume-button\">Resume presentation</button>" : null), m.statusElement = _e(), m.wrapper.setAttribute("role", "application");
|
|
2183
2204
|
}
|
|
2184
|
-
function
|
|
2205
|
+
function _e() {
|
|
2185
2206
|
let e = m.wrapper.querySelector(".aria-status");
|
|
2186
2207
|
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;
|
|
2187
2208
|
}
|
|
2188
|
-
function
|
|
2209
|
+
function ve(e) {
|
|
2189
2210
|
m.statusElement.textContent = e;
|
|
2190
2211
|
}
|
|
2191
|
-
function
|
|
2212
|
+
function ye(e) {
|
|
2192
2213
|
let t = "";
|
|
2193
2214
|
if (e.nodeType === 3) t += e.textContent.trim();
|
|
2194
2215
|
else if (e.nodeType === 1) {
|
|
@@ -2196,10 +2217,10 @@ function it(e, t) {
|
|
|
2196
2217
|
if (n !== "true" && !r) {
|
|
2197
2218
|
if (e.tagName === "IMG" || e.tagName === "VIDEO") {
|
|
2198
2219
|
let n = e.getAttribute("alt");
|
|
2199
|
-
n && (t +=
|
|
2220
|
+
n && (t += z(n));
|
|
2200
2221
|
}
|
|
2201
2222
|
Array.from(e.childNodes).forEach((e) => {
|
|
2202
|
-
t +=
|
|
2223
|
+
t += ye(e);
|
|
2203
2224
|
}), [
|
|
2204
2225
|
"P",
|
|
2205
2226
|
"DIV",
|
|
@@ -2213,58 +2234,58 @@ function it(e, t) {
|
|
|
2213
2234
|
"H5",
|
|
2214
2235
|
"H6",
|
|
2215
2236
|
"BLOCKQUOTE"
|
|
2216
|
-
].includes(e.tagName) && t.trim() !== "" && (t =
|
|
2237
|
+
].includes(e.tagName) && t.trim() !== "" && (t = z(t));
|
|
2217
2238
|
}
|
|
2218
2239
|
}
|
|
2219
2240
|
return t = t.trim(), t === "" ? "" : t + " ";
|
|
2220
2241
|
}
|
|
2221
|
-
function
|
|
2242
|
+
function z(e) {
|
|
2222
2243
|
let t = e.trim();
|
|
2223
2244
|
return t === "" ? e : /[.!?]$/.test(t) ? t : t + ".";
|
|
2224
2245
|
}
|
|
2225
|
-
function
|
|
2246
|
+
function Ce() {
|
|
2226
2247
|
setInterval(() => {
|
|
2227
2248
|
(!T.isActive() && m.wrapper.scrollTop !== 0 || m.wrapper.scrollLeft !== 0) && (m.wrapper.scrollTop = 0, m.wrapper.scrollLeft = 0);
|
|
2228
2249
|
}, 1e3);
|
|
2229
2250
|
}
|
|
2230
|
-
function
|
|
2251
|
+
function Ee() {
|
|
2231
2252
|
document.addEventListener("fullscreenchange", rn), document.addEventListener("webkitfullscreenchange", rn);
|
|
2232
2253
|
}
|
|
2233
|
-
function
|
|
2254
|
+
function De() {
|
|
2234
2255
|
r.postMessage && window.addEventListener("message", Qt, !1);
|
|
2235
2256
|
}
|
|
2236
|
-
function
|
|
2237
|
-
let t =
|
|
2238
|
-
if (typeof e == "object" &&
|
|
2239
|
-
let i = m.wrapper.querySelectorAll(
|
|
2240
|
-
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 &&
|
|
2257
|
+
function ke(e) {
|
|
2258
|
+
let t = U({}, r);
|
|
2259
|
+
if (typeof e == "object" && re(r, e), n.isReady() === !1) return;
|
|
2260
|
+
let i = m.wrapper.querySelectorAll(B).length;
|
|
2261
|
+
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 && J(), ie(m.wrapper, "embedded", r.embedded), ie(m.wrapper, "rtl", r.rtl), ie(m.wrapper, "center", r.center), r.pause === !1 && ft(), ee.reset(), _ &&= (_.destroy(), null), i > 1 && r.autoSlide && r.autoSlideStoppable && (_ = new nt(m.wrapper, () => Math.min(Math.max((Date.now() - y) / g, 0), 1)), _.on("click", an), b = !1), r.navigationMode === "default" ? m.wrapper.removeAttribute("data-navigation-mode") : m.wrapper.setAttribute("data-navigation-mode", r.navigationMode), L.configure(r, t), F.configure(r, t), j.configure(r, t), te.configure(r, t), ne.configure(r, t), k.configure(r, t), D.configure(r, t), S.configure(r, t), q();
|
|
2262
|
+
}
|
|
2263
|
+
function je() {
|
|
2264
|
+
window.addEventListener("resize", tn, !1), r.touch && se.bind(), r.keyboard && k.bind(), r.progress && ne.bind(), r.respondToHashChanges && A.bind(), te.bind(), F.bind(), m.slides.addEventListener("click", en, !1), m.slides.addEventListener("transitionend", $t, !1), m.pauseOverlay.addEventListener("click", ft, !1), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", nn, !1);
|
|
2241
2265
|
}
|
|
2242
2266
|
function Me() {
|
|
2243
|
-
|
|
2267
|
+
se.unbind(), F.unbind(), k.unbind(), te.unbind(), ne.unbind(), A.unbind(), window.removeEventListener("resize", tn, !1), m.slides.removeEventListener("click", en, !1), m.slides.removeEventListener("transitionend", $t, !1), m.pauseOverlay.removeEventListener("click", ft, !1);
|
|
2244
2268
|
}
|
|
2245
2269
|
function Ne() {
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
function Pe() {
|
|
2249
|
-
i = !1, a !== !1 && (Ne(), Ht(), I.destroy(), P.destroy(), M.destroy(), j.destroy(), A.destroy(), ne.destroy(), re.destroy(), w.destroy(), S.destroy(), C.destroy(), document.removeEventListener("fullscreenchange", rn), document.removeEventListener("webkitfullscreenchange", rn), document.removeEventListener("visibilitychange", nn, !1), window.removeEventListener("message", Qt, !1), window.removeEventListener("load", U, !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(z)).forEach((e) => {
|
|
2250
|
-
e.style.removeProperty("display"), e.style.removeProperty("top"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden");
|
|
2270
|
+
i = !1, a !== !1 && (Me(), Ht(), L.destroy(), F.destroy(), N.destroy(), M.destroy(), j.destroy(), te.destroy(), ne.destroy(), w.destroy(), S.destroy(), C.destroy(), document.removeEventListener("fullscreenchange", rn), document.removeEventListener("webkitfullscreenchange", rn), document.removeEventListener("visibilitychange", nn, !1), window.removeEventListener("message", Qt, !1), window.removeEventListener("load", Xe, !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(B)).forEach((e) => {
|
|
2271
|
+
e.style.removeProperty("display"), e.style.removeProperty("top"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), e.removeAttribute("inert");
|
|
2251
2272
|
}));
|
|
2252
2273
|
}
|
|
2253
|
-
function
|
|
2274
|
+
function Pe(t, n, r) {
|
|
2254
2275
|
e.addEventListener(t, n, r);
|
|
2255
2276
|
}
|
|
2256
|
-
function
|
|
2277
|
+
function Ie(t, n, r) {
|
|
2257
2278
|
e.removeEventListener(t, n, r);
|
|
2258
2279
|
}
|
|
2259
|
-
function
|
|
2260
|
-
typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ?
|
|
2280
|
+
function Le(e) {
|
|
2281
|
+
typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ? oe(m.slides, p.layout + " " + p.overview) : oe(m.slides, p.overview);
|
|
2261
2282
|
}
|
|
2262
|
-
function
|
|
2283
|
+
function H({ target: e = m.wrapper, type: t, data: n, bubbles: r = !0 }) {
|
|
2263
2284
|
let i = document.createEvent("HTMLEvents", 1, 2);
|
|
2264
|
-
return i.initEvent(t, r, !0),
|
|
2285
|
+
return i.initEvent(t, r, !0), re(i, n), e.dispatchEvent(i), e === m.wrapper && Ye(t), i;
|
|
2265
2286
|
}
|
|
2266
|
-
function
|
|
2267
|
-
|
|
2287
|
+
function Ke(e) {
|
|
2288
|
+
H({
|
|
2268
2289
|
type: "slidechanged",
|
|
2269
2290
|
data: {
|
|
2270
2291
|
indexh: o,
|
|
@@ -2275,29 +2296,30 @@ function it(e, t) {
|
|
|
2275
2296
|
}
|
|
2276
2297
|
});
|
|
2277
2298
|
}
|
|
2278
|
-
function
|
|
2299
|
+
function Ye(e, t) {
|
|
2279
2300
|
if (r.postMessageEvents && window.parent !== window.self) {
|
|
2280
2301
|
let n = {
|
|
2281
2302
|
namespace: "reveal",
|
|
2282
2303
|
eventName: e,
|
|
2283
2304
|
state: zt()
|
|
2284
2305
|
};
|
|
2285
|
-
|
|
2306
|
+
re(n, t), window.parent.postMessage(JSON.stringify(n), "*");
|
|
2286
2307
|
}
|
|
2287
2308
|
}
|
|
2288
|
-
function
|
|
2289
|
-
if (m.wrapper && !
|
|
2309
|
+
function Xe() {
|
|
2310
|
+
if (m.wrapper && !E.isActive()) {
|
|
2290
2311
|
let e = m.viewport.offsetWidth, t = m.viewport.offsetHeight;
|
|
2291
2312
|
if (!r.disableLayout) {
|
|
2292
|
-
|
|
2293
|
-
let n = T.isActive() ?
|
|
2294
|
-
Qe(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 || T.isActive() ? (m.slides.style.zoom = "", m.slides.style.left = "", m.slides.style.top = "", m.slides.style.bottom = "", m.slides.style.right = "",
|
|
2295
|
-
let a = Array.from(m.wrapper.querySelectorAll(
|
|
2313
|
+
he && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * .01 + "px");
|
|
2314
|
+
let n = T.isActive() ? at(e, t) : at(), i = f;
|
|
2315
|
+
Qe(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 = Math.round(f * 100) / 100, f === 1 || T.isActive() ? (m.slides.style.zoom = "", m.slides.style.left = "", m.slides.style.top = "", m.slides.style.bottom = "", m.slides.style.right = "", Le({ 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", Le({ layout: "translate(-50%, -50%) scale(" + f + ")" }));
|
|
2316
|
+
let a = Array.from(m.wrapper.querySelectorAll(B)).filter((e) => e.style.display !== "none"), o = Array(a.length);
|
|
2296
2317
|
for (let e = 0, t = a.length; e < t; e++) {
|
|
2297
2318
|
let t = a[e];
|
|
2298
|
-
|
|
2319
|
+
r.center || t.classList.contains("center") ? t.classList.contains("stack") ? o[e] = 0 : o[e] = Math.max((n.height - t.scrollHeight) / 2, 0) + "px" : o[e] = "";
|
|
2299
2320
|
}
|
|
2300
|
-
|
|
2321
|
+
for (let e = 0, t = a.length; e < t; e++) a[e].style.top = o[e];
|
|
2322
|
+
i !== f && H({
|
|
2301
2323
|
type: "resize",
|
|
2302
2324
|
data: {
|
|
2303
2325
|
oldScale: i,
|
|
@@ -2306,25 +2328,25 @@ function it(e, t) {
|
|
|
2306
2328
|
}
|
|
2307
2329
|
});
|
|
2308
2330
|
}
|
|
2309
|
-
|
|
2331
|
+
$e(), m.viewport.style.setProperty("--slide-scale", f), m.viewport.style.setProperty("--viewport-width", e + "px"), m.viewport.style.setProperty("--viewport-height", t + "px"), T.layout(), ne.update(), w.updateParallax(), O.isActive() && O.update();
|
|
2310
2332
|
}
|
|
2311
2333
|
}
|
|
2312
2334
|
function Qe(e, t) {
|
|
2313
|
-
|
|
2314
|
-
let r =
|
|
2335
|
+
P(m.slides, "section > .stretch, section > .r-stretch").forEach((n) => {
|
|
2336
|
+
let r = ue(n, t);
|
|
2315
2337
|
if (/(img|video)/gi.test(n.nodeName)) {
|
|
2316
2338
|
let t = n.naturalWidth || n.videoWidth, i = n.naturalHeight || n.videoHeight, a = Math.min(e / t, r / i);
|
|
2317
2339
|
n.style.width = t * a + "px", n.style.height = i * a + "px";
|
|
2318
2340
|
} else n.style.width = e + "px", n.style.height = r + "px";
|
|
2319
2341
|
});
|
|
2320
2342
|
}
|
|
2321
|
-
function
|
|
2322
|
-
if (m.wrapper && !r.disableLayout && !
|
|
2323
|
-
let e =
|
|
2343
|
+
function $e() {
|
|
2344
|
+
if (m.wrapper && !r.disableLayout && !E.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
|
|
2345
|
+
let e = at();
|
|
2324
2346
|
e.presentationWidth > 0 && e.presentationWidth <= r.scrollActivationWidth ? T.isActive() || (w.create(), T.activate()) : T.isActive() && T.deactivate();
|
|
2325
2347
|
}
|
|
2326
2348
|
}
|
|
2327
|
-
function
|
|
2349
|
+
function at(e, t) {
|
|
2328
2350
|
let n = r.width, i = r.height;
|
|
2329
2351
|
r.disableLayout && (n = m.slides.offsetWidth, i = m.slides.offsetHeight);
|
|
2330
2352
|
let a = {
|
|
@@ -2335,40 +2357,40 @@ function it(e, t) {
|
|
|
2335
2357
|
};
|
|
2336
2358
|
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;
|
|
2337
2359
|
}
|
|
2338
|
-
function
|
|
2360
|
+
function W(e, t) {
|
|
2339
2361
|
typeof e == "object" && typeof e.setAttribute == "function" && e.setAttribute("data-previous-indexv", t || 0);
|
|
2340
2362
|
}
|
|
2341
|
-
function
|
|
2363
|
+
function ot(e) {
|
|
2342
2364
|
if (typeof e == "object" && typeof e.setAttribute == "function" && e.classList.contains("stack")) {
|
|
2343
2365
|
let t = e.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
|
|
2344
2366
|
return parseInt(e.getAttribute(t) || 0, 10);
|
|
2345
2367
|
}
|
|
2346
2368
|
return 0;
|
|
2347
2369
|
}
|
|
2348
|
-
function
|
|
2370
|
+
function G(e = l) {
|
|
2349
2371
|
return e && e.parentNode && !!e.parentNode.nodeName.match(/section/i);
|
|
2350
2372
|
}
|
|
2351
2373
|
function st(e = l) {
|
|
2352
2374
|
return e.classList.contains(".stack") || e.querySelector("section") !== null;
|
|
2353
2375
|
}
|
|
2354
2376
|
function ct() {
|
|
2355
|
-
return l &&
|
|
2377
|
+
return l && G(l) ? !l.nextElementSibling : !1;
|
|
2356
2378
|
}
|
|
2357
2379
|
function lt() {
|
|
2358
2380
|
return o === 0 && s === 0;
|
|
2359
2381
|
}
|
|
2360
2382
|
function ut() {
|
|
2361
|
-
return l ? !(l.nextElementSibling ||
|
|
2383
|
+
return l ? !(l.nextElementSibling || G(l) && l.parentNode.nextElementSibling) : !1;
|
|
2362
2384
|
}
|
|
2363
2385
|
function dt() {
|
|
2364
2386
|
if (r.pause) {
|
|
2365
2387
|
let e = m.wrapper.classList.contains("paused");
|
|
2366
|
-
Ht(), m.wrapper.classList.add("paused"), e === !1 &&
|
|
2388
|
+
Ht(), m.wrapper.classList.add("paused"), e === !1 && H({ type: "paused" });
|
|
2367
2389
|
}
|
|
2368
2390
|
}
|
|
2369
2391
|
function ft() {
|
|
2370
2392
|
let e = m.wrapper.classList.contains("paused");
|
|
2371
|
-
m.wrapper.classList.remove("paused"), Vt(), e &&
|
|
2393
|
+
m.wrapper.classList.remove("paused"), Vt(), e && H({ type: "resumed" });
|
|
2372
2394
|
}
|
|
2373
2395
|
function pt(e) {
|
|
2374
2396
|
typeof e == "boolean" ? e ? dt() : ft() : mt() ? ft() : dt();
|
|
@@ -2385,8 +2407,8 @@ function it(e, t) {
|
|
|
2385
2407
|
function _t() {
|
|
2386
2408
|
return !!(g && !b);
|
|
2387
2409
|
}
|
|
2388
|
-
function
|
|
2389
|
-
if (
|
|
2410
|
+
function K(t, n, i, a) {
|
|
2411
|
+
if (H({
|
|
2390
2412
|
type: "beforeslidechange",
|
|
2391
2413
|
data: {
|
|
2392
2414
|
indexh: t === void 0 ? o : t,
|
|
@@ -2395,26 +2417,26 @@ function it(e, t) {
|
|
|
2395
2417
|
}
|
|
2396
2418
|
}).defaultPrevented) return;
|
|
2397
2419
|
c = l;
|
|
2398
|
-
let u = m.wrapper.querySelectorAll(
|
|
2420
|
+
let u = m.wrapper.querySelectorAll(xe);
|
|
2399
2421
|
if (T.isActive()) {
|
|
2400
2422
|
let e = T.getSlideByIndices(t, n);
|
|
2401
2423
|
e && T.scrollToSlide(e);
|
|
2402
2424
|
return;
|
|
2403
2425
|
}
|
|
2404
2426
|
if (u.length === 0) return;
|
|
2405
|
-
n === void 0 && !
|
|
2427
|
+
n === void 0 && !O.isActive() && (n = ot(u[t])), c && c.parentNode && c.parentNode.classList.contains("stack") && W(c.parentNode, s);
|
|
2406
2428
|
let f = d.concat();
|
|
2407
2429
|
d.length = 0;
|
|
2408
2430
|
let p = o || 0, g = s || 0;
|
|
2409
|
-
o =
|
|
2431
|
+
o = St(xe, t === void 0 ? o : t), s = St(Se, n === void 0 ? s : n);
|
|
2410
2432
|
let _ = o !== p || s !== g;
|
|
2411
2433
|
_ || (c = null);
|
|
2412
2434
|
let v = u[o], y = v.querySelectorAll("section");
|
|
2413
2435
|
e.classList.toggle("is-vertical-slide", y.length > 1), l = y[s] || v;
|
|
2414
2436
|
let b = !1;
|
|
2415
|
-
_ && c && l && !
|
|
2437
|
+
_ && c && l && !O.isActive() && (h = "running", b = vt(c, l, p, g), b && m.slides.classList.add("disable-slide-transitions")), wt(), Xe(), O.isActive() && O.update(), i !== void 0 && D.goto(i), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), lt() && setTimeout(() => {
|
|
2416
2438
|
Mt().forEach((e) => {
|
|
2417
|
-
|
|
2439
|
+
W(e, 0);
|
|
2418
2440
|
});
|
|
2419
2441
|
}, 0));
|
|
2420
2442
|
stateLoop: for (let e = 0, t = d.length; e < t; e++) {
|
|
@@ -2422,64 +2444,64 @@ function it(e, t) {
|
|
|
2422
2444
|
f.splice(t, 1);
|
|
2423
2445
|
continue stateLoop;
|
|
2424
2446
|
}
|
|
2425
|
-
m.viewport.classList.add(d[e]),
|
|
2447
|
+
m.viewport.classList.add(d[e]), H({ type: d[e] });
|
|
2426
2448
|
}
|
|
2427
2449
|
for (; f.length;) m.viewport.classList.remove(f.pop());
|
|
2428
|
-
_ && (x.afterSlideChanged(),
|
|
2429
|
-
ye(
|
|
2430
|
-
}),
|
|
2450
|
+
_ && (x.afterSlideChanged(), Ke(a)), (_ || !c) && (x.stopEmbeddedContent(c), x.startEmbeddedContent(l)), requestAnimationFrame(() => {
|
|
2451
|
+
ve(ye(l));
|
|
2452
|
+
}), ne.update(), te.update(), L.update(), w.update(), w.updateParallax(), S.update(), D.update(), A.writeURL(), Vt(), b && (setTimeout(() => {
|
|
2431
2453
|
m.slides.classList.remove("disable-slide-transitions");
|
|
2432
2454
|
}, 0), r.autoAnimate && ee.run(c, l));
|
|
2433
2455
|
}
|
|
2434
|
-
function
|
|
2456
|
+
function vt(e, t, n, r) {
|
|
2435
2457
|
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");
|
|
2436
2458
|
}
|
|
2437
|
-
function
|
|
2459
|
+
function yt(e, t, n) {
|
|
2438
2460
|
let i = o || 0;
|
|
2439
2461
|
o = t, s = n;
|
|
2440
2462
|
let a = l !== e;
|
|
2441
|
-
c = l, l = e, l && c && r.autoAnimate &&
|
|
2442
|
-
ye(
|
|
2443
|
-
}),
|
|
2463
|
+
c = l, l = e, l && c && r.autoAnimate && vt(c, l, i, s) && ee.run(c, l), a && (x.afterSlideChanged(), c && (x.stopEmbeddedContent(c), x.stopEmbeddedContent(c.slideBackgroundElement)), x.startEmbeddedContent(l), x.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
|
|
2464
|
+
ve(ye(l));
|
|
2465
|
+
}), Ke();
|
|
2444
2466
|
}
|
|
2445
|
-
function
|
|
2446
|
-
|
|
2467
|
+
function q() {
|
|
2468
|
+
Me(), je(), Xe(), g = r.autoSlide, Vt(), w.create(), A.writeURL(), r.sortFragmentsOnSync === !0 && D.sortAll(), o !== void 0 && (o = St(xe, o), s = St(Se, s)), te.update(), ne.update(), wt(), L.update(), L.updateVisibility(), N.update(), w.update(!0), S.update(), x.formatEmbeddedContent(), r.autoPlayMedia === !1 ? x.stopEmbeddedContent(l, { unloadIframes: !1 }) : x.startEmbeddedContent(l), O.isActive() && O.layout(), H({ type: "sync" });
|
|
2447
2469
|
}
|
|
2448
|
-
function
|
|
2449
|
-
w.sync(e),
|
|
2470
|
+
function bt(e = l) {
|
|
2471
|
+
w.sync(e), D.sync(e), x.load(e), w.update(), L.update(), H({
|
|
2450
2472
|
type: "slidesync",
|
|
2451
2473
|
data: { slide: e }
|
|
2452
2474
|
});
|
|
2453
2475
|
}
|
|
2454
|
-
function
|
|
2476
|
+
function xt() {
|
|
2455
2477
|
At().forEach((e) => {
|
|
2456
|
-
|
|
2478
|
+
P(e, "section").forEach((e, t) => {
|
|
2457
2479
|
t > 0 && (e.classList.remove("present"), e.classList.remove("past"), e.classList.add("future"), e.setAttribute("aria-hidden", "true"));
|
|
2458
2480
|
});
|
|
2459
2481
|
});
|
|
2460
2482
|
}
|
|
2461
|
-
function
|
|
2483
|
+
function J(e = At()) {
|
|
2462
2484
|
e.forEach((t, n) => {
|
|
2463
2485
|
let r = e[Math.floor(Math.random() * e.length)];
|
|
2464
2486
|
r.parentNode === t.parentNode && t.parentNode.insertBefore(t, r);
|
|
2465
2487
|
let i = t.querySelectorAll("section");
|
|
2466
|
-
i.length &&
|
|
2488
|
+
i.length && J(i);
|
|
2467
2489
|
});
|
|
2468
2490
|
}
|
|
2469
|
-
function
|
|
2470
|
-
let n =
|
|
2491
|
+
function St(e, t) {
|
|
2492
|
+
let n = P(m.wrapper, e), i = n.length, a = T.isActive() || E.isActive(), o = !1, s = !1;
|
|
2471
2493
|
if (i) {
|
|
2472
2494
|
r.loop && (t >= i && (o = !0), t %= i, t < 0 && (t = i + t, s = !0)), t = Math.max(Math.min(t, i - 1), 0);
|
|
2473
2495
|
for (let e = 0; e < i; e++) {
|
|
2474
|
-
let i = n[e], c = r.rtl && !
|
|
2496
|
+
let i = n[e], c = r.rtl && !G(i);
|
|
2475
2497
|
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) {
|
|
2476
2498
|
i.classList.add("present");
|
|
2477
2499
|
continue;
|
|
2478
2500
|
}
|
|
2479
|
-
e < t ? (i.classList.add(c ? "future" : "past"), r.fragments &&
|
|
2501
|
+
e < t ? (i.classList.add(c ? "future" : "past"), r.fragments && Y(i)) : e > t ? (i.classList.add(c ? "past" : "future"), r.fragments && Ct(i)) : e === t && r.fragments && (o ? Ct(i) : s && Y(i));
|
|
2480
2502
|
}
|
|
2481
2503
|
let e = n[t], c = e.classList.contains("present");
|
|
2482
|
-
e.classList.add("present"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), c ||
|
|
2504
|
+
e.classList.add("present"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), c || H({
|
|
2483
2505
|
target: e,
|
|
2484
2506
|
type: "visible",
|
|
2485
2507
|
bubbles: !1
|
|
@@ -2489,25 +2511,25 @@ function it(e, t) {
|
|
|
2489
2511
|
} else t = 0;
|
|
2490
2512
|
return t;
|
|
2491
2513
|
}
|
|
2492
|
-
function
|
|
2493
|
-
|
|
2514
|
+
function Y(e) {
|
|
2515
|
+
P(e, ".fragment").forEach((e) => {
|
|
2494
2516
|
e.classList.add("visible"), e.classList.remove("current-fragment");
|
|
2495
2517
|
});
|
|
2496
2518
|
}
|
|
2497
|
-
function
|
|
2498
|
-
|
|
2519
|
+
function Ct(e) {
|
|
2520
|
+
P(e, ".fragment.visible").forEach((e) => {
|
|
2499
2521
|
e.classList.remove("visible", "current-fragment");
|
|
2500
2522
|
});
|
|
2501
2523
|
}
|
|
2502
|
-
function
|
|
2524
|
+
function wt() {
|
|
2503
2525
|
let e = At(), t = e.length, n, i;
|
|
2504
2526
|
if (t && o !== void 0) {
|
|
2505
|
-
let a =
|
|
2506
|
-
|
|
2527
|
+
let a = O.isActive(), c = a ? 10 : r.viewDistance;
|
|
2528
|
+
he && (c = a ? 6 : r.mobileViewDistance), E.isActive() && (c = Number.MAX_VALUE);
|
|
2507
2529
|
for (let l = 0; l < t; l++) {
|
|
2508
|
-
let u = e[l], d =
|
|
2530
|
+
let u = e[l], d = P(u, "section"), f = d.length;
|
|
2509
2531
|
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) {
|
|
2510
|
-
let e = a ? 0 :
|
|
2532
|
+
let e = a ? 0 : ot(u);
|
|
2511
2533
|
for (let t = 0; t < f; t++) {
|
|
2512
2534
|
let r = d[t];
|
|
2513
2535
|
i = Math.abs(l === (o || 0) ? (s || 0) - t : t - e), n + i < c ? x.load(r) : x.unload(r);
|
|
@@ -2516,16 +2538,20 @@ function it(e, t) {
|
|
|
2516
2538
|
}
|
|
2517
2539
|
Pt() ? m.wrapper.classList.add("has-vertical-slides") : m.wrapper.classList.remove("has-vertical-slides"), Nt() ? m.wrapper.classList.add("has-horizontal-slides") : m.wrapper.classList.remove("has-horizontal-slides");
|
|
2518
2540
|
}
|
|
2541
|
+
let a = O.isActive() || T.isActive() || E.isActive();
|
|
2542
|
+
P(m.wrapper, B).forEach((e) => {
|
|
2543
|
+
e.toggleAttribute("inert", !a && e !== l && !e.contains(l));
|
|
2544
|
+
});
|
|
2519
2545
|
}
|
|
2520
|
-
function
|
|
2521
|
-
let t = m.wrapper.querySelectorAll(
|
|
2546
|
+
function Tt({ includeFragments: e = !1 } = {}) {
|
|
2547
|
+
let t = m.wrapper.querySelectorAll(xe), n = m.wrapper.querySelectorAll(Se), i = {
|
|
2522
2548
|
left: o > 0,
|
|
2523
2549
|
right: o < t.length - 1,
|
|
2524
2550
|
up: s > 0,
|
|
2525
2551
|
down: s < n.length - 1
|
|
2526
2552
|
};
|
|
2527
2553
|
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) {
|
|
2528
|
-
let e =
|
|
2554
|
+
let e = D.availableRoutes();
|
|
2529
2555
|
i.left = i.left || e.prev, i.up = i.up || e.prev, i.down = i.down || e.next, i.right = i.right || e.next;
|
|
2530
2556
|
}
|
|
2531
2557
|
if (r.rtl) {
|
|
@@ -2563,8 +2589,8 @@ function it(e, t) {
|
|
|
2563
2589
|
if (e) {
|
|
2564
2590
|
if (T.isActive()) t = parseInt(e.getAttribute("data-index-h"), 10), e.getAttribute("data-index-v") && (n = parseInt(e.getAttribute("data-index-v"), 10));
|
|
2565
2591
|
else {
|
|
2566
|
-
let r =
|
|
2567
|
-
t = Math.max(a.indexOf(i), 0), n = void 0, r && (n = Math.max(
|
|
2592
|
+
let r = G(e), i = r ? e.parentNode : e, a = At();
|
|
2593
|
+
t = Math.max(a.indexOf(i), 0), n = void 0, r && (n = Math.max(P(e.parentNode, "section").indexOf(e), 0));
|
|
2568
2594
|
}
|
|
2569
2595
|
}
|
|
2570
2596
|
if (!e && l && l.querySelectorAll(".fragment").length > 0) {
|
|
@@ -2578,16 +2604,16 @@ function it(e, t) {
|
|
|
2578
2604
|
};
|
|
2579
2605
|
}
|
|
2580
2606
|
function kt() {
|
|
2581
|
-
return
|
|
2607
|
+
return P(m.wrapper, B + ":not(.stack):not([data-visibility=\"uncounted\"])");
|
|
2582
2608
|
}
|
|
2583
2609
|
function At() {
|
|
2584
|
-
return
|
|
2610
|
+
return P(m.wrapper, xe);
|
|
2585
2611
|
}
|
|
2586
2612
|
function jt() {
|
|
2587
|
-
return
|
|
2613
|
+
return P(m.wrapper, ".slides>section>section");
|
|
2588
2614
|
}
|
|
2589
2615
|
function Mt() {
|
|
2590
|
-
return
|
|
2616
|
+
return P(m.wrapper, xe + ".stack");
|
|
2591
2617
|
}
|
|
2592
2618
|
function Nt() {
|
|
2593
2619
|
return At().length > 1;
|
|
@@ -2618,27 +2644,27 @@ function it(e, t) {
|
|
|
2618
2644
|
}
|
|
2619
2645
|
function zt() {
|
|
2620
2646
|
let e = Ot();
|
|
2621
|
-
return
|
|
2647
|
+
return U({
|
|
2622
2648
|
indexh: e.h,
|
|
2623
2649
|
indexv: e.v,
|
|
2624
2650
|
indexf: e.f,
|
|
2625
2651
|
paused: mt(),
|
|
2626
|
-
overview:
|
|
2627
|
-
},
|
|
2652
|
+
overview: O.isActive()
|
|
2653
|
+
}, N.getState());
|
|
2628
2654
|
}
|
|
2629
2655
|
function Bt(e) {
|
|
2630
2656
|
if (typeof e == "object") {
|
|
2631
|
-
|
|
2632
|
-
let t =
|
|
2633
|
-
typeof t == "boolean" && t !== mt() && pt(t), typeof n == "boolean" && n !==
|
|
2657
|
+
K(ae(e.indexh), ae(e.indexv), ae(e.indexf));
|
|
2658
|
+
let t = ae(e.paused), n = ae(e.overview);
|
|
2659
|
+
typeof t == "boolean" && t !== mt() && pt(t), typeof n == "boolean" && n !== O.isActive() && O.toggle(n), N.setState(e);
|
|
2634
2660
|
}
|
|
2635
2661
|
}
|
|
2636
2662
|
function Vt() {
|
|
2637
2663
|
if (Ht(), l && r.autoSlide !== !1) {
|
|
2638
2664
|
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");
|
|
2639
|
-
t ? g = parseInt(t, 10) : i ? g = parseInt(i, 10) : n ? g = parseInt(n, 10) : (g = r.autoSlide, l.querySelectorAll(".fragment").length === 0 &&
|
|
2665
|
+
t ? g = parseInt(t, 10) : i ? g = parseInt(i, 10) : n ? g = parseInt(n, 10) : (g = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && P(l, "video, audio").forEach((e) => {
|
|
2640
2666
|
e.hasAttribute("data-autoplay") && g && e.duration * 1e3 / e.playbackRate > g && (g = e.duration * 1e3 / e.playbackRate + 1e3);
|
|
2641
|
-
})), g && !b && !mt() && !
|
|
2667
|
+
})), g && !b && !mt() && !O.isActive() && (!ut() || D.availableRoutes().next || r.loop === !0) && (v = setTimeout(() => {
|
|
2642
2668
|
typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : Xt(), Vt();
|
|
2643
2669
|
}, g), y = Date.now()), _ && _.setPlaying(v !== -1);
|
|
2644
2670
|
}
|
|
@@ -2647,44 +2673,44 @@ function it(e, t) {
|
|
|
2647
2673
|
clearTimeout(v), v = -1;
|
|
2648
2674
|
}
|
|
2649
2675
|
function Ut() {
|
|
2650
|
-
g && !b && (b = !0,
|
|
2676
|
+
g && !b && (b = !0, H({ type: "autoslidepaused" }), clearTimeout(v), _ && _.setPlaying(!1));
|
|
2651
2677
|
}
|
|
2652
2678
|
function Wt() {
|
|
2653
|
-
g && b && (b = !1,
|
|
2679
|
+
g && b && (b = !1, H({ type: "autoslideresumed" }), Vt());
|
|
2654
2680
|
}
|
|
2655
2681
|
function Gt({ skipFragments: e = !1 } = {}) {
|
|
2656
2682
|
if (u.hasNavigatedHorizontally = !0, T.isActive()) return T.prev();
|
|
2657
|
-
r.rtl ? (
|
|
2683
|
+
r.rtl ? (O.isActive() || e || D.next() === !1) && Tt().left && K(o + 1, r.navigationMode === "grid" ? s : void 0) : (O.isActive() || e || D.prev() === !1) && Tt().left && K(o - 1, r.navigationMode === "grid" ? s : void 0);
|
|
2658
2684
|
}
|
|
2659
2685
|
function Kt({ skipFragments: e = !1 } = {}) {
|
|
2660
2686
|
if (u.hasNavigatedHorizontally = !0, T.isActive()) return T.next();
|
|
2661
|
-
r.rtl ? (
|
|
2687
|
+
r.rtl ? (O.isActive() || e || D.prev() === !1) && Tt().right && K(o - 1, r.navigationMode === "grid" ? s : void 0) : (O.isActive() || e || D.next() === !1) && Tt().right && K(o + 1, r.navigationMode === "grid" ? s : void 0);
|
|
2662
2688
|
}
|
|
2663
2689
|
function qt({ skipFragments: e = !1 } = {}) {
|
|
2664
2690
|
if (T.isActive()) return T.prev();
|
|
2665
|
-
(
|
|
2691
|
+
(O.isActive() || e || D.prev() === !1) && Tt().up && K(o, s - 1);
|
|
2666
2692
|
}
|
|
2667
2693
|
function Jt({ skipFragments: e = !1 } = {}) {
|
|
2668
2694
|
if (u.hasNavigatedVertically = !0, T.isActive()) return T.next();
|
|
2669
|
-
(
|
|
2695
|
+
(O.isActive() || e || D.next() === !1) && Tt().down && K(o, s + 1);
|
|
2670
2696
|
}
|
|
2671
2697
|
function Yt({ skipFragments: e = !1 } = {}) {
|
|
2672
2698
|
if (T.isActive()) return T.prev();
|
|
2673
|
-
if (e ||
|
|
2674
|
-
if (
|
|
2699
|
+
if (e || D.prev() === !1) {
|
|
2700
|
+
if (Tt().up) qt({ skipFragments: e });
|
|
2675
2701
|
else {
|
|
2676
2702
|
let t;
|
|
2677
|
-
if (t = r.rtl ?
|
|
2703
|
+
if (t = r.rtl ? P(m.wrapper, xe + ".future").pop() : P(m.wrapper, xe + ".past").pop(), t && t.classList.contains("stack")) {
|
|
2678
2704
|
let e = t.querySelectorAll("section").length - 1 || void 0;
|
|
2679
|
-
|
|
2705
|
+
K(o - 1, e);
|
|
2680
2706
|
} else r.rtl ? Kt({ skipFragments: e }) : Gt({ skipFragments: e });
|
|
2681
2707
|
}
|
|
2682
2708
|
}
|
|
2683
2709
|
}
|
|
2684
2710
|
function Xt({ skipFragments: e = !1 } = {}) {
|
|
2685
2711
|
if (u.hasNavigatedHorizontally = !0, u.hasNavigatedVertically = !0, T.isActive()) return T.next();
|
|
2686
|
-
if (e ||
|
|
2687
|
-
let t =
|
|
2712
|
+
if (e || D.next() === !1) {
|
|
2713
|
+
let t = Tt();
|
|
2688
2714
|
t.down && t.right && r.loop && ct() && (t.down = !1), t.down ? Jt({ skipFragments: e }) : r.rtl ? Gt({ skipFragments: e }) : Kt({ skipFragments: e });
|
|
2689
2715
|
}
|
|
2690
2716
|
}
|
|
@@ -2694,9 +2720,9 @@ function it(e, t) {
|
|
|
2694
2720
|
function Qt(e) {
|
|
2695
2721
|
let t = e.data;
|
|
2696
2722
|
if (typeof t == "string" && t.charAt(0) === "{" && t.charAt(t.length - 1) === "}" && (t = JSON.parse(t), t.method && typeof n[t.method] == "function")) {
|
|
2697
|
-
if (
|
|
2723
|
+
if (we.test(t.method) === !1) {
|
|
2698
2724
|
let e = n[t.method].apply(n, t.args);
|
|
2699
|
-
|
|
2725
|
+
Ye("callback", {
|
|
2700
2726
|
method: t.method,
|
|
2701
2727
|
result: e
|
|
2702
2728
|
});
|
|
@@ -2704,7 +2730,7 @@ function it(e, t) {
|
|
|
2704
2730
|
}
|
|
2705
2731
|
}
|
|
2706
2732
|
function $t(e) {
|
|
2707
|
-
h === "running" && /section/gi.test(e.target.nodeName) && (h = "idle",
|
|
2733
|
+
h === "running" && /section/gi.test(e.target.nodeName) && (h = "idle", H({
|
|
2708
2734
|
type: "slidetransitionend",
|
|
2709
2735
|
data: {
|
|
2710
2736
|
indexh: o,
|
|
@@ -2715,14 +2741,14 @@ function it(e, t) {
|
|
|
2715
2741
|
}));
|
|
2716
2742
|
}
|
|
2717
2743
|
function en(e) {
|
|
2718
|
-
let t =
|
|
2744
|
+
let t = I(e.target, "a[href^=\"#\"]");
|
|
2719
2745
|
if (t) {
|
|
2720
|
-
let r = t.getAttribute("href"), i =
|
|
2746
|
+
let r = t.getAttribute("href"), i = A.getIndicesFromHash(r);
|
|
2721
2747
|
i && (n.slide(i.h, i.v, i.f), e.preventDefault());
|
|
2722
2748
|
}
|
|
2723
2749
|
}
|
|
2724
2750
|
function tn(e) {
|
|
2725
|
-
|
|
2751
|
+
Xe();
|
|
2726
2752
|
}
|
|
2727
2753
|
function nn(e) {
|
|
2728
2754
|
document.hidden === !1 && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
|
|
@@ -2733,17 +2759,17 @@ function it(e, t) {
|
|
|
2733
2759
|
}, 1));
|
|
2734
2760
|
}
|
|
2735
2761
|
function an(e) {
|
|
2736
|
-
ut() && r.loop === !1 ? (
|
|
2762
|
+
ut() && r.loop === !1 ? (K(0, 0), Wt()) : b ? Wt() : Ut();
|
|
2737
2763
|
}
|
|
2738
2764
|
let on = {
|
|
2739
|
-
VERSION:
|
|
2740
|
-
initialize:
|
|
2741
|
-
configure:
|
|
2742
|
-
destroy:
|
|
2743
|
-
sync:
|
|
2744
|
-
syncSlide:
|
|
2745
|
-
syncFragments:
|
|
2746
|
-
slide:
|
|
2765
|
+
VERSION: it,
|
|
2766
|
+
initialize: de,
|
|
2767
|
+
configure: ke,
|
|
2768
|
+
destroy: Ne,
|
|
2769
|
+
sync: q,
|
|
2770
|
+
syncSlide: bt,
|
|
2771
|
+
syncFragments: D.sync.bind(D),
|
|
2772
|
+
slide: K,
|
|
2747
2773
|
left: Gt,
|
|
2748
2774
|
right: Kt,
|
|
2749
2775
|
up: qt,
|
|
@@ -2756,19 +2782,19 @@ function it(e, t) {
|
|
|
2756
2782
|
navigateDown: Jt,
|
|
2757
2783
|
navigatePrev: Yt,
|
|
2758
2784
|
navigateNext: Xt,
|
|
2759
|
-
navigateFragment:
|
|
2760
|
-
prevFragment:
|
|
2761
|
-
nextFragment:
|
|
2762
|
-
on:
|
|
2763
|
-
off:
|
|
2764
|
-
addEventListener:
|
|
2765
|
-
removeEventListener:
|
|
2766
|
-
layout:
|
|
2767
|
-
shuffle:
|
|
2768
|
-
availableRoutes:
|
|
2769
|
-
availableFragments:
|
|
2770
|
-
toggleHelp:
|
|
2771
|
-
toggleOverview:
|
|
2785
|
+
navigateFragment: D.goto.bind(D),
|
|
2786
|
+
prevFragment: D.prev.bind(D),
|
|
2787
|
+
nextFragment: D.next.bind(D),
|
|
2788
|
+
on: Pe,
|
|
2789
|
+
off: Ie,
|
|
2790
|
+
addEventListener: Pe,
|
|
2791
|
+
removeEventListener: Ie,
|
|
2792
|
+
layout: Xe,
|
|
2793
|
+
shuffle: J,
|
|
2794
|
+
availableRoutes: Tt,
|
|
2795
|
+
availableFragments: D.availableRoutes.bind(D),
|
|
2796
|
+
toggleHelp: N.toggleHelp.bind(N),
|
|
2797
|
+
toggleOverview: O.toggle.bind(O),
|
|
2772
2798
|
toggleScrollView: T.toggle.bind(T),
|
|
2773
2799
|
togglePause: pt,
|
|
2774
2800
|
toggleAutoSlide: gt,
|
|
@@ -2776,29 +2802,29 @@ function it(e, t) {
|
|
|
2776
2802
|
isFirstSlide: lt,
|
|
2777
2803
|
isLastSlide: ut,
|
|
2778
2804
|
isLastVerticalSlide: ct,
|
|
2779
|
-
isVerticalSlide:
|
|
2805
|
+
isVerticalSlide: G,
|
|
2780
2806
|
isVerticalStack: st,
|
|
2781
2807
|
isPaused: mt,
|
|
2782
2808
|
isAutoSliding: _t,
|
|
2783
|
-
isSpeakerNotes:
|
|
2784
|
-
isOverview:
|
|
2785
|
-
isFocused:
|
|
2786
|
-
isOverlayOpen:
|
|
2809
|
+
isSpeakerNotes: L.isSpeakerNotesWindow.bind(L),
|
|
2810
|
+
isOverview: O.isActive.bind(O),
|
|
2811
|
+
isFocused: F.isFocused.bind(F),
|
|
2812
|
+
isOverlayOpen: N.isOpen.bind(N),
|
|
2787
2813
|
isScrollView: T.isActive.bind(T),
|
|
2788
|
-
isPrintView:
|
|
2814
|
+
isPrintView: E.isActive.bind(E),
|
|
2789
2815
|
isReady: () => a,
|
|
2790
2816
|
loadSlide: x.load.bind(x),
|
|
2791
2817
|
unloadSlide: x.unload.bind(x),
|
|
2792
2818
|
startEmbeddedContent: () => x.startEmbeddedContent(l),
|
|
2793
2819
|
stopEmbeddedContent: () => x.stopEmbeddedContent(l, { unloadIframes: !1 }),
|
|
2794
|
-
previewIframe:
|
|
2795
|
-
previewImage:
|
|
2796
|
-
previewVideo:
|
|
2797
|
-
showPreview:
|
|
2798
|
-
hidePreview:
|
|
2799
|
-
addEventListeners:
|
|
2800
|
-
removeEventListeners:
|
|
2801
|
-
dispatchEvent:
|
|
2820
|
+
previewIframe: N.previewIframe.bind(N),
|
|
2821
|
+
previewImage: N.previewImage.bind(N),
|
|
2822
|
+
previewVideo: N.previewVideo.bind(N),
|
|
2823
|
+
showPreview: N.previewIframe.bind(N),
|
|
2824
|
+
hidePreview: N.close.bind(N),
|
|
2825
|
+
addEventListeners: je,
|
|
2826
|
+
removeEventListeners: Me,
|
|
2827
|
+
dispatchEvent: H,
|
|
2802
2828
|
getState: zt,
|
|
2803
2829
|
setState: Bt,
|
|
2804
2830
|
getProgress: Dt,
|
|
@@ -2810,7 +2836,7 @@ function it(e, t) {
|
|
|
2810
2836
|
getPreviousSlide: () => c,
|
|
2811
2837
|
getCurrentSlide: () => l,
|
|
2812
2838
|
getSlideBackground: Rt,
|
|
2813
|
-
getSlideNotes:
|
|
2839
|
+
getSlideNotes: L.getSlideNotes.bind(L),
|
|
2814
2840
|
getSlides: kt,
|
|
2815
2841
|
getHorizontalSlides: At,
|
|
2816
2842
|
getVerticalSlides: jt,
|
|
@@ -2818,55 +2844,55 @@ function it(e, t) {
|
|
|
2818
2844
|
hasVerticalSlides: Pt,
|
|
2819
2845
|
hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
|
|
2820
2846
|
hasNavigatedVertically: () => u.hasNavigatedVertically,
|
|
2821
|
-
shouldAutoAnimateBetween:
|
|
2822
|
-
addKeyBinding:
|
|
2823
|
-
removeKeyBinding:
|
|
2824
|
-
triggerKey:
|
|
2825
|
-
registerKeyboardShortcut:
|
|
2826
|
-
getComputedSlideSize:
|
|
2827
|
-
setCurrentScrollPage:
|
|
2828
|
-
removeHiddenSlides:
|
|
2847
|
+
shouldAutoAnimateBetween: vt,
|
|
2848
|
+
addKeyBinding: k.addKeyBinding.bind(k),
|
|
2849
|
+
removeKeyBinding: k.removeKeyBinding.bind(k),
|
|
2850
|
+
triggerKey: k.triggerKey.bind(k),
|
|
2851
|
+
registerKeyboardShortcut: k.registerKeyboardShortcut.bind(k),
|
|
2852
|
+
getComputedSlideSize: at,
|
|
2853
|
+
setCurrentScrollPage: yt,
|
|
2854
|
+
removeHiddenSlides: R,
|
|
2829
2855
|
getScale: () => f,
|
|
2830
2856
|
getConfig: () => r,
|
|
2831
|
-
getQueryHash:
|
|
2832
|
-
getSlidePath:
|
|
2857
|
+
getQueryHash: le,
|
|
2858
|
+
getSlidePath: A.getHash.bind(A),
|
|
2833
2859
|
getRevealElement: () => e,
|
|
2834
2860
|
getSlidesElement: () => m.slides,
|
|
2835
2861
|
getViewportElement: () => m.viewport,
|
|
2836
2862
|
getBackgroundsElement: () => w.element,
|
|
2837
|
-
registerPlugin:
|
|
2838
|
-
hasPlugin:
|
|
2839
|
-
getPlugin:
|
|
2840
|
-
getPlugins:
|
|
2863
|
+
registerPlugin: M.registerPlugin.bind(M),
|
|
2864
|
+
hasPlugin: M.hasPlugin.bind(M),
|
|
2865
|
+
getPlugin: M.getPlugin.bind(M),
|
|
2866
|
+
getPlugins: M.getRegisteredPlugins.bind(M)
|
|
2841
2867
|
};
|
|
2842
|
-
return
|
|
2843
|
-
announceStatus:
|
|
2844
|
-
getStatusText:
|
|
2845
|
-
focus:
|
|
2868
|
+
return re(n, U(U({}, on), {}, {
|
|
2869
|
+
announceStatus: ve,
|
|
2870
|
+
getStatusText: ye,
|
|
2871
|
+
focus: F,
|
|
2846
2872
|
scroll: T,
|
|
2847
|
-
progress:
|
|
2848
|
-
controls:
|
|
2849
|
-
location:
|
|
2850
|
-
overview:
|
|
2851
|
-
keyboard:
|
|
2852
|
-
fragments:
|
|
2873
|
+
progress: ne,
|
|
2874
|
+
controls: te,
|
|
2875
|
+
location: A,
|
|
2876
|
+
overview: O,
|
|
2877
|
+
keyboard: k,
|
|
2878
|
+
fragments: D,
|
|
2853
2879
|
backgrounds: w,
|
|
2854
2880
|
slideContent: x,
|
|
2855
2881
|
slideNumber: S,
|
|
2856
2882
|
onUserInput: Zt,
|
|
2857
|
-
closeOverlay:
|
|
2858
|
-
updateSlidesVisibility:
|
|
2883
|
+
closeOverlay: N.close.bind(N),
|
|
2884
|
+
updateSlidesVisibility: wt,
|
|
2859
2885
|
layoutSlideContents: Qe,
|
|
2860
|
-
transformSlides:
|
|
2886
|
+
transformSlides: Le,
|
|
2861
2887
|
cueAutoSlide: Vt,
|
|
2862
2888
|
cancelAutoSlide: Ht
|
|
2863
2889
|
})), on;
|
|
2864
2890
|
}
|
|
2865
|
-
var W =
|
|
2891
|
+
var W = at, ot = [];
|
|
2866
2892
|
W.initialize = (e) => {
|
|
2867
2893
|
let t = document.querySelector(".reveal");
|
|
2868
2894
|
if (!(t instanceof HTMLElement)) throw Error("Unable to find presentation root (<div class=\"reveal\">).");
|
|
2869
|
-
return Object.assign(W, new
|
|
2895
|
+
return Object.assign(W, new at(t, e)), ot.map((e) => e(W)), W.initialize();
|
|
2870
2896
|
}, [
|
|
2871
2897
|
"configure",
|
|
2872
2898
|
"on",
|
|
@@ -2876,13 +2902,13 @@ W.initialize = (e) => {
|
|
|
2876
2902
|
"registerPlugin"
|
|
2877
2903
|
].forEach((e) => {
|
|
2878
2904
|
W[e] = (...t) => {
|
|
2879
|
-
|
|
2905
|
+
ot.push((n) => n[e].call(null, ...t));
|
|
2880
2906
|
};
|
|
2881
|
-
}), W.isReady = () => !1, W.VERSION =
|
|
2907
|
+
}), W.isReady = () => !1, W.VERSION = it;
|
|
2882
2908
|
//#endregion
|
|
2883
|
-
//#region ../node_modules/.pnpm/@revealjs+react@0.2.
|
|
2884
|
-
var G = T(),
|
|
2885
|
-
function
|
|
2909
|
+
//#region ../node_modules/.pnpm/@revealjs+react@0.2.2_react-dom@19.3.0_react@19.3.0__react@19.3.0_reveal.js@6.0.2/node_modules/@revealjs/react/dist/index.mjs
|
|
2910
|
+
var G = T(), st = (0, M.createContext)(null), ct = [];
|
|
2911
|
+
function lt(e, t) {
|
|
2886
2912
|
if (e === t) return !1;
|
|
2887
2913
|
if (!e || !t) return e !== t;
|
|
2888
2914
|
let n = Object.keys(e), r = Object.keys(t);
|
|
@@ -2890,43 +2916,43 @@ function ct(e, t) {
|
|
|
2890
2916
|
for (let r of n) if (!(r in t) || e[r] !== t[r]) return !0;
|
|
2891
2917
|
return !1;
|
|
2892
2918
|
}
|
|
2893
|
-
function
|
|
2919
|
+
function ut(e, t) {
|
|
2894
2920
|
e && (typeof e == "function" ? e(t) : e.current = t);
|
|
2895
2921
|
}
|
|
2896
|
-
function
|
|
2922
|
+
function dt(e) {
|
|
2897
2923
|
return e.tagName === "SECTION";
|
|
2898
2924
|
}
|
|
2899
|
-
function
|
|
2900
|
-
return Array.from(e.children).filter(
|
|
2925
|
+
function ft(e, t, n) {
|
|
2926
|
+
return Array.from(e.children).filter(dt).map((e) => {
|
|
2901
2927
|
let r = t.get(e);
|
|
2902
2928
|
r === void 0 && (r = n.current++, t.set(e, r));
|
|
2903
|
-
let i =
|
|
2929
|
+
let i = ft(e, t, n);
|
|
2904
2930
|
return i.length > 0 ? [r, i] : r;
|
|
2905
2931
|
});
|
|
2906
2932
|
}
|
|
2907
|
-
function
|
|
2908
|
-
return e ? JSON.stringify(
|
|
2933
|
+
function pt(e, t, n) {
|
|
2934
|
+
return e ? JSON.stringify(ft(e, t, n)) : "[]";
|
|
2909
2935
|
}
|
|
2910
|
-
function
|
|
2911
|
-
let _ = (0,
|
|
2912
|
-
return (0,
|
|
2913
|
-
if (
|
|
2936
|
+
function mt({ config: e, plugins: t = ct, 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 }) {
|
|
2937
|
+
let _ = (0, M.useRef)(null), v = (0, M.useRef)(null), y = (0, M.useRef)(null), [b, x] = (0, M.useState)(null), S = (0, M.useRef)(t), C = (0, M.useRef)(!1), ee = (0, M.useRef)(e), w = (0, M.useRef)(null), T = (0, M.useRef)(/* @__PURE__ */ new WeakMap()), E = (0, M.useRef)(1), D = (0, M.useRef)(!1), O = (0, M.useRef)(0);
|
|
2938
|
+
return (0, M.useEffect)(() => {
|
|
2939
|
+
if (D.current = !0, O.current += 1, y.current) y.current.isReady() && x(y.current);
|
|
2914
2940
|
else {
|
|
2915
2941
|
let t = new W(_.current, {
|
|
2916
2942
|
...e,
|
|
2917
2943
|
plugins: S.current
|
|
2918
2944
|
});
|
|
2919
2945
|
ee.current = e, y.current = t, t.initialize().then(() => {
|
|
2920
|
-
|
|
2946
|
+
D.current && y.current === t && (x(t), n?.(t));
|
|
2921
2947
|
});
|
|
2922
2948
|
}
|
|
2923
2949
|
return () => {
|
|
2924
|
-
|
|
2950
|
+
D.current = !1;
|
|
2925
2951
|
let e = y.current;
|
|
2926
2952
|
if (!e) return;
|
|
2927
|
-
let t = ++
|
|
2953
|
+
let t = ++O.current;
|
|
2928
2954
|
Promise.resolve().then(() => {
|
|
2929
|
-
if (!(
|
|
2955
|
+
if (!(D.current || O.current !== t) && y.current === e) {
|
|
2930
2956
|
try {
|
|
2931
2957
|
e.destroy();
|
|
2932
2958
|
} catch {}
|
|
@@ -2934,7 +2960,7 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
|
|
|
2934
2960
|
}
|
|
2935
2961
|
});
|
|
2936
2962
|
};
|
|
2937
|
-
}, []), (0,
|
|
2963
|
+
}, []), (0, M.useEffect)(() => (ut(p, b), () => ut(p, null)), [p, b]), (0, M.useEffect)(() => {
|
|
2938
2964
|
if (!b) return;
|
|
2939
2965
|
let e = [
|
|
2940
2966
|
["sync", r],
|
|
@@ -2964,18 +2990,18 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
|
|
|
2964
2990
|
u,
|
|
2965
2991
|
d,
|
|
2966
2992
|
f
|
|
2967
|
-
]), (0,
|
|
2968
|
-
|
|
2969
|
-
}, [b, e]), (0,
|
|
2993
|
+
]), (0, M.useLayoutEffect)(() => {
|
|
2994
|
+
b && y.current?.isReady() && lt(ee.current, e) && (C.current = !0, y.current.configure(e ?? {}), ee.current = e);
|
|
2995
|
+
}, [b, e]), (0, M.useLayoutEffect)(() => {
|
|
2970
2996
|
let e = C.current;
|
|
2971
2997
|
C.current = !1;
|
|
2972
|
-
let t =
|
|
2998
|
+
let t = pt(v.current, T.current, E);
|
|
2973
2999
|
if (e) {
|
|
2974
3000
|
w.current = t;
|
|
2975
3001
|
return;
|
|
2976
3002
|
}
|
|
2977
3003
|
y.current?.isReady() && w.current !== t && (y.current.sync(), w.current = t);
|
|
2978
|
-
}), /* @__PURE__ */ (0, G.jsx)(
|
|
3004
|
+
}), /* @__PURE__ */ (0, G.jsx)(st.Provider, {
|
|
2979
3005
|
value: b,
|
|
2980
3006
|
children: /* @__PURE__ */ (0, G.jsx)("div", {
|
|
2981
3007
|
className: m ? `reveal ${m}` : "reveal",
|
|
@@ -2989,7 +3015,7 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
|
|
|
2989
3015
|
})
|
|
2990
3016
|
});
|
|
2991
3017
|
}
|
|
2992
|
-
var
|
|
3018
|
+
var ht = {
|
|
2993
3019
|
background: "data-background",
|
|
2994
3020
|
backgroundImage: "data-background-image",
|
|
2995
3021
|
backgroundVideo: "data-background-video",
|
|
@@ -3018,12 +3044,12 @@ var mt = {
|
|
|
3018
3044
|
backgroundInteractive: "data-background-interactive",
|
|
3019
3045
|
preload: "data-preload"
|
|
3020
3046
|
};
|
|
3021
|
-
function
|
|
3047
|
+
function gt(e) {
|
|
3022
3048
|
return JSON.stringify(Object.entries(e).filter(([e]) => e.startsWith("data-")).sort(([e], [t]) => e.localeCompare(t)));
|
|
3023
3049
|
}
|
|
3024
|
-
function
|
|
3050
|
+
function _t(e, t) {
|
|
3025
3051
|
let n = { ...e }, r = n;
|
|
3026
|
-
for (let [e, n] of Object.entries(
|
|
3052
|
+
for (let [e, n] of Object.entries(ht)) {
|
|
3027
3053
|
if (r[n] !== void 0) continue;
|
|
3028
3054
|
let i = t[e];
|
|
3029
3055
|
if (i !== void 0) {
|
|
@@ -3036,8 +3062,8 @@ function gt(e, t) {
|
|
|
3036
3062
|
}
|
|
3037
3063
|
return n;
|
|
3038
3064
|
}
|
|
3039
|
-
function
|
|
3040
|
-
let
|
|
3065
|
+
function K({ 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: ee, notes: w, backgroundInteractive: T, preload: E, ...D }) {
|
|
3066
|
+
let O = (0, M.useContext)(st), k = (0, M.useRef)(null), A = (0, M.useRef)(null), te = (0, M.useRef)(null), ne = _t(D, {
|
|
3041
3067
|
background: t,
|
|
3042
3068
|
backgroundImage: n,
|
|
3043
3069
|
backgroundVideo: r,
|
|
@@ -3064,21 +3090,21 @@ function _t({ children: e, background: t, backgroundImage: n, backgroundVideo: r
|
|
|
3064
3090
|
autoSlide: ee,
|
|
3065
3091
|
notes: w,
|
|
3066
3092
|
backgroundInteractive: T,
|
|
3067
|
-
preload:
|
|
3068
|
-
}),
|
|
3069
|
-
return (0,
|
|
3070
|
-
let e =
|
|
3071
|
-
if (!
|
|
3072
|
-
if (
|
|
3073
|
-
|
|
3093
|
+
preload: E
|
|
3094
|
+
}), j = gt(ne);
|
|
3095
|
+
return (0, M.useLayoutEffect)(() => {
|
|
3096
|
+
let e = k.current;
|
|
3097
|
+
if (!O || !e || typeof O.syncSlide != "function") return;
|
|
3098
|
+
if (A.current !== O) {
|
|
3099
|
+
A.current = O, te.current = j;
|
|
3074
3100
|
return;
|
|
3075
3101
|
}
|
|
3076
|
-
if (
|
|
3077
|
-
let t =
|
|
3078
|
-
t && n || (
|
|
3079
|
-
}, [
|
|
3080
|
-
ref:
|
|
3081
|
-
...
|
|
3102
|
+
if (j === "[]") return;
|
|
3103
|
+
let t = A.current === O, n = te.current === j;
|
|
3104
|
+
t && n || (O.syncSlide(e), A.current = O, te.current = j);
|
|
3105
|
+
}, [O, j]), /* @__PURE__ */ (0, G.jsx)("section", {
|
|
3106
|
+
ref: k,
|
|
3107
|
+
...ne,
|
|
3082
3108
|
children: e
|
|
3083
3109
|
});
|
|
3084
3110
|
}
|
|
@@ -3103,16 +3129,16 @@ function yt() {
|
|
|
3103
3129
|
walkTokens: null
|
|
3104
3130
|
};
|
|
3105
3131
|
}
|
|
3106
|
-
var
|
|
3107
|
-
function
|
|
3108
|
-
|
|
3132
|
+
var q = yt();
|
|
3133
|
+
function bt(e) {
|
|
3134
|
+
q = e;
|
|
3109
3135
|
}
|
|
3110
|
-
var
|
|
3111
|
-
function
|
|
3136
|
+
var xt = { exec: () => null };
|
|
3137
|
+
function J(e, t = "") {
|
|
3112
3138
|
let n = typeof e == "string" ? e : e.source, r = {
|
|
3113
3139
|
replace: (e, t) => {
|
|
3114
3140
|
let i = typeof t == "string" ? t : t.source;
|
|
3115
|
-
return i = i.replace(
|
|
3141
|
+
return i = i.replace(Y.caret, "$1"), n = n.replace(e, i), r;
|
|
3116
3142
|
},
|
|
3117
3143
|
getRegex: () => new RegExp(n, t)
|
|
3118
3144
|
};
|
|
@@ -3124,7 +3150,7 @@ var St = (() => {
|
|
|
3124
3150
|
} catch {
|
|
3125
3151
|
return !1;
|
|
3126
3152
|
}
|
|
3127
|
-
})(),
|
|
3153
|
+
})(), Y = {
|
|
3128
3154
|
codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
|
|
3129
3155
|
outputLinkReplace: /\\([\[\]])/g,
|
|
3130
3156
|
indentCodeCompensation: /^(\s+)(?:```)/,
|
|
@@ -3181,117 +3207,117 @@ var St = (() => {
|
|
|
3181
3207
|
headingBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}#`),
|
|
3182
3208
|
htmlBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}<(?:[a-z].*>|!--)`, "i"),
|
|
3183
3209
|
blockquoteBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}>`)
|
|
3184
|
-
}, Ct = /^(?:[ \t]*(?:\n|$))+/, wt = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Tt = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
|
|
3185
|
-
blockquote:
|
|
3210
|
+
}, Ct = /^(?:[ \t]*(?:\n|$))+/, wt = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Tt = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, Et = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Dt = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Ot = / {0,3}(?:[*+-]|\d{1,9}[.)])/, kt = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, At = J(kt).replace(/bull/g, Ot).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(), jt = J(kt).replace(/bull/g, Ot).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(), Mt = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Nt = /^[^\n]+/, Pt = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Ft = J(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Pt).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), It = J(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Ot).getRegex(), Lt = "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", Rt = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, zt = 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", Rt).replace("tag", Lt).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Bt = J(Mt).replace("hr", Et).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", Lt).getRegex(), Vt = {
|
|
3211
|
+
blockquote: J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Bt).getRegex(),
|
|
3186
3212
|
code: wt,
|
|
3187
|
-
def:
|
|
3213
|
+
def: Ft,
|
|
3188
3214
|
fences: Tt,
|
|
3189
|
-
heading:
|
|
3190
|
-
hr:
|
|
3191
|
-
html:
|
|
3192
|
-
lheading: kt,
|
|
3193
|
-
list: Ft,
|
|
3194
|
-
newline: Ct,
|
|
3195
|
-
paragraph: zt,
|
|
3196
|
-
table: K,
|
|
3197
|
-
text: Mt
|
|
3198
|
-
}, Vt = q("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", Y).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", It).getRegex(), Ht = {
|
|
3199
|
-
...Bt,
|
|
3215
|
+
heading: Dt,
|
|
3216
|
+
hr: Et,
|
|
3217
|
+
html: zt,
|
|
3200
3218
|
lheading: At,
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3219
|
+
list: It,
|
|
3220
|
+
newline: Ct,
|
|
3221
|
+
paragraph: Bt,
|
|
3222
|
+
table: xt,
|
|
3223
|
+
text: Nt
|
|
3224
|
+
}, Ht = J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", Et).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", Lt).getRegex(), Ut = {
|
|
3225
|
+
...Vt,
|
|
3226
|
+
lheading: jt,
|
|
3227
|
+
table: Ht,
|
|
3228
|
+
paragraph: J(Mt).replace("hr", Et).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Ht).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", Lt).getRegex()
|
|
3229
|
+
}, Wt = {
|
|
3230
|
+
...Vt,
|
|
3231
|
+
html: J("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Rt).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(),
|
|
3206
3232
|
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
3207
3233
|
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
3208
|
-
fences:
|
|
3234
|
+
fences: xt,
|
|
3209
3235
|
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
3210
|
-
paragraph:
|
|
3211
|
-
},
|
|
3212
|
-
_backpedal:
|
|
3213
|
-
anyPunctuation:
|
|
3214
|
-
autolink:
|
|
3215
|
-
blockSkip:
|
|
3216
|
-
br:
|
|
3217
|
-
code:
|
|
3218
|
-
del:
|
|
3219
|
-
delLDelim:
|
|
3220
|
-
delRDelim:
|
|
3221
|
-
emStrongLDelim: rn,
|
|
3222
|
-
emStrongRDelimAst: sn,
|
|
3223
|
-
emStrongRDelimUnd: ln,
|
|
3224
|
-
escape: Wt,
|
|
3225
|
-
link: _n,
|
|
3226
|
-
nolink: yn,
|
|
3227
|
-
punctuation: Zt,
|
|
3228
|
-
reflink: vn,
|
|
3229
|
-
reflinkSearch: bn,
|
|
3230
|
-
tag: hn,
|
|
3231
|
-
text: qt,
|
|
3232
|
-
url: K
|
|
3233
|
-
}, Cn = {
|
|
3234
|
-
...Sn,
|
|
3235
|
-
link: q(/^!?\[(label)\]\((.*?)\)/).replace("label", gn).getRegex(),
|
|
3236
|
-
reflink: q(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", gn).getRegex()
|
|
3237
|
-
}, wn = {
|
|
3238
|
-
...Sn,
|
|
3239
|
-
emStrongRDelimAst: cn,
|
|
3236
|
+
paragraph: J(Mt).replace("hr", Et).replace("heading", " *#{1,6} *[^\n]").replace("lheading", At).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
|
|
3237
|
+
}, Gt = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Kt = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, qt = /^( {2,}|\\)\n(?!\s*$)/, Jt = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Yt = /[\p{P}\p{S}]/u, Xt = /[\s\p{P}\p{S}]/u, Zt = /[^\s\p{P}\p{S}]/u, Qt = J(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Xt).getRegex(), $t = /(?!~)[\p{P}\p{S}]/u, en = /(?!~)[\s\p{P}\p{S}]/u, tn = /(?:[^\s\p{P}\p{S}]|~)/u, nn = J(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", St ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), rn = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, an = J(rn, "u").replace(/punct/g, Yt).getRegex(), on = J(rn, "u").replace(/punct/g, $t).getRegex(), sn = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", cn = J(sn, "gu").replace(/notPunctSpace/g, Zt).replace(/punctSpace/g, Xt).replace(/punct/g, Yt).getRegex(), ln = J(sn, "gu").replace(/notPunctSpace/g, tn).replace(/punctSpace/g, en).replace(/punct/g, $t).getRegex(), un = J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Zt).replace(/punctSpace/g, Xt).replace(/punct/g, Yt).getRegex(), dn = J(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, Yt).getRegex(), fn = J("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Zt).replace(/punctSpace/g, Xt).replace(/punct/g, Yt).getRegex(), pn = J(/\\(punct)/, "gu").replace(/punct/g, Yt).getRegex(), mn = 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(), hn = J(Rt).replace("(?:-->|$)", "-->").getRegex(), gn = 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", hn).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), _n = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, vn = J(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", _n).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), yn = J(/^!?\[(label)\]\[(ref)\]/).replace("label", _n).replace("ref", Pt).getRegex(), bn = J(/^!?\[(ref)\](?:\[\])?/).replace("ref", Pt).getRegex(), xn = J("reflink|nolink(?!\\()", "g").replace("reflink", yn).replace("nolink", bn).getRegex(), Sn = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Cn = {
|
|
3238
|
+
_backpedal: xt,
|
|
3239
|
+
anyPunctuation: pn,
|
|
3240
|
+
autolink: mn,
|
|
3241
|
+
blockSkip: nn,
|
|
3242
|
+
br: qt,
|
|
3243
|
+
code: Kt,
|
|
3244
|
+
del: xt,
|
|
3245
|
+
delLDelim: xt,
|
|
3246
|
+
delRDelim: xt,
|
|
3240
3247
|
emStrongLDelim: an,
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3248
|
+
emStrongRDelimAst: cn,
|
|
3249
|
+
emStrongRDelimUnd: un,
|
|
3250
|
+
escape: Gt,
|
|
3251
|
+
link: vn,
|
|
3252
|
+
nolink: bn,
|
|
3253
|
+
punctuation: Qt,
|
|
3254
|
+
reflink: yn,
|
|
3255
|
+
reflinkSearch: xn,
|
|
3256
|
+
tag: gn,
|
|
3257
|
+
text: Jt,
|
|
3258
|
+
url: xt
|
|
3259
|
+
}, wn = {
|
|
3260
|
+
...Cn,
|
|
3261
|
+
link: J(/^!?\[(label)\]\((.*?)\)/).replace("label", _n).getRegex(),
|
|
3262
|
+
reflink: J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", _n).getRegex()
|
|
3263
|
+
}, Tn = {
|
|
3264
|
+
...Cn,
|
|
3265
|
+
emStrongRDelimAst: ln,
|
|
3266
|
+
emStrongLDelim: on,
|
|
3267
|
+
delLDelim: dn,
|
|
3268
|
+
delRDelim: fn,
|
|
3269
|
+
url: J(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", Sn).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
|
|
3244
3270
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
|
3245
3271
|
del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
|
|
3246
|
-
text:
|
|
3247
|
-
}, Tn = {
|
|
3248
|
-
...wn,
|
|
3249
|
-
br: q(Kt).replace("{2,}", "*").getRegex(),
|
|
3250
|
-
text: q(wn.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
3272
|
+
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", Sn).getRegex()
|
|
3251
3273
|
}, En = {
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3274
|
+
...Tn,
|
|
3275
|
+
br: J(qt).replace("{2,}", "*").getRegex(),
|
|
3276
|
+
text: J(Tn.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
3255
3277
|
}, Dn = {
|
|
3256
|
-
normal:
|
|
3257
|
-
gfm:
|
|
3258
|
-
|
|
3259
|
-
pedantic: Cn
|
|
3278
|
+
normal: Vt,
|
|
3279
|
+
gfm: Ut,
|
|
3280
|
+
pedantic: Wt
|
|
3260
3281
|
}, On = {
|
|
3282
|
+
normal: Cn,
|
|
3283
|
+
gfm: Tn,
|
|
3284
|
+
breaks: En,
|
|
3285
|
+
pedantic: wn
|
|
3286
|
+
}, kn = {
|
|
3261
3287
|
"&": "&",
|
|
3262
3288
|
"<": "<",
|
|
3263
3289
|
">": ">",
|
|
3264
3290
|
"\"": """,
|
|
3265
3291
|
"'": "'"
|
|
3266
|
-
},
|
|
3267
|
-
function
|
|
3292
|
+
}, An = (e) => kn[e];
|
|
3293
|
+
function jn(e, t) {
|
|
3268
3294
|
if (t) {
|
|
3269
|
-
if (
|
|
3270
|
-
} else if (
|
|
3295
|
+
if (Y.escapeTest.test(e)) return e.replace(Y.escapeReplace, An);
|
|
3296
|
+
} else if (Y.escapeTestNoEncode.test(e)) return e.replace(Y.escapeReplaceNoEncode, An);
|
|
3271
3297
|
return e;
|
|
3272
3298
|
}
|
|
3273
|
-
function
|
|
3299
|
+
function Mn(e) {
|
|
3274
3300
|
try {
|
|
3275
|
-
e = encodeURI(e).replace(
|
|
3301
|
+
e = encodeURI(e).replace(Y.percentDecode, "%");
|
|
3276
3302
|
} catch {
|
|
3277
3303
|
return null;
|
|
3278
3304
|
}
|
|
3279
3305
|
return e;
|
|
3280
3306
|
}
|
|
3281
|
-
function
|
|
3282
|
-
let n = e.replace(
|
|
3307
|
+
function Nn(e, t) {
|
|
3308
|
+
let n = e.replace(Y.findPipe, (e, t, n) => {
|
|
3283
3309
|
let r = !1, i = t;
|
|
3284
3310
|
for (; --i >= 0 && n[i] === "\\";) r = !r;
|
|
3285
3311
|
return r ? "|" : " |";
|
|
3286
|
-
}).split(
|
|
3312
|
+
}).split(Y.splitPipe), r = 0;
|
|
3287
3313
|
if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), t) {
|
|
3288
3314
|
if (n.length > t) n.splice(t);
|
|
3289
3315
|
else for (; n.length < t;) n.push("");
|
|
3290
3316
|
}
|
|
3291
|
-
for (; r < n.length; r++) n[r] = n[r].trim().replace(
|
|
3317
|
+
for (; r < n.length; r++) n[r] = n[r].trim().replace(Y.slashPipe, "|");
|
|
3292
3318
|
return n;
|
|
3293
3319
|
}
|
|
3294
|
-
function
|
|
3320
|
+
function Pn(e, t, n) {
|
|
3295
3321
|
let r = e.length;
|
|
3296
3322
|
if (r === 0) return "";
|
|
3297
3323
|
let i = 0;
|
|
@@ -3303,7 +3329,7 @@ function Nn(e, t, n) {
|
|
|
3303
3329
|
}
|
|
3304
3330
|
return e.slice(0, r - i);
|
|
3305
3331
|
}
|
|
3306
|
-
function
|
|
3332
|
+
function Fn(e, t) {
|
|
3307
3333
|
if (e.indexOf(t[1]) === -1) return -1;
|
|
3308
3334
|
let n = 0;
|
|
3309
3335
|
for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
|
|
@@ -3311,7 +3337,7 @@ function Pn(e, t) {
|
|
|
3311
3337
|
else if (e[r] === t[1] && (n--, n < 0)) return r;
|
|
3312
3338
|
return n > 0 ? -2 : -1;
|
|
3313
3339
|
}
|
|
3314
|
-
function
|
|
3340
|
+
function In(e, t = 0) {
|
|
3315
3341
|
let n = t, r = "";
|
|
3316
3342
|
for (let t of e) if (t === " ") {
|
|
3317
3343
|
let e = 4 - n % 4;
|
|
@@ -3319,7 +3345,7 @@ function Fn(e, t = 0) {
|
|
|
3319
3345
|
} else r += t, n++;
|
|
3320
3346
|
return r;
|
|
3321
3347
|
}
|
|
3322
|
-
function
|
|
3348
|
+
function Ln(e, t, n, r, i) {
|
|
3323
3349
|
let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1");
|
|
3324
3350
|
r.state.inLink = !0;
|
|
3325
3351
|
let c = {
|
|
@@ -3332,7 +3358,7 @@ function In(e, t, n, r, i) {
|
|
|
3332
3358
|
};
|
|
3333
3359
|
return r.state.inLink = !1, c;
|
|
3334
3360
|
}
|
|
3335
|
-
function
|
|
3361
|
+
function Rn(e, t, n) {
|
|
3336
3362
|
let r = e.match(n.other.indentCodeCompensation);
|
|
3337
3363
|
if (r === null) return t;
|
|
3338
3364
|
let i = r[1];
|
|
@@ -3343,12 +3369,12 @@ function Ln(e, t, n) {
|
|
|
3343
3369
|
return r.length >= i.length ? e.slice(i.length) : e;
|
|
3344
3370
|
}).join("\n");
|
|
3345
3371
|
}
|
|
3346
|
-
var
|
|
3372
|
+
var zn = class {
|
|
3347
3373
|
options;
|
|
3348
3374
|
rules;
|
|
3349
3375
|
lexer;
|
|
3350
3376
|
constructor(e) {
|
|
3351
|
-
this.options = e ||
|
|
3377
|
+
this.options = e || q;
|
|
3352
3378
|
}
|
|
3353
3379
|
space(e) {
|
|
3354
3380
|
let t = this.rules.block.newline.exec(e);
|
|
@@ -3365,14 +3391,14 @@ var Rn = class {
|
|
|
3365
3391
|
type: "code",
|
|
3366
3392
|
raw: t[0],
|
|
3367
3393
|
codeBlockStyle: "indented",
|
|
3368
|
-
text: this.options.pedantic ? e :
|
|
3394
|
+
text: this.options.pedantic ? e : Pn(e, "\n")
|
|
3369
3395
|
};
|
|
3370
3396
|
}
|
|
3371
3397
|
}
|
|
3372
3398
|
fences(e) {
|
|
3373
3399
|
let t = this.rules.block.fences.exec(e);
|
|
3374
3400
|
if (t) {
|
|
3375
|
-
let e = t[0], n =
|
|
3401
|
+
let e = t[0], n = Rn(e, t[3] || "", this.rules);
|
|
3376
3402
|
return {
|
|
3377
3403
|
type: "code",
|
|
3378
3404
|
raw: e,
|
|
@@ -3386,7 +3412,7 @@ var Rn = class {
|
|
|
3386
3412
|
if (t) {
|
|
3387
3413
|
let e = t[2].trim();
|
|
3388
3414
|
if (this.rules.other.endingHash.test(e)) {
|
|
3389
|
-
let t =
|
|
3415
|
+
let t = Pn(e, "#");
|
|
3390
3416
|
(this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
|
|
3391
3417
|
}
|
|
3392
3418
|
return {
|
|
@@ -3402,16 +3428,16 @@ var Rn = class {
|
|
|
3402
3428
|
let t = this.rules.block.hr.exec(e);
|
|
3403
3429
|
if (t) return {
|
|
3404
3430
|
type: "hr",
|
|
3405
|
-
raw:
|
|
3431
|
+
raw: Pn(t[0], "\n")
|
|
3406
3432
|
};
|
|
3407
3433
|
}
|
|
3408
3434
|
blockquote(e) {
|
|
3409
3435
|
let t = this.rules.block.blockquote.exec(e);
|
|
3410
3436
|
if (t) {
|
|
3411
|
-
let e =
|
|
3437
|
+
let e = Pn(t[0], "\n").split("\n"), n = "", r = "", i = [];
|
|
3412
3438
|
for (; e.length > 0;) {
|
|
3413
|
-
let t = !1, a = [], o;
|
|
3414
|
-
for (
|
|
3439
|
+
let t = !1, a = [], o = 0;
|
|
3440
|
+
for (; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
|
|
3415
3441
|
else if (!t) a.push(e[o]);
|
|
3416
3442
|
else break;
|
|
3417
3443
|
e = e.slice(o);
|
|
@@ -3459,7 +3485,7 @@ ${c}` : c;
|
|
|
3459
3485
|
let n = !1, r = "", s = "";
|
|
3460
3486
|
if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
|
|
3461
3487
|
r = t[0], e = e.substring(r.length);
|
|
3462
|
-
let c =
|
|
3488
|
+
let c = In(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
|
|
3463
3489
|
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) {
|
|
3464
3490
|
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);
|
|
3465
3491
|
for (; e;) {
|
|
@@ -3548,7 +3574,7 @@ ${c}` : c;
|
|
|
3548
3574
|
table(e) {
|
|
3549
3575
|
let t = this.rules.block.table.exec(e);
|
|
3550
3576
|
if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
|
|
3551
|
-
let n =
|
|
3577
|
+
let n = Nn(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 = {
|
|
3552
3578
|
type: "table",
|
|
3553
3579
|
raw: t[0],
|
|
3554
3580
|
header: [],
|
|
@@ -3563,7 +3589,7 @@ ${c}` : c;
|
|
|
3563
3589
|
header: !0,
|
|
3564
3590
|
align: a.align[e]
|
|
3565
3591
|
});
|
|
3566
|
-
for (let e of i) a.rows.push(
|
|
3592
|
+
for (let e of i) a.rows.push(Nn(e, a.header.length).map((e, t) => ({
|
|
3567
3593
|
text: e,
|
|
3568
3594
|
tokens: this.lexer.inline(e),
|
|
3569
3595
|
header: !1,
|
|
@@ -3631,10 +3657,10 @@ ${c}` : c;
|
|
|
3631
3657
|
let e = t[2].trim();
|
|
3632
3658
|
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e)) {
|
|
3633
3659
|
if (!this.rules.other.endAngleBracket.test(e)) return;
|
|
3634
|
-
let t =
|
|
3660
|
+
let t = Pn(e.slice(0, -1), "\\");
|
|
3635
3661
|
if ((e.length - t.length) % 2 == 0) return;
|
|
3636
3662
|
} else {
|
|
3637
|
-
let e =
|
|
3663
|
+
let e = Fn(t[2], "()");
|
|
3638
3664
|
if (e === -2) return;
|
|
3639
3665
|
if (e > -1) {
|
|
3640
3666
|
let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
|
|
@@ -3646,7 +3672,7 @@ ${c}` : c;
|
|
|
3646
3672
|
let e = this.rules.other.pedanticHrefTitle.exec(n);
|
|
3647
3673
|
e && (n = e[1], r = e[3]);
|
|
3648
3674
|
} else r = t[3] ? t[3].slice(1, -1) : "";
|
|
3649
|
-
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)),
|
|
3675
|
+
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)), Ln(t, {
|
|
3650
3676
|
href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
|
|
3651
3677
|
title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
|
|
3652
3678
|
}, t[0], this.lexer, this.rules);
|
|
@@ -3664,7 +3690,7 @@ ${c}` : c;
|
|
|
3664
3690
|
text: e
|
|
3665
3691
|
};
|
|
3666
3692
|
}
|
|
3667
|
-
return
|
|
3693
|
+
return Ln(n, e, n[0], this.lexer, this.rules);
|
|
3668
3694
|
}
|
|
3669
3695
|
}
|
|
3670
3696
|
emStrong(e, t, n = "") {
|
|
@@ -3797,29 +3823,29 @@ ${c}` : c;
|
|
|
3797
3823
|
};
|
|
3798
3824
|
}
|
|
3799
3825
|
}
|
|
3800
|
-
},
|
|
3826
|
+
}, Bn = class e {
|
|
3801
3827
|
tokens;
|
|
3802
3828
|
options;
|
|
3803
3829
|
state;
|
|
3804
3830
|
inlineQueue;
|
|
3805
3831
|
tokenizer;
|
|
3806
3832
|
constructor(e) {
|
|
3807
|
-
this.tokens = [], this.tokens.links = Object.create(null), this.options = e ||
|
|
3833
|
+
this.tokens = [], this.tokens.links = Object.create(null), this.options = e || q, this.options.tokenizer = this.options.tokenizer || new zn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
|
|
3808
3834
|
inLink: !1,
|
|
3809
3835
|
inRawBlock: !1,
|
|
3810
3836
|
top: !0
|
|
3811
3837
|
};
|
|
3812
3838
|
let t = {
|
|
3813
|
-
other:
|
|
3814
|
-
block:
|
|
3815
|
-
inline:
|
|
3839
|
+
other: Y,
|
|
3840
|
+
block: Dn.normal,
|
|
3841
|
+
inline: On.normal
|
|
3816
3842
|
};
|
|
3817
|
-
this.options.pedantic ? (t.block =
|
|
3843
|
+
this.options.pedantic ? (t.block = Dn.pedantic, t.inline = On.pedantic) : this.options.gfm && (t.block = Dn.gfm, t.inline = this.options.breaks ? On.breaks : On.gfm), this.tokenizer.rules = t;
|
|
3818
3844
|
}
|
|
3819
3845
|
static get rules() {
|
|
3820
3846
|
return {
|
|
3821
|
-
block:
|
|
3822
|
-
inline:
|
|
3847
|
+
block: Dn,
|
|
3848
|
+
inline: On
|
|
3823
3849
|
};
|
|
3824
3850
|
}
|
|
3825
3851
|
static lex(t, n) {
|
|
@@ -3829,7 +3855,7 @@ ${c}` : c;
|
|
|
3829
3855
|
return new e(n).inlineTokens(t);
|
|
3830
3856
|
}
|
|
3831
3857
|
lex(e) {
|
|
3832
|
-
e = e.replace(
|
|
3858
|
+
e = e.replace(Y.carriageReturn, "\n"), this.blockTokens(e, this.tokens);
|
|
3833
3859
|
for (let e = 0; e < this.inlineQueue.length; e++) {
|
|
3834
3860
|
let t = this.inlineQueue[e];
|
|
3835
3861
|
this.inlineTokens(t.src, t.tokens);
|
|
@@ -3837,7 +3863,7 @@ ${c}` : c;
|
|
|
3837
3863
|
return this.inlineQueue = [], this.tokens;
|
|
3838
3864
|
}
|
|
3839
3865
|
blockTokens(e, t = [], n = !1) {
|
|
3840
|
-
for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(
|
|
3866
|
+
for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(Y.tabCharGlobal, " ").replace(Y.spaceLine, "")); e;) {
|
|
3841
3867
|
let r;
|
|
3842
3868
|
if (this.options.extensions?.block?.some((n) => (r = n.call({ lexer: this }, e, t)) ? (e = e.substring(r.raw.length), t.push(r), !0) : !1)) continue;
|
|
3843
3869
|
if (r = this.tokenizer.space(e)) {
|
|
@@ -3895,10 +3921,10 @@ ${c}` : c;
|
|
|
3895
3921
|
}
|
|
3896
3922
|
let i = e;
|
|
3897
3923
|
if (this.options.extensions?.startBlock) {
|
|
3898
|
-
let t =
|
|
3924
|
+
let t = 1 / 0, n = e.slice(1), r;
|
|
3899
3925
|
this.options.extensions.startBlock.forEach((e) => {
|
|
3900
3926
|
r = e.call({ lexer: this }, n), typeof r == "number" && r >= 0 && (t = Math.min(t, r));
|
|
3901
|
-
}), t <
|
|
3927
|
+
}), t < 1 / 0 && t >= 0 && (i = e.substring(0, t + 1));
|
|
3902
3928
|
}
|
|
3903
3929
|
if (this.state.top && (r = this.tokenizer.paragraph(i))) {
|
|
3904
3930
|
let a = t.at(-1);
|
|
@@ -3988,10 +4014,10 @@ ${c}` : c;
|
|
|
3988
4014
|
}
|
|
3989
4015
|
let i = e;
|
|
3990
4016
|
if (this.options.extensions?.startInline) {
|
|
3991
|
-
let t =
|
|
4017
|
+
let t = 1 / 0, n = e.slice(1), r;
|
|
3992
4018
|
this.options.extensions.startInline.forEach((e) => {
|
|
3993
4019
|
r = e.call({ lexer: this }, n), typeof r == "number" && r >= 0 && (t = Math.min(t, r));
|
|
3994
|
-
}), t <
|
|
4020
|
+
}), t < 1 / 0 && t >= 0 && (i = e.substring(0, t + 1));
|
|
3995
4021
|
}
|
|
3996
4022
|
if (r = this.tokenizer.inlineText(i)) {
|
|
3997
4023
|
e = e.substring(r.raw.length), r.raw.slice(-1) !== "_" && (o = r.raw.slice(-1)), a = !0;
|
|
@@ -4010,18 +4036,18 @@ ${c}` : c;
|
|
|
4010
4036
|
}
|
|
4011
4037
|
return t;
|
|
4012
4038
|
}
|
|
4013
|
-
},
|
|
4039
|
+
}, Vn = class {
|
|
4014
4040
|
options;
|
|
4015
4041
|
parser;
|
|
4016
4042
|
constructor(e) {
|
|
4017
|
-
this.options = e ||
|
|
4043
|
+
this.options = e || q;
|
|
4018
4044
|
}
|
|
4019
4045
|
space(e) {
|
|
4020
4046
|
return "";
|
|
4021
4047
|
}
|
|
4022
4048
|
code({ text: e, lang: t, escaped: n }) {
|
|
4023
|
-
let r = (t || "").match(
|
|
4024
|
-
return r ? "<pre><code class=\"language-" +
|
|
4049
|
+
let r = (t || "").match(Y.notSpaceStart)?.[0], i = e.replace(Y.endingNewline, "") + "\n";
|
|
4050
|
+
return r ? "<pre><code class=\"language-" + jn(r) + "\">" + (n ? i : jn(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : jn(i, !0)) + "</code></pre>\n";
|
|
4025
4051
|
}
|
|
4026
4052
|
blockquote({ tokens: e }) {
|
|
4027
4053
|
return `<blockquote>
|
|
@@ -4091,7 +4117,7 @@ ${e}</tr>
|
|
|
4091
4117
|
return `<em>${this.parser.parseInline(e)}</em>`;
|
|
4092
4118
|
}
|
|
4093
4119
|
codespan({ text: e }) {
|
|
4094
|
-
return `<code>${
|
|
4120
|
+
return `<code>${jn(e, !0)}</code>`;
|
|
4095
4121
|
}
|
|
4096
4122
|
br(e) {
|
|
4097
4123
|
return "<br>";
|
|
@@ -4100,24 +4126,24 @@ ${e}</tr>
|
|
|
4100
4126
|
return `<del>${this.parser.parseInline(e)}</del>`;
|
|
4101
4127
|
}
|
|
4102
4128
|
link({ href: e, title: t, tokens: n }) {
|
|
4103
|
-
let r = this.parser.parseInline(n), i =
|
|
4129
|
+
let r = this.parser.parseInline(n), i = Mn(e);
|
|
4104
4130
|
if (i === null) return r;
|
|
4105
4131
|
e = i;
|
|
4106
4132
|
let a = "<a href=\"" + e + "\"";
|
|
4107
|
-
return t && (a += " title=\"" +
|
|
4133
|
+
return t && (a += " title=\"" + jn(t) + "\""), a += ">" + r + "</a>", a;
|
|
4108
4134
|
}
|
|
4109
4135
|
image({ href: e, title: t, text: n, tokens: r }) {
|
|
4110
4136
|
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
|
|
4111
|
-
let i =
|
|
4112
|
-
if (i === null) return
|
|
4137
|
+
let i = Mn(e);
|
|
4138
|
+
if (i === null) return jn(n);
|
|
4113
4139
|
e = i;
|
|
4114
|
-
let a = `<img src="${e}" alt="${
|
|
4115
|
-
return t && (a += ` title="${
|
|
4140
|
+
let a = `<img src="${e}" alt="${jn(n)}"`;
|
|
4141
|
+
return t && (a += ` title="${jn(t)}"`), a += ">", a;
|
|
4116
4142
|
}
|
|
4117
4143
|
text(e) {
|
|
4118
|
-
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text :
|
|
4144
|
+
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : jn(e.text);
|
|
4119
4145
|
}
|
|
4120
|
-
},
|
|
4146
|
+
}, Hn = class {
|
|
4121
4147
|
strong({ text: e }) {
|
|
4122
4148
|
return e;
|
|
4123
4149
|
}
|
|
@@ -4148,12 +4174,12 @@ ${e}</tr>
|
|
|
4148
4174
|
checkbox({ raw: e }) {
|
|
4149
4175
|
return e;
|
|
4150
4176
|
}
|
|
4151
|
-
},
|
|
4177
|
+
}, Un = class e {
|
|
4152
4178
|
options;
|
|
4153
4179
|
renderer;
|
|
4154
4180
|
textRenderer;
|
|
4155
4181
|
constructor(e) {
|
|
4156
|
-
this.options = e ||
|
|
4182
|
+
this.options = e || q, this.options.renderer = this.options.renderer || new Vn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Hn();
|
|
4157
4183
|
}
|
|
4158
4184
|
static parse(t, n) {
|
|
4159
4185
|
return new e(n).parse(t);
|
|
@@ -4299,11 +4325,11 @@ ${e}</tr>
|
|
|
4299
4325
|
}
|
|
4300
4326
|
return n;
|
|
4301
4327
|
}
|
|
4302
|
-
},
|
|
4328
|
+
}, Wn = class {
|
|
4303
4329
|
options;
|
|
4304
4330
|
block;
|
|
4305
4331
|
constructor(e) {
|
|
4306
|
-
this.options = e ||
|
|
4332
|
+
this.options = e || q;
|
|
4307
4333
|
}
|
|
4308
4334
|
static passThroughHooks = /* @__PURE__ */ new Set([
|
|
4309
4335
|
"preprocess",
|
|
@@ -4329,22 +4355,22 @@ ${e}</tr>
|
|
|
4329
4355
|
return e;
|
|
4330
4356
|
}
|
|
4331
4357
|
provideLexer() {
|
|
4332
|
-
return this.block ?
|
|
4358
|
+
return this.block ? Bn.lex : Bn.lexInline;
|
|
4333
4359
|
}
|
|
4334
4360
|
provideParser() {
|
|
4335
|
-
return this.block ?
|
|
4361
|
+
return this.block ? Un.parse : Un.parseInline;
|
|
4336
4362
|
}
|
|
4337
|
-
},
|
|
4363
|
+
}, Gn = new class {
|
|
4338
4364
|
defaults = yt();
|
|
4339
4365
|
options = this.setOptions;
|
|
4340
4366
|
parse = this.parseMarkdown(!0);
|
|
4341
4367
|
parseInline = this.parseMarkdown(!1);
|
|
4342
|
-
Parser =
|
|
4343
|
-
Renderer =
|
|
4344
|
-
TextRenderer =
|
|
4345
|
-
Lexer =
|
|
4346
|
-
Tokenizer =
|
|
4347
|
-
Hooks =
|
|
4368
|
+
Parser = Un;
|
|
4369
|
+
Renderer = Vn;
|
|
4370
|
+
TextRenderer = Hn;
|
|
4371
|
+
Lexer = Bn;
|
|
4372
|
+
Tokenizer = zn;
|
|
4373
|
+
Hooks = Wn;
|
|
4348
4374
|
constructor(...e) {
|
|
4349
4375
|
this.use(...e);
|
|
4350
4376
|
}
|
|
@@ -4365,7 +4391,7 @@ ${e}</tr>
|
|
|
4365
4391
|
default: {
|
|
4366
4392
|
let e = r;
|
|
4367
4393
|
this.defaults.extensions?.childTokens?.[e.type] ? this.defaults.extensions.childTokens[e.type].forEach((r) => {
|
|
4368
|
-
let i = e[r].flat(
|
|
4394
|
+
let i = e[r].flat(1 / 0);
|
|
4369
4395
|
n = n.concat(this.walkTokens(i, t));
|
|
4370
4396
|
}) : e.tokens && (n = n.concat(this.walkTokens(e.tokens, t)));
|
|
4371
4397
|
}
|
|
@@ -4395,7 +4421,7 @@ ${e}</tr>
|
|
|
4395
4421
|
}
|
|
4396
4422
|
"childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
|
|
4397
4423
|
}), n.extensions = t), e.renderer) {
|
|
4398
|
-
let t = this.defaults.renderer || new
|
|
4424
|
+
let t = this.defaults.renderer || new Vn(this.defaults);
|
|
4399
4425
|
for (let n in e.renderer) {
|
|
4400
4426
|
if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
|
|
4401
4427
|
if (["options", "parser"].includes(n)) continue;
|
|
@@ -4408,7 +4434,7 @@ ${e}</tr>
|
|
|
4408
4434
|
n.renderer = t;
|
|
4409
4435
|
}
|
|
4410
4436
|
if (e.tokenizer) {
|
|
4411
|
-
let t = this.defaults.tokenizer || new
|
|
4437
|
+
let t = this.defaults.tokenizer || new zn(this.defaults);
|
|
4412
4438
|
for (let n in e.tokenizer) {
|
|
4413
4439
|
if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
|
|
4414
4440
|
if ([
|
|
@@ -4425,13 +4451,13 @@ ${e}</tr>
|
|
|
4425
4451
|
n.tokenizer = t;
|
|
4426
4452
|
}
|
|
4427
4453
|
if (e.hooks) {
|
|
4428
|
-
let t = this.defaults.hooks || new
|
|
4454
|
+
let t = this.defaults.hooks || new Wn();
|
|
4429
4455
|
for (let n in e.hooks) {
|
|
4430
4456
|
if (!(n in t)) throw Error(`hook '${n}' does not exist`);
|
|
4431
4457
|
if (["options", "block"].includes(n)) continue;
|
|
4432
4458
|
let r = n, i = e.hooks[r], a = t[r];
|
|
4433
|
-
t[r] =
|
|
4434
|
-
if (this.defaults.async &&
|
|
4459
|
+
t[r] = Wn.passThroughHooks.has(n) ? (e) => {
|
|
4460
|
+
if (this.defaults.async && Wn.passThroughHooksRespectAsync.has(n)) return (async () => {
|
|
4435
4461
|
let n = await i.call(t, e);
|
|
4436
4462
|
return a.call(t, n);
|
|
4437
4463
|
})();
|
|
@@ -4468,10 +4494,10 @@ ${e}</tr>
|
|
|
4468
4494
|
}, this;
|
|
4469
4495
|
}
|
|
4470
4496
|
lexer(e, t) {
|
|
4471
|
-
return
|
|
4497
|
+
return Bn.lex(e, t ?? this.defaults);
|
|
4472
4498
|
}
|
|
4473
4499
|
parser(e, t) {
|
|
4474
|
-
return
|
|
4500
|
+
return Un.parse(e, t ?? this.defaults);
|
|
4475
4501
|
}
|
|
4476
4502
|
parseMarkdown(e) {
|
|
4477
4503
|
return (t, n) => {
|
|
@@ -4483,16 +4509,16 @@ ${e}</tr>
|
|
|
4483
4509
|
if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
|
|
4484
4510
|
if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
|
|
4485
4511
|
if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
|
|
4486
|
-
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ?
|
|
4512
|
+
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? Bn.lex : Bn.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
|
|
4487
4513
|
i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
|
|
4488
|
-
let o = await (i.hooks ? await i.hooks.provideParser() : e ?
|
|
4514
|
+
let o = await (i.hooks ? await i.hooks.provideParser() : e ? Un.parse : Un.parseInline)(a, i);
|
|
4489
4515
|
return i.hooks ? await i.hooks.postprocess(o) : o;
|
|
4490
4516
|
})().catch(a);
|
|
4491
4517
|
try {
|
|
4492
4518
|
i.hooks && (t = i.hooks.preprocess(t));
|
|
4493
|
-
let n = (i.hooks ? i.hooks.provideLexer() : e ?
|
|
4519
|
+
let n = (i.hooks ? i.hooks.provideLexer() : e ? Bn.lex : Bn.lexInline)(t, i);
|
|
4494
4520
|
i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
|
|
4495
|
-
let r = (i.hooks ? i.hooks.provideParser() : e ?
|
|
4521
|
+
let r = (i.hooks ? i.hooks.provideParser() : e ? Un.parse : Un.parseInline)(n, i);
|
|
4496
4522
|
return i.hooks && (r = i.hooks.postprocess(r)), r;
|
|
4497
4523
|
} catch (e) {
|
|
4498
4524
|
return a(e);
|
|
@@ -4502,7 +4528,7 @@ ${e}</tr>
|
|
|
4502
4528
|
onError(e, t) {
|
|
4503
4529
|
return (n) => {
|
|
4504
4530
|
if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
|
|
4505
|
-
let e = "<p>An error occurred:</p><pre>" +
|
|
4531
|
+
let e = "<p>An error occurred:</p><pre>" + jn(n.message + "", !0) + "</pre>";
|
|
4506
4532
|
return t ? Promise.resolve(e) : e;
|
|
4507
4533
|
}
|
|
4508
4534
|
if (t) return Promise.reject(n);
|
|
@@ -4511,39 +4537,39 @@ ${e}</tr>
|
|
|
4511
4537
|
}
|
|
4512
4538
|
}();
|
|
4513
4539
|
function X(e, t) {
|
|
4514
|
-
return
|
|
4540
|
+
return Gn.parse(e, t);
|
|
4515
4541
|
}
|
|
4516
4542
|
X.options = X.setOptions = function(e) {
|
|
4517
|
-
return
|
|
4518
|
-
}, X.getDefaults = yt, X.defaults =
|
|
4519
|
-
return
|
|
4543
|
+
return Gn.setOptions(e), X.defaults = Gn.defaults, bt(X.defaults), X;
|
|
4544
|
+
}, X.getDefaults = yt, X.defaults = q, X.use = function(...e) {
|
|
4545
|
+
return Gn.use(...e), X.defaults = Gn.defaults, bt(X.defaults), X;
|
|
4520
4546
|
}, X.walkTokens = function(e, t) {
|
|
4521
|
-
return
|
|
4522
|
-
}, X.parseInline =
|
|
4523
|
-
function
|
|
4547
|
+
return Gn.walkTokens(e, t);
|
|
4548
|
+
}, X.parseInline = Gn.parseInline, X.Parser = Un, X.parser = Un.parse, X.Renderer = Vn, X.TextRenderer = Hn, X.Lexer = Bn, X.lexer = Bn.lex, X.Tokenizer = zn, X.Hooks = Wn, X.parse = X, X.options, X.setOptions, X.use, X.walkTokens, X.parseInline, Un.parse, Bn.lex;
|
|
4549
|
+
function Kn(...e) {
|
|
4524
4550
|
return e.filter(Boolean).join(" ");
|
|
4525
4551
|
}
|
|
4526
|
-
function
|
|
4552
|
+
function qn(e, t) {
|
|
4527
4553
|
return e ? t ? {
|
|
4528
4554
|
...e,
|
|
4529
4555
|
...t
|
|
4530
4556
|
} : e : t;
|
|
4531
4557
|
}
|
|
4532
|
-
function
|
|
4533
|
-
let s =
|
|
4558
|
+
function Jn({ animation: e, index: t, as: n, asChild: r, className: i, style: a, children: o }) {
|
|
4559
|
+
let s = Kn("fragment", e, i);
|
|
4534
4560
|
if (r) {
|
|
4535
4561
|
let e;
|
|
4536
4562
|
try {
|
|
4537
|
-
e =
|
|
4563
|
+
e = M.Children.only(o);
|
|
4538
4564
|
} catch {
|
|
4539
4565
|
throw Error("Fragment with asChild expects exactly one React element child.");
|
|
4540
4566
|
}
|
|
4541
|
-
if (!(0,
|
|
4567
|
+
if (!(0, M.isValidElement)(e) || e.type === M.Fragment) throw Error("Fragment with asChild expects exactly one non-Fragment React element child.");
|
|
4542
4568
|
let n = {
|
|
4543
|
-
className:
|
|
4544
|
-
style:
|
|
4569
|
+
className: Kn(e.props.className, s),
|
|
4570
|
+
style: qn(e.props.style, a)
|
|
4545
4571
|
};
|
|
4546
|
-
return t !== void 0 && (n["data-fragment-index"] = t), (0,
|
|
4572
|
+
return t !== void 0 && (n["data-fragment-index"] = t), (0, M.cloneElement)(e, n);
|
|
4547
4573
|
}
|
|
4548
4574
|
return /* @__PURE__ */ (0, G.jsx)(n ?? "span", {
|
|
4549
4575
|
className: s,
|
|
@@ -4554,24 +4580,24 @@ function qn({ animation: e, index: t, as: n, asChild: r, className: i, style: a,
|
|
|
4554
4580
|
}
|
|
4555
4581
|
//#endregion
|
|
4556
4582
|
//#region src/components/slides/slide-scroll-hint.tsx
|
|
4557
|
-
var
|
|
4558
|
-
function
|
|
4583
|
+
var Yn = 8, Xn = 1;
|
|
4584
|
+
function Zn(e) {
|
|
4559
4585
|
let { scrollHeight: t, clientHeight: n, scrollTop: r } = e;
|
|
4560
|
-
return t > n +
|
|
4586
|
+
return t > n + Xn && r <= Yn;
|
|
4561
4587
|
}
|
|
4562
|
-
function
|
|
4588
|
+
function Qn(e) {
|
|
4563
4589
|
let t = e.querySelector(".fragment:not(.visible)");
|
|
4564
4590
|
return t ? t.getBoundingClientRect().top - e.getBoundingClientRect().top + e.scrollTop : e.scrollHeight;
|
|
4565
4591
|
}
|
|
4566
|
-
function
|
|
4567
|
-
let n = (0,
|
|
4592
|
+
function $n(e, t) {
|
|
4593
|
+
let n = (0, N.c)(4), [r, i] = (0, M.useState)(!1), a, o;
|
|
4568
4594
|
return n[0] !== t || n[1] !== e ? (a = () => {
|
|
4569
4595
|
let n = e.current, r = t.current;
|
|
4570
4596
|
if (!n || !r) return;
|
|
4571
4597
|
let a = 0, o = () => {
|
|
4572
4598
|
cancelAnimationFrame(a), a = requestAnimationFrame(() => {
|
|
4573
|
-
i(
|
|
4574
|
-
scrollHeight:
|
|
4599
|
+
i(Zn({
|
|
4600
|
+
scrollHeight: Qn(n),
|
|
4575
4601
|
clientHeight: n.clientHeight,
|
|
4576
4602
|
scrollTop: n.scrollTop
|
|
4577
4603
|
}));
|
|
@@ -4588,10 +4614,10 @@ function Qn(e, t) {
|
|
|
4588
4614
|
}), n.addEventListener("scroll", o, { passive: !0 }), () => {
|
|
4589
4615
|
cancelAnimationFrame(a), s.disconnect(), c?.disconnect(), n.removeEventListener("scroll", o);
|
|
4590
4616
|
};
|
|
4591
|
-
}, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), (0,
|
|
4617
|
+
}, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), (0, M.useEffect)(a, o), r;
|
|
4592
4618
|
}
|
|
4593
|
-
var
|
|
4594
|
-
let t = (0,
|
|
4619
|
+
var er = (e) => {
|
|
4620
|
+
let t = (0, N.c)(6), { className: n } = e, i;
|
|
4595
4621
|
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);
|
|
4596
4622
|
let a;
|
|
4597
4623
|
t[2] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ (0, G.jsx)("div", { className: "h-16 w-full bg-linear-to-t from-background via-background/80 to-transparent" }), t[2] = a) : a = t[2];
|
|
@@ -4607,8 +4633,8 @@ var $n = (e) => {
|
|
|
4607
4633
|
"aria-hidden": !0,
|
|
4608
4634
|
children: [a, o]
|
|
4609
4635
|
}), t[4] = i, t[5] = s), s;
|
|
4610
|
-
},
|
|
4611
|
-
let t = (0,
|
|
4636
|
+
}, tr = (e) => {
|
|
4637
|
+
let t = (0, N.c)(10), { children: n, className: i } = e, a = (0, M.useRef)(null), o = (0, M.useRef)(null), s = $n(a, o), c;
|
|
4612
4638
|
t[0] === i ? c = t[1] : (c = r("relative h-full w-full", i), t[0] = i, t[1] = c);
|
|
4613
4639
|
let l;
|
|
4614
4640
|
t[2] === n ? l = t[3] : (l = /* @__PURE__ */ (0, G.jsx)("div", {
|
|
@@ -4622,7 +4648,7 @@ var $n = (e) => {
|
|
|
4622
4648
|
})
|
|
4623
4649
|
}), t[2] = n, t[3] = l);
|
|
4624
4650
|
let u;
|
|
4625
|
-
t[4] === s ? u = t[5] : (u = s && /* @__PURE__ */ (0, G.jsx)(
|
|
4651
|
+
t[4] === s ? u = t[5] : (u = s && /* @__PURE__ */ (0, G.jsx)(er, {}), t[4] = s, t[5] = u);
|
|
4626
4652
|
let d;
|
|
4627
4653
|
return t[6] !== c || t[7] !== l || t[8] !== u ? (d = /* @__PURE__ */ (0, G.jsxs)("div", {
|
|
4628
4654
|
className: c,
|
|
@@ -4631,7 +4657,7 @@ var $n = (e) => {
|
|
|
4631
4657
|
};
|
|
4632
4658
|
//#endregion
|
|
4633
4659
|
//#region src/components/slides/compose-slides.ts
|
|
4634
|
-
function
|
|
4660
|
+
function nr({ cells: e, getType: t }) {
|
|
4635
4661
|
let n = [], r = null, i = null, a = () => {
|
|
4636
4662
|
let e = { subslides: [] };
|
|
4637
4663
|
return n.push(e), r = e, i = null, e;
|
|
@@ -4657,7 +4683,7 @@ function tr({ cells: e, getType: t }) {
|
|
|
4657
4683
|
}
|
|
4658
4684
|
return { stacks: n };
|
|
4659
4685
|
}
|
|
4660
|
-
function
|
|
4686
|
+
function rr({ composition: e, cells: t, getId: n }) {
|
|
4661
4687
|
let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
|
|
4662
4688
|
for (let [e, r] of t.entries()) a.set(n(r), e);
|
|
4663
4689
|
return e.stacks.forEach((e, t) => {
|
|
@@ -4700,27 +4726,27 @@ function nr({ composition: e, cells: t, getId: n }) {
|
|
|
4700
4726
|
targetToCellIndex: i
|
|
4701
4727
|
};
|
|
4702
4728
|
}
|
|
4703
|
-
function
|
|
4729
|
+
function ir(e, t) {
|
|
4704
4730
|
let { h: n, v: r, f: i } = t;
|
|
4705
4731
|
return e.get(`${n},${r},${i}`) ?? e.get(`${n},${r},-1`);
|
|
4706
4732
|
}
|
|
4707
|
-
function
|
|
4733
|
+
function ar({ start: e, stop: t, step: n, cells: r, cellToTarget: i, getId: a }) {
|
|
4708
4734
|
for (let o = e; o !== t; o += n) {
|
|
4709
4735
|
let e = i.get(a(r[o]));
|
|
4710
4736
|
if (e) return e;
|
|
4711
4737
|
}
|
|
4712
4738
|
}
|
|
4713
|
-
function
|
|
4739
|
+
function or({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
|
|
4714
4740
|
if (e == null) return;
|
|
4715
4741
|
let i = t[e];
|
|
4716
|
-
return i ? n.get(r(i)) || (
|
|
4742
|
+
return i ? n.get(r(i)) || (ar({
|
|
4717
4743
|
start: e - 1,
|
|
4718
4744
|
stop: -1,
|
|
4719
4745
|
step: -1,
|
|
4720
4746
|
cells: t,
|
|
4721
4747
|
cellToTarget: n,
|
|
4722
4748
|
getId: r
|
|
4723
|
-
}) ??
|
|
4749
|
+
}) ?? ar({
|
|
4724
4750
|
start: e + 1,
|
|
4725
4751
|
stop: t.length,
|
|
4726
4752
|
step: 1,
|
|
@@ -4729,7 +4755,7 @@ function ar({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
|
|
|
4729
4755
|
getId: r
|
|
4730
4756
|
})) : void 0;
|
|
4731
4757
|
}
|
|
4732
|
-
function
|
|
4758
|
+
function sr(e, t) {
|
|
4733
4759
|
let n = {
|
|
4734
4760
|
h: t.h,
|
|
4735
4761
|
v: t.v,
|
|
@@ -4739,8 +4765,8 @@ function or(e, t) {
|
|
|
4739
4765
|
}
|
|
4740
4766
|
//#endregion
|
|
4741
4767
|
//#region src/core/islands/stubs/slide-cell-view.tsx
|
|
4742
|
-
var
|
|
4743
|
-
let t = (0,
|
|
4768
|
+
var cr = (e) => (n.warn("SlideCellView islands stub rendered; this should never happen in a read-only embed."), null), lr = (e) => (n.warn("SlideCellReadOnlyView islands stub rendered; this should never happen in a read-only embed."), null), ur = 300, dr = (e) => {
|
|
4769
|
+
let t = (0, N.c)(25), { layout: n, setLayout: a, cellId: o, className: s } = e, c = o ? n.cells.get(o)?.speakerNotes ?? "" : "", [l, u] = (0, M.useState)(c), d = (0, M.useRef)(!1), f;
|
|
4744
4770
|
t[0] !== n || t[1] !== a ? (f = (e, t) => {
|
|
4745
4771
|
d.current = !1;
|
|
4746
4772
|
let r = n.cells.get(e);
|
|
@@ -4754,7 +4780,7 @@ var sr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
|
|
|
4754
4780
|
cells: i
|
|
4755
4781
|
});
|
|
4756
4782
|
}, t[0] = n, t[1] = a, t[2] = f) : f = t[2];
|
|
4757
|
-
let p =
|
|
4783
|
+
let p = D(f), m = ee(p, ur), h = (0, M.useRef)(o), g, _;
|
|
4758
4784
|
t[3] !== o || t[4] !== l || t[5] !== c || t[6] !== m ? (g = () => {
|
|
4759
4785
|
if (h.current !== o) {
|
|
4760
4786
|
m.flush(), d.current = !1, u(c), h.current = o;
|
|
@@ -4766,11 +4792,11 @@ var sr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
|
|
|
4766
4792
|
c,
|
|
4767
4793
|
l,
|
|
4768
4794
|
m
|
|
4769
|
-
], t[3] = o, t[4] = l, t[5] = c, t[6] = m, t[7] = g, t[8] = _) : (g = t[7], _ = t[8]), (0,
|
|
4795
|
+
], t[3] = o, t[4] = l, t[5] = c, t[6] = m, t[7] = g, t[8] = _) : (g = t[7], _ = t[8]), (0, M.useEffect)(g, _);
|
|
4770
4796
|
let v, y;
|
|
4771
4797
|
t[9] === m ? (v = t[10], y = t[11]) : (v = () => () => {
|
|
4772
4798
|
m.flush();
|
|
4773
|
-
}, y = [m], t[9] = m, t[10] = v, t[11] = y), (0,
|
|
4799
|
+
}, y = [m], t[9] = m, t[10] = v, t[11] = y), (0, M.useEffect)(v, y);
|
|
4774
4800
|
let b;
|
|
4775
4801
|
t[12] !== o || t[13] !== m ? (b = (e) => {
|
|
4776
4802
|
u(e), o && (d.current = !0, m(o, e));
|
|
@@ -4780,7 +4806,7 @@ var sr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
|
|
|
4780
4806
|
let C;
|
|
4781
4807
|
t[17] === Symbol.for("react.memo_cache_sentinel") ? (C = /* @__PURE__ */ (0, G.jsxs)("header", {
|
|
4782
4808
|
className: "flex items-center gap-1.5 px-3 h-8 shrink-0 text-xs font-medium uppercase tracking-wide text-muted-foreground",
|
|
4783
|
-
children: [/* @__PURE__ */ (0, G.jsx)(
|
|
4809
|
+
children: [/* @__PURE__ */ (0, G.jsx)(j, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, G.jsx)("span", { children: "Speaker notes" })]
|
|
4784
4810
|
}), t[17] = C) : C = t[17];
|
|
4785
4811
|
let w;
|
|
4786
4812
|
t[18] !== o || t[19] !== l || t[20] !== x ? (w = /* @__PURE__ */ (0, G.jsx)("div", {
|
|
@@ -4801,26 +4827,28 @@ var sr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
|
|
|
4801
4827
|
return t[22] !== S || t[23] !== w ? (T = /* @__PURE__ */ (0, G.jsxs)("section", {
|
|
4802
4828
|
className: S,
|
|
4803
4829
|
"aria-label": "Speaker notes",
|
|
4804
|
-
onKeyDown:
|
|
4830
|
+
onKeyDown: fr,
|
|
4805
4831
|
children: [C, w]
|
|
4806
4832
|
}), t[22] = S, t[23] = w, t[24] = T) : T = t[24], T;
|
|
4807
4833
|
};
|
|
4808
|
-
function
|
|
4834
|
+
function fr(e) {
|
|
4809
4835
|
return e.stopPropagation();
|
|
4810
4836
|
}
|
|
4811
|
-
var
|
|
4812
|
-
let n = e.blocks.map((e) =>
|
|
4837
|
+
var pr = "\n\n---\n\n", mr = (e, t) => e.map((e) => t.get(e.id)?.speakerNotes ?? "").filter((e) => e.trim().length > 0).join("\n\n"), hr = (e, t) => {
|
|
4838
|
+
let n = e.blocks.map((e) => mr(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 = [];
|
|
4813
4839
|
return e.blocks.forEach((e, t) => {
|
|
4814
4840
|
if (!e.isFragment) return;
|
|
4815
4841
|
let o = n[t];
|
|
4816
4842
|
o.length > 0 && a.push(o);
|
|
4817
|
-
let s = [r, ...a].filter((e) => e.length > 0).join(
|
|
4843
|
+
let s = [r, ...a].filter((e) => e.length > 0).join(pr);
|
|
4818
4844
|
s.length > 0 && i.set(t, s);
|
|
4819
4845
|
}), {
|
|
4820
4846
|
slideLevel: r,
|
|
4821
4847
|
cumulativeByBlock: i
|
|
4822
4848
|
};
|
|
4823
|
-
}, hr = "<!--\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>";
|
|
4849
|
+
};
|
|
4850
|
+
//#endregion
|
|
4851
|
+
//#region ../node_modules/.pnpm/reveal.js@6.0.2/node_modules/reveal.js/dist/plugin/notes.mjs
|
|
4824
4852
|
function gr() {
|
|
4825
4853
|
return {
|
|
4826
4854
|
async: !1,
|
|
@@ -5627,10 +5655,10 @@ ${c}` : c;
|
|
|
5627
5655
|
}
|
|
5628
5656
|
let i = e;
|
|
5629
5657
|
if (this.options.extensions?.startBlock) {
|
|
5630
|
-
let t =
|
|
5658
|
+
let t = 1 / 0, n = e.slice(1), r;
|
|
5631
5659
|
this.options.extensions.startBlock.forEach((e) => {
|
|
5632
5660
|
r = e.call({ lexer: this }, n), typeof r == "number" && r >= 0 && (t = Math.min(t, r));
|
|
5633
|
-
}), t <
|
|
5661
|
+
}), t < 1 / 0 && t >= 0 && (i = e.substring(0, t + 1));
|
|
5634
5662
|
}
|
|
5635
5663
|
if (this.state.top && (r = this.tokenizer.paragraph(i))) {
|
|
5636
5664
|
let a = t.at(-1);
|
|
@@ -5720,10 +5748,10 @@ ${c}` : c;
|
|
|
5720
5748
|
}
|
|
5721
5749
|
let i = e;
|
|
5722
5750
|
if (this.options.extensions?.startInline) {
|
|
5723
|
-
let t =
|
|
5751
|
+
let t = 1 / 0, n = e.slice(1), r;
|
|
5724
5752
|
this.options.extensions.startInline.forEach((e) => {
|
|
5725
5753
|
r = e.call({ lexer: this }, n), typeof r == "number" && r >= 0 && (t = Math.min(t, r));
|
|
5726
|
-
}), t <
|
|
5754
|
+
}), t < 1 / 0 && t >= 0 && (i = e.substring(0, t + 1));
|
|
5727
5755
|
}
|
|
5728
5756
|
if (r = this.tokenizer.inlineText(i)) {
|
|
5729
5757
|
e = e.substring(r.raw.length), r.raw.slice(-1) !== "_" && (o = r.raw.slice(-1)), a = !0;
|
|
@@ -6097,7 +6125,7 @@ ${e}</tr>
|
|
|
6097
6125
|
default: {
|
|
6098
6126
|
let e = r;
|
|
6099
6127
|
this.defaults.extensions?.childTokens?.[e.type] ? this.defaults.extensions.childTokens[e.type].forEach((r) => {
|
|
6100
|
-
let i = e[r].flat(
|
|
6128
|
+
let i = e[r].flat(1 / 0);
|
|
6101
6129
|
n = n.concat(this.walkTokens(i, t));
|
|
6102
6130
|
}) : e.tokens && (n = n.concat(this.walkTokens(e.tokens, t)));
|
|
6103
6131
|
}
|
|
@@ -6257,7 +6285,7 @@ var Ui = () => {
|
|
|
6257
6285
|
function r() {
|
|
6258
6286
|
if (t && !t.closed) t.focus();
|
|
6259
6287
|
else {
|
|
6260
|
-
if (t = window.open("about:blank", "reveal.js - Notes", "width=1100,height=700"), t.marked = $, t.document.write(hr), !t) {
|
|
6288
|
+
if (t = window.open("about:blank", "reveal.js - Notes", "width=1100,height=700"), t.marked = $, t.document.write("<!--\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>"), !t) {
|
|
6261
6289
|
alert("Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.");
|
|
6262
6290
|
return;
|
|
6263
6291
|
}
|
|
@@ -6366,12 +6394,12 @@ function Xi(e) {
|
|
|
6366
6394
|
return Ji.has(e.key) ? 1 : Yi.has(e.key) ? -1 : 0;
|
|
6367
6395
|
}
|
|
6368
6396
|
function Zi(e) {
|
|
6369
|
-
let t = (0,
|
|
6397
|
+
let t = (0, N.c)(4), n;
|
|
6370
6398
|
t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = {
|
|
6371
6399
|
width: 960,
|
|
6372
6400
|
height: 540
|
|
6373
6401
|
}, t[0] = n) : n = t[0];
|
|
6374
|
-
let [r, i] = (0,
|
|
6402
|
+
let [r, i] = (0, M.useState)(n), a, o;
|
|
6375
6403
|
return t[1] === e ? (a = t[2], o = t[3]) : (a = () => {
|
|
6376
6404
|
let t = e.current;
|
|
6377
6405
|
if (!t) return;
|
|
@@ -6385,15 +6413,15 @@ function Zi(e) {
|
|
|
6385
6413
|
});
|
|
6386
6414
|
});
|
|
6387
6415
|
return n.observe(t), () => n.disconnect();
|
|
6388
|
-
}, o = [e], t[1] = e, t[2] = a, t[3] = o), (0,
|
|
6416
|
+
}, o = [e], t[1] = e, t[2] = a, t[3] = o), (0, M.useEffect)(a, o), r;
|
|
6389
6417
|
}
|
|
6390
6418
|
var Qi = (e) => {
|
|
6391
|
-
let t = (0,
|
|
6419
|
+
let t = (0, N.c)(6), { text: n } = e, r, i;
|
|
6392
6420
|
if (t[0] !== n) {
|
|
6393
6421
|
let e = n.split("\n");
|
|
6394
6422
|
r = "notes", i = e.map((t, n) => {
|
|
6395
6423
|
let r = n === e.length - 1;
|
|
6396
|
-
return t === "---" ? /* @__PURE__ */ (0, G.jsx)("hr", {}, n) : /* @__PURE__ */ (0, G.jsxs)(
|
|
6424
|
+
return t === "---" ? /* @__PURE__ */ (0, G.jsx)("hr", {}, n) : /* @__PURE__ */ (0, G.jsxs)(M.Fragment, { children: [t, !r && /* @__PURE__ */ (0, G.jsx)("br", {})] }, n);
|
|
6397
6425
|
}), t[0] = n, t[1] = r, t[2] = i;
|
|
6398
6426
|
} else r = t[1], i = t[2];
|
|
6399
6427
|
let a;
|
|
@@ -6411,14 +6439,14 @@ function ea(e) {
|
|
|
6411
6439
|
return n.has(t.id) || t.id === r ? "skip" : i.get(t.id)?.type ?? "slide";
|
|
6412
6440
|
}
|
|
6413
6441
|
function ta(e) {
|
|
6414
|
-
let t = (0,
|
|
6442
|
+
let t = (0, N.c)(15), { activeCell: n, slideConfigs: r, noOutputIds: i } = e, a = n?.id ?? null, o;
|
|
6415
6443
|
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];
|
|
6416
6444
|
let s = o, c = n != null && r.get(n.id)?.type === "skip" || s, l;
|
|
6417
6445
|
t[3] === a ? l = t[4] : (l = {
|
|
6418
6446
|
activeCellId: a,
|
|
6419
6447
|
cellId: null
|
|
6420
6448
|
}, t[3] = a, t[4] = l);
|
|
6421
|
-
let [u, d] = (0,
|
|
6449
|
+
let [u, d] = (0, M.useState)(l), f = u.cellId;
|
|
6422
6450
|
u.activeCellId === a ? s && f !== a && (f = a, d({
|
|
6423
6451
|
activeCellId: a,
|
|
6424
6452
|
cellId: f
|
|
@@ -6431,14 +6459,14 @@ function ta(e) {
|
|
|
6431
6459
|
cellId: m,
|
|
6432
6460
|
show: !0
|
|
6433
6461
|
}, t[5] = m, t[6] = h);
|
|
6434
|
-
let [g, _] = (0,
|
|
6462
|
+
let [g, _] = (0, M.useState)(h), v = g.show;
|
|
6435
6463
|
g.cellId !== m && (v = !0, _({
|
|
6436
6464
|
cellId: m,
|
|
6437
6465
|
show: !0
|
|
6438
6466
|
}));
|
|
6439
6467
|
let y;
|
|
6440
6468
|
t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(na), t[7] = y) : y = t[7];
|
|
6441
|
-
let b =
|
|
6469
|
+
let b = D(y), x = c || p ? n ?? null : null, S;
|
|
6442
6470
|
return t[8] !== m || t[9] !== v || t[10] !== p || t[11] !== s || t[12] !== x || t[13] !== b ? (S = {
|
|
6443
6471
|
parkedPreviewCell: x,
|
|
6444
6472
|
isHeldEdit: p,
|
|
@@ -6462,7 +6490,7 @@ function ra(e) {
|
|
|
6462
6490
|
}
|
|
6463
6491
|
}
|
|
6464
6492
|
var ia = (e) => {
|
|
6465
|
-
let t = (0,
|
|
6493
|
+
let t = (0, N.c)(13), { cell: n } = e, r;
|
|
6466
6494
|
t[0] !== n.id || t[1] !== n.name ? (r = x(n.id, n.name), t[0] = n.id, t[1] = n.name, t[2] = r) : r = t[2];
|
|
6467
6495
|
let i = n.id, a = n.status, o = n.output, s;
|
|
6468
6496
|
t[3] === n ? s = t[4] : (s = u(n, !1), t[3] = n, t[4] = s);
|
|
@@ -6480,21 +6508,21 @@ var ia = (e) => {
|
|
|
6480
6508
|
children: c
|
|
6481
6509
|
}), t[10] = r, t[11] = c, t[12] = l) : l = t[12], l;
|
|
6482
6510
|
}, aa = (e) => {
|
|
6483
|
-
let t = (0,
|
|
6511
|
+
let t = (0, N.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a, contentStyle: o } = e, s, c, l, u, d, f;
|
|
6484
6512
|
if (t[0] !== o || t[1] !== i || t[2] !== r || t[3] !== a || t[4] !== n) {
|
|
6485
|
-
let { slideLevel: e, cumulativeByBlock: p } =
|
|
6513
|
+
let { slideLevel: e, cumulativeByBlock: p } = hr(n, a);
|
|
6486
6514
|
l = e;
|
|
6487
6515
|
let m = n.blocks.some((e) => e.cells.some((e) => r(e.id)));
|
|
6488
|
-
c =
|
|
6489
|
-
let n = e.cells.map((e) => r(e.id) ? i ? /* @__PURE__ */ (0, G.jsx)(
|
|
6516
|
+
c = K, s = tr, u = m ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content", d = o, f = n.blocks.map((e, t) => {
|
|
6517
|
+
let n = e.cells.map((e) => r(e.id) ? i ? /* @__PURE__ */ (0, G.jsx)(cr, { cell: e }, e.id) : /* @__PURE__ */ (0, G.jsx)(lr, { cell: e }, e.id) : /* @__PURE__ */ (0, G.jsx)(ia, { cell: e }, e.id));
|
|
6490
6518
|
if (e.isFragment) {
|
|
6491
6519
|
let e = p.get(t);
|
|
6492
|
-
return /* @__PURE__ */ (0, G.jsxs)(
|
|
6520
|
+
return /* @__PURE__ */ (0, G.jsxs)(Jn, {
|
|
6493
6521
|
as: "div",
|
|
6494
6522
|
children: [n, e && /* @__PURE__ */ (0, G.jsx)(Qi, { text: e })]
|
|
6495
6523
|
}, t);
|
|
6496
6524
|
}
|
|
6497
|
-
return /* @__PURE__ */ (0, G.jsx)(
|
|
6525
|
+
return /* @__PURE__ */ (0, G.jsx)(M.Fragment, { children: n }, t);
|
|
6498
6526
|
}), 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;
|
|
6499
6527
|
} else s = t[5], c = t[6], l = t[7], u = t[8], d = t[9], f = t[10];
|
|
6500
6528
|
let p;
|
|
@@ -6515,210 +6543,210 @@ function oa(e) {
|
|
|
6515
6543
|
return t && n || r;
|
|
6516
6544
|
}
|
|
6517
6545
|
var sa = (e) => {
|
|
6518
|
-
let t = (0,
|
|
6546
|
+
let t = (0, N.c)(5), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e;
|
|
6519
6547
|
if (oa({
|
|
6520
6548
|
isNoOutputPreview: r,
|
|
6521
6549
|
isEditable: i,
|
|
6522
6550
|
showCode: a
|
|
6523
6551
|
})) {
|
|
6524
6552
|
let e;
|
|
6525
|
-
return t[0] !== n || t[1] !== i ? (e = i ? /* @__PURE__ */ (0, G.jsx)(
|
|
6553
|
+
return t[0] !== n || t[1] !== i ? (e = i ? /* @__PURE__ */ (0, G.jsx)(cr, { cell: n }) : /* @__PURE__ */ (0, G.jsx)(lr, { cell: n }), t[0] = n, t[1] = i, t[2] = e) : e = t[2], e;
|
|
6526
6554
|
}
|
|
6527
6555
|
let o;
|
|
6528
6556
|
return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0, G.jsx)(ia, { cell: n }), t[3] = n, t[4] = o), o;
|
|
6529
6557
|
}, ca = (e) => {
|
|
6530
|
-
let n = (0,
|
|
6531
|
-
n[0] !==
|
|
6532
|
-
let
|
|
6533
|
-
n[3] ===
|
|
6534
|
-
let
|
|
6535
|
-
n[5] ===
|
|
6536
|
-
let
|
|
6537
|
-
n[7] !==
|
|
6538
|
-
let
|
|
6539
|
-
n[10] !==
|
|
6540
|
-
activeCell:
|
|
6558
|
+
let n = (0, N.c)(160), { slideCells: o, layout: s, setLayout: c, noOutputIds: u, activeIndex: x, onSlideChange: S, mode: C, configWidth: ee, isEditable: T } = e, j = T !== void 0 && T, re = (0, M.useRef)(null), P = (0, M.useRef)(null), { width: ie, height: ae } = Zi(re), oe = E() != null, F = O(w), I = O(te).kind, se = O(A), ce = I !== "wasm" || se, L;
|
|
6559
|
+
n[0] !== F || n[1] !== I ? (L = F || !h(I) ? [] : [Ui], n[0] = F, n[1] = I, n[2] = L) : L = n[2];
|
|
6560
|
+
let le = L, [ue, de] = (0, M.useState)(la), fe = ne(o), pe;
|
|
6561
|
+
n[3] === fe ? pe = n[4] : (pe = !k() && fe, n[3] = fe, n[4] = pe);
|
|
6562
|
+
let me = pe, he;
|
|
6563
|
+
n[5] === F ? he = n[6] : (he = b(F, window.location.search), n[5] = F, n[6] = he);
|
|
6564
|
+
let R = !he && me, ge = x == null ? void 0 : o[x], _e;
|
|
6565
|
+
n[7] !== ge || n[8] !== o ? (_e = ge ?? o.at(0), n[7] = ge, n[8] = o, n[9] = _e) : _e = n[9];
|
|
6566
|
+
let ve = _e, ye;
|
|
6567
|
+
n[10] !== ge || n[11] !== s.cells || n[12] !== u ? (ye = {
|
|
6568
|
+
activeCell: ge,
|
|
6541
6569
|
slideConfigs: s.cells,
|
|
6542
6570
|
noOutputIds: u
|
|
6543
|
-
}, n[10] =
|
|
6544
|
-
let { parkedPreviewCell:
|
|
6545
|
-
n[14] !==
|
|
6571
|
+
}, n[10] = ge, n[11] = s.cells, n[12] = u, n[13] = ye) : ye = n[13];
|
|
6572
|
+
let { parkedPreviewCell: z, isHeldEdit: be, isNoOutputPreview: B, heldEditCellId: xe, heldShowsCode: Se, toggleHeldShowsCode: Ce } = ta(ye), we;
|
|
6573
|
+
n[14] !== me || n[15] !== s.cells || n[16] !== ue ? (we = (e) => $i({
|
|
6546
6574
|
cells: s.cells,
|
|
6547
6575
|
cellId: e,
|
|
6548
|
-
showCodeOverrides:
|
|
6549
|
-
codeAvailable:
|
|
6550
|
-
}), n[14] =
|
|
6551
|
-
let
|
|
6552
|
-
n[18] !==
|
|
6553
|
-
let
|
|
6554
|
-
n[23] !==
|
|
6555
|
-
let
|
|
6556
|
-
n[27] !==
|
|
6576
|
+
showCodeOverrides: ue,
|
|
6577
|
+
codeAvailable: me
|
|
6578
|
+
}), n[14] = me, n[15] = s.cells, n[16] = ue, n[17] = we) : we = n[17];
|
|
6579
|
+
let Te = we, V = ge?.id ?? ve?.id, Ee;
|
|
6580
|
+
n[18] !== V || n[19] !== Se || n[20] !== be || n[21] !== Te ? (Ee = be ? Se : Te(V), n[18] = V, n[19] = Se, n[20] = be, n[21] = Te, n[22] = Ee) : Ee = n[22];
|
|
6581
|
+
let De = Ee, Oe;
|
|
6582
|
+
n[23] !== V || n[24] !== me || n[25] !== s.cells ? (Oe = me && V != null && (s.cells.get(V)?.showCode ?? !1), n[23] = V, n[24] = me, n[25] = s.cells, n[26] = Oe) : Oe = n[26];
|
|
6583
|
+
let ke = Oe, Ae;
|
|
6584
|
+
n[27] !== xe || n[28] !== s.cells || n[29] !== u ? (Ae = (e) => ea({
|
|
6557
6585
|
cell: e,
|
|
6558
6586
|
noOutputIds: u,
|
|
6559
|
-
heldEditCellId:
|
|
6587
|
+
heldEditCellId: xe,
|
|
6560
6588
|
slideConfigs: s.cells
|
|
6561
|
-
}), n[27] =
|
|
6562
|
-
let
|
|
6563
|
-
n[31] !== o || n[32] !==
|
|
6589
|
+
}), n[27] = xe, n[28] = s.cells, n[29] = u, n[30] = Ae) : Ae = n[30];
|
|
6590
|
+
let je;
|
|
6591
|
+
n[31] !== o || n[32] !== Ae ? (je = nr({
|
|
6564
6592
|
cells: o,
|
|
6565
|
-
getType:
|
|
6566
|
-
}), n[31] = o, n[32] =
|
|
6567
|
-
let
|
|
6568
|
-
n[34] !==
|
|
6569
|
-
composition:
|
|
6593
|
+
getType: Ae
|
|
6594
|
+
}), n[31] = o, n[32] = Ae, n[33] = je) : je = n[33];
|
|
6595
|
+
let Me = je, Ne;
|
|
6596
|
+
n[34] !== Me || n[35] !== o ? (Ne = rr({
|
|
6597
|
+
composition: Me,
|
|
6570
6598
|
cells: o,
|
|
6571
6599
|
getId: ua
|
|
6572
|
-
}), n[34] =
|
|
6573
|
-
let { cellToTarget:
|
|
6574
|
-
n[37] ===
|
|
6575
|
-
let
|
|
6576
|
-
n[39] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
6577
|
-
let
|
|
6578
|
-
n[40] !==
|
|
6600
|
+
}), n[34] = Me, n[35] = o, n[36] = Ne) : Ne = n[36];
|
|
6601
|
+
let { cellToTarget: Pe, targetToCellIndex: Fe } = Ne, Ie = s.deck?.transition ?? "slide", Le = s.deck?.verticalAlign, Re;
|
|
6602
|
+
n[37] === Le ? Re = n[38] : (Re = ra(Le), n[37] = Le, n[38] = Re);
|
|
6603
|
+
let ze = Re, Be;
|
|
6604
|
+
n[39] === Symbol.for("react.memo_cache_sentinel") ? (Be = v(window.location.href), n[39] = Be) : Be = n[39];
|
|
6605
|
+
let Ve = Be, H;
|
|
6606
|
+
n[40] !== Ie || n[41] !== ae || n[42] !== ie ? (H = {
|
|
6579
6607
|
embedded: !0,
|
|
6580
|
-
width:
|
|
6581
|
-
height:
|
|
6608
|
+
width: ie,
|
|
6609
|
+
height: ae,
|
|
6582
6610
|
center: !1,
|
|
6583
6611
|
minScale: .2,
|
|
6584
6612
|
maxScale: 2,
|
|
6585
|
-
transition:
|
|
6613
|
+
transition: Ie,
|
|
6586
6614
|
keyboardCondition: da,
|
|
6587
|
-
url:
|
|
6615
|
+
url: Ve,
|
|
6588
6616
|
scrollActivationWidth: 0
|
|
6589
|
-
}, n[40] =
|
|
6590
|
-
let
|
|
6591
|
-
n[44] !== x || n[45] !==
|
|
6617
|
+
}, n[40] = Ie, n[41] = ae, n[42] = ie, n[43] = H) : H = n[43];
|
|
6618
|
+
let U = H, He;
|
|
6619
|
+
n[44] !== x || n[45] !== ce || n[46] !== Pe || n[47] !== o ? (He = (e) => {
|
|
6592
6620
|
if (x == null && window.location.hash.startsWith("#/")) {
|
|
6593
|
-
if (!
|
|
6621
|
+
if (!ce) return;
|
|
6594
6622
|
window.dispatchEvent(new HashChangeEvent("hashchange")), qi(e);
|
|
6595
6623
|
return;
|
|
6596
6624
|
}
|
|
6597
|
-
let t =
|
|
6625
|
+
let t = or({
|
|
6598
6626
|
activeIndex: x,
|
|
6599
6627
|
cells: o,
|
|
6600
|
-
cellToTarget:
|
|
6628
|
+
cellToTarget: Pe,
|
|
6601
6629
|
getId: fa
|
|
6602
|
-
}), n = t &&
|
|
6630
|
+
}), n = t && sr(e.getIndices(), t);
|
|
6603
6631
|
n && (e.slide(n.h, n.v, n.f), qi(e));
|
|
6604
|
-
}, n[44] = x, n[45] =
|
|
6605
|
-
let
|
|
6606
|
-
n[49] ===
|
|
6607
|
-
let e =
|
|
6608
|
-
e != null &&
|
|
6609
|
-
}, n[49] =
|
|
6610
|
-
let
|
|
6611
|
-
n[51] !== x || n[52] !==
|
|
6632
|
+
}, n[44] = x, n[45] = ce, n[46] = Pe, n[47] = o, n[48] = He) : He = n[48];
|
|
6633
|
+
let Ue = D(He), We;
|
|
6634
|
+
n[49] === Ue ? We = n[50] : (We = () => {
|
|
6635
|
+
let e = P.current;
|
|
6636
|
+
e != null && Ue(e);
|
|
6637
|
+
}, n[49] = Ue, n[50] = We);
|
|
6638
|
+
let Ge;
|
|
6639
|
+
n[51] !== x || n[52] !== ce || n[53] !== Pe || n[54] !== Ue || n[55] !== o ? (Ge = [
|
|
6612
6640
|
x,
|
|
6613
|
-
|
|
6614
|
-
|
|
6641
|
+
ce,
|
|
6642
|
+
Pe,
|
|
6615
6643
|
o,
|
|
6616
|
-
|
|
6617
|
-
], n[51] = x, n[52] =
|
|
6618
|
-
let
|
|
6619
|
-
n[57] !==
|
|
6620
|
-
if (!(
|
|
6621
|
-
if (
|
|
6622
|
-
|
|
6644
|
+
Ue
|
|
6645
|
+
], n[51] = x, n[52] = ce, n[53] = Pe, n[54] = Ue, n[55] = o, n[56] = Ge) : Ge = n[56], (0, M.useEffect)(We, Ge);
|
|
6646
|
+
let Ke;
|
|
6647
|
+
n[57] !== V || n[58] !== ke || n[59] !== be || n[60] !== Ce ? (Ke = () => {
|
|
6648
|
+
if (!(V == null || ke)) {
|
|
6649
|
+
if (be) {
|
|
6650
|
+
Ce();
|
|
6623
6651
|
return;
|
|
6624
6652
|
}
|
|
6625
|
-
(0,
|
|
6653
|
+
(0, M.startTransition)(() => de((e) => {
|
|
6626
6654
|
let t = new Set(e);
|
|
6627
|
-
return t.has(
|
|
6655
|
+
return t.has(V) ? t.delete(V) : t.add(V), t;
|
|
6628
6656
|
}));
|
|
6629
6657
|
}
|
|
6630
|
-
}, n[57] =
|
|
6631
|
-
let
|
|
6632
|
-
n[62] !==
|
|
6633
|
-
let e =
|
|
6658
|
+
}, n[57] = V, n[58] = ke, n[59] = be, n[60] = Ce, n[61] = Ke) : Ke = n[61];
|
|
6659
|
+
let qe = D(Ke), Je, Ye;
|
|
6660
|
+
n[62] !== R || n[63] !== qe ? (Je = () => {
|
|
6661
|
+
let e = P.current;
|
|
6634
6662
|
return e && Ki({
|
|
6635
6663
|
deck: e,
|
|
6636
|
-
enabled:
|
|
6637
|
-
onToggle:
|
|
6664
|
+
enabled: R,
|
|
6665
|
+
onToggle: qe
|
|
6638
6666
|
}), () => {
|
|
6639
|
-
|
|
6667
|
+
P.current?.removeKeyBinding(Gi);
|
|
6640
6668
|
};
|
|
6641
|
-
},
|
|
6642
|
-
let
|
|
6643
|
-
n[66] !== S || n[67] !==
|
|
6644
|
-
if (
|
|
6645
|
-
let t =
|
|
6669
|
+
}, Ye = [R, qe], n[62] = R, n[63] = qe, n[64] = Je, n[65] = Ye) : (Je = n[64], Ye = n[65]), (0, M.useEffect)(Je, Ye);
|
|
6670
|
+
let Xe;
|
|
6671
|
+
n[66] !== S || n[67] !== z || n[68] !== Fe ? (Xe = (e) => {
|
|
6672
|
+
if (z != null) return;
|
|
6673
|
+
let t = ir(Fe, e.getIndices());
|
|
6646
6674
|
t != null && S?.(t);
|
|
6647
|
-
}, n[66] = S, n[67] =
|
|
6648
|
-
let
|
|
6649
|
-
n[70] ===
|
|
6650
|
-
let e =
|
|
6651
|
-
e &&
|
|
6652
|
-
}, n[70] =
|
|
6653
|
-
let $e =
|
|
6654
|
-
n[72] !==
|
|
6655
|
-
|
|
6675
|
+
}, n[66] = S, n[67] = z, n[68] = Fe, n[69] = Xe) : Xe = n[69];
|
|
6676
|
+
let Ze = D(Xe), Qe;
|
|
6677
|
+
n[70] === Ze ? Qe = n[71] : (Qe = () => {
|
|
6678
|
+
let e = P.current;
|
|
6679
|
+
e && Ze(e);
|
|
6680
|
+
}, n[70] = Ze, n[71] = Qe);
|
|
6681
|
+
let $e = D(Qe), et;
|
|
6682
|
+
n[72] !== ce || n[73] !== R || n[74] !== Ue || n[75] !== Ze || n[76] !== qe ? (et = (e) => {
|
|
6683
|
+
Ue(e), ce && Ze(e), Ki({
|
|
6656
6684
|
deck: e,
|
|
6657
|
-
enabled:
|
|
6658
|
-
onToggle:
|
|
6685
|
+
enabled: R,
|
|
6686
|
+
onToggle: qe
|
|
6659
6687
|
});
|
|
6660
6688
|
let t = e.getSlidesElement()?.closest(".reveal");
|
|
6661
6689
|
t instanceof HTMLElement && (t.tabIndex = -1, t.focus({ preventScroll: !0 }));
|
|
6662
|
-
}, n[72] =
|
|
6663
|
-
let tt =
|
|
6664
|
-
n[78] !== x || n[79] !== S || n[80] !==
|
|
6665
|
-
if (!
|
|
6690
|
+
}, n[72] = ce, n[73] = R, n[74] = Ue, n[75] = Ze, n[76] = qe, n[77] = et) : et = n[77];
|
|
6691
|
+
let tt = D(et), nt;
|
|
6692
|
+
n[78] !== x || n[79] !== S || n[80] !== z || n[81] !== o ? (nt = (e) => {
|
|
6693
|
+
if (!z || x == null || i.fromInput(e)) return;
|
|
6666
6694
|
let t = Xi(e);
|
|
6667
6695
|
if (t === 0) return;
|
|
6668
6696
|
e.preventDefault(), e.stopPropagation();
|
|
6669
6697
|
let n = x + t;
|
|
6670
6698
|
n < 0 || n >= o.length || S?.(n);
|
|
6671
|
-
}, n[78] = x, n[79] = S, n[80] =
|
|
6672
|
-
let rt =
|
|
6699
|
+
}, n[78] = x, n[79] = S, n[80] = z, n[81] = o, n[82] = nt) : nt = n[82];
|
|
6700
|
+
let rt = D(nt), it;
|
|
6673
6701
|
n[83] === $e ? it = n[84] : (it = () => {
|
|
6674
6702
|
$e();
|
|
6675
6703
|
}, n[83] = $e, n[84] = it);
|
|
6676
|
-
let
|
|
6677
|
-
n[85] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
6678
|
-
let ot =
|
|
6679
|
-
n[86] !==
|
|
6704
|
+
let at = D(it), W;
|
|
6705
|
+
n[85] === Symbol.for("react.memo_cache_sentinel") ? (W = { capture: !0 }, n[85] = W) : W = n[85], t(document, "keydown", rt, W);
|
|
6706
|
+
let ot = be ? null : B ? "Hidden as there is no output" : "Skipped in presentation", st;
|
|
6707
|
+
n[86] !== Se || n[87] !== be || n[88] !== z?.id || n[89] !== Te ? (st = be ? Se : Te(z?.id), n[86] = Se, n[87] = be, n[88] = z?.id, n[89] = Te, n[90] = st) : st = n[90];
|
|
6680
6708
|
let ct = st, lt;
|
|
6681
|
-
n[91] !==
|
|
6682
|
-
isNoOutputPreview:
|
|
6683
|
-
isEditable:
|
|
6709
|
+
n[91] !== j || n[92] !== B || n[93] !== ct ? (lt = oa({
|
|
6710
|
+
isNoOutputPreview: B,
|
|
6711
|
+
isEditable: j,
|
|
6684
6712
|
showCode: ct
|
|
6685
|
-
}), n[91] =
|
|
6713
|
+
}), n[91] = j, n[92] = B, n[93] = ct, n[94] = lt) : lt = n[94];
|
|
6686
6714
|
let ut = lt, dt;
|
|
6687
|
-
n[95] !==
|
|
6688
|
-
width:
|
|
6689
|
-
height:
|
|
6690
|
-
}, n[95] =
|
|
6715
|
+
n[95] !== ae || n[96] !== ie ? (dt = {
|
|
6716
|
+
width: ie,
|
|
6717
|
+
height: ae
|
|
6718
|
+
}, n[95] = ae, n[96] = ie, n[97] = dt) : dt = n[97];
|
|
6691
6719
|
let ft;
|
|
6692
|
-
if (n[98] !==
|
|
6720
|
+
if (n[98] !== Me.stacks || n[99] !== j || n[100] !== s.cells || n[101] !== Te || n[102] !== ze) {
|
|
6693
6721
|
let e;
|
|
6694
|
-
n[104] !==
|
|
6722
|
+
n[104] !== j || n[105] !== s.cells || n[106] !== Te || n[107] !== ze ? (e = (e, t) => e.subslides.length === 1 ? /* @__PURE__ */ (0, G.jsx)(aa, {
|
|
6695
6723
|
subslide: e.subslides[0],
|
|
6696
|
-
resolveShowCode:
|
|
6697
|
-
isEditable:
|
|
6724
|
+
resolveShowCode: Te,
|
|
6725
|
+
isEditable: j,
|
|
6698
6726
|
slideConfigs: s.cells,
|
|
6699
|
-
contentStyle:
|
|
6727
|
+
contentStyle: ze
|
|
6700
6728
|
}, t) : /* @__PURE__ */ (0, G.jsx)(vt, { children: e.subslides.map((e, t) => /* @__PURE__ */ (0, G.jsx)(aa, {
|
|
6701
6729
|
subslide: e,
|
|
6702
|
-
resolveShowCode:
|
|
6703
|
-
isEditable:
|
|
6730
|
+
resolveShowCode: Te,
|
|
6731
|
+
isEditable: j,
|
|
6704
6732
|
slideConfigs: s.cells,
|
|
6705
|
-
contentStyle:
|
|
6706
|
-
}, t)) }, t), n[104] =
|
|
6733
|
+
contentStyle: ze
|
|
6734
|
+
}, t)) }, t), n[104] = j, n[105] = s.cells, n[106] = Te, n[107] = ze, n[108] = e) : e = n[108], ft = Me.stacks.map(e), n[98] = Me.stacks, n[99] = j, n[100] = s.cells, n[101] = Te, n[102] = ze, n[103] = ft;
|
|
6707
6735
|
} else ft = n[103];
|
|
6708
|
-
let
|
|
6709
|
-
n[109] !==
|
|
6710
|
-
deckRef:
|
|
6736
|
+
let pt;
|
|
6737
|
+
n[109] !== le || n[110] !== tt || n[111] !== at || n[112] !== $e || n[113] !== U || n[114] !== ft ? (pt = /* @__PURE__ */ (0, G.jsx)(mt, {
|
|
6738
|
+
deckRef: P,
|
|
6711
6739
|
className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden",
|
|
6712
|
-
config:
|
|
6740
|
+
config: U,
|
|
6713
6741
|
onReady: tt,
|
|
6714
|
-
onSlideChange:
|
|
6742
|
+
onSlideChange: at,
|
|
6715
6743
|
onFragmentShown: $e,
|
|
6716
6744
|
onFragmentHidden: $e,
|
|
6717
|
-
plugins:
|
|
6745
|
+
plugins: le,
|
|
6718
6746
|
children: ft
|
|
6719
|
-
}), n[109] =
|
|
6747
|
+
}), n[109] = le, n[110] = tt, n[111] = at, n[112] = $e, n[113] = U, n[114] = ft, n[115] = pt) : pt = n[115];
|
|
6720
6748
|
let ht;
|
|
6721
|
-
n[116] !==
|
|
6749
|
+
n[116] !== j || n[117] !== B || n[118] !== z || n[119] !== ot || n[120] !== ct || n[121] !== ut || n[122] !== ze ? (ht = z && /* @__PURE__ */ (0, G.jsxs)("div", {
|
|
6722
6750
|
className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
|
|
6723
6751
|
"aria-label": ot ?? void 0,
|
|
6724
6752
|
children: [ot && /* @__PURE__ */ (0, G.jsxs)("div", {
|
|
@@ -6728,31 +6756,31 @@ var sa = (e) => {
|
|
|
6728
6756
|
className: "flex-1 overflow-auto flex",
|
|
6729
6757
|
children: /* @__PURE__ */ (0, G.jsx)("div", {
|
|
6730
6758
|
className: ut ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
|
|
6731
|
-
style:
|
|
6759
|
+
style: ze,
|
|
6732
6760
|
children: /* @__PURE__ */ (0, G.jsx)(sa, {
|
|
6733
|
-
cell:
|
|
6734
|
-
isNoOutputPreview:
|
|
6735
|
-
isEditable:
|
|
6761
|
+
cell: z,
|
|
6762
|
+
isNoOutputPreview: B,
|
|
6763
|
+
isEditable: j,
|
|
6736
6764
|
showCode: ct
|
|
6737
6765
|
})
|
|
6738
6766
|
})
|
|
6739
6767
|
})]
|
|
6740
|
-
},
|
|
6768
|
+
}, z.id), n[116] = j, n[117] = B, n[118] = z, n[119] = ot, n[120] = ct, n[121] = ut, n[122] = ze, n[123] = ht) : ht = n[123];
|
|
6741
6769
|
let gt;
|
|
6742
|
-
n[124] !==
|
|
6743
|
-
content:
|
|
6770
|
+
n[124] !== De || n[125] !== ke || n[126] !== R || n[127] !== qe ? (gt = R && /* @__PURE__ */ (0, G.jsx)(l, {
|
|
6771
|
+
content: ke ? "Code is always shown for this slide" : De ? "Hide code (C)" : "Show code (C)",
|
|
6744
6772
|
children: /* @__PURE__ */ (0, G.jsx)(a, {
|
|
6745
6773
|
"data-testid": "marimo-plugin-slides-toggle-code",
|
|
6746
6774
|
variant: "ghost",
|
|
6747
6775
|
size: "icon",
|
|
6748
|
-
className: r("text-muted-foreground h-7 w-7",
|
|
6749
|
-
"aria-pressed":
|
|
6750
|
-
"aria-disabled":
|
|
6751
|
-
"aria-label":
|
|
6752
|
-
onClick:
|
|
6776
|
+
className: r("text-muted-foreground h-7 w-7", De && "text-foreground bg-muted", ke && "opacity-50 cursor-not-allowed"),
|
|
6777
|
+
"aria-pressed": De,
|
|
6778
|
+
"aria-disabled": ke,
|
|
6779
|
+
"aria-label": ke ? "Code always shown" : De ? "Hide code" : "Show code",
|
|
6780
|
+
onClick: qe,
|
|
6753
6781
|
children: /* @__PURE__ */ (0, G.jsx)(_, { className: "h-4 w-4" })
|
|
6754
6782
|
})
|
|
6755
|
-
}), n[124] =
|
|
6783
|
+
}), n[124] = De, n[125] = ke, n[126] = R, n[127] = qe, n[128] = gt) : gt = n[128];
|
|
6756
6784
|
let _t;
|
|
6757
6785
|
n[129] === Symbol.for("react.memo_cache_sentinel") ? (_t = /* @__PURE__ */ (0, G.jsx)(l, {
|
|
6758
6786
|
content: "Fullscreen (F)",
|
|
@@ -6763,90 +6791,90 @@ var sa = (e) => {
|
|
|
6763
6791
|
className: "text-muted-foreground h-7 w-7",
|
|
6764
6792
|
"aria-label": "Enter fullscreen",
|
|
6765
6793
|
onClick: () => {
|
|
6766
|
-
|
|
6794
|
+
P.current?.getViewportElement()?.requestFullscreen().catch(pa);
|
|
6767
6795
|
},
|
|
6768
6796
|
children: /* @__PURE__ */ (0, G.jsx)(y, { className: "h-4 w-4" })
|
|
6769
6797
|
})
|
|
6770
6798
|
}), n[129] = _t) : _t = n[129];
|
|
6771
|
-
let
|
|
6772
|
-
n[130] === gt ?
|
|
6799
|
+
let K;
|
|
6800
|
+
n[130] === gt ? K = n[131] : (K = /* @__PURE__ */ (0, G.jsxs)("div", {
|
|
6773
6801
|
className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",
|
|
6774
6802
|
children: [gt, _t]
|
|
6775
|
-
}), n[130] = gt, n[131] =
|
|
6776
|
-
let
|
|
6777
|
-
n[132] !== dt || n[133] !==
|
|
6778
|
-
ref:
|
|
6803
|
+
}), n[130] = gt, n[131] = K);
|
|
6804
|
+
let yt;
|
|
6805
|
+
n[132] !== dt || n[133] !== pt || n[134] !== ht || n[135] !== K ? (yt = /* @__PURE__ */ (0, G.jsx)("div", {
|
|
6806
|
+
ref: re,
|
|
6779
6807
|
className: "h-full w-full min-w-0 flex items-center justify-center overflow-hidden",
|
|
6780
6808
|
children: /* @__PURE__ */ (0, G.jsxs)("div", {
|
|
6781
6809
|
className: "group relative",
|
|
6782
6810
|
style: dt,
|
|
6783
6811
|
children: [
|
|
6784
|
-
|
|
6812
|
+
pt,
|
|
6785
6813
|
ht,
|
|
6786
|
-
|
|
6814
|
+
K
|
|
6787
6815
|
]
|
|
6788
6816
|
})
|
|
6789
|
-
}), n[132] = dt, n[133] =
|
|
6790
|
-
let
|
|
6817
|
+
}), n[132] = dt, n[133] = pt, n[134] = ht, n[135] = K, n[136] = yt) : yt = n[136];
|
|
6818
|
+
let q = yt;
|
|
6791
6819
|
if (C === "read") {
|
|
6792
6820
|
let e;
|
|
6793
|
-
return n[137] ===
|
|
6821
|
+
return n[137] === q ? e = n[138] : (e = /* @__PURE__ */ (0, G.jsx)("div", {
|
|
6794
6822
|
className: "flex-1 min-w-0 flex flex-row gap-3",
|
|
6795
|
-
children:
|
|
6796
|
-
}), n[137] =
|
|
6823
|
+
children: q
|
|
6824
|
+
}), n[137] = q, n[138] = e), e;
|
|
6797
6825
|
}
|
|
6798
|
-
let
|
|
6799
|
-
n[139] ===
|
|
6826
|
+
let bt;
|
|
6827
|
+
n[139] === q ? bt = n[140] : (bt = /* @__PURE__ */ (0, G.jsx)(p, {
|
|
6800
6828
|
defaultSize: 92,
|
|
6801
6829
|
minSize: 60,
|
|
6802
|
-
children:
|
|
6803
|
-
}), n[139] =
|
|
6804
|
-
let
|
|
6805
|
-
n[141] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
6830
|
+
children: q
|
|
6831
|
+
}), n[139] = q, n[140] = bt);
|
|
6832
|
+
let xt;
|
|
6833
|
+
n[141] === Symbol.for("react.memo_cache_sentinel") ? (xt = {
|
|
6806
6834
|
coarse: 12,
|
|
6807
6835
|
fine: 4
|
|
6808
|
-
}, n[141] =
|
|
6809
|
-
let
|
|
6810
|
-
n[142] ===
|
|
6836
|
+
}, n[141] = xt) : xt = n[141];
|
|
6837
|
+
let J;
|
|
6838
|
+
n[142] === oe ? J = n[143] : (J = /* @__PURE__ */ (0, G.jsx)(d, {
|
|
6811
6839
|
className: "mo-slides-notes-resize",
|
|
6812
|
-
hitAreaMargins:
|
|
6813
|
-
disabled:
|
|
6814
|
-
}), n[142] =
|
|
6815
|
-
let
|
|
6816
|
-
n[144] !== s || n[145] !== c || n[146] !==
|
|
6840
|
+
hitAreaMargins: xt,
|
|
6841
|
+
disabled: oe
|
|
6842
|
+
}), n[142] = oe, n[143] = J);
|
|
6843
|
+
let St = ve?.id, Y;
|
|
6844
|
+
n[144] !== s || n[145] !== c || n[146] !== St ? (Y = /* @__PURE__ */ (0, G.jsx)(p, {
|
|
6817
6845
|
defaultSize: 10,
|
|
6818
6846
|
minSize: 4,
|
|
6819
6847
|
collapsible: !0,
|
|
6820
6848
|
collapsedSize: 4,
|
|
6821
|
-
children: /* @__PURE__ */ (0, G.jsx)(
|
|
6849
|
+
children: /* @__PURE__ */ (0, G.jsx)(dr, {
|
|
6822
6850
|
layout: s,
|
|
6823
6851
|
setLayout: c,
|
|
6824
|
-
cellId:
|
|
6852
|
+
cellId: St
|
|
6825
6853
|
})
|
|
6826
|
-
}), n[144] = s, n[145] = c, n[146] =
|
|
6827
|
-
let
|
|
6828
|
-
n[148] !==
|
|
6854
|
+
}), n[144] = s, n[145] = c, n[146] = St, n[147] = Y) : Y = n[147];
|
|
6855
|
+
let Ct;
|
|
6856
|
+
n[148] !== bt || n[149] !== J || n[150] !== Y ? (Ct = /* @__PURE__ */ (0, G.jsxs)(f, {
|
|
6829
6857
|
direction: "vertical",
|
|
6830
6858
|
autoSaveId: "marimo:slides:notes-panel",
|
|
6831
6859
|
className: "flex-1 min-w-0",
|
|
6832
6860
|
children: [
|
|
6833
|
-
|
|
6834
|
-
|
|
6835
|
-
|
|
6861
|
+
bt,
|
|
6862
|
+
J,
|
|
6863
|
+
Y
|
|
6836
6864
|
]
|
|
6837
|
-
}), n[148] =
|
|
6838
|
-
let
|
|
6839
|
-
n[152] !==
|
|
6865
|
+
}), n[148] = bt, n[149] = J, n[150] = Y, n[151] = Ct) : Ct = n[151];
|
|
6866
|
+
let wt;
|
|
6867
|
+
n[152] !== ve || n[153] !== ee || n[154] !== s || n[155] !== c ? (wt = /* @__PURE__ */ (0, G.jsx)(g, {
|
|
6840
6868
|
configWidth: ee,
|
|
6841
6869
|
layout: s,
|
|
6842
6870
|
setLayout: c,
|
|
6843
|
-
activeConfigCell:
|
|
6844
|
-
}), n[152] =
|
|
6845
|
-
let
|
|
6846
|
-
return n[157] !==
|
|
6871
|
+
activeConfigCell: ve
|
|
6872
|
+
}), n[152] = ve, n[153] = ee, n[154] = s, n[155] = c, n[156] = wt) : wt = n[156];
|
|
6873
|
+
let Tt;
|
|
6874
|
+
return n[157] !== Ct || n[158] !== wt ? (Tt = /* @__PURE__ */ (0, G.jsxs)("div", {
|
|
6847
6875
|
className: "flex-1 min-w-0 flex flex-row gap-3",
|
|
6848
|
-
children: [
|
|
6849
|
-
}), n[157] =
|
|
6876
|
+
children: [Ct, wt]
|
|
6877
|
+
}), n[157] = Ct, n[158] = wt, n[159] = Tt) : Tt = n[159], Tt;
|
|
6850
6878
|
};
|
|
6851
6879
|
function la() {
|
|
6852
6880
|
return /* @__PURE__ */ new Set();
|