@marimo-team/islands 0.25.3-dev26 → 0.25.3-dev261

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) hide show
  1. package/dist/{ConnectedDataExplorerComponent-DfG3PRaJ.js → ConnectedDataExplorerComponent-DjlwdMQT.js} +120 -116
  2. package/dist/{ErrorBoundary-MDk-fuIJ.js → ErrorBoundary-m3vF1P4J.js} +16 -16
  3. package/dist/_baseSet-BfI5FjBM.js +328 -0
  4. package/dist/{abnfDiagram-VCTEODGH-B3w-XWX8.js → abnfDiagram-VCTEODGH-DzrZZXRD.js} +2 -2
  5. package/dist/any-language-editor-Be7dA2VK.js +75 -0
  6. package/dist/{architectureDiagram-5GKGNRK7-C18U9A6k.js → architectureDiagram-5GKGNRK7-iF_snyFL.js} +1 -1
  7. package/dist/{arrays-CN1djC4k.js → arrays-DoQ-AILx.js} +15 -27
  8. package/dist/assets/__vite-browser-external-BKBpimif.js +1 -0
  9. package/dist/assets/worker-CgoMtD-_.js +113 -0
  10. package/dist/{blockDiagram-I7D4REHJ-Cg25UrxT.js → blockDiagram-I7D4REHJ-Dkhe6_PP.js} +1 -1
  11. package/dist/{button-CvjkwdSk.js → button-0-RqY1DW.js} +229 -218
  12. package/dist/{capabilities-CQ5IjhzL.js → capabilities-B6yy_CBN.js} +2 -2
  13. package/dist/{chat-ui-w8SVynkn.js → chat-ui-Bl_I-evE.js} +822 -755
  14. package/dist/{check-BMKBBrdc.js → check-CSvxZk5I.js} +1 -1
  15. package/dist/{chunk-IMKFNOWR-CrS5bzqW.js → chunk-IMKFNOWR-B7xytD4B.js} +1 -1
  16. package/dist/{chunk-SHT3W25Y-StpvPvUG.js → chunk-SHT3W25Y-I8ZFP5L1.js} +1 -1
  17. package/dist/{chunk-SVP7TREG-CBXjbYZC.js → chunk-SVP7TREG-Di-uAPdT.js} +1 -1
  18. package/dist/{chunk-TICWLB2K-Dp6bIb-q.js → chunk-TICWLB2K-BFpUy0ud.js} +1 -1
  19. package/dist/{chunk-YOKDWASO-DPZk8vhS.js → chunk-YOKDWASO-DKplTrBY.js} +20 -20
  20. package/dist/{classDiagram-ZZMXUADV-BFYuxV5g.js → classDiagram-ZZMXUADV-Cqm4JGpx.js} +2 -2
  21. package/dist/{classDiagram-v2-VYDZK3BY-D_tjXVMl.js → classDiagram-v2-VYDZK3BY-DFHRJpN3.js} +2 -2
  22. package/dist/code-visibility-TqQbHmZ5.js +134 -0
  23. package/dist/{common-Bo1ahZJz.js → common-BY_oazL9.js} +9850 -9619
  24. package/dist/config-mwEjAmvP.js +636 -0
  25. package/dist/{copy-icon-BgUO8jsi.js → copy-icon-DD8bdw4L.js} +3 -3
  26. package/dist/createReducer-C_syF8Td.js +67 -0
  27. package/dist/{cynefinDiagram-5FMLGOSQ-DSgYrHB2.js → cynefinDiagram-5FMLGOSQ-cuGOeTBC.js} +1 -1
  28. package/dist/{dagre-GXQ25YYZ-GYlruCBf.js → dagre-GXQ25YYZ-DJ76aC4k.js} +3 -3
  29. package/dist/{dagre-BGSfXNEb.js → dagre-mqiMAsFY.js} +531 -680
  30. package/dist/{data-grid-overlay-editor-BcbqpDrL.js → data-grid-overlay-editor-CLQPFjyJ.js} +5 -5
  31. package/dist/{data-grid-types-BH_r7g7l.js → data-grid-types-0PJ-9N5n.js} +1 -1
  32. package/dist/{debounce-C3jyATpc.js → debounce-DrhhziJv.js} +2 -2
  33. package/dist/{diagram-S7CK7UJ4-DRu5LX5_.js → diagram-S7CK7UJ4-DLLc0sw7.js} +1 -1
  34. package/dist/{diagram-UQ7AKVKN-DD7uiejP.js → diagram-UQ7AKVKN-Tz_d6qmk.js} +1 -1
  35. package/dist/{diagram-VX7I27RA-ByH9KAJJ.js → diagram-VX7I27RA-D7SzPrDN.js} +1 -1
  36. package/dist/{diagram-Z3DM3KII-BsQHPRke.js → diagram-Z3DM3KII-qr37XV58.js} +1 -1
  37. package/dist/{dialog-Cc479ZEH.js → dialog-BHYPX87J.js} +26 -26
  38. package/dist/{dist-Bvs24R_E.js → dist-11T5wq3_.js} +31 -30
  39. package/dist/{dist-F8Ep36rk.js → dist-17ugwGZc.js} +59 -58
  40. package/dist/{dist-BMQf5zIS.js → dist-7cRjf--y.js} +123 -122
  41. package/dist/{dist-diIx5qJW.js → dist-B8pkfkzc.js} +31 -30
  42. package/dist/{dist-CN_BeG2I.js → dist-B9UoM_wq.js} +58 -57
  43. package/dist/{dist-CLdpGQVr.js → dist-BGuMTs1i.js} +118 -117
  44. package/dist/{dist-BK4Oj99o.js → dist-BHW11fni.js} +18 -17
  45. package/dist/dist-BLY4m1Wi.js +850 -0
  46. package/dist/{dist-PXYI_yuP.js → dist-BNlcVoxs.js} +24 -23
  47. package/dist/{dist-D6d86eNJ.js → dist-BQYe5Bju.js} +47 -46
  48. package/dist/{dist-CkTTIdBe.js → dist-BX1mn8na.js} +337 -337
  49. package/dist/{dist-DiDibOYr.js → dist-Bh0PTKUW.js} +151 -150
  50. package/dist/{dist-CSJ0MDRw.js → dist-CKaXK92p.js} +56 -55
  51. package/dist/{dist-C8fAKSH1.js → dist-CLhwfhpJ.js} +53 -52
  52. package/dist/{dist-DoE4XJBC.js → dist-CYeqK4Xw.js} +9801 -10649
  53. package/dist/{dist-BLfKmR-l.js → dist-Cxlp3WH6.js} +16 -15
  54. package/dist/{dist-D-wwqlzJ.js → dist-DSJPGj42.js} +158 -157
  55. package/dist/{dist-BorMD-uX.js → dist-DU9ICsWZ.js} +75 -74
  56. package/dist/{dist-DBtSl3sf.js → dist-DWv0ALBi.js} +47 -46
  57. package/dist/{dist-OR1OnN-y.js → dist-DiBpWEsB.js} +31 -30
  58. package/dist/{dist-CrSP_H1M.js → dist-DiLFTlnl.js} +242 -242
  59. package/dist/{dist-DpBpA_n1.js → dist-Lm-D-Vr6.js} +3 -3
  60. package/dist/{dist-CSbh1PNP.js → dist-cVDV5IuI.js} +23 -22
  61. package/dist/{dist-BuaRHxOc.js → dist-fRfaOoq8.js} +44 -43
  62. package/dist/{dist-Cg7gzw-a.js → dist-gTTI-9Px.js} +78 -77
  63. package/dist/dropdown-menu-Blu7V6Mk.js +6083 -0
  64. package/dist/{ebnfDiagram-PWID7BFC-CQRK5_eT.js → ebnfDiagram-PWID7BFC-BKOQb4J0.js} +2 -2
  65. package/dist/{erDiagram-RLTQ6QDP-BKtWrDVh.js → erDiagram-RLTQ6QDP-CM15Vq68.js} +1 -1
  66. package/dist/{error-banner-CFPHFw4h.js → error-banner-DbRFOd2O.js} +84 -83
  67. package/dist/error-entries-DFhMo601.js +2505 -0
  68. package/dist/{esm-D2gTsXEV.js → esm-BgKjMvWw.js} +530 -529
  69. package/dist/{esm-AMFssoNp.js → esm-CHjVSexr.js} +328 -329
  70. package/dist/feedback-button-DYk1f0In.js +374 -0
  71. package/dist/{flowDiagram-HODETNUW-1IN-ih2E.js → flowDiagram-HODETNUW-Dt3N5yFT.js} +2 -2
  72. package/dist/{formats-X4mMQWzX.js → formats-gGospKWJ.js} +6 -6
  73. package/dist/{ganttDiagram-EL5Y4UJY-BQT16JSc.js → ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js} +2 -2
  74. package/dist/{glide-data-editor-h-P3W8Rc.js → glide-data-editor-D30zzaiO.js} +417 -415
  75. package/dist/{glide-utils-DM9zBO4W.js → glide-utils-qbkRZpEy.js} +16 -16
  76. package/dist/{globals-4XAS0Mmd.js → globals-BA0s7TxM.js} +3 -3
  77. package/dist/{graphlib-BmY_CCV9.js → graphlib-nlwT3Wvy.js} +177 -220
  78. package/dist/hasIn-C20JsQ2m.js +28 -0
  79. package/dist/{highlighted-body-KPVGNVTW-zwjq21tf.js → highlighted-body-KPVGNVTW-3Ziwfz-V.js} +2 -2
  80. package/dist/{error-entries-Damuuclv.js → html-to-image-BPs9Vo-H.js} +26928 -26781
  81. package/dist/{infoDiagram-27XIBGKW-CkB-zr4p.js → infoDiagram-27XIBGKW-C7axJMCl.js} +1 -1
  82. package/dist/isArrayLikeObject-B-HXCsex.js +626 -0
  83. package/dist/isEmpty-CdX7MTE1.js +14 -0
  84. package/dist/{ishikawaDiagram-5VMMS53U-wlyLjBmM.js → ishikawaDiagram-5VMMS53U-CdC9Eur7.js} +1 -1
  85. package/dist/{kanban-definition-UXKFOSKX-C2usY0i-.js → kanban-definition-UXKFOSKX-BHnMIgD7.js} +1 -1
  86. package/dist/{linear-Cnaq3Tfb.js → linear-DWERh7eI.js} +121 -73
  87. package/dist/{loader-BQOfjTIJ.js → loader-BVEtQ4F3.js} +12 -12
  88. package/dist/main.js +10241 -8111
  89. package/dist/{mermaid-BA-Z6wGL.js → mermaid-DFYN_PXd.js} +54 -54
  90. package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +2 -0
  91. package/dist/{mindmap-definition-YA3MSWOX-nKOWS8RR.js → mindmap-definition-YA3MSWOX-BagHoCGU.js} +1 -1
  92. package/dist/{now-jM8-M7IR.js → now-BKZCLE5P.js} +12 -13
  93. package/dist/{number-overlay-editor-DVBm-B8V.js → number-overlay-editor-B1nffNQ2.js} +3 -3
  94. package/dist/{dist-CN8zI-XC.js → objectWithoutPropertiesLoose-ai5NUqGa.js} +262 -240
  95. package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
  96. package/dist/{once-BtE-wKRL.js → once-NnpX_HnX.js} +1 -1
  97. package/dist/{pegDiagram-XKGWAZYB-Dac9EIKD.js → pegDiagram-XKGWAZYB-8IIZczip.js} +2 -2
  98. package/dist/pick-tCszMUbm.js +35 -0
  99. package/dist/{pieDiagram-E7YTZNPT-B7S-DsW_.js → pieDiagram-E7YTZNPT-CE6dKBIr.js} +1 -1
  100. package/dist/precisionRound-DhAzeRcm.js +49 -0
  101. package/dist/{process-output-CTPTtxXB.js → process-output-c6xaHokq.js} +4 -4
  102. package/dist/{quadrantDiagram-AXDQQJYC-Ccw0xMjN.js → quadrantDiagram-AXDQQJYC-Blrm7V7_.js} +1 -1
  103. package/dist/{railroadDiagram-O6MQD6OU-Cfa5Q-hr.js → railroadDiagram-O6MQD6OU-CkexPq3b.js} +2 -2
  104. package/dist/{react-vega-BED0DjiB.js → react-vega-C4T9Rb_w.js} +12284 -12270
  105. package/dist/{requirementDiagram-BXWQKSXE-d8zXCJIk.js → requirementDiagram-BXWQKSXE-B0-OkuAe.js} +1 -1
  106. package/dist/{reveal-component-DtPzCmeW.js → reveal-component-fg3-aYjk.js} +430 -407
  107. package/dist/schemas-CdscWNy_.js +4747 -0
  108. package/dist/select-CcidPqlM.js +1200 -0
  109. package/dist/{sequenceDiagram-WJ2MYXX4-b6pei3lJ.js → sequenceDiagram-WJ2MYXX4-Dxysg8DX.js} +1 -1
  110. package/dist/{spec-BJzgmvVa.js → spec-ZwfZcgsm.js} +41 -11
  111. package/dist/{stateDiagram-D77RDMKH-Be-xSpaZ.js → stateDiagram-D77RDMKH-DTEN3-OJ.js} +4 -4
  112. package/dist/{stateDiagram-v2-MP3YSRHH-5Y-FxesJ.js → stateDiagram-v2-MP3YSRHH-vktk3Xc5.js} +2 -2
  113. package/dist/static-state-BldGd99T.js +72 -0
  114. package/dist/strings-BYJNyKmg.js +507 -0
  115. package/dist/style.css +1 -1
  116. package/dist/{swimlanes-42K2YHIH-nRRl4NU0.js → swimlanes-42K2YHIH-Cjveh9OM.js} +1 -1
  117. package/dist/{swimlanesDiagram-VR7AAH4N-BS79510V.js → swimlanesDiagram-VR7AAH4N-Bdr7Ev_2.js} +2 -2
  118. package/dist/{swiper-component-DKntyn8p.js → swiper-component-Dvj-goaD.js} +2 -2
  119. package/dist/{time-BieKwdYS.js → time-BaMbJs4z.js} +18 -18
  120. package/dist/{timeline-definition-24CTP7MA-Cfzf8WPf.js → timeline-definition-24CTP7MA-KIuDcefn.js} +1 -1
  121. package/dist/toast-CkB5Jq9K.js +491 -0
  122. package/dist/{tooltip-CtBZ5q8p.js → tooltip-Bzl4k00l.js} +329 -305
  123. package/dist/use-restore-focus-CmflVLWJ.js +1672 -0
  124. package/dist/{useAsyncData-BD534XmW.js → useAsyncData-DsZMvNXn.js} +15 -14
  125. package/dist/{useDateFormatter-DkajGwwd.js → useDateFormatter-CYo5fm8s.js} +2 -2
  126. package/dist/{useDeepCompareMemoize-C72_RNsu.js → useDeepCompareMemoize-KMBBux8C.js} +1 -1
  127. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-BIolGsF1.js} +1 -1
  128. package/dist/useLifecycle-GNgvNwI-.js +112 -0
  129. package/dist/useTheme-BZ2GGLgm.js +339 -0
  130. package/dist/utils-DXkj82sK.js +813 -0
  131. package/dist/{vega-component-DfcYgj-Y.js → vega-component-DOtem7Hf.js} +171 -170
  132. package/dist/{vega-embed-container-BNHE18G9.js → vega-embed-container--LYZqguO.js} +2 -2
  133. package/dist/{vega-loader.browser-DNST6uVf.js → vega-loader.browser-B9Pz0EGP.js} +298 -507
  134. package/dist/{vennDiagram-4TSXK5OY-CeY6Z1xZ.js → vennDiagram-4TSXK5OY-DrIOUHfb.js} +1 -1
  135. package/dist/{wardleyDiagram-VM6X3IG4-Cxs9NtVi.js → wardleyDiagram-VM6X3IG4-CJNjf4OH.js} +1 -1
  136. package/dist/{xychartDiagram-S5SC5T6Z-DNWbvPK7.js → xychartDiagram-S5SC5T6Z-DEshFho-.js} +2 -2
  137. package/package.json +16 -20
  138. package/src/__mocks__/document.tsx +63 -0
  139. package/src/__mocks__/notebook.ts +3 -4
  140. package/src/__mocks__/partial.ts +26 -0
  141. package/src/__mocks__/requests.ts +1 -4
  142. package/src/__tests__/fixtures/pair-config.ts +1 -1
  143. package/src/__tests__/main.test.tsx +24 -1
  144. package/src/__tests__/module-entry.test.ts +44 -0
  145. package/src/__tests__/mount.test.ts +1 -21
  146. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  147. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  148. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  149. package/src/components/app-config/__tests__/state.test.tsx +50 -0
  150. package/src/components/app-config/ai-config.tsx +156 -150
  151. package/src/components/app-config/app-config-button.tsx +6 -5
  152. package/src/components/app-config/app-config-form.tsx +5 -9
  153. package/src/components/app-config/common.tsx +7 -9
  154. package/src/components/app-config/data-form.tsx +112 -113
  155. package/src/components/app-config/mcp-config.tsx +30 -53
  156. package/src/components/app-config/user-config-form.css +91 -0
  157. package/src/components/app-config/user-config-form.tsx +266 -349
  158. package/src/components/chat/__tests__/capabilities-popover.test.tsx +0 -1
  159. package/src/components/chat/__tests__/chat-display.test.tsx +125 -0
  160. package/src/components/chat/__tests__/chat-markdown.test.tsx +43 -0
  161. package/src/components/chat/__tests__/chat-utils.test.ts +51 -1
  162. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  163. package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
  164. package/src/components/chat/acp/__tests__/agent-panel-initialization.test.tsx +1 -1
  165. package/src/components/chat/acp/__tests__/agent-panel.test.tsx +22 -17
  166. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  167. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  168. package/src/components/chat/acp/agent-panel.tsx +4 -3
  169. package/src/components/chat/acp/blocks.tsx +13 -12
  170. package/src/components/chat/acp/common.tsx +4 -5
  171. package/src/components/chat/acp/model-selector.tsx +1 -1
  172. package/src/components/chat/acp/session-tabs.tsx +8 -3
  173. package/src/components/chat/capabilities-popover.tsx +2 -11
  174. package/src/components/chat/chat-components.tsx +9 -4
  175. package/src/components/chat/chat-display.tsx +51 -6
  176. package/src/components/chat/chat-history-popover.tsx +6 -1
  177. package/src/components/chat/chat-markdown.tsx +15 -0
  178. package/src/components/chat/chat-panel.tsx +119 -214
  179. package/src/components/chat/chat-typography.css +108 -0
  180. package/src/components/chat/chat-utils.ts +12 -11
  181. package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
  182. package/src/components/chat/notebook-access-selector.tsx +100 -0
  183. package/src/components/chat/reasoning-accordion.tsx +3 -3
  184. package/src/components/chat/tool-call/tool-activity-group.tsx +49 -0
  185. package/src/components/chat/tool-call/tool-history-row.tsx +3 -30
  186. package/src/components/chat/tool-call/tool-result.tsx +1 -1
  187. package/src/components/chat/use-chat-generation.ts +19 -0
  188. package/src/components/data-table/TableBottomBar.tsx +4 -1
  189. package/src/components/data-table/TableTopBar.tsx +2 -0
  190. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  191. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  192. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  193. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  194. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  195. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  196. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  197. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  198. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  199. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  200. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  201. package/src/components/data-table/cell-selection/feature.ts +2 -2
  202. package/src/components/data-table/cell-selection/types.ts +2 -2
  203. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  204. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  205. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  206. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  207. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  208. package/src/components/data-table/charts/charts.tsx +40 -30
  209. package/src/components/data-table/charts/storage.ts +16 -5
  210. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  211. package/src/components/data-table/column-formatting/types.ts +1 -2
  212. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  213. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  214. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  215. package/src/components/data-table/columns.tsx +45 -46
  216. package/src/components/data-table/context-menu.tsx +36 -20
  217. package/src/components/data-table/data-table.tsx +17 -1
  218. package/src/components/data-table/date-popover.tsx +6 -4
  219. package/src/components/data-table/export-actions.tsx +76 -48
  220. package/src/components/data-table/pagination.tsx +44 -33
  221. package/src/components/data-table/range-focus/atoms.ts +4 -6
  222. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  223. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  224. package/src/components/data-table/renderers.tsx +16 -7
  225. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  226. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  227. package/src/components/data-table/search-highlight.tsx +79 -0
  228. package/src/components/data-table/types.ts +1 -0
  229. package/src/components/data-table/url-detector.tsx +49 -9
  230. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  231. package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
  232. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  233. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  234. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  235. package/src/components/datasources/column-preview.tsx +17 -12
  236. package/src/components/datasources/datasources.tsx +56 -43
  237. package/src/components/datasources/utils.ts +32 -23
  238. package/src/components/debugger/debugger-code.tsx +5 -0
  239. package/src/components/dependency-graph/custom-node.tsx +1 -1
  240. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  241. package/src/components/dependency-graph/elements.ts +24 -21
  242. package/src/components/dependency-graph/minimap-content.tsx +13 -19
  243. package/src/components/dependency-graph/panels.tsx +4 -2
  244. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  245. package/src/components/editor/SortableCell.tsx +1 -3
  246. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  247. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  248. package/src/components/editor/__tests__/data-attributes.test.tsx +28 -14
  249. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  250. package/src/components/editor/__tests__/output-persistence.test.tsx +6 -2
  251. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  252. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  253. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +21 -40
  254. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +41 -14
  255. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +6 -24
  256. package/src/components/editor/actions/__tests__/useCellActionButton.test.tsx +113 -0
  257. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  258. package/src/components/editor/actions/pair-with-agent-commands.ts +10 -7
  259. package/src/components/editor/actions/pair-with-agent-modal.tsx +29 -30
  260. package/src/components/editor/actions/pair-with-agent.tsx +16 -39
  261. package/src/components/editor/actions/useCellActionButton.tsx +37 -32
  262. package/src/components/editor/actions/useConfigActions.tsx +3 -4
  263. package/src/components/editor/actions/useNotebookActions.tsx +25 -29
  264. package/src/components/editor/actions/useRestartKernel.tsx +1 -1
  265. package/src/components/editor/actions/useSetCodeVisibility.ts +11 -12
  266. package/src/components/editor/actions/useSetOutputsExpanded.ts +14 -19
  267. package/src/components/editor/ai/ai-completion-editor.tsx +2 -1
  268. package/src/components/editor/ai/prompt-input.tsx +189 -0
  269. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  270. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  271. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  272. package/src/components/editor/alerts/stdin-blocking-alert.tsx +1 -1
  273. package/src/components/editor/app-container.tsx +1 -1
  274. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  275. package/src/components/editor/cell/CreateCellButton.tsx +15 -21
  276. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  277. package/src/components/editor/cell/RunButton.tsx +2 -2
  278. package/src/components/editor/cell/StagedAICell.tsx +13 -5
  279. package/src/components/editor/cell/StopButton.tsx +2 -2
  280. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  281. package/src/components/editor/cell/cell-actions.tsx +12 -1
  282. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  283. package/src/components/editor/cell/code/cell-editor.tsx +59 -165
  284. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  285. package/src/components/editor/cell/collapse.tsx +11 -4
  286. package/src/components/editor/cell/useAddCell.ts +4 -8
  287. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  288. package/src/components/editor/cell/useRunCells.ts +2 -5
  289. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  290. package/src/components/editor/cell/useSplitCell.tsx +10 -6
  291. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  292. package/src/components/editor/chrome/components/feedback-button.tsx +2 -8
  293. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  294. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  295. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  296. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  297. package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +1 -1
  298. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  299. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  300. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  301. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  302. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  303. package/src/components/editor/chrome/panels/panel-header.tsx +13 -0
  304. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  305. package/src/components/editor/chrome/panels/session-panel.tsx +1 -1
  306. package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
  307. package/src/components/editor/chrome/panels/variable-panel.tsx +1 -5
  308. package/src/components/editor/chrome/types.ts +1 -1
  309. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +7 -9
  310. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
  311. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +102 -35
  312. package/src/components/editor/chrome/wrapper/__tests__/useAskAiAboutCell.test.tsx +58 -0
  313. package/src/components/editor/chrome/wrapper/app-chrome.tsx +89 -72
  314. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  315. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  316. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  317. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  318. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  319. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  320. package/src/components/editor/chrome/wrapper/footer.tsx +2 -2
  321. package/src/components/editor/chrome/wrapper/minimap-state.ts +1 -1
  322. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +17 -10
  323. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  324. package/src/components/editor/chrome/wrapper/useAskAiAboutCell.ts +36 -0
  325. package/src/components/editor/columns/__tests__/cell-column.test.tsx +1 -1
  326. package/src/components/editor/columns/cell-column.tsx +1 -1
  327. package/src/components/editor/columns/sortable-column.tsx +2 -2
  328. package/src/components/editor/connections/components.tsx +5 -10
  329. package/src/components/editor/controls/Controls.tsx +4 -4
  330. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  331. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  332. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
  333. package/src/components/editor/controls/command-palette.tsx +22 -10
  334. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  335. package/src/components/editor/documentation.css +34 -11
  336. package/src/components/editor/dynamic-favicon.tsx +21 -40
  337. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +25 -20
  338. package/src/components/editor/errors/auto-fix.tsx +4 -8
  339. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  340. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  341. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  342. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  343. package/src/components/editor/file-tree/file-explorer.tsx +48 -15
  344. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  345. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  346. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  347. package/src/components/editor/header/__tests__/filename-form.test.tsx +1 -4
  348. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  349. package/src/components/editor/header/app-header.tsx +1 -1
  350. package/src/components/editor/header/filename-form.tsx +1 -1
  351. package/src/components/editor/header/status.tsx +40 -20
  352. package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
  353. package/src/components/editor/links/cell-link-list.tsx +1 -1
  354. package/src/components/editor/links/cell-link.tsx +17 -7
  355. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  356. package/src/components/editor/navigation/__tests__/navigation.test.ts +108 -85
  357. package/src/components/editor/navigation/__tests__/selection.test.ts +43 -21
  358. package/src/components/editor/navigation/clipboard.ts +17 -14
  359. package/src/components/editor/navigation/focus-utils.ts +23 -4
  360. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +17 -33
  361. package/src/components/editor/navigation/navigation.ts +71 -70
  362. package/src/components/editor/navigation/selection.ts +30 -29
  363. package/src/components/editor/notebook-banner.tsx +1 -0
  364. package/src/components/editor/notebook-cell.tsx +29 -32
  365. package/src/components/editor/output/MarimoErrorOutput.tsx +2 -1
  366. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  367. package/src/components/editor/output/Outputs.css +8 -0
  368. package/src/components/editor/output/VideoOutput.tsx +6 -0
  369. package/src/components/editor/output/__tests__/VideoOutput.test.tsx +131 -0
  370. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  371. package/src/components/editor/output/ansi-reduce.ts +33 -20
  372. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  373. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  374. package/src/components/editor/package-alert.tsx +14 -7
  375. package/src/components/editor/renderers/__tests__/add-cell-buttons.test.tsx +18 -0
  376. package/src/components/editor/renderers/cell-array.tsx +32 -100
  377. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  378. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +0 -1
  379. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +1 -1
  380. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +4 -4
  381. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  382. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +1 -1
  383. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +1 -1
  384. package/src/components/editor/stdin-blocking-alert.tsx +1 -1
  385. package/src/components/home/components.tsx +17 -31
  386. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  387. package/src/components/icons/large-spinner.tsx +3 -14
  388. package/src/components/icons/spinner.tsx +1 -1
  389. package/src/components/markdown/markdown-renderer.tsx +39 -28
  390. package/src/components/mcp/mcp-status-indicator.tsx +18 -14
  391. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  392. package/src/components/pages/edit-page.tsx +19 -17
  393. package/src/components/pages/home-page.tsx +164 -91
  394. package/src/components/scratchpad/scratchpad.test.tsx +89 -0
  395. package/src/components/scratchpad/scratchpad.tsx +43 -32
  396. package/src/components/scratchpad/state.ts +7 -0
  397. package/src/components/slides/__tests__/minimap-actions.test.tsx +22 -29
  398. package/src/components/slides/__tests__/minimap.test.ts +38 -19
  399. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
  400. package/src/components/slides/minimap.tsx +17 -12
  401. package/src/components/slides/reveal-component.tsx +58 -26
  402. package/src/components/slides/reveal-slides.css +5 -4
  403. package/src/components/slides/slide-cell-view.tsx +4 -5
  404. package/src/components/slides/slide-form.tsx +1 -0
  405. package/src/components/slides/slide-scroll-hint.tsx +3 -1
  406. package/src/components/sort/SortableCellsProvider.tsx +8 -25
  407. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  408. package/src/components/tracing/tracing.tsx +46 -42
  409. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  410. package/src/components/ui/__tests__/fullscreen.test.tsx +44 -2
  411. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  412. package/src/components/ui/alert-dialog.tsx +1 -1
  413. package/src/components/ui/draggable-popover.tsx +24 -2
  414. package/src/components/ui/fullscreen.tsx +25 -1
  415. package/src/components/ui/range-slider.tsx +22 -9
  416. package/src/core/MarimoApp.tsx +3 -1
  417. package/src/core/ai/__tests__/staged-cells.test.ts +15 -482
  418. package/src/core/ai/context/context.ts +2 -0
  419. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +8 -12
  420. package/src/core/ai/context/providers/__tests__/cell.test.ts +49 -0
  421. package/src/core/ai/context/providers/cell-output.ts +2 -2
  422. package/src/core/ai/context/providers/cell.ts +54 -0
  423. package/src/core/ai/context/providers/datasource.ts +6 -2
  424. package/src/core/ai/staged-cells.ts +17 -294
  425. package/src/core/ai/state.ts +3 -0
  426. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +40 -88
  427. package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
  428. package/src/core/ai/tools/base.ts +18 -15
  429. package/src/core/ai/tools/edit-notebook-tool.ts +86 -80
  430. package/src/core/ai/tools/registry.ts +13 -10
  431. package/src/core/ai/tools/sample-tool.ts +6 -7
  432. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -37
  433. package/src/core/cells/__tests__/actions.test.ts +624 -35
  434. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  435. package/src/core/cells/__tests__/arrange.test.ts +432 -0
  436. package/src/core/cells/__tests__/cell.test.ts +39 -0
  437. package/src/core/cells/__tests__/cells.test.ts +251 -2540
  438. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  439. package/src/core/cells/__tests__/document.test.ts +164 -0
  440. package/src/core/cells/__tests__/editor.test.ts +57 -0
  441. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  442. package/src/core/cells/__tests__/harness.ts +106 -0
  443. package/src/core/cells/__tests__/layout.test.ts +177 -0
  444. package/src/core/cells/__tests__/notebook-outline.test.ts +122 -0
  445. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  446. package/src/core/cells/__tests__/session.test.ts +445 -211
  447. package/src/core/cells/__tests__/utils.test.ts +9 -108
  448. package/src/core/cells/actions.ts +675 -6
  449. package/src/core/cells/add-missing-import.ts +47 -43
  450. package/src/core/cells/arrange.ts +529 -0
  451. package/src/core/cells/cell.ts +14 -3
  452. package/src/core/cells/cells.ts +126 -1363
  453. package/src/core/cells/columns.ts +38 -0
  454. package/src/core/cells/document.ts +178 -0
  455. package/src/core/cells/edit.ts +30 -0
  456. package/src/core/cells/editor.ts +82 -0
  457. package/src/core/cells/layout.ts +221 -0
  458. package/src/core/cells/outputs.ts +12 -28
  459. package/src/core/cells/pending-delete-service.ts +3 -7
  460. package/src/core/cells/session.ts +76 -53
  461. package/src/core/cells/types.ts +22 -6
  462. package/src/core/cells/utils.ts +10 -8
  463. package/src/core/codemirror/__tests__/format.test.ts +0 -34
  464. package/src/core/codemirror/__tests__/setup.test.ts +61 -29
  465. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  466. package/src/core/codemirror/ai/resources.ts +1 -1
  467. package/src/core/codemirror/cells/__tests__/extensions.test.ts +2 -6
  468. package/src/core/codemirror/cells/extensions.ts +30 -28
  469. package/src/core/codemirror/cells/state.ts +2 -6
  470. package/src/core/codemirror/cm.ts +5 -1
  471. package/src/core/codemirror/config/types.ts +1 -1
  472. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +6 -7
  473. package/src/core/codemirror/copilot/getCodes.ts +2 -2
  474. package/src/core/codemirror/format.ts +6 -23
  475. package/src/core/codemirror/keymaps/vim.ts +4 -8
  476. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  477. package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
  478. package/src/core/codemirror/language/cell-code.ts +114 -0
  479. package/src/core/codemirror/language/extension.ts +52 -35
  480. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  481. package/src/core/codemirror/language/languages/python.ts +19 -13
  482. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  483. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  484. package/src/core/codemirror/language/types.ts +7 -7
  485. package/src/core/codemirror/language/utils.ts +9 -39
  486. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -2
  487. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  488. package/src/core/codemirror/lsp/utils.ts +1 -1
  489. package/src/core/codemirror/misc/__tests__/paste.test.ts +3 -1
  490. package/src/core/codemirror/misc/paste.ts +1 -1
  491. package/src/core/codemirror/placeholder/__tests__/extensions.test.ts +16 -0
  492. package/src/core/codemirror/placeholder/extensions.ts +57 -19
  493. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  494. package/src/core/codemirror/readonly/extension.ts +2 -2
  495. package/src/core/codemirror/utils.ts +1 -0
  496. package/src/core/config/__tests__/app-config.test.ts +64 -0
  497. package/src/core/config/__tests__/config-schema.test.ts +56 -6
  498. package/src/core/config/config-schema.ts +17 -4
  499. package/src/core/config/config.ts +65 -20
  500. package/src/core/config/feature-flag.tsx +0 -2
  501. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  502. package/src/core/datasets/data-source-discovery.ts +4 -6
  503. package/src/core/documentation/doc-lookup.ts +1 -1
  504. package/src/core/edit-app.tsx +21 -28
  505. package/src/core/errors/error-entries.ts +4 -1
  506. package/src/core/export/hooks.ts +1 -1
  507. package/src/core/export/layout.ts +2 -2
  508. package/src/core/hotkeys/actions.ts +2 -4
  509. package/src/core/hotkeys/hotkeys.ts +2 -1
  510. package/src/core/islands/__tests__/bootstrap.test.ts +69 -17
  511. package/src/core/islands/__tests__/bridge.test.ts +85 -27
  512. package/src/core/islands/bootstrap.ts +46 -53
  513. package/src/core/islands/bridge.ts +84 -25
  514. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  515. package/src/core/islands/components/web-components.tsx +1 -1
  516. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  517. package/src/core/islands/worker/controller.ts +4 -10
  518. package/src/core/islands/worker/worker.tsx +33 -33
  519. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  520. package/src/core/kernel/__tests__/handlers.test.ts +7 -153
  521. package/src/core/kernel/handlers.ts +19 -72
  522. package/src/core/meta/__tests__/code-visibility.test.tsx +78 -70
  523. package/src/core/meta/code-visibility.ts +18 -9
  524. package/src/core/network/__tests__/connection.test.ts +1 -1
  525. package/src/core/network/__tests__/requests-lazy.test.ts +1 -3
  526. package/src/core/network/connection-notice.ts +1 -1
  527. package/src/core/network/connection.ts +1 -1
  528. package/src/core/network/requests-lazy.ts +2 -5
  529. package/src/core/network/requests-network.ts +5 -31
  530. package/src/core/network/requests-static.ts +1 -4
  531. package/src/core/network/requests-toasting.tsx +1 -4
  532. package/src/core/network/types.ts +6 -14
  533. package/src/core/network/useConnectionNotice.ts +8 -2
  534. package/src/core/notebook/__tests__/operations.test.ts +51 -0
  535. package/src/core/notebook/attachments.ts +38 -0
  536. package/src/core/notebook/document/__tests__/codemirror.test.ts +759 -0
  537. package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
  538. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  539. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  540. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  541. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  542. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  543. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  544. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  545. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  546. package/src/core/notebook/document/__tests__/state.test.ts +459 -0
  547. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  548. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  549. package/src/core/notebook/document/__tests__/test-host.ts +247 -0
  550. package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
  551. package/src/core/notebook/document/__tests__/user.ts +61 -0
  552. package/src/core/notebook/document/codemirror.ts +216 -0
  553. package/src/core/notebook/document/draft.ts +502 -0
  554. package/src/core/notebook/document/hooks.tsx +118 -0
  555. package/src/core/notebook/document/index.ts +24 -0
  556. package/src/core/notebook/document/model.ts +102 -0
  557. package/src/core/notebook/document/select.ts +41 -0
  558. package/src/core/notebook/document/state.ts +378 -0
  559. package/src/core/notebook/document/sync.ts +369 -0
  560. package/src/core/notebook/index.ts +19 -0
  561. package/src/core/notebook/operations.ts +30 -0
  562. package/src/core/notebook/replica/AGENTS.md +11 -0
  563. package/src/core/{host → notebook/replica}/__tests__/attachments.test.ts +9 -10
  564. package/src/core/{host → notebook/replica}/__tests__/document.test.ts +18 -16
  565. package/src/core/notebook/replica/__tests__/executions.test.ts +200 -0
  566. package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
  567. package/src/core/notebook/replica/__tests__/replica.test.ts +559 -0
  568. package/src/core/notebook/replica/__tests__/results.test.ts +193 -0
  569. package/src/core/notebook/replica/__tests__/runtime.test.ts +78 -0
  570. package/src/core/notebook/replica/backend.ts +19 -0
  571. package/src/core/notebook/replica/connection.ts +42 -0
  572. package/src/core/notebook/replica/index.ts +20 -0
  573. package/src/core/notebook/replica/replica.ts +336 -0
  574. package/src/core/{host → notebook/replica}/resources/attachments.ts +6 -3
  575. package/src/core/{host → notebook/replica}/resources/document.ts +3 -3
  576. package/src/core/notebook/replica/resources/executions.ts +157 -0
  577. package/src/core/notebook/replica/resources/results.ts +48 -0
  578. package/src/core/notebook/replica/resources/runtime.ts +14 -0
  579. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  580. package/src/core/packages/useSandboxController.ts +1 -1
  581. package/src/core/run-app.tsx +48 -51
  582. package/src/core/runtime/__tests__/adapter.test.ts +1 -1
  583. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  584. package/src/core/runtime/__tests__/runtime.test.ts +32 -74
  585. package/src/core/runtime/adapter.ts +1 -1
  586. package/src/core/runtime/config.ts +2 -2
  587. package/src/core/runtime/runtime.ts +33 -46
  588. package/src/core/runtime/types.ts +0 -2
  589. package/src/core/saving/__tests__/document.test.tsx +123 -0
  590. package/src/core/saving/__tests__/state.test.ts +111 -0
  591. package/src/core/saving/__tests__/useAutoSave.test.tsx +67 -0
  592. package/src/core/saving/document.ts +33 -0
  593. package/src/core/saving/filename.ts +1 -1
  594. package/src/core/saving/save-component.tsx +39 -60
  595. package/src/core/saving/state.ts +38 -39
  596. package/src/core/saving/useAutoSave.ts +17 -53
  597. package/src/core/session/__tests__/backend.test.ts +236 -0
  598. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +184 -0
  599. package/src/core/{websocket → session}/__tests__/useNotebookSession.hook.test.tsx +213 -262
  600. package/src/core/session/active-notebook.ts +28 -0
  601. package/src/core/session/backend.ts +123 -0
  602. package/src/core/session/embedded.ts +7 -0
  603. package/src/core/{websocket → session}/types.ts +2 -2
  604. package/src/core/session/useNotebookReplica.ts +74 -0
  605. package/src/core/{websocket → session}/useNotebookSession.tsx +77 -64
  606. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  607. package/src/core/state/jotai.ts +1 -1
  608. package/src/core/static/__tests__/files.test.ts +38 -10
  609. package/src/core/static/files.ts +2 -0
  610. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  611. package/src/core/transports/__tests__/server.test.ts +408 -0
  612. package/src/core/transports/__tests__/static.test.ts +306 -0
  613. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  614. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  615. package/src/core/transports/server.ts +152 -0
  616. package/src/core/transports/static.ts +166 -0
  617. package/src/core/transports/wasm.ts +97 -0
  618. package/src/core/vscode/__tests__/vscode-bindings.test.ts +125 -0
  619. package/src/core/vscode/vscode-bindings.ts +14 -2
  620. package/src/core/wasm/__tests__/bridge.test.ts +210 -64
  621. package/src/core/wasm/__tests__/worker.test.ts +188 -0
  622. package/src/core/wasm/bridge.ts +119 -72
  623. package/src/core/wasm/rpc.ts +15 -3
  624. package/src/core/wasm/store.ts +3 -3
  625. package/src/core/wasm/worker/bootstrap.ts +55 -51
  626. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  627. package/src/core/wasm/worker/save-worker.ts +9 -10
  628. package/src/core/wasm/worker/types.ts +30 -18
  629. package/src/core/wasm/worker/worker.ts +118 -72
  630. package/src/css/app/codemirror.css +1 -1
  631. package/src/css/common.css +1 -1
  632. package/src/css/globals.css +66 -22
  633. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  634. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  635. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  636. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  637. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  638. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  639. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  640. package/src/hooks/useAsyncData.ts +3 -3
  641. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  642. package/src/hooks/useDebounce.ts +6 -10
  643. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  644. package/src/hooks/useDelayElapsed.ts +14 -10
  645. package/src/hooks/useElapsedTime.ts +3 -3
  646. package/src/hooks/useEventListener.ts +1 -2
  647. package/src/hooks/useInputHistory.ts +4 -7
  648. package/src/hooks/useInternalStateWithSync.ts +6 -6
  649. package/src/hooks/useResizeObserver.ts +4 -7
  650. package/src/hooks/useScript.ts +67 -70
  651. package/src/hooks/useStateForKey.ts +93 -0
  652. package/src/mount.tsx +20 -15
  653. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  654. package/src/plugins/core/registerReactComponent.tsx +1 -1
  655. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  656. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  657. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  658. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  659. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  660. package/src/plugins/impl/FormPlugin.tsx +1 -1
  661. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  662. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  663. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  664. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  665. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  666. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  667. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  668. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  669. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  670. package/src/plugins/impl/anywidget/model.ts +3 -1
  671. package/src/plugins/impl/anywidget/registry.ts +18 -14
  672. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  673. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  674. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  675. package/src/plugins/impl/chat/chat-ui.tsx +15 -12
  676. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  677. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  678. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  679. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  680. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  681. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  682. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  683. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  684. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  685. package/src/plugins/impl/data-frames/panel.tsx +44 -16
  686. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  687. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  688. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  689. package/src/plugins/impl/panel/utils.ts +17 -0
  690. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  691. package/src/plugins/impl/plotly/selection.ts +25 -19
  692. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  693. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  694. package/src/plugins/layout/DownloadPlugin.tsx +7 -11
  695. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  696. package/src/plugins/layout/__test__/DownloadPlugin.test.tsx +205 -0
  697. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  698. package/src/stories/button.stories.tsx +1 -0
  699. package/src/stories/cell.stories.tsx +2 -5
  700. package/src/stories/data-table.stories.tsx +31 -0
  701. package/src/stories/editor.stories.tsx +24 -17
  702. package/src/stories/form-wrapper.stories.tsx +2 -2
  703. package/src/stories/layout/vertical/one-column.stories.tsx +28 -23
  704. package/src/stories/runtime-story.tsx +23 -17
  705. package/src/stories/select.stories.tsx +2 -2
  706. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  707. package/src/utils/__tests__/arrays.test.ts +35 -0
  708. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  709. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +127 -1
  710. package/src/utils/__tests__/download.test.tsx +183 -23
  711. package/src/utils/__tests__/numbers.test.ts +105 -1
  712. package/src/utils/__tests__/objects.test.ts +21 -0
  713. package/src/utils/arrays.ts +11 -2
  714. package/src/utils/blob.ts +1 -1
  715. package/src/utils/createReducer.ts +115 -79
  716. package/src/utils/download.ts +67 -6
  717. package/src/utils/maps.ts +0 -3
  718. package/src/utils/numbers.ts +79 -18
  719. package/src/utils/objects.ts +4 -9
  720. package/src/utils/tracer.ts +9 -5
  721. package/src/utils/zod-utils.ts +1 -3
  722. package/dist/_baseMerge-BiGRwuqv.js +0 -165
  723. package/dist/any-language-editor-D4q-IFcM.js +0 -76
  724. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  725. package/dist/assets/worker-HPY9fbhz.js +0 -114
  726. package/dist/code-visibility-XgDUZz2f.js +0 -138
  727. package/dist/dropdown-menu-DHP9P4VE.js +0 -4678
  728. package/dist/feedback-button-CoWyGXbB.js +0 -379
  729. package/dist/hasIn-o2Us0uVx.js +0 -132
  730. package/dist/html-to-image-BdA59IUD.js +0 -3251
  731. package/dist/isArrayLikeObject-BZl-15ir.js +0 -450
  732. package/dist/isEmpty-BSZ1LaUo.js +0 -35
  733. package/dist/isSymbol-kQcfYbNX.js +0 -8
  734. package/dist/label-DoysmLMW.js +0 -281
  735. package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +0 -2
  736. package/dist/objectWithoutPropertiesLoose-BRDcTsfB.js +0 -23
  737. package/dist/pick-CJeoxYOS.js +0 -51
  738. package/dist/precisionRound-DMIVQrt2.js +0 -97
  739. package/dist/select-DemoKT4G.js +0 -1344
  740. package/dist/toDate-B5mIgxwZ.js +0 -1185
  741. package/dist/toast-PkdZraM8.js +0 -1830
  742. package/dist/use-restore-focus-CKjfFjLM.js +0 -6369
  743. package/dist/useLifecycle-BGWzTwHK.js +0 -169
  744. package/dist/useTheme-BhQvec43.js +0 -904
  745. package/src/components/editor/ai/__tests__/staged-cell-submission.test.ts +0 -106
  746. package/src/components/editor/ai/add-cell-with-ai.tsx +0 -506
  747. package/src/components/editor/ai/staged-cell-submission.ts +0 -46
  748. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +0 -64
  749. package/src/components/editor/cell/code/__tests__/rtc-editor-config.test.ts +0 -50
  750. package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +0 -65
  751. package/src/components/editor/navigation/__tests__/state.test.ts +0 -81
  752. package/src/components/editor/navigation/state.ts +0 -65
  753. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
  754. package/src/core/ai/tools/run-cells-tool.ts +0 -303
  755. package/src/core/attachments/state.ts +0 -18
  756. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  757. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  758. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  759. package/src/core/cells/document-changes.ts +0 -944
  760. package/src/core/codemirror/rtc/extension.ts +0 -453
  761. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +0 -52
  762. package/src/core/codemirror/rtc/loro/awareness.ts +0 -531
  763. package/src/core/codemirror/rtc/loro/colors.ts +0 -38
  764. package/src/core/codemirror/rtc/loro/sync.ts +0 -168
  765. package/src/core/host/AGENTS.md +0 -11
  766. package/src/core/host/__tests__/events.test.ts +0 -46
  767. package/src/core/host/__tests__/fixtures.ts +0 -39
  768. package/src/core/host/__tests__/notebook-client.test.ts +0 -433
  769. package/src/core/host/__tests__/protocol.test.ts +0 -214
  770. package/src/core/host/__tests__/stream.test.ts +0 -209
  771. package/src/core/host/connection.ts +0 -81
  772. package/src/core/host/events.ts +0 -61
  773. package/src/core/host/notebook-client.ts +0 -290
  774. package/src/core/host/protocol.ts +0 -1943
  775. package/src/core/host/resources/resource.ts +0 -47
  776. package/src/core/host/stream.ts +0 -211
  777. package/src/core/rtc/state.ts +0 -34
  778. package/src/core/state/__tests__/jotai.test.ts +0 -25
  779. package/src/core/wasm/worker/message-buffer.ts +0 -33
  780. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  781. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -170
  782. package/src/core/websocket/state.ts +0 -7
  783. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  784. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  785. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  786. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  787. package/src/core/websocket/transports/basic.ts +0 -102
  788. package/src/core/websocket/transports/create.ts +0 -31
  789. package/src/core/websocket/transports/sse.ts +0 -308
  790. package/src/core/websocket/transports/transport.ts +0 -50
  791. package/src/core/websocket/transports/ws.ts +0 -98
  792. package/src/core/websocket/useNotebookClient.ts +0 -88
  793. package/src/utils/__tests__/id-tree.test.ts +0 -2145
  794. package/src/utils/id-tree.tsx +0 -1134
  795. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
  796. /package/src/core/{websocket → session}/connection-utils.ts +0 -0
@@ -1,17 +1,17 @@
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-CvjkwdSk.js";
2
+ import { c as t, g as n, h as r, m as i, t as a } from "./button-0-RqY1DW.js";
3
3
  import { t as o } from "./react-sHtZdjeP.js";
4
4
  import { t as s } from "./compiler-runtime-CldRdSsv.js";
5
- import { h as c, t as l } from "./tooltip-CtBZ5q8p.js";
6
- import { O as u } from "./error-entries-Damuuclv.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-Bo1ahZJz.js";
8
- import { M as C } from "./select-DemoKT4G.js";
9
- import { q as ee } from "./dropdown-menu-DHP9P4VE.js";
10
- import { _ as w } from "./toDate-B5mIgxwZ.js";
11
- import { t as T } from "./jsx-runtime-3BD1kT0s.js";
12
- import { X as E } from "./use-restore-focus-CKjfFjLM.js";
13
- import { A as D, C as O, b as k } from "./useTheme-BhQvec43.js";
14
- import { a as A, n as te, t as ne } from "./code-visibility-XgDUZz2f.js";
5
+ import { m as c, t as l } from "./tooltip-Bzl4k00l.js";
6
+ import { $ as u, Q as d, et as f, i as p, l as m, n as h, on as g, r as _, sn as v, t as y, u as b, un as x } from "./common-BY_oazL9.js";
7
+ import { M as S } from "./select-CcidPqlM.js";
8
+ import { Y as ee } from "./dropdown-menu-Blu7V6Mk.js";
9
+ import { Pt as C } from "./error-entries-DFhMo601.js";
10
+ import { t as w } from "./jsx-runtime-3BD1kT0s.js";
11
+ import { r as T } from "./use-restore-focus-CmflVLWJ.js";
12
+ import { D as E, t as D, x as O } from "./utils-DXkj82sK.js";
13
+ import { o as k } from "./static-state-BldGd99T.js";
14
+ import { a as A, n as te, t as ne } from "./code-visibility-TqQbHmZ5.js";
15
15
  /* empty css */
16
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",
@@ -32,23 +32,23 @@ var j = c("sticky-note", [["path", {
32
32
  if (e.match(/^-?[\d\.]+$/)) return parseFloat(e);
33
33
  }
34
34
  return e;
35
- }, oe = (e, t) => {
36
- e.style.transform = t;
37
35
  }, F = (e, t) => {
36
+ e.style.transform = t;
37
+ }, I = (e, t) => {
38
38
  let n = e.matches || e.matchesSelector || e.msMatchesSelector;
39
39
  return !!(n && n.call(e, t));
40
- }, I = (e, t) => {
40
+ }, L = (e, t) => {
41
41
  if (e && typeof e.closest == "function") return e.closest(t);
42
42
  for (; e;) {
43
- if (F(e, t)) return e;
43
+ if (I(e, t)) return e;
44
44
  e = e.parentElement;
45
45
  }
46
46
  return null;
47
- }, se = (e) => {
47
+ }, oe = (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
- }, ce = (e, t, n, r = "") => {
51
+ }, se = (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 j = 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
- }, L = (e) => {
59
+ }, R = (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
- }, le = () => {
62
+ }, ce = () => {
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();
@@ -70,24 +70,24 @@ var j = c("sticky-note", [["path", {
70
70
  e[t] = ae(unescape(n));
71
71
  }
72
72
  return e.dependencies !== void 0 && delete e.dependencies, e;
73
- }, ue = (e, t = 0) => {
73
+ }, le = (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
- }, de = {
79
+ }, ue = {
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
- }, fe = (e = "") => {
85
+ }, de = (e = "") => {
86
86
  let t = e.split(".").pop();
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) {
87
+ return t ? ue[t] : void 0;
88
+ }, fe = (e = "") => encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]").replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), pe = navigator.userAgent, me = /(iphone|ipod|ipad|android)/gi.test(pe) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
89
+ /chrome/i.test(pe) && /edge/i.test(pe);
90
+ var he = /android/gi.test(pe), ge = function(e) {
91
91
  if (e) {
92
92
  var t = function(e) {
93
93
  return [].slice.call(e);
@@ -157,7 +157,7 @@ var R = /android/gi.test(me), ge = function(e) {
157
157
  };
158
158
  }, S = function(e) {
159
159
  e.observeMutations && (e.observer = new MutationObserver(v(e, r)), e.observer.observe(e.element, e.observeMutations));
160
- }, C = {
160
+ }, ee = {
161
161
  minSize: 16,
162
162
  maxSize: 512,
163
163
  multiLine: !0,
@@ -166,8 +166,8 @@ var R = /android/gi.test(me), ge = function(e) {
166
166
  childList: !0,
167
167
  characterData: !0
168
168
  }
169
- }, ee = null, w = function() {
170
- e.clearTimeout(ee), ee = e.setTimeout(l(i), D.observeWindowDelay);
169
+ }, C = null, w = function() {
170
+ e.clearTimeout(C), C = e.setTimeout(l(i), D.observeWindowDelay);
171
171
  }, T = ["resize", "orientationchange"];
172
172
  return Object.defineProperty(D, "observeWindow", { set: function(t) {
173
173
  var n = `${t ? "add" : "remove"}EventListener`;
@@ -177,7 +177,7 @@ var R = /android/gi.test(me), ge = function(e) {
177
177
  } }), D.observeWindow = !0, D.observeWindowDelay = 100, D.fitAll = l(a), D;
178
178
  }
179
179
  function E(e, t) {
180
- var n = Object.assign({}, C, t), r = e.map((function(e) {
180
+ var n = Object.assign({}, ee, t), r = e.map((function(e) {
181
181
  var t = Object.assign({}, n, {
182
182
  element: e,
183
183
  active: !0
@@ -221,12 +221,12 @@ function ve(e, t) {
221
221
  }
222
222
  return (t === "string" ? String : Number)(e);
223
223
  }
224
- function ye(e) {
224
+ function z(e) {
225
225
  var t = ve(e, "string");
226
226
  return _e(t) == "symbol" ? t : t + "";
227
227
  }
228
- function z(e, t, n) {
229
- return (t = ye(t)) in e ? Object.defineProperty(e, t, {
228
+ function ye(e, t, n) {
229
+ return (t = z(t)) in e ? Object.defineProperty(e, t, {
230
230
  value: n,
231
231
  enumerable: !0,
232
232
  configurable: !0,
@@ -235,7 +235,7 @@ function z(e, t, n) {
235
235
  }
236
236
  var be = class {
237
237
  constructor(e) {
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();
238
+ ye(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", () => {
@@ -266,7 +266,7 @@ var be = class {
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
- }), he && e.tagName === "VIDEO" && e.setAttribute("playsinline", ""), t > 0 && e.load();
269
+ }), me && 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 be = 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(${pe(decodeURI(e.trim()))})`).join(",");
278
+ if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${fe(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), he && e.setAttribute("playsinline", ""), o.split(",").forEach((t) => {
281
+ s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0), me && e.setAttribute("playsinline", ""), o.split(",").forEach((t) => {
282
282
  let n = document.createElement("source");
283
283
  n.setAttribute("src", t);
284
- let r = fe(t);
284
+ let r = de(t);
285
285
  r && n.setAttribute("type", r), e.appendChild(n);
286
286
  }), n.appendChild(e);
287
287
  } else if (i && t.excludeIframes !== !0) {
@@ -330,16 +330,16 @@ var be = class {
330
330
  P(e, "img[src$=\".gif\"]").forEach((e) => {
331
331
  e.setAttribute("src", e.getAttribute("src"));
332
332
  }), P(e, "video, audio").forEach((e) => {
333
- if (I(e, ".fragment") && !I(e, ".fragment.visible")) return;
333
+ if (L(e, ".fragment") && !L(e, ".fragment.visible")) return;
334
334
  let n = this.Reveal.getConfig().autoPlayMedia;
335
- if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!I(e, ".slide-background")), n && typeof e.play == "function") {
335
+ if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!L(e, ".slide-background")), n && typeof e.play == "function") {
336
336
  if (t && !e.muted) return;
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));
337
+ e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) : me ? (e.addEventListener("canplay", this.ensureMobileMediaPlaying), this.playMediaElement(e)) : (e.removeEventListener("loadeddata", this.startEmbeddedMedia), e.addEventListener("loadeddata", this.startEmbeddedMedia));
338
338
  }
339
339
  }), t || (P(e, "iframe[src]").forEach((e) => {
340
- I(e, ".fragment") && !I(e, ".fragment.visible") || this.startEmbeddedIframe({ target: e });
340
+ L(e, ".fragment") && !L(e, ".fragment.visible") || this.startEmbeddedIframe({ target: e });
341
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")));
342
+ L(e, ".fragment") && !L(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 be = class {
351
351
  }, 1e3);
352
352
  }
353
353
  startEmbeddedMedia(e) {
354
- let t = !!I(e.target, "html"), n = !!I(e.target, ".present");
354
+ let t = !!L(e.target, "html"), n = !!L(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 be = class {
362
362
  if (t.name === "NotAllowedError") {
363
363
  if (this.allowedToPlayAudio = !1, e.tagName === "VIDEO") {
364
364
  this.onVideoPlaybackNotAllowed(e);
365
- let t = !!I(e, "html"), n = !!I(e, ".present"), r = e.muted;
365
+ let t = !!L(e, "html"), n = !!L(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,16 +373,16 @@ var be = class {
373
373
  startEmbeddedIframe(e) {
374
374
  let t = e.target;
375
375
  if (this.preventIframeAutoFocus(e), t && t.contentWindow) {
376
- let n = !!I(e.target, "html"), r = !!I(e.target, ".present");
376
+ let n = !!L(e.target, "html"), r = !!L(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") || !!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", "*");
379
+ typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!L(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
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));
385
+ !e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(), me && e.removeEventListener("canplay", this.ensureMobileMediaPlaying));
386
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) => {
@@ -433,7 +433,7 @@ var be = class {
433
433
  afterSlideChanged() {
434
434
  this.clearMediaPlaybackErrors();
435
435
  }
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 {
436
+ }, xe = ".slides section", Se = ".slides>section", B = ".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 be = class {
482
482
  destroy() {
483
483
  this.element.remove();
484
484
  }
485
- }, V = class {
485
+ }, Ee = 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 be = class {
535
535
  onBlur() {
536
536
  setTimeout(() => this.hide(), 1);
537
537
  }
538
- }, Ee = (e) => {
538
+ }, De = (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 be = class {
567
567
  b: parseInt(i[3], 10),
568
568
  a: parseFloat(i[4])
569
569
  } : null;
570
- }, De = (e) => (typeof e == "string" && (e = Ee(e)), e ? (e.r * 299 + e.g * 587 + e.b * 114) / 1e3 : null), Oe = class {
570
+ }, Oe = (e) => (typeof e == "string" && (e = De(e)), e ? (e.r * 299 + e.g * 587 + e.b * 114) / 1e3 : null), ke = class {
571
571
  constructor(e) {
572
572
  this.Reveal = e;
573
573
  }
@@ -610,13 +610,13 @@ var be = class {
610
610
  }
611
611
  getContrastClass(e) {
612
612
  let t = e.slideBackgroundElement, n = e.getAttribute("data-background-color");
613
- if (!n || !Ee(n)) {
613
+ if (!n || !De(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 = Ee(n);
619
- if (e && e.a !== 0) return De(n) < 128 ? "has-dark-background" : "has-light-background";
618
+ let e = De(n);
619
+ if (e && e.a !== 0) return Oe(n) < 128 ? "has-dark-background" : "has-light-background";
620
620
  }
621
621
  return null;
622
622
  }
@@ -672,7 +672,7 @@ var be = class {
672
672
  destroy() {
673
673
  this.element.remove();
674
674
  }
675
- }, ke = 0, Ae = class {
675
+ }, V = 0, Ae = class {
676
676
  constructor(e) {
677
677
  this.Reveal = e;
678
678
  }
@@ -680,17 +680,17 @@ var be = 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 || L();
683
+ this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || R();
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, ke++));
688
+ let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n, V++));
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-" + 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;
693
+ (t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" + V++, 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(() => {
@@ -750,7 +750,7 @@ var be = class {
750
750
  delay: 0
751
751
  };
752
752
  if (n = re(n, t), e.parentNode) {
753
- let t = I(e.parentNode, "[data-auto-animate-target]");
753
+ let t = L(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 be = 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
- F(e.from, r) ? e.options = { scale: !1 } : F(e.from, "pre") && (e.options = {
796
+ I(e.from, r) ? e.options = { scale: !1 } : I(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, {
@@ -850,7 +850,7 @@ var be = class {
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 = P(this.Reveal.getRevealElement(), xe), n = P(this.Reveal.getRevealElement(), Ce);
853
+ let t = P(this.Reveal.getRevealElement(), Se), 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);
@@ -1102,8 +1102,8 @@ var Re = class {
1102
1102
  activate() {
1103
1103
  var e = this;
1104
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";
1105
+ let t = e.Reveal.getConfig(), n = P(e.Reveal.getRevealElement(), xe), 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), R("@page{size:" + a + "px " + o + "px; margin: 0px;}"), R(".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";
1107
1107
  let l = e.Reveal.getViewportElement(), u;
1108
1108
  if (l) {
1109
1109
  let e = window.getComputedStyle(l);
@@ -1285,7 +1285,7 @@ var Re = class {
1285
1285
  }
1286
1286
  activate() {
1287
1287
  if (this.Reveal.getConfig().overview && !this.Reveal.isScrollView() && !this.isActive()) {
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) => {
1288
+ this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()), P(this.Reveal.getRevealElement(), xe).forEach((e) => {
1289
1289
  e.classList.contains("stack") || e.addEventListener("click", this.onSlideClicked, !0);
1290
1290
  });
1291
1291
  let e = this.Reveal.getComputedSlideSize();
@@ -1303,12 +1303,12 @@ var Re = class {
1303
1303
  }
1304
1304
  layout() {
1305
1305
  this.Reveal.getHorizontalSlides().forEach((e, t) => {
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)");
1306
+ e.setAttribute("data-index-h", t), F(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), F(e, "translate3d(0, " + n * this.overviewSlideHeight + "px, 0)");
1308
1308
  });
1309
1309
  }), Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e, t) => {
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)");
1310
+ F(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), P(e, ".slide-background").forEach((e, t) => {
1311
+ F(e, "translate3d(0, " + t * this.overviewSlideHeight + "px, 0)");
1312
1312
  });
1313
1313
  });
1314
1314
  }
@@ -1324,10 +1324,10 @@ var Re = class {
1324
1324
  if (this.Reveal.getConfig().overview) {
1325
1325
  this.active = !1, this.Reveal.getRevealElement().classList.remove("overview"), this.Reveal.getRevealElement().classList.add("overview-deactivating"), setTimeout(() => {
1326
1326
  this.Reveal.getRevealElement().classList.remove("overview-deactivating");
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);
1327
+ }, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), P(this.Reveal.getRevealElement(), xe).forEach((e) => {
1328
+ F(e, ""), e.removeEventListener("click", this.onSlideClicked, !0);
1329
1329
  }), P(this.Reveal.getBackgroundsElement(), ".slide-background").forEach((e) => {
1330
- oe(e, "");
1330
+ F(e, "");
1331
1331
  }), this.Reveal.transformSlides({ overview: "" });
1332
1332
  let e = this.Reveal.getIndices();
1333
1333
  this.Reveal.slide(e.h, e.v), this.Reveal.layout(), this.Reveal.cueAutoSlide(), this.Reveal.dispatchEvent({
@@ -1447,7 +1447,7 @@ var Re = class {
1447
1447
  66,
1448
1448
  86,
1449
1449
  190
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();
1450
+ ].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ? oe(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();
1451
1451
  }
1452
1452
  };
1453
1453
  function H(e, t) {
@@ -1464,7 +1464,7 @@ function U(e) {
1464
1464
  for (var t = 1; t < arguments.length; t++) {
1465
1465
  var n = arguments[t] == null ? {} : arguments[t];
1466
1466
  t % 2 ? H(Object(n), !0).forEach(function(t) {
1467
- z(e, t, n[t]);
1467
+ ye(e, t, n[t]);
1468
1468
  }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : H(Object(n)).forEach(function(t) {
1469
1469
  Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
1470
1470
  });
@@ -1473,7 +1473,7 @@ function U(e) {
1473
1473
  }
1474
1474
  var He = class {
1475
1475
  constructor(e) {
1476
- z(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
1476
+ ye(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
1477
1477
  }
1478
1478
  bind() {
1479
1479
  window.addEventListener("hashchange", this.onWindowHashChange, !1);
@@ -1550,7 +1550,7 @@ var He = class {
1550
1550
  }
1551
1551
  bind() {
1552
1552
  let e = ["touchstart", "click"];
1553
- R && (e = ["touchend"]), e.forEach((e) => {
1553
+ he && (e = ["touchend"]), e.forEach((e) => {
1554
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));
1555
1555
  });
1556
1556
  }
@@ -1634,7 +1634,7 @@ var He = class {
1634
1634
  }
1635
1635
  onEnterFullscreen(e) {
1636
1636
  let t = this.Reveal.getConfig(), n = this.Reveal.getViewportElement();
1637
- se(t.embedded ? n : n.parentElement);
1637
+ oe(t.embedded ? n : n.parentElement);
1638
1638
  }
1639
1639
  }, We = class {
1640
1640
  constructor(e) {
@@ -1929,7 +1929,7 @@ var He = class {
1929
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);
1930
1930
  }
1931
1931
  isSwipePrevented(e) {
1932
- if (F(e, "video[controls], audio[controls]")) return !0;
1932
+ if (I(e, "video[controls], audio[controls]")) return !0;
1933
1933
  for (; e && typeof e.hasAttribute == "function";) {
1934
1934
  if (e.hasAttribute("data-prevent-swipe")) return !0;
1935
1935
  e = e.parentNode;
@@ -1948,7 +1948,7 @@ var He = class {
1948
1948
  onTouchMove(e) {
1949
1949
  if (this.isSwipePrevented(e.target)) return !0;
1950
1950
  let t = this.Reveal.getConfig();
1951
- if (this.touchCaptured) R && e.preventDefault();
1951
+ if (this.touchCaptured) he && e.preventDefault();
1952
1952
  else {
1953
1953
  this.Reveal.onUserInput(e);
1954
1954
  let n = e.touches[0].clientX, r = e.touches[0].clientY;
@@ -2008,7 +2008,7 @@ var He = class {
2008
2008
  this.focus();
2009
2009
  }
2010
2010
  onDocumentPointerDown(e) {
2011
- let t = I(e.target, ".reveal");
2011
+ let t = L(e.target, ".reveal");
2012
2012
  (!t || t !== this.Reveal.getRevealElement()) && this.blur();
2013
2013
  }
2014
2014
  }, tt = class {
@@ -2167,18 +2167,18 @@ function at(e, t) {
2167
2167
  }, d = [], f = 1, p = {
2168
2168
  layout: "",
2169
2169
  overview: ""
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) {
2170
+ }, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new be(n), S = new Te(n), ee = new Ee(n), C = new Ae(n), w = new ke(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), I = new et(n), oe = new Ze(n), R = new tt(n);
2171
+ function ue(a) {
2172
2172
  if (!e) throw "Unable to find presentation root (<div class=\"reveal\">).";
2173
2173
  if (i) throw "Reveal.js has already been initialized.";
2174
2174
  if (i = !0, m.wrapper = e, m.slides = e.querySelector(".slides"), !m.slides) throw "Unable to find slides container (<div class=\"slides\">).";
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));
2175
+ return r = U(U(U(U(U({}, rt), r), t), a), ce()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), de(), window.addEventListener("load", Xe, !1), M.load(r.plugins, r.dependencies).then(fe), new Promise((e) => n.on("ready", e));
2176
2176
  }
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");
2177
+ function de() {
2178
+ r.embedded === !0 ? m.viewport = L(e, ".reveal-viewport") || e : (m.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), m.viewport.classList.add("reveal-viewport");
2179
2179
  }
2180
- function pe() {
2181
- i !== !1 && (a = !0, R(), ge(), De(), Ce(), Ee(), xt(), ke(), w.update(!0), me(), A.readURL(), setTimeout(() => {
2180
+ function fe() {
2181
+ i !== !1 && (a = !0, he(), ge(), Oe(), Ce(), De(), xt(), V(), w.update(!0), pe(), A.readURL(), setTimeout(() => {
2182
2182
  m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"), H({
2183
2183
  type: "ready",
2184
2184
  data: {
@@ -2189,18 +2189,18 @@ function at(e, t) {
2189
2189
  });
2190
2190
  }, 1));
2191
2191
  }
2192
- function me() {
2192
+ function pe() {
2193
2193
  let e = r.view === "print", t = r.view === "scroll" || r.view === "reader";
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());
2194
+ (e || t) && (e ? Me() : oe.unbind(), m.viewport.classList.add("loading-scroll-mode"), e ? document.readyState === "complete" ? E.activate() : window.addEventListener("load", () => E.activate()) : T.activate());
2195
2195
  }
2196
- function R() {
2196
+ function he() {
2197
2197
  r.showHiddenSlides || P(m.wrapper, "section[data-visibility=\"hidden\"]").forEach((e) => {
2198
2198
  let t = e.parentNode;
2199
2199
  t.childElementCount === 1 && /section/i.test(t.nodeName) ? t.remove() : e.remove();
2200
2200
  });
2201
2201
  }
2202
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");
2203
+ m.slides.classList.add("no-transition"), me ? m.wrapper.classList.add("no-hover") : m.wrapper.classList.remove("no-hover"), w.render(), S.render(), ee.render(), te.render(), ne.render(), R.render(), m.pauseOverlay = se(m.wrapper, "div", "pause-overlay", r.controls ? "<button class=\"resume-button\">Resume presentation</button>" : null), m.statusElement = _e(), m.wrapper.setAttribute("role", "application");
2204
2204
  }
2205
2205
  function _e() {
2206
2206
  let e = m.wrapper.querySelector(".aria-status");
@@ -2209,7 +2209,7 @@ function at(e, t) {
2209
2209
  function ve(e) {
2210
2210
  m.statusElement.textContent = e;
2211
2211
  }
2212
- function ye(e) {
2212
+ function z(e) {
2213
2213
  let t = "";
2214
2214
  if (e.nodeType === 3) t += e.textContent.trim();
2215
2215
  else if (e.nodeType === 1) {
@@ -2217,10 +2217,10 @@ function at(e, t) {
2217
2217
  if (n !== "true" && !r) {
2218
2218
  if (e.tagName === "IMG" || e.tagName === "VIDEO") {
2219
2219
  let n = e.getAttribute("alt");
2220
- n && (t += z(n));
2220
+ n && (t += ye(n));
2221
2221
  }
2222
2222
  Array.from(e.childNodes).forEach((e) => {
2223
- t += ye(e);
2223
+ t += z(e);
2224
2224
  }), [
2225
2225
  "P",
2226
2226
  "DIV",
@@ -2234,12 +2234,12 @@ function at(e, t) {
2234
2234
  "H5",
2235
2235
  "H6",
2236
2236
  "BLOCKQUOTE"
2237
- ].includes(e.tagName) && t.trim() !== "" && (t = z(t));
2237
+ ].includes(e.tagName) && t.trim() !== "" && (t = ye(t));
2238
2238
  }
2239
2239
  }
2240
2240
  return t = t.trim(), t === "" ? "" : t + " ";
2241
2241
  }
2242
- function z(e) {
2242
+ function ye(e) {
2243
2243
  let t = e.trim();
2244
2244
  return t === "" ? e : /[.!?]$/.test(t) ? t : t + ".";
2245
2245
  }
@@ -2248,26 +2248,26 @@ function at(e, t) {
2248
2248
  (!T.isActive() && m.wrapper.scrollTop !== 0 || m.wrapper.scrollLeft !== 0) && (m.wrapper.scrollTop = 0, m.wrapper.scrollLeft = 0);
2249
2249
  }, 1e3);
2250
2250
  }
2251
- function Ee() {
2251
+ function De() {
2252
2252
  document.addEventListener("fullscreenchange", rn), document.addEventListener("webkitfullscreenchange", rn);
2253
2253
  }
2254
- function De() {
2254
+ function Oe() {
2255
2255
  r.postMessage && window.addEventListener("message", Qt, !1);
2256
2256
  }
2257
- function ke(e) {
2257
+ function V(e) {
2258
2258
  let t = U({}, r);
2259
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();
2260
+ let i = m.wrapper.querySelectorAll(xe).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(), C.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), R.configure(r, t), I.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
2262
  }
2263
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);
2264
+ window.addEventListener("resize", tn, !1), r.touch && oe.bind(), r.keyboard && k.bind(), r.progress && ne.bind(), r.respondToHashChanges && A.bind(), te.bind(), I.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);
2265
2265
  }
2266
2266
  function Me() {
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);
2267
+ oe.unbind(), I.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);
2268
2268
  }
2269
2269
  function Ne() {
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) => {
2270
+ i = !1, a !== !1 && (Me(), Ht(), R.destroy(), I.destroy(), N.destroy(), M.destroy(), j.destroy(), te.destroy(), ne.destroy(), w.destroy(), S.destroy(), ee.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(xe)).forEach((e) => {
2271
2271
  e.style.removeProperty("display"), e.style.removeProperty("top"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), e.removeAttribute("inert");
2272
2272
  }));
2273
2273
  }
@@ -2278,7 +2278,7 @@ function at(e, t) {
2278
2278
  e.removeEventListener(t, n, r);
2279
2279
  }
2280
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);
2281
+ typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ? F(m.slides, p.layout + " " + p.overview) : F(m.slides, p.overview);
2282
2282
  }
2283
2283
  function H({ target: e = m.wrapper, type: t, data: n, bubbles: r = !0 }) {
2284
2284
  let i = document.createEvent("HTMLEvents", 1, 2);
@@ -2310,10 +2310,10 @@ function at(e, t) {
2310
2310
  if (m.wrapper && !E.isActive()) {
2311
2311
  let e = m.viewport.offsetWidth, t = m.viewport.offsetHeight;
2312
2312
  if (!r.disableLayout) {
2313
- he && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * .01 + "px");
2313
+ me && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * .01 + "px");
2314
2314
  let n = T.isActive() ? at(e, t) : at(), i = f;
2315
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);
2316
+ let a = Array.from(m.wrapper.querySelectorAll(xe)).filter((e) => e.style.display !== "none"), o = Array(a.length);
2317
2317
  for (let e = 0, t = a.length; e < t; e++) {
2318
2318
  let t = a[e];
2319
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] = "";
@@ -2333,7 +2333,7 @@ function at(e, t) {
2333
2333
  }
2334
2334
  function Qe(e, t) {
2335
2335
  P(m.slides, "section > .stretch, section > .r-stretch").forEach((n) => {
2336
- let r = ue(n, t);
2336
+ let r = le(n, t);
2337
2337
  if (/(img|video)/gi.test(n.nodeName)) {
2338
2338
  let t = n.naturalWidth || n.videoWidth, i = n.naturalHeight || n.videoHeight, a = Math.min(e / t, r / i);
2339
2339
  n.style.width = t * a + "px", n.style.height = i * a + "px";
@@ -2399,7 +2399,7 @@ function at(e, t) {
2399
2399
  return m.wrapper.classList.contains("paused");
2400
2400
  }
2401
2401
  function ht(e) {
2402
- typeof e == "boolean" ? e ? C.show() : C.hide() : C.isVisible() ? C.hide() : C.show();
2402
+ typeof e == "boolean" ? e ? ee.show() : ee.hide() : ee.isVisible() ? ee.hide() : ee.show();
2403
2403
  }
2404
2404
  function gt(e) {
2405
2405
  typeof e == "boolean" ? e ? Wt() : Ut() : b ? Wt() : Ut();
@@ -2417,7 +2417,7 @@ function at(e, t) {
2417
2417
  }
2418
2418
  }).defaultPrevented) return;
2419
2419
  c = l;
2420
- let u = m.wrapper.querySelectorAll(xe);
2420
+ let u = m.wrapper.querySelectorAll(Se);
2421
2421
  if (T.isActive()) {
2422
2422
  let e = T.getSlideByIndices(t, n);
2423
2423
  e && T.scrollToSlide(e);
@@ -2428,7 +2428,7 @@ function at(e, t) {
2428
2428
  let f = d.concat();
2429
2429
  d.length = 0;
2430
2430
  let p = o || 0, g = s || 0;
2431
- o = St(xe, t === void 0 ? o : t), s = St(Se, n === void 0 ? s : n);
2431
+ o = St(Se, t === void 0 ? o : t), s = St(B, n === void 0 ? s : n);
2432
2432
  let _ = o !== p || s !== g;
2433
2433
  _ || (c = null);
2434
2434
  let v = u[o], y = v.querySelectorAll("section");
@@ -2448,10 +2448,10 @@ function at(e, t) {
2448
2448
  }
2449
2449
  for (; f.length;) m.viewport.classList.remove(f.pop());
2450
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(() => {
2451
+ ve(z(l));
2452
+ }), ne.update(), te.update(), R.update(), w.update(), w.updateParallax(), S.update(), D.update(), A.writeURL(), Vt(), b && (setTimeout(() => {
2453
2453
  m.slides.classList.remove("disable-slide-transitions");
2454
- }, 0), r.autoAnimate && ee.run(c, l));
2454
+ }, 0), r.autoAnimate && C.run(c, l));
2455
2455
  }
2456
2456
  function vt(e, t, n, r) {
2457
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");
@@ -2460,15 +2460,15 @@ function at(e, t) {
2460
2460
  let i = o || 0;
2461
2461
  o = t, s = n;
2462
2462
  let a = l !== e;
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));
2463
+ c = l, l = e, l && c && r.autoAnimate && vt(c, l, i, s) && C.run(c, l), a && (x.afterSlideChanged(), c && (x.stopEmbeddedContent(c), x.stopEmbeddedContent(c.slideBackgroundElement)), x.startEmbeddedContent(l), x.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2464
+ ve(z(l));
2465
2465
  }), Ke();
2466
2466
  }
2467
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" });
2468
+ Me(), je(), Xe(), g = r.autoSlide, Vt(), w.create(), A.writeURL(), r.sortFragmentsOnSync === !0 && D.sortAll(), o !== void 0 && (o = St(Se, o), s = St(B, s)), te.update(), ne.update(), wt(), R.update(), R.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" });
2469
2469
  }
2470
2470
  function bt(e = l) {
2471
- w.sync(e), D.sync(e), x.load(e), w.update(), L.update(), H({
2471
+ w.sync(e), D.sync(e), x.load(e), w.update(), R.update(), H({
2472
2472
  type: "slidesync",
2473
2473
  data: { slide: e }
2474
2474
  });
@@ -2525,7 +2525,7 @@ function at(e, t) {
2525
2525
  let e = At(), t = e.length, n, i;
2526
2526
  if (t && o !== void 0) {
2527
2527
  let a = O.isActive(), c = a ? 10 : r.viewDistance;
2528
- he && (c = a ? 6 : r.mobileViewDistance), E.isActive() && (c = Number.MAX_VALUE);
2528
+ me && (c = a ? 6 : r.mobileViewDistance), E.isActive() && (c = Number.MAX_VALUE);
2529
2529
  for (let l = 0; l < t; l++) {
2530
2530
  let u = e[l], d = P(u, "section"), f = d.length;
2531
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) {
@@ -2539,12 +2539,12 @@ function at(e, t) {
2539
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");
2540
2540
  }
2541
2541
  let a = O.isActive() || T.isActive() || E.isActive();
2542
- P(m.wrapper, B).forEach((e) => {
2542
+ P(m.wrapper, xe).forEach((e) => {
2543
2543
  e.toggleAttribute("inert", !a && e !== l && !e.contains(l));
2544
2544
  });
2545
2545
  }
2546
2546
  function Tt({ includeFragments: e = !1 } = {}) {
2547
- let t = m.wrapper.querySelectorAll(xe), n = m.wrapper.querySelectorAll(Se), i = {
2547
+ let t = m.wrapper.querySelectorAll(Se), n = m.wrapper.querySelectorAll(B), i = {
2548
2548
  left: o > 0,
2549
2549
  right: o < t.length - 1,
2550
2550
  up: s > 0,
@@ -2604,16 +2604,16 @@ function at(e, t) {
2604
2604
  };
2605
2605
  }
2606
2606
  function kt() {
2607
- return P(m.wrapper, B + ":not(.stack):not([data-visibility=\"uncounted\"])");
2607
+ return P(m.wrapper, xe + ":not(.stack):not([data-visibility=\"uncounted\"])");
2608
2608
  }
2609
2609
  function At() {
2610
- return P(m.wrapper, xe);
2610
+ return P(m.wrapper, Se);
2611
2611
  }
2612
2612
  function jt() {
2613
2613
  return P(m.wrapper, ".slides>section>section");
2614
2614
  }
2615
2615
  function Mt() {
2616
- return P(m.wrapper, xe + ".stack");
2616
+ return P(m.wrapper, Se + ".stack");
2617
2617
  }
2618
2618
  function Nt() {
2619
2619
  return At().length > 1;
@@ -2700,7 +2700,7 @@ function at(e, t) {
2700
2700
  if (Tt().up) qt({ skipFragments: e });
2701
2701
  else {
2702
2702
  let t;
2703
- if (t = r.rtl ? P(m.wrapper, xe + ".future").pop() : P(m.wrapper, xe + ".past").pop(), t && t.classList.contains("stack")) {
2703
+ if (t = r.rtl ? P(m.wrapper, Se + ".future").pop() : P(m.wrapper, Se + ".past").pop(), t && t.classList.contains("stack")) {
2704
2704
  let e = t.querySelectorAll("section").length - 1 || void 0;
2705
2705
  K(o - 1, e);
2706
2706
  } else r.rtl ? Kt({ skipFragments: e }) : Gt({ skipFragments: e });
@@ -2741,7 +2741,7 @@ function at(e, t) {
2741
2741
  }));
2742
2742
  }
2743
2743
  function en(e) {
2744
- let t = I(e.target, "a[href^=\"#\"]");
2744
+ let t = L(e.target, "a[href^=\"#\"]");
2745
2745
  if (t) {
2746
2746
  let r = t.getAttribute("href"), i = A.getIndicesFromHash(r);
2747
2747
  i && (n.slide(i.h, i.v, i.f), e.preventDefault());
@@ -2763,8 +2763,8 @@ function at(e, t) {
2763
2763
  }
2764
2764
  let on = {
2765
2765
  VERSION: it,
2766
- initialize: de,
2767
- configure: ke,
2766
+ initialize: ue,
2767
+ configure: V,
2768
2768
  destroy: Ne,
2769
2769
  sync: q,
2770
2770
  syncSlide: bt,
@@ -2806,9 +2806,9 @@ function at(e, t) {
2806
2806
  isVerticalStack: st,
2807
2807
  isPaused: mt,
2808
2808
  isAutoSliding: _t,
2809
- isSpeakerNotes: L.isSpeakerNotesWindow.bind(L),
2809
+ isSpeakerNotes: R.isSpeakerNotesWindow.bind(R),
2810
2810
  isOverview: O.isActive.bind(O),
2811
- isFocused: F.isFocused.bind(F),
2811
+ isFocused: I.isFocused.bind(I),
2812
2812
  isOverlayOpen: N.isOpen.bind(N),
2813
2813
  isScrollView: T.isActive.bind(T),
2814
2814
  isPrintView: E.isActive.bind(E),
@@ -2836,7 +2836,7 @@ function at(e, t) {
2836
2836
  getPreviousSlide: () => c,
2837
2837
  getCurrentSlide: () => l,
2838
2838
  getSlideBackground: Rt,
2839
- getSlideNotes: L.getSlideNotes.bind(L),
2839
+ getSlideNotes: R.getSlideNotes.bind(R),
2840
2840
  getSlides: kt,
2841
2841
  getHorizontalSlides: At,
2842
2842
  getVerticalSlides: jt,
@@ -2851,10 +2851,10 @@ function at(e, t) {
2851
2851
  registerKeyboardShortcut: k.registerKeyboardShortcut.bind(k),
2852
2852
  getComputedSlideSize: at,
2853
2853
  setCurrentScrollPage: yt,
2854
- removeHiddenSlides: R,
2854
+ removeHiddenSlides: he,
2855
2855
  getScale: () => f,
2856
2856
  getConfig: () => r,
2857
- getQueryHash: le,
2857
+ getQueryHash: ce,
2858
2858
  getSlidePath: A.getHash.bind(A),
2859
2859
  getRevealElement: () => e,
2860
2860
  getSlidesElement: () => m.slides,
@@ -2867,8 +2867,8 @@ function at(e, t) {
2867
2867
  };
2868
2868
  return re(n, U(U({}, on), {}, {
2869
2869
  announceStatus: ve,
2870
- getStatusText: ye,
2871
- focus: F,
2870
+ getStatusText: z,
2871
+ focus: I,
2872
2872
  scroll: T,
2873
2873
  progress: ne,
2874
2874
  controls: te,
@@ -2907,7 +2907,7 @@ W.initialize = (e) => {
2907
2907
  }), W.isReady = () => !1, W.VERSION = it;
2908
2908
  //#endregion
2909
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 = [];
2910
+ var G = w(), st = (0, M.createContext)(null), ct = [];
2911
2911
  function lt(e, t) {
2912
2912
  if (e === t) return !1;
2913
2913
  if (!e || !t) return e !== t;
@@ -2934,7 +2934,7 @@ function pt(e, t, n) {
2934
2934
  return e ? JSON.stringify(ft(e, t, n)) : "[]";
2935
2935
  }
2936
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);
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), ee = (0, M.useRef)(!1), C = (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
2938
  return (0, M.useEffect)(() => {
2939
2939
  if (D.current = !0, O.current += 1, y.current) y.current.isReady() && x(y.current);
2940
2940
  else {
@@ -2942,7 +2942,7 @@ function mt({ config: e, plugins: t = ct, onReady: n, onSync: r, onSlideSync: i,
2942
2942
  ...e,
2943
2943
  plugins: S.current
2944
2944
  });
2945
- ee.current = e, y.current = t, t.initialize().then(() => {
2945
+ C.current = e, y.current = t, t.initialize().then(() => {
2946
2946
  D.current && y.current === t && (x(t), n?.(t));
2947
2947
  });
2948
2948
  }
@@ -2991,10 +2991,10 @@ function mt({ config: e, plugins: t = ct, onReady: n, onSync: r, onSlideSync: i,
2991
2991
  d,
2992
2992
  f
2993
2993
  ]), (0, M.useLayoutEffect)(() => {
2994
- b && y.current?.isReady() && lt(ee.current, e) && (C.current = !0, y.current.configure(e ?? {}), ee.current = e);
2994
+ b && y.current?.isReady() && lt(C.current, e) && (ee.current = !0, y.current.configure(e ?? {}), C.current = e);
2995
2995
  }, [b, e]), (0, M.useLayoutEffect)(() => {
2996
- let e = C.current;
2997
- C.current = !1;
2996
+ let e = ee.current;
2997
+ ee.current = !1;
2998
2998
  let t = pt(v.current, T.current, E);
2999
2999
  if (e) {
3000
3000
  w.current = t;
@@ -3062,7 +3062,7 @@ function _t(e, t) {
3062
3062
  }
3063
3063
  return n;
3064
3064
  }
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 }) {
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: ee, autoSlide: C, notes: w, backgroundInteractive: T, preload: E, ...D }) {
3066
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, {
3067
3067
  background: t,
3068
3068
  backgroundImage: n,
@@ -3086,8 +3086,8 @@ function K({ children: e, background: t, backgroundImage: n, backgroundVideo: r,
3086
3086
  autoAnimateDuration: b,
3087
3087
  autoAnimateDelay: x,
3088
3088
  transition: S,
3089
- transitionSpeed: C,
3090
- autoSlide: ee,
3089
+ transitionSpeed: ee,
3090
+ autoSlide: C,
3091
3091
  notes: w,
3092
3092
  backgroundInteractive: T,
3093
3093
  preload: E
@@ -4587,7 +4587,9 @@ function Zn(e) {
4587
4587
  }
4588
4588
  function Qn(e) {
4589
4589
  let t = e.querySelector(".fragment:not(.visible)");
4590
- return t ? t.getBoundingClientRect().top - e.getBoundingClientRect().top + e.scrollTop : e.scrollHeight;
4590
+ if (!t) return e.scrollHeight;
4591
+ let n = e.getBoundingClientRect(), r = e.offsetHeight > 0 ? n.height / e.offsetHeight : 1;
4592
+ return (t.getBoundingClientRect().top - n.top) / (r || 1) + e.scrollTop;
4591
4593
  }
4592
4594
  function $n(e, t) {
4593
4595
  let n = (0, N.c)(4), [r, i] = (0, M.useState)(!1), a, o;
@@ -4624,7 +4626,7 @@ var er = (e) => {
4624
4626
  let o;
4625
4627
  t[3] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ (0, G.jsxs)("div", {
4626
4628
  className: "absolute bottom-3 flex items-center gap-1 rounded-full border border-border/60 bg-background/90 px-2.5 py-1 text-xs text-muted-foreground shadow-sm backdrop-blur-sm",
4627
- children: [/* @__PURE__ */ (0, G.jsx)(C, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, G.jsx)("span", { children: "Scroll for more" })]
4629
+ children: [/* @__PURE__ */ (0, G.jsx)(S, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, G.jsx)("span", { children: "Scroll for more" })]
4628
4630
  }), t[3] = o) : o = t[3];
4629
4631
  let s;
4630
4632
  return t[4] === i ? s = t[5] : (s = /* @__PURE__ */ (0, G.jsxs)("div", {
@@ -4780,7 +4782,7 @@ var cr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
4780
4782
  cells: i
4781
4783
  });
4782
4784
  }, t[0] = n, t[1] = a, t[2] = f) : f = t[2];
4783
- let p = D(f), m = ee(p, ur), h = (0, M.useRef)(o), g, _;
4785
+ let p = E(f), m = ee(p, ur), h = (0, M.useRef)(o), g, _;
4784
4786
  t[3] !== o || t[4] !== l || t[5] !== c || t[6] !== m ? (g = () => {
4785
4787
  if (h.current !== o) {
4786
4788
  m.flush(), d.current = !1, u(c), h.current = o;
@@ -6367,37 +6369,37 @@ var Ui = () => {
6367
6369
  },
6368
6370
  open: r
6369
6371
  };
6370
- }, Wi = 16 / 9, Gi = 67;
6371
- function Ki({ deck: e, enabled: t, onToggle: n }) {
6372
- e.removeKeyBinding(Gi), t && e.addKeyBinding({
6373
- keyCode: Gi,
6372
+ }, Wi = 16 / 9, Gi = 1280, Ki = Gi / Wi, qi = 67;
6373
+ function Ji({ deck: e, enabled: t, onToggle: n }) {
6374
+ e.removeKeyBinding(qi), t && e.addKeyBinding({
6375
+ keyCode: qi,
6374
6376
  key: "C",
6375
6377
  description: "Toggle code editor"
6376
6378
  }, n);
6377
6379
  }
6378
- function qi(e) {
6380
+ function Yi(e) {
6379
6381
  let t = e.getSlidesElement();
6380
6382
  if (t) for (let e of t.querySelectorAll("section.stack[data-previous-indexv]")) e.removeAttribute("data-previous-indexv");
6381
6383
  }
6382
- var Ji = /* @__PURE__ */ new Set([
6384
+ var Xi = /* @__PURE__ */ new Set([
6383
6385
  " ",
6384
6386
  "Spacebar",
6385
6387
  "ArrowRight",
6386
6388
  "ArrowDown",
6387
6389
  "PageDown"
6388
- ]), Yi = /* @__PURE__ */ new Set([
6390
+ ]), Zi = /* @__PURE__ */ new Set([
6389
6391
  "ArrowLeft",
6390
6392
  "ArrowUp",
6391
6393
  "PageUp"
6392
6394
  ]);
6393
- function Xi(e) {
6394
- return Ji.has(e.key) ? 1 : Yi.has(e.key) ? -1 : 0;
6395
+ function Qi(e) {
6396
+ return Xi.has(e.key) ? 1 : Zi.has(e.key) ? -1 : 0;
6395
6397
  }
6396
- function Zi(e) {
6398
+ function $i(e) {
6397
6399
  let t = (0, N.c)(4), n;
6398
6400
  t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = {
6399
- width: 960,
6400
- height: 540
6401
+ width: Gi,
6402
+ height: Ki
6401
6403
  }, t[0] = n) : n = t[0];
6402
6404
  let [r, i] = (0, M.useState)(n), a, o;
6403
6405
  return t[1] === e ? (a = t[2], o = t[3]) : (a = () => {
@@ -6415,7 +6417,7 @@ function Zi(e) {
6415
6417
  return n.observe(t), () => n.disconnect();
6416
6418
  }, o = [e], t[1] = e, t[2] = a, t[3] = o), (0, M.useEffect)(a, o), r;
6417
6419
  }
6418
- var Qi = (e) => {
6420
+ var ea = (e) => {
6419
6421
  let t = (0, N.c)(6), { text: n } = e, r, i;
6420
6422
  if (t[0] !== n) {
6421
6423
  let e = n.split("\n");
@@ -6430,15 +6432,15 @@ var Qi = (e) => {
6430
6432
  children: i
6431
6433
  }), t[3] = r, t[4] = i, t[5] = a) : a = t[5], a;
6432
6434
  };
6433
- function $i(e) {
6435
+ function ta(e) {
6434
6436
  let { cells: t, cellId: n, showCodeOverrides: r, codeAvailable: i } = e;
6435
6437
  return n == null || !i ? !1 : (t.get(n)?.showCode ?? !1) || r.has(n);
6436
6438
  }
6437
- function ea(e) {
6439
+ function na(e) {
6438
6440
  let { cell: t, noOutputIds: n, heldEditCellId: r, slideConfigs: i } = e;
6439
6441
  return n.has(t.id) || t.id === r ? "skip" : i.get(t.id)?.type ?? "slide";
6440
6442
  }
6441
- function ta(e) {
6443
+ function ra(e) {
6442
6444
  let t = (0, N.c)(15), { activeCell: n, slideConfigs: r, noOutputIds: i } = e, a = n?.id ?? null, o;
6443
6445
  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];
6444
6446
  let s = o, c = n != null && r.get(n.id)?.type === "skip" || s, l;
@@ -6465,8 +6467,8 @@ function ta(e) {
6465
6467
  show: !0
6466
6468
  }));
6467
6469
  let y;
6468
- t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(na), t[7] = y) : y = t[7];
6469
- let b = D(y), x = c || p ? n ?? null : null, S;
6470
+ t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(ia), t[7] = y) : y = t[7];
6471
+ let b = E(y), x = c || p ? n ?? null : null, S;
6470
6472
  return t[8] !== m || t[9] !== v || t[10] !== p || t[11] !== s || t[12] !== x || t[13] !== b ? (S = {
6471
6473
  parkedPreviewCell: x,
6472
6474
  isHeldEdit: p,
@@ -6476,26 +6478,26 @@ function ta(e) {
6476
6478
  toggleHeldShowsCode: b
6477
6479
  }, t[8] = m, t[9] = v, t[10] = p, t[11] = s, t[12] = x, t[13] = b, t[14] = S) : S = t[14], S;
6478
6480
  }
6479
- function na(e) {
6481
+ function ia(e) {
6480
6482
  return {
6481
6483
  ...e,
6482
6484
  show: !e.show
6483
6485
  };
6484
6486
  }
6485
- function ra(e) {
6487
+ function aa(e) {
6486
6488
  switch (e ?? "center") {
6487
6489
  case "top": return { margin: "0 20px auto" };
6488
6490
  case "bottom": return { margin: "auto 20px 0" };
6489
6491
  default: return { margin: "auto 20px" };
6490
6492
  }
6491
6493
  }
6492
- var ia = (e) => {
6494
+ var oa = (e) => {
6493
6495
  let t = (0, N.c)(13), { cell: n } = e, r;
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];
6496
+ t[0] !== n.id || t[1] !== n.name ? (r = y(n.id, n.name), t[0] = n.id, t[1] = n.name, t[2] = r) : r = t[2];
6495
6497
  let i = n.id, a = n.status, o = n.output, s;
6496
- t[3] === n ? s = t[4] : (s = u(n, !1), t[3] = n, t[4] = s);
6498
+ t[3] === n ? s = t[4] : (s = C(n, !1), t[3] = n, t[4] = s);
6497
6499
  let c;
6498
- t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== s ? (c = /* @__PURE__ */ (0, G.jsx)(S, {
6500
+ t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== s ? (c = /* @__PURE__ */ (0, G.jsx)(b, {
6499
6501
  cellId: i,
6500
6502
  status: a,
6501
6503
  output: o,
@@ -6507,22 +6509,22 @@ var ia = (e) => {
6507
6509
  ...r,
6508
6510
  children: c
6509
6511
  }), t[10] = r, t[11] = c, t[12] = l) : l = t[12], l;
6510
- }, aa = (e) => {
6512
+ }, sa = (e) => {
6511
6513
  let t = (0, N.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a, contentStyle: o } = e, s, c, l, u, d, f;
6512
6514
  if (t[0] !== o || t[1] !== i || t[2] !== r || t[3] !== a || t[4] !== n) {
6513
6515
  let { slideLevel: e, cumulativeByBlock: p } = hr(n, a);
6514
6516
  l = e;
6515
6517
  let m = n.blocks.some((e) => e.cells.some((e) => r(e.id)));
6516
6518
  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));
6519
+ 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)(oa, { cell: e }, e.id));
6518
6520
  if (e.isFragment) {
6519
- let e = p.get(t);
6521
+ let r = p.get(t);
6520
6522
  return /* @__PURE__ */ (0, G.jsxs)(Jn, {
6521
6523
  as: "div",
6522
- children: [n, e && /* @__PURE__ */ (0, G.jsx)(Qi, { text: e })]
6523
- }, t);
6524
+ children: [n, r && /* @__PURE__ */ (0, G.jsx)(ea, { text: r })]
6525
+ }, e.cells[0].id);
6524
6526
  }
6525
- return /* @__PURE__ */ (0, G.jsx)(M.Fragment, { children: n }, t);
6527
+ return /* @__PURE__ */ (0, G.jsx)(M.Fragment, { children: n }, e.cells[0].id);
6526
6528
  }), 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;
6527
6529
  } else s = t[5], c = t[6], l = t[7], u = t[8], d = t[9], f = t[10];
6528
6530
  let p;
@@ -6534,17 +6536,17 @@ var ia = (e) => {
6534
6536
  let m;
6535
6537
  t[15] !== s || t[16] !== p ? (m = /* @__PURE__ */ (0, G.jsx)(s, { children: p }), t[15] = s, t[16] = p, t[17] = m) : m = t[17];
6536
6538
  let h;
6537
- t[18] === l ? h = t[19] : (h = l && /* @__PURE__ */ (0, G.jsx)(Qi, { text: l }), t[18] = l, t[19] = h);
6539
+ t[18] === l ? h = t[19] : (h = l && /* @__PURE__ */ (0, G.jsx)(ea, { text: l }), t[18] = l, t[19] = h);
6538
6540
  let g;
6539
6541
  return t[20] !== c || t[21] !== m || t[22] !== h ? (g = /* @__PURE__ */ (0, G.jsxs)(c, { children: [m, h] }), t[20] = c, t[21] = m, t[22] = h, t[23] = g) : g = t[23], g;
6540
6542
  };
6541
- function oa(e) {
6543
+ function ca(e) {
6542
6544
  let { isNoOutputPreview: t, isEditable: n, showCode: r } = e;
6543
6545
  return t && n || r;
6544
6546
  }
6545
- var sa = (e) => {
6547
+ var la = (e) => {
6546
6548
  let t = (0, N.c)(5), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e;
6547
- if (oa({
6549
+ if (ca({
6548
6550
  isNoOutputPreview: r,
6549
6551
  isEditable: i,
6550
6552
  showCode: a
@@ -6553,236 +6555,257 @@ var sa = (e) => {
6553
6555
  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;
6554
6556
  }
6555
6557
  let o;
6556
- return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0, G.jsx)(ia, { cell: n }), t[3] = n, t[4] = o), o;
6557
- }, ca = (e) => {
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,
6558
+ return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0, G.jsx)(oa, { cell: n }), t[3] = n, t[4] = o), o;
6559
+ }, ua = (e) => {
6560
+ let n = (0, N.c)(164), { slideCells: o, layout: s, setLayout: c, noOutputIds: y, activeIndex: b, onSlideChange: S, mode: ee, configWidth: C, isEditable: w } = e, j = w !== void 0 && w, re = (0, M.useRef)(null), P = (0, M.useRef)(null), { width: ie, height: ae } = $i(re), F = T() != null, [I, L] = (0, M.useState)(1), oe;
6561
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (oe = () => {
6562
+ let e = requestAnimationFrame(() => {
6563
+ let e = P.current;
6564
+ e && (e.layout(), L(e.getScale()));
6565
+ });
6566
+ return () => cancelAnimationFrame(e);
6567
+ }, n[0] = oe) : oe = n[0];
6568
+ let se;
6569
+ n[1] !== ae || n[2] !== F || n[3] !== ie ? (se = [
6570
+ ie,
6571
+ ae,
6572
+ F
6573
+ ], n[1] = ae, n[2] = F, n[3] = ie, n[4] = se) : se = n[4], (0, M.useEffect)(oe, se);
6574
+ let R = O(k), ce = O(te).kind, le = O(A), ue = ce !== "wasm" || le, de;
6575
+ n[5] !== R || n[6] !== ce ? (de = R || !p(ce) ? [] : [Ui], n[5] = R, n[6] = ce, n[7] = de) : de = n[7];
6576
+ let fe = de, [pe, me] = (0, M.useState)(da), he = ne(), ge;
6577
+ n[8] === he ? ge = n[9] : (ge = !D() && he, n[8] = he, n[9] = ge);
6578
+ let _e = ge, ve;
6579
+ n[10] === R ? ve = n[11] : (ve = _(R, window.location.search), n[10] = R, n[11] = ve);
6580
+ let z = !ve && _e, ye = b == null ? void 0 : o[b], be;
6581
+ n[12] !== ye || n[13] !== o ? (be = ye ?? o.at(0), n[12] = ye, n[13] = o, n[14] = be) : be = n[14];
6582
+ let xe = be, Se;
6583
+ n[15] !== ye || n[16] !== s.cells || n[17] !== y ? (Se = {
6584
+ activeCell: ye,
6569
6585
  slideConfigs: s.cells,
6570
- noOutputIds: u
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({
6586
+ noOutputIds: y
6587
+ }, n[15] = ye, n[16] = s.cells, n[17] = y, n[18] = Se) : Se = n[18];
6588
+ let { parkedPreviewCell: B, isHeldEdit: Ce, isNoOutputPreview: we, heldEditCellId: Te, heldShowsCode: Ee, toggleHeldShowsCode: De } = ra(Se), Oe;
6589
+ n[19] !== _e || n[20] !== s.cells || n[21] !== pe ? (Oe = (e) => ta({
6574
6590
  cells: s.cells,
6575
6591
  cellId: e,
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({
6592
+ showCodeOverrides: pe,
6593
+ codeAvailable: _e
6594
+ }), n[19] = _e, n[20] = s.cells, n[21] = pe, n[22] = Oe) : Oe = n[22];
6595
+ let ke = Oe, V = ye?.id ?? xe?.id, Ae;
6596
+ n[23] !== V || n[24] !== Ee || n[25] !== Ce || n[26] !== ke ? (Ae = Ce ? Ee : ke(V), n[23] = V, n[24] = Ee, n[25] = Ce, n[26] = ke, n[27] = Ae) : Ae = n[27];
6597
+ let je = Ae, Me;
6598
+ n[28] !== V || n[29] !== _e || n[30] !== s.cells ? (Me = _e && V != null && (s.cells.get(V)?.showCode ?? !1), n[28] = V, n[29] = _e, n[30] = s.cells, n[31] = Me) : Me = n[31];
6599
+ let Ne = Me, Pe;
6600
+ n[32] !== Te || n[33] !== s.cells || n[34] !== y ? (Pe = (e) => na({
6585
6601
  cell: e,
6586
- noOutputIds: u,
6587
- heldEditCellId: xe,
6602
+ noOutputIds: y,
6603
+ heldEditCellId: Te,
6588
6604
  slideConfigs: s.cells
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({
6605
+ }), n[32] = Te, n[33] = s.cells, n[34] = y, n[35] = Pe) : Pe = n[35];
6606
+ let Fe;
6607
+ n[36] !== o || n[37] !== Pe ? (Fe = nr({
6592
6608
  cells: o,
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,
6609
+ getType: Pe
6610
+ }), n[36] = o, n[37] = Pe, n[38] = Fe) : Fe = n[38];
6611
+ let Ie = Fe, Le;
6612
+ n[39] !== Ie || n[40] !== o ? (Le = rr({
6613
+ composition: Ie,
6598
6614
  cells: o,
6599
- getId: ua
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 = {
6615
+ getId: fa
6616
+ }), n[39] = Ie, n[40] = o, n[41] = Le) : Le = n[41];
6617
+ let { cellToTarget: Re, targetToCellIndex: ze } = Le, Be = s.deck?.transition ?? "slide", Ve = s.deck?.verticalAlign, H;
6618
+ n[42] === Ve ? H = n[43] : (H = aa(Ve), n[42] = Ve, n[43] = H);
6619
+ let U = H, He;
6620
+ n[44] === Symbol.for("react.memo_cache_sentinel") ? (He = h(window.location.href), n[44] = He) : He = n[44];
6621
+ let Ue = He, We;
6622
+ n[45] === Be ? We = n[46] : (We = {
6607
6623
  embedded: !0,
6608
- width: ie,
6609
- height: ae,
6624
+ width: Gi,
6625
+ height: Ki,
6610
6626
  center: !1,
6611
- minScale: .2,
6627
+ minScale: 0,
6612
6628
  maxScale: 2,
6613
- transition: Ie,
6614
- keyboardCondition: da,
6615
- url: Ve,
6629
+ transition: Be,
6630
+ keyboardCondition: pa,
6631
+ url: Ue,
6616
6632
  scrollActivationWidth: 0
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) => {
6620
- if (x == null && window.location.hash.startsWith("#/")) {
6621
- if (!ce) return;
6622
- window.dispatchEvent(new HashChangeEvent("hashchange")), qi(e);
6633
+ }, n[45] = Be, n[46] = We);
6634
+ let Ge = We, Ke;
6635
+ n[47] !== b || n[48] !== ue || n[49] !== Re || n[50] !== o ? (Ke = (e) => {
6636
+ if (b == null && window.location.hash.startsWith("#/")) {
6637
+ if (!ue) return;
6638
+ window.dispatchEvent(new HashChangeEvent("hashchange")), Yi(e);
6623
6639
  return;
6624
6640
  }
6625
6641
  let t = or({
6626
- activeIndex: x,
6642
+ activeIndex: b,
6627
6643
  cells: o,
6628
- cellToTarget: Pe,
6629
- getId: fa
6644
+ cellToTarget: Re,
6645
+ getId: ma
6630
6646
  }), n = t && sr(e.getIndices(), t);
6631
- n && (e.slide(n.h, n.v, n.f), qi(e));
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 = () => {
6647
+ n && (e.slide(n.h, n.v, n.f), Yi(e));
6648
+ }, n[47] = b, n[48] = ue, n[49] = Re, n[50] = o, n[51] = Ke) : Ke = n[51];
6649
+ let qe = E(Ke), Je;
6650
+ n[52] === qe ? Je = n[53] : (Je = () => {
6635
6651
  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 = [
6640
- x,
6641
- ce,
6642
- Pe,
6652
+ e != null && qe(e);
6653
+ }, n[52] = qe, n[53] = Je);
6654
+ let Ye;
6655
+ n[54] !== b || n[55] !== ue || n[56] !== Re || n[57] !== qe || n[58] !== o ? (Ye = [
6656
+ b,
6657
+ ue,
6658
+ Re,
6643
6659
  o,
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();
6660
+ qe
6661
+ ], n[54] = b, n[55] = ue, n[56] = Re, n[57] = qe, n[58] = o, n[59] = Ye) : Ye = n[59], (0, M.useEffect)(Je, Ye);
6662
+ let Xe;
6663
+ n[60] !== V || n[61] !== Ne || n[62] !== Ce || n[63] !== De ? (Xe = () => {
6664
+ if (!(V == null || Ne)) {
6665
+ if (Ce) {
6666
+ De();
6651
6667
  return;
6652
6668
  }
6653
- (0, M.startTransition)(() => de((e) => {
6669
+ (0, M.startTransition)(() => me((e) => {
6654
6670
  let t = new Set(e);
6655
6671
  return t.has(V) ? t.delete(V) : t.add(V), t;
6656
6672
  }));
6657
6673
  }
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 = () => {
6674
+ }, n[60] = V, n[61] = Ne, n[62] = Ce, n[63] = De, n[64] = Xe) : Xe = n[64];
6675
+ let Ze = E(Xe), Qe, $e;
6676
+ n[65] !== z || n[66] !== Ze ? (Qe = () => {
6661
6677
  let e = P.current;
6662
- return e && Ki({
6678
+ return e && Ji({
6663
6679
  deck: e,
6664
- enabled: R,
6665
- onToggle: qe
6680
+ enabled: z,
6681
+ onToggle: Ze
6666
6682
  }), () => {
6667
- P.current?.removeKeyBinding(Gi);
6683
+ P.current?.removeKeyBinding(qi);
6668
6684
  };
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());
6685
+ }, $e = [z, Ze], n[65] = z, n[66] = Ze, n[67] = Qe, n[68] = $e) : (Qe = n[67], $e = n[68]), (0, M.useEffect)(Qe, $e);
6686
+ let et;
6687
+ n[69] !== S || n[70] !== B || n[71] !== ze ? (et = (e) => {
6688
+ if (B != null) return;
6689
+ let t = ir(ze, e.getIndices());
6674
6690
  t != null && S?.(t);
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 = () => {
6691
+ }, n[69] = S, n[70] = B, n[71] = ze, n[72] = et) : et = n[72];
6692
+ let tt = E(et), nt;
6693
+ n[73] === tt ? nt = n[74] : (nt = () => {
6678
6694
  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({
6695
+ e && tt(e);
6696
+ }, n[73] = tt, n[74] = nt);
6697
+ let rt = E(nt), it;
6698
+ n[75] !== ue || n[76] !== z || n[77] !== qe || n[78] !== tt || n[79] !== Ze ? (it = (e) => {
6699
+ L(e.getScale()), qe(e), ue && tt(e), Ji({
6684
6700
  deck: e,
6685
- enabled: R,
6686
- onToggle: qe
6701
+ enabled: z,
6702
+ onToggle: Ze
6687
6703
  });
6688
6704
  let t = e.getSlidesElement()?.closest(".reveal");
6689
6705
  t instanceof HTMLElement && (t.tabIndex = -1, t.focus({ preventScroll: !0 }));
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;
6694
- let t = Xi(e);
6706
+ }, n[75] = ue, n[76] = z, n[77] = qe, n[78] = tt, n[79] = Ze, n[80] = it) : it = n[80];
6707
+ let at = E(it), W;
6708
+ n[81] !== b || n[82] !== S || n[83] !== B || n[84] !== o ? (W = (e) => {
6709
+ if (!B || b == null || i.fromInput(e)) return;
6710
+ let t = Qi(e);
6695
6711
  if (t === 0) return;
6696
6712
  e.preventDefault(), e.stopPropagation();
6697
- let n = x + t;
6713
+ let n = b + t;
6698
6714
  n < 0 || n >= o.length || S?.(n);
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;
6701
- n[83] === $e ? it = n[84] : (it = () => {
6702
- $e();
6703
- }, n[83] = $e, n[84] = it);
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];
6708
- let ct = st, lt;
6709
- n[91] !== j || n[92] !== B || n[93] !== ct ? (lt = oa({
6710
- isNoOutputPreview: B,
6715
+ }, n[81] = b, n[82] = S, n[83] = B, n[84] = o, n[85] = W) : W = n[85];
6716
+ let ot = E(W), st;
6717
+ n[86] === rt ? st = n[87] : (st = () => {
6718
+ rt();
6719
+ }, n[86] = rt, n[87] = st);
6720
+ let ct = E(st), lt;
6721
+ n[88] === Symbol.for("react.memo_cache_sentinel") ? (lt = { capture: !0 }, n[88] = lt) : lt = n[88], t(document, "keydown", ot, lt);
6722
+ let ut = Ce ? null : we ? "Hidden as there is no output" : "Skipped in presentation", dt;
6723
+ n[89] !== Ee || n[90] !== Ce || n[91] !== B?.id || n[92] !== ke ? (dt = Ce ? Ee : ke(B?.id), n[89] = Ee, n[90] = Ce, n[91] = B?.id, n[92] = ke, n[93] = dt) : dt = n[93];
6724
+ let ft = dt, pt;
6725
+ n[94] !== j || n[95] !== we || n[96] !== ft ? (pt = ca({
6726
+ isNoOutputPreview: we,
6711
6727
  isEditable: j,
6712
- showCode: ct
6713
- }), n[91] = j, n[92] = B, n[93] = ct, n[94] = lt) : lt = n[94];
6714
- let ut = lt, dt;
6715
- n[95] !== ae || n[96] !== ie ? (dt = {
6728
+ showCode: ft
6729
+ }), n[94] = j, n[95] = we, n[96] = ft, n[97] = pt) : pt = n[97];
6730
+ let ht = pt, gt;
6731
+ n[98] !== ae || n[99] !== ie ? (gt = {
6716
6732
  width: ie,
6717
6733
  height: ae
6718
- }, n[95] = ae, n[96] = ie, n[97] = dt) : dt = n[97];
6719
- let ft;
6720
- if (n[98] !== Me.stacks || n[99] !== j || n[100] !== s.cells || n[101] !== Te || n[102] !== ze) {
6734
+ }, n[98] = ae, n[99] = ie, n[100] = gt) : gt = n[100];
6735
+ let _t;
6736
+ if (n[101] !== Ie.stacks || n[102] !== j || n[103] !== s.cells || n[104] !== ke || n[105] !== U) {
6721
6737
  let e;
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, {
6738
+ n[107] !== j || n[108] !== s.cells || n[109] !== ke || n[110] !== U ? (e = (e, t) => e.subslides.length === 1 ? /* @__PURE__ */ (0, G.jsx)(sa, {
6723
6739
  subslide: e.subslides[0],
6724
- resolveShowCode: Te,
6740
+ resolveShowCode: ke,
6725
6741
  isEditable: j,
6726
6742
  slideConfigs: s.cells,
6727
- contentStyle: ze
6728
- }, t) : /* @__PURE__ */ (0, G.jsx)(vt, { children: e.subslides.map((e, t) => /* @__PURE__ */ (0, G.jsx)(aa, {
6743
+ contentStyle: U
6744
+ }, t) : /* @__PURE__ */ (0, G.jsx)(vt, { children: e.subslides.map((e, t) => /* @__PURE__ */ (0, G.jsx)(sa, {
6729
6745
  subslide: e,
6730
- resolveShowCode: Te,
6746
+ resolveShowCode: ke,
6731
6747
  isEditable: j,
6732
6748
  slideConfigs: s.cells,
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;
6735
- } else ft = n[103];
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, {
6749
+ contentStyle: U
6750
+ }, t)) }, t), n[107] = j, n[108] = s.cells, n[109] = ke, n[110] = U, n[111] = e) : e = n[111], _t = Ie.stacks.map(e), n[101] = Ie.stacks, n[102] = j, n[103] = s.cells, n[104] = ke, n[105] = U, n[106] = _t;
6751
+ } else _t = n[106];
6752
+ let K;
6753
+ n[112] !== fe || n[113] !== at || n[114] !== ct || n[115] !== rt || n[116] !== Ge || n[117] !== _t ? (K = /* @__PURE__ */ (0, G.jsx)(mt, {
6738
6754
  deckRef: P,
6739
6755
  className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden",
6740
- config: U,
6741
- onReady: tt,
6742
- onSlideChange: at,
6743
- onFragmentShown: $e,
6744
- onFragmentHidden: $e,
6745
- plugins: le,
6746
- children: ft
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];
6748
- let ht;
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", {
6756
+ config: Ge,
6757
+ onReady: at,
6758
+ onSlideChange: ct,
6759
+ onFragmentShown: rt,
6760
+ onFragmentHidden: rt,
6761
+ plugins: fe,
6762
+ children: _t
6763
+ }), n[112] = fe, n[113] = at, n[114] = ct, n[115] = rt, n[116] = Ge, n[117] = _t, n[118] = K) : K = n[118];
6764
+ let yt;
6765
+ n[119] !== j || n[120] !== we || n[121] !== B || n[122] !== ut || n[123] !== ft || n[124] !== ht || n[125] !== U || n[126] !== I ? (yt = B && /* @__PURE__ */ (0, G.jsxs)("div", {
6750
6766
  className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
6751
- "aria-label": ot ?? void 0,
6752
- children: [ot && /* @__PURE__ */ (0, G.jsxs)("div", {
6767
+ "aria-label": ut ?? void 0,
6768
+ children: [ut && /* @__PURE__ */ (0, G.jsxs)("div", {
6753
6769
  className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",
6754
- children: [/* @__PURE__ */ (0, G.jsx)(m, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, G.jsx)("span", { children: ot })]
6770
+ children: [/* @__PURE__ */ (0, G.jsx)(g, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, G.jsx)("span", { children: ut })]
6755
6771
  }), /* @__PURE__ */ (0, G.jsx)("div", {
6756
- className: "flex-1 overflow-auto flex",
6757
- children: /* @__PURE__ */ (0, G.jsx)("div", {
6758
- className: ut ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
6759
- style: ze,
6760
- children: /* @__PURE__ */ (0, G.jsx)(sa, {
6761
- cell: z,
6762
- isNoOutputPreview: B,
6772
+ className: "reveal mo-slides-theme prose-slides absolute left-1/2 top-1/2",
6773
+ "data-testid": "slide-preview-canvas",
6774
+ style: {
6775
+ position: "absolute",
6776
+ width: Gi,
6777
+ height: Ki,
6778
+ transform: `translate(-50%, -50%) scale(${I})`
6779
+ },
6780
+ children: /* @__PURE__ */ (0, G.jsx)(tr, { children: /* @__PURE__ */ (0, G.jsx)("div", {
6781
+ className: ht ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
6782
+ style: U,
6783
+ children: /* @__PURE__ */ (0, G.jsx)(la, {
6784
+ cell: B,
6785
+ isNoOutputPreview: we,
6763
6786
  isEditable: j,
6764
- showCode: ct
6787
+ showCode: ft
6765
6788
  })
6766
- })
6789
+ }) })
6767
6790
  })]
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];
6769
- let gt;
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)",
6791
+ }, B.id), n[119] = j, n[120] = we, n[121] = B, n[122] = ut, n[123] = ft, n[124] = ht, n[125] = U, n[126] = I, n[127] = yt) : yt = n[127];
6792
+ let q;
6793
+ n[128] !== je || n[129] !== Ne || n[130] !== z || n[131] !== Ze ? (q = z && /* @__PURE__ */ (0, G.jsx)(l, {
6794
+ content: Ne ? "Code is always shown for this slide" : je ? "Hide code (C)" : "Show code (C)",
6772
6795
  children: /* @__PURE__ */ (0, G.jsx)(a, {
6773
6796
  "data-testid": "marimo-plugin-slides-toggle-code",
6774
6797
  variant: "ghost",
6775
6798
  size: "icon",
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,
6781
- children: /* @__PURE__ */ (0, G.jsx)(_, { className: "h-4 w-4" })
6799
+ className: r("text-muted-foreground h-7 w-7", je && "text-foreground bg-muted", Ne && "opacity-50 cursor-not-allowed"),
6800
+ "aria-pressed": je,
6801
+ "aria-disabled": Ne,
6802
+ "aria-label": Ne ? "Code always shown" : je ? "Hide code" : "Show code",
6803
+ onClick: Ze,
6804
+ children: /* @__PURE__ */ (0, G.jsx)(x, { className: "h-4 w-4" })
6782
6805
  })
6783
- }), n[124] = De, n[125] = ke, n[126] = R, n[127] = qe, n[128] = gt) : gt = n[128];
6784
- let _t;
6785
- n[129] === Symbol.for("react.memo_cache_sentinel") ? (_t = /* @__PURE__ */ (0, G.jsx)(l, {
6806
+ }), n[128] = je, n[129] = Ne, n[130] = z, n[131] = Ze, n[132] = q) : q = n[132];
6807
+ let bt;
6808
+ n[133] === Symbol.for("react.memo_cache_sentinel") ? (bt = /* @__PURE__ */ (0, G.jsx)(l, {
6786
6809
  content: "Fullscreen (F)",
6787
6810
  children: /* @__PURE__ */ (0, G.jsx)(a, {
6788
6811
  "data-testid": "marimo-plugin-slides-fullscreen",
@@ -6791,57 +6814,57 @@ var sa = (e) => {
6791
6814
  className: "text-muted-foreground h-7 w-7",
6792
6815
  "aria-label": "Enter fullscreen",
6793
6816
  onClick: () => {
6794
- P.current?.getViewportElement()?.requestFullscreen().catch(pa);
6817
+ P.current?.getViewportElement()?.requestFullscreen().catch(ha);
6795
6818
  },
6796
- children: /* @__PURE__ */ (0, G.jsx)(y, { className: "h-4 w-4" })
6819
+ children: /* @__PURE__ */ (0, G.jsx)(v, { className: "h-4 w-4" })
6797
6820
  })
6798
- }), n[129] = _t) : _t = n[129];
6799
- let K;
6800
- n[130] === gt ? K = n[131] : (K = /* @__PURE__ */ (0, G.jsxs)("div", {
6821
+ }), n[133] = bt) : bt = n[133];
6822
+ let xt;
6823
+ n[134] === q ? xt = n[135] : (xt = /* @__PURE__ */ (0, G.jsxs)("div", {
6801
6824
  className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",
6802
- children: [gt, _t]
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", {
6825
+ children: [q, bt]
6826
+ }), n[134] = q, n[135] = xt);
6827
+ let J;
6828
+ n[136] !== gt || n[137] !== K || n[138] !== yt || n[139] !== xt ? (J = /* @__PURE__ */ (0, G.jsx)("div", {
6806
6829
  ref: re,
6807
6830
  className: "h-full w-full min-w-0 flex items-center justify-center overflow-hidden",
6808
6831
  children: /* @__PURE__ */ (0, G.jsxs)("div", {
6809
6832
  className: "group relative",
6810
- style: dt,
6833
+ style: gt,
6811
6834
  children: [
6812
- pt,
6813
- ht,
6814
- K
6835
+ K,
6836
+ yt,
6837
+ xt
6815
6838
  ]
6816
6839
  })
6817
- }), n[132] = dt, n[133] = pt, n[134] = ht, n[135] = K, n[136] = yt) : yt = n[136];
6818
- let q = yt;
6819
- if (C === "read") {
6840
+ }), n[136] = gt, n[137] = K, n[138] = yt, n[139] = xt, n[140] = J) : J = n[140];
6841
+ let St = J;
6842
+ if (ee === "read") {
6820
6843
  let e;
6821
- return n[137] === q ? e = n[138] : (e = /* @__PURE__ */ (0, G.jsx)("div", {
6844
+ return n[141] === St ? e = n[142] : (e = /* @__PURE__ */ (0, G.jsx)("div", {
6822
6845
  className: "flex-1 min-w-0 flex flex-row gap-3",
6823
- children: q
6824
- }), n[137] = q, n[138] = e), e;
6846
+ children: St
6847
+ }), n[141] = St, n[142] = e), e;
6825
6848
  }
6826
- let bt;
6827
- n[139] === q ? bt = n[140] : (bt = /* @__PURE__ */ (0, G.jsx)(p, {
6849
+ let Y;
6850
+ n[143] === St ? Y = n[144] : (Y = /* @__PURE__ */ (0, G.jsx)(d, {
6828
6851
  defaultSize: 92,
6829
6852
  minSize: 60,
6830
- children: q
6831
- }), n[139] = q, n[140] = bt);
6832
- let xt;
6833
- n[141] === Symbol.for("react.memo_cache_sentinel") ? (xt = {
6853
+ children: St
6854
+ }), n[143] = St, n[144] = Y);
6855
+ let Ct;
6856
+ n[145] === Symbol.for("react.memo_cache_sentinel") ? (Ct = {
6834
6857
  coarse: 12,
6835
6858
  fine: 4
6836
- }, n[141] = xt) : xt = n[141];
6837
- let J;
6838
- n[142] === oe ? J = n[143] : (J = /* @__PURE__ */ (0, G.jsx)(d, {
6859
+ }, n[145] = Ct) : Ct = n[145];
6860
+ let wt;
6861
+ n[146] === F ? wt = n[147] : (wt = /* @__PURE__ */ (0, G.jsx)(f, {
6839
6862
  className: "mo-slides-notes-resize",
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, {
6863
+ hitAreaMargins: Ct,
6864
+ disabled: F
6865
+ }), n[146] = F, n[147] = wt);
6866
+ let Tt = xe?.id, Et;
6867
+ n[148] !== s || n[149] !== c || n[150] !== Tt ? (Et = /* @__PURE__ */ (0, G.jsx)(d, {
6845
6868
  defaultSize: 10,
6846
6869
  minSize: 4,
6847
6870
  collapsible: !0,
@@ -6849,47 +6872,47 @@ var sa = (e) => {
6849
6872
  children: /* @__PURE__ */ (0, G.jsx)(dr, {
6850
6873
  layout: s,
6851
6874
  setLayout: c,
6852
- cellId: St
6875
+ cellId: Tt
6853
6876
  })
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, {
6877
+ }), n[148] = s, n[149] = c, n[150] = Tt, n[151] = Et) : Et = n[151];
6878
+ let Dt;
6879
+ n[152] !== Y || n[153] !== wt || n[154] !== Et ? (Dt = /* @__PURE__ */ (0, G.jsxs)(u, {
6857
6880
  direction: "vertical",
6858
6881
  autoSaveId: "marimo:slides:notes-panel",
6859
6882
  className: "flex-1 min-w-0",
6860
6883
  children: [
6861
- bt,
6862
- J,
6863
- Y
6884
+ Y,
6885
+ wt,
6886
+ Et
6864
6887
  ]
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, {
6868
- configWidth: ee,
6888
+ }), n[152] = Y, n[153] = wt, n[154] = Et, n[155] = Dt) : Dt = n[155];
6889
+ let Ot;
6890
+ n[156] !== xe || n[157] !== C || n[158] !== s || n[159] !== c ? (Ot = /* @__PURE__ */ (0, G.jsx)(m, {
6891
+ configWidth: C,
6869
6892
  layout: s,
6870
6893
  setLayout: c,
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", {
6894
+ activeConfigCell: xe
6895
+ }), n[156] = xe, n[157] = C, n[158] = s, n[159] = c, n[160] = Ot) : Ot = n[160];
6896
+ let kt;
6897
+ return n[161] !== Dt || n[162] !== Ot ? (kt = /* @__PURE__ */ (0, G.jsxs)("div", {
6875
6898
  className: "flex-1 min-w-0 flex flex-row gap-3",
6876
- children: [Ct, wt]
6877
- }), n[157] = Ct, n[158] = wt, n[159] = Tt) : Tt = n[159], Tt;
6899
+ children: [Dt, Ot]
6900
+ }), n[161] = Dt, n[162] = Ot, n[163] = kt) : kt = n[163], kt;
6878
6901
  };
6879
- function la() {
6902
+ function da() {
6880
6903
  return /* @__PURE__ */ new Set();
6881
6904
  }
6882
- function ua(e) {
6905
+ function fa(e) {
6883
6906
  return e.id;
6884
6907
  }
6885
- function da(e) {
6908
+ function pa(e) {
6886
6909
  return !i.fromInput(e);
6887
6910
  }
6888
- function fa(e) {
6911
+ function ma(e) {
6889
6912
  return e.id;
6890
6913
  }
6891
- function pa(e) {
6914
+ function ha(e) {
6892
6915
  n.error("Failed to request fullscreen", e);
6893
6916
  }
6894
6917
  //#endregion
6895
- export { ia as CellOutputBlock, ea as deckSlideType, ca as default, oa as parkedRendersSource, $i as shouldShowCode, Ki as syncCodeToggleKeyBinding, ta as useParkedPreview };
6918
+ export { oa as CellOutputBlock, na as deckSlideType, ua as default, ca as parkedRendersSource, ta as shouldShowCode, Ji as syncCodeToggleKeyBinding, ra as useParkedPreview };