@marimo-team/frontend 0.20.3-dev76 → 0.20.3-dev78

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 (489) hide show
  1. package/dist/assets/{CellStatus-DWf8HNpq.js → CellStatus-BNSMzQ15.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-1-K4ayMi.js → ConnectedDataExplorerComponent-D2meVbtr.js} +1 -1
  3. package/dist/assets/{JsonOutput-BY6AF2rC.js → JsonOutput-DgTX3wDl.js} +3 -3
  4. package/dist/assets/LazyAnyLanguageCodeMirror-BuxbbXY6.js +2 -0
  5. package/dist/assets/{MarimoErrorOutput-Bc9QVsMT.js → MarimoErrorOutput-BZVbz6Ov.js} +1 -1
  6. package/dist/assets/{RenderHTML-pHm9Hij5.js → RenderHTML-CzOWRFSs.js} +1 -1
  7. package/dist/assets/{add-cell-with-ai-BEj4NWn-.js → add-cell-with-ai-YgztdOJ9.js} +1 -1
  8. package/dist/assets/{add-database-form-CmSfNkTd.js → add-database-form-VCKMmUc7.js} +1 -1
  9. package/dist/assets/{agent-panel-BOVMxx37.js → agent-panel-ei_1YHUt.js} +1 -1
  10. package/dist/assets/{ai-model-dropdown-C9Rf0otx.js → ai-model-dropdown-D0ZKojfQ.js} +1 -1
  11. package/dist/assets/{any-language-editor-DulvMw8Z.js → any-language-editor-Bxqn65d_.js} +1 -1
  12. package/dist/assets/apl-EAxnZS_5.js +1 -0
  13. package/dist/assets/app-config-button-DTWRRxl9.js +1 -0
  14. package/dist/assets/{arc-DUSwcTI9.js → arc-CWuN1tfc.js} +1 -1
  15. package/dist/assets/{architecture-7HQA4BMR-utm7V-06.js → architecture-7HQA4BMR-BNlsOVa3.js} +1 -1
  16. package/dist/assets/{architectureDiagram-VXUJARFQ-B6XSgwWv.js → architectureDiagram-VXUJARFQ-DF8pn-JR.js} +1 -1
  17. package/dist/assets/asciiarmor-zxnaShQE.js +1 -0
  18. package/dist/assets/asn1-7i28Os5R.js +1 -0
  19. package/dist/assets/{blockDiagram-VD42YOAC-Dw1VruWT.js → blockDiagram-VD42YOAC-CClp2tRD.js} +1 -1
  20. package/dist/assets/brainfuck-BZegPsXK.js +1 -0
  21. package/dist/assets/{c4Diagram-YG6GDRKO-BX4PpWTu.js → c4Diagram-YG6GDRKO-Bv7AMEs6.js} +1 -1
  22. package/dist/assets/cell-editor-B05zgqpc.js +23 -0
  23. package/dist/assets/{cell-link-CAT3x2v4.js → cell-link-zwx6SduJ.js} +1 -1
  24. package/dist/assets/{cells-FF1g1Mh-.js → cells-DVXjWBHI.js} +4 -4
  25. package/dist/assets/channel-DwMgVzqb.js +1 -0
  26. package/dist/assets/{chat-display-Cb1PiLxN.js → chat-display-C40mAvmZ.js} +1 -1
  27. package/dist/assets/{chat-panel-B4k2pTfq.js → chat-panel-DsbTOilq.js} +1 -1
  28. package/dist/assets/{chunk-4BX2VUAB-DhvNmHH5.js → chunk-4BX2VUAB-CtGV0AF0.js} +1 -1
  29. package/dist/assets/chunk-55IACEB6-Du0kncVN.js +1 -0
  30. package/dist/assets/{chunk-5FQGJX7Z-DuVTi23h.js → chunk-5FQGJX7Z-C3tg8qpb.js} +2 -2
  31. package/dist/assets/{chunk-ABZYJK2D-BoImiTgT.js → chunk-ABZYJK2D-rCmXyFGD.js} +1 -1
  32. package/dist/assets/{chunk-ATLVNIR6-DWN8nwDE.js → chunk-ATLVNIR6-B4WsP60S.js} +1 -1
  33. package/dist/assets/{chunk-B4BG7PRW-nWKViSIe.js → chunk-B4BG7PRW-YHIN6QRo.js} +1 -1
  34. package/dist/assets/{chunk-CVBHYZKI-BX0N_ipT.js → chunk-CVBHYZKI-DwNHftX6.js} +1 -1
  35. package/dist/assets/{chunk-DI55MBZ5-DsYl9sIZ.js → chunk-DI55MBZ5-CD5w52Et.js} +1 -1
  36. package/dist/assets/{chunk-EXTU4WIE-BbRAciH8.js → chunk-EXTU4WIE-o13o_Qxz.js} +1 -1
  37. package/dist/assets/{chunk-FMBD7UC4-BDlH9XLH.js → chunk-FMBD7UC4-Cw9qL2lL.js} +1 -1
  38. package/dist/assets/{chunk-HN2XXSSU-ujlBpRMF.js → chunk-HN2XXSSU-COpG_X4X.js} +1 -1
  39. package/dist/assets/{chunk-JA3XYJ7Z-BnMJV1nD.js → chunk-JA3XYJ7Z-CF2I5JvU.js} +1 -1
  40. package/dist/assets/{chunk-JZLCHNYA-D2MgKieY.js → chunk-JZLCHNYA-DlwDxl4P.js} +1 -1
  41. package/dist/assets/{chunk-MI3HLSF2-D9JXkg6-.js → chunk-MI3HLSF2-D_z13ybc.js} +1 -1
  42. package/dist/assets/{chunk-N4CR4FBY-pKNVmA0u.js → chunk-N4CR4FBY-CB2hMUio.js} +2 -2
  43. package/dist/assets/{chunk-QN33PNHL-C01Meqsa.js → chunk-QN33PNHL-yHnlnYz-.js} +1 -1
  44. package/dist/assets/{chunk-QXUST7PY-D5xq5giT.js → chunk-QXUST7PY-B9vaAb3w.js} +1 -1
  45. package/dist/assets/{chunk-QZHKN3VN-zZhG5AHT.js → chunk-QZHKN3VN-DDrZjmtm.js} +1 -1
  46. package/dist/assets/{chunk-S3R3BYOJ-BHcv1C2j.js → chunk-S3R3BYOJ-Be_w8zeK.js} +1 -1
  47. package/dist/assets/{chunk-TZMSLE5B-D_lhSMp7.js → chunk-TZMSLE5B-BC_ubkRF.js} +1 -1
  48. package/dist/assets/classDiagram-2ON5EDUG-BPrUysDt.js +1 -0
  49. package/dist/assets/classDiagram-v2-WZHVMYZB-CaQpjPAB.js +1 -0
  50. package/dist/assets/{clike-DPuzjNcL.js → clike-bdcjLdZ4.js} +1 -1
  51. package/dist/assets/clojure-VUVi7fTV.js +1 -0
  52. package/dist/assets/cmake-DZJIDbjY.js +1 -0
  53. package/dist/assets/cobol-klCRwlLm.js +1 -0
  54. package/dist/assets/{code-block-37QAKDTI-6EmvTShA.js → code-block-37QAKDTI-CmvUtTzv.js} +1 -1
  55. package/dist/assets/coffeescript-C9foD9ub.js +1 -0
  56. package/dist/assets/{column-preview-UqWtgk7m.js → column-preview-BVNt_bhU.js} +1 -1
  57. package/dist/assets/{command-W0aMBKpO.js → command-COYC8fga.js} +1 -1
  58. package/dist/assets/{command-palette-4GD_9thV.js → command-palette-Dy_ePPb-.js} +1 -1
  59. package/dist/assets/{common-DIShU5MS.js → common-D4iOX1kL.js} +1 -1
  60. package/dist/assets/commonlisp-tHxoA35J.js +1 -0
  61. package/dist/assets/{components-BLWMb_FO.js → components-W1WrEQth.js} +1 -1
  62. package/dist/assets/{components-DhxPTtfy.js → components-kyddrdJc.js} +1 -1
  63. package/dist/assets/{cose-bilkent-S5V4N54A-C4qI5Omf.js → cose-bilkent-S5V4N54A-VDjV6QSR.js} +1 -1
  64. package/dist/assets/crystal-CQ11GdrX.js +1 -0
  65. package/dist/assets/{css-COQFxLQn.js → css-ACAb8MRM.js} +1 -1
  66. package/dist/assets/cypher-CJ0Uzw29.js +1 -0
  67. package/dist/assets/d-DP0SUIt1.js +1 -0
  68. package/dist/assets/{dagre-6UL2VRFP-7OtmcV5Q.js → dagre-6UL2VRFP-x0HS4zyz.js} +1 -1
  69. package/dist/assets/{data-grid-overlay-editor-DcJUwxxA.js → data-grid-overlay-editor-BHriWEOZ.js} +1 -1
  70. package/dist/assets/{datasource-C5iY_kH6.js → datasource-BN9tktls.js} +1 -1
  71. package/dist/assets/{dependency-graph-panel-BWfB8adR.js → dependency-graph-panel-BJgpF5zA.js} +1 -1
  72. package/dist/assets/{diagram-PSM6KHXK-Bxvbx3PW.js → diagram-PSM6KHXK-kUTb8eO2.js} +1 -1
  73. package/dist/assets/{diagram-QEK2KX5R-ko939-gD.js → diagram-QEK2KX5R-DQByLP5l.js} +1 -1
  74. package/dist/assets/{diagram-S2PKOQOG-CXW2MByb.js → diagram-S2PKOQOG-DOblvEcu.js} +1 -1
  75. package/dist/assets/diff-CNs8MB38.js +1 -0
  76. package/dist/assets/dist-BThe47rt.js +1 -0
  77. package/dist/assets/{dist-xCxFRJqp.js → dist-BU9Y5zkF.js} +1 -1
  78. package/dist/assets/{dist-CHWMEIbT.js → dist-Bm9ccWW7.js} +1 -1
  79. package/dist/assets/{dist-CPvOfeA1.js → dist-C1LPvdNp.js} +1 -1
  80. package/dist/assets/dist-C6prIILx.js +1 -0
  81. package/dist/assets/{dist-BmupR6hJ.js → dist-CAqJ9n-7.js} +1 -1
  82. package/dist/assets/{dist-Y8kplKu9.js → dist-CP1qhGjg.js} +1 -1
  83. package/dist/assets/dist-CPi-6Hei.js +1 -0
  84. package/dist/assets/dist-ChxQzK4j.js +1 -0
  85. package/dist/assets/{dist-BkKLXyVM.js → dist-CjHEN42s.js} +1 -1
  86. package/dist/assets/{dist-C2n842c9.js → dist-Dc5VNM-O.js} +1 -1
  87. package/dist/assets/{dist-C0GaLmeM.js → dist-DcJyOwtT.js} +1 -1
  88. package/dist/assets/{dist-DUYSgv8L.js → dist-DjwvucXe.js} +1 -1
  89. package/dist/assets/{dist-DaUUgnNZ.js → dist-r1Wa9wj4.js} +1 -1
  90. package/dist/assets/{dockerfile-DsQk2-Mx.js → dockerfile-BaMK2CWc.js} +1 -1
  91. package/dist/assets/{documentation-panel-7qSLXVrB.js → documentation-panel-HdWijFZG.js} +1 -1
  92. package/dist/assets/download-CNypwy8-.js +9 -0
  93. package/dist/assets/dtd-BsD0uJw0.js +1 -0
  94. package/dist/assets/dylan-DbrGP1IP.js +1 -0
  95. package/dist/assets/ecl-C0rZlhHw.js +1 -0
  96. package/dist/assets/{edit-page-EW0RO0sT.js → edit-page-B5tcF5ce.js} +7 -7
  97. package/dist/assets/eiffel-2ZX-OpSJ.js +1 -0
  98. package/dist/assets/elm-CbOSKldD.js +1 -0
  99. package/dist/assets/{erDiagram-Q2GNP2WA-F2DG5vaX.js → erDiagram-Q2GNP2WA-Ct2OupEK.js} +1 -1
  100. package/dist/assets/erlang-BWiOgHIX.js +1 -0
  101. package/dist/assets/{error-panel-DEPfBXJ0.js → error-panel-C2tydEs_.js} +1 -1
  102. package/dist/assets/{esm-YYGhitWU.js → esm-B2VsGmJs.js} +1 -1
  103. package/dist/assets/{factor-CkLnJXKV.js → factor-C-_cRSDM.js} +1 -1
  104. package/dist/assets/factor-CUwFIMOP.js +1 -0
  105. package/dist/assets/{file-explorer-panel-C5zIHrKp.js → file-explorer-panel-CAyeZqZs.js} +1 -1
  106. package/dist/assets/{floating-outline-R_VWqURd.js → floating-outline-CuK2jvVB.js} +1 -1
  107. package/dist/assets/{flowDiagram-NV44I4VS-Cy5R0SXS.js → flowDiagram-NV44I4VS-wpL7K6DH.js} +1 -1
  108. package/dist/assets/{focus-E9cdlDyd.js → focus-C2gi0jxY.js} +1 -1
  109. package/dist/assets/{form-DbXf0B9X.js → form-Il1IxPi6.js} +1 -1
  110. package/dist/assets/forth-BEQA4QQL.js +1 -0
  111. package/dist/assets/fortran-DoPpOZgG.js +1 -0
  112. package/dist/assets/{ganttDiagram-JELNMOA3-er2McpRV.js → ganttDiagram-JELNMOA3-D5Mlr72F.js} +1 -1
  113. package/dist/assets/gas-BYovsvOE.js +1 -0
  114. package/dist/assets/gherkin-CFiRc1Pf.js +1 -0
  115. package/dist/assets/{gitGraph-G5XIXVHT-BJUqJxuW.js → gitGraph-G5XIXVHT-BrAfNBOg.js} +1 -1
  116. package/dist/assets/{gitGraphDiagram-V2S2FVAM-BXz54piQ.js → gitGraphDiagram-V2S2FVAM-Bs5934ce.js} +1 -1
  117. package/dist/assets/{glide-data-editor-ZP6OT6Ns.js → glide-data-editor-DXQ1mmh4.js} +4 -4
  118. package/dist/assets/{globals-Ce6X5cHF.js → globals-BAAGjaoU.js} +1 -1
  119. package/dist/assets/groovy-DJNH7evt.js +1 -0
  120. package/dist/assets/haskell-duZvcePm.js +1 -0
  121. package/dist/assets/haxe-B2l95qvB.js +1 -0
  122. package/dist/assets/home-page-DgFgEaa-.js +4 -0
  123. package/dist/assets/{html-to-image-CrvxeCGx.js → html-to-image-Din4blht.js} +1 -1
  124. package/dist/assets/idl-CZ_xwU8I.js +1 -0
  125. package/dist/assets/{index-BoyzQq0I.js → index-DjgAZHA2.js} +6 -6
  126. package/dist/assets/index-jvqQ7cxf.css +2 -0
  127. package/dist/assets/{info-VBDWY6EO-CTfN_yCw.js → info-VBDWY6EO-DaCrhooA.js} +1 -1
  128. package/dist/assets/{infoDiagram-HS3SLOUP-D9ookr-q.js → infoDiagram-HS3SLOUP-YPnproxq.js} +1 -1
  129. package/dist/assets/javascript-CF5KGSAj.js +1 -0
  130. package/dist/assets/{journeyDiagram-XKPGCS4Q-xJXwsVPO.js → journeyDiagram-XKPGCS4Q-BJEmkxNL.js} +1 -1
  131. package/dist/assets/julia-BQlq5iZn.js +1 -0
  132. package/dist/assets/{kanban-definition-3W4ZIXB7-CCBTnZpc.js → kanban-definition-3W4ZIXB7-IttQGWmT.js} +1 -1
  133. package/dist/assets/{kiosk-mode-xFsMpb4u.js → kiosk-mode-DfDMBGIM.js} +1 -1
  134. package/dist/assets/{layout-S2qz-Sk_.js → layout-DKgHttkT.js} +3 -3
  135. package/dist/assets/{line-BKm-YkCh.js → line-x4bpd_8D.js} +1 -1
  136. package/dist/assets/{linear-DG7yljSg.js → linear-14muAAYR.js} +1 -1
  137. package/dist/assets/livescript-sRMenfqS.js +1 -0
  138. package/dist/assets/{logs-panel-v1CSRp0G.js → logs-panel-BsriCGgO.js} +1 -1
  139. package/dist/assets/lua-a56ITumN.js +1 -0
  140. package/dist/assets/{markdown-renderer-CiOnsDJo.js → markdown-renderer-BF7gphWI.js} +1 -1
  141. package/dist/assets/mathematica-B3m4jXeH.js +1 -0
  142. package/dist/assets/mbox-BtL7aO2I.js +1 -0
  143. package/dist/assets/mermaid-4DMBBIKO-BVr3iHS_.js +1 -0
  144. package/dist/assets/{mermaid-B3IDWWhK.js → mermaid-BCpH5igF.js} +3 -3
  145. package/dist/assets/{mermaid-parser.core-f-6U1AUp.js → mermaid-parser.core-De30od-H.js} +2 -2
  146. package/dist/assets/{mindmap-definition-VGOIOE7T-hpDaXNav.js → mindmap-definition-VGOIOE7T-BK4Sa2zS.js} +1 -1
  147. package/dist/assets/mirc-S27kuZ31.js +1 -0
  148. package/dist/assets/mllike-B3kx3KeF.js +1 -0
  149. package/dist/assets/modelica-DgbW4dSi.js +1 -0
  150. package/dist/assets/mscgen-BIa_4d-0.js +1 -0
  151. package/dist/assets/mumps-4fnELyHs.js +1 -0
  152. package/dist/assets/{name-cell-input-DSy4I8wZ.js → name-cell-input-EJb1YnST.js} +1 -1
  153. package/dist/assets/{nsis-DLIsIma3.js → nsis-BGZ5EB-j.js} +1 -1
  154. package/dist/assets/nsis-BfGyMssE.js +1 -0
  155. package/dist/assets/ntriples-DeY1n_tC.js +1 -0
  156. package/dist/assets/{number-overlay-editor-BNjcKmLy.js → number-overlay-editor-jNUhpxB8.js} +1 -1
  157. package/dist/assets/octave-7Qn21jzx.js +1 -0
  158. package/dist/assets/{ordinal-CIVqSC4M.js → ordinal-bISkqI45.js} +1 -1
  159. package/dist/assets/{outline-panel-DUHUBCxJ.js → outline-panel-BpMAMa-v.js} +1 -1
  160. package/dist/assets/oz-CiPFl3Ni.js +1 -0
  161. package/dist/assets/{packages-panel-CD4rRpCH.js → packages-panel-NCtRLdYv.js} +1 -1
  162. package/dist/assets/{packet-DYOGHKS2-DfKNdoQU.js → packet-DYOGHKS2-02VJc_9m.js} +1 -1
  163. package/dist/assets/{panels-_992W_EU.js → panels-LoYwaSDr.js} +1 -1
  164. package/dist/assets/pascal-BH9yQLzw.js +1 -0
  165. package/dist/assets/perl-DfMCx2i2.js +1 -0
  166. package/dist/assets/{pie-VRWISCQL-CfPb9Iyo.js → pie-VRWISCQL-C1VBM85x.js} +1 -1
  167. package/dist/assets/{pieDiagram-ADFJNKIX-DYPzbM_t.js → pieDiagram-ADFJNKIX-C4ilS5I6.js} +1 -1
  168. package/dist/assets/pig-D9CNebQN.js +1 -0
  169. package/dist/assets/powershell-Dss0bU9F.js +1 -0
  170. package/dist/assets/{process-output-CG4dqRHK.js → process-output-DIDEm33D.js} +1 -1
  171. package/dist/assets/properties-CHADYQUL.js +1 -0
  172. package/dist/assets/protobuf-DFN-V4SD.js +1 -0
  173. package/dist/assets/{pug-qZYhFFj7.js → pug-CYW0agOo.js} +1 -1
  174. package/dist/assets/pug-DOI9FnEk.js +1 -0
  175. package/dist/assets/puppet-BV0HAkDS.js +1 -0
  176. package/dist/assets/python-C83Db0-4.js +1 -0
  177. package/dist/assets/q-D84S4YaJ.js +1 -0
  178. package/dist/assets/{quadrantDiagram-AYHSOK5B-DaOAbQTd.js → quadrantDiagram-AYHSOK5B-Dxq_lxEA.js} +1 -1
  179. package/dist/assets/r-jmqrRzXv.js +1 -0
  180. package/dist/assets/{radar-ZZBFDIW7-9GhwFnEA.js → radar-ZZBFDIW7-DQAPqpTQ.js} +1 -1
  181. package/dist/assets/{react-vega-DDgw1_ws.js → react-vega-C8AEAezO.js} +1 -1
  182. package/dist/assets/{react-vega-CYEp7Hhy.js → react-vega-CQCeziU3.js} +1 -1
  183. package/dist/assets/{readonly-python-code-B5GInwZp.js → readonly-python-code-BNPO_MG8.js} +1 -1
  184. package/dist/assets/{requirementDiagram-UZGBJVZJ-Cy9_RLyk.js → requirementDiagram-UZGBJVZJ-Cq2R_lhf.js} +1 -1
  185. package/dist/assets/rpm-DUjG0xRk.js +1 -0
  186. package/dist/assets/ruby-SP4FIzir.js +1 -0
  187. package/dist/assets/{run-page-DzZn5REc.js → run-page-Z5o09laM.js} +1 -1
  188. package/dist/assets/{sankeyDiagram-TZEHDZUN-VPOD73xc.js → sankeyDiagram-TZEHDZUN-CFLE5Kkb.js} +1 -1
  189. package/dist/assets/sas-BxaPz2EX.js +1 -0
  190. package/dist/assets/scheme-HBseLApj.js +1 -0
  191. package/dist/assets/scratchpad-panel-BmBKvZA7.js +1 -0
  192. package/dist/assets/{secrets-panel-CAz6p-JQ.js → secrets-panel-DLwuup0m.js} +1 -1
  193. package/dist/assets/{sequenceDiagram-WL72ISMW-BnMeGyEq.js → sequenceDiagram-WL72ISMW-Cc0IJa3J.js} +1 -1
  194. package/dist/assets/{session-panel-D7so3k0L.js → session-panel-CePZ-Agg.js} +1 -1
  195. package/dist/assets/shell-w8ATY_lQ.js +1 -0
  196. package/dist/assets/sieve-Dyq0LGDO.js +1 -0
  197. package/dist/assets/smalltalk-D7mAtumc.js +1 -0
  198. package/dist/assets/{snippets-panel-CFa_X6Lb.js → snippets-panel-DVrjTzrK.js} +1 -1
  199. package/dist/assets/sparql-DAeEYE_u.js +1 -0
  200. package/dist/assets/{state-C1dI2xM8.js → state-ejdaxMKR.js} +1 -1
  201. package/dist/assets/{stateDiagram-FKZM4ZOC-KIAr66GY.js → stateDiagram-FKZM4ZOC-CRCzEpDR.js} +1 -1
  202. package/dist/assets/stateDiagram-v2-4FDKWEC3-BOOdECJI.js +1 -0
  203. package/dist/assets/{step-B5y1YzZ4.js → step-D7xg1Moj.js} +1 -1
  204. package/dist/assets/stylus-Cw3Ugan7.js +1 -0
  205. package/dist/assets/swift-CPsNOBsX.js +1 -0
  206. package/dist/assets/{switch-CvXNrFdd.js → switch-BQaT8a2B.js} +1 -1
  207. package/dist/assets/tcl-BfWyQdZa.js +1 -0
  208. package/dist/assets/{textarea-Bh-JbFt9.js → textarea-BUCOcONS.js} +1 -1
  209. package/dist/assets/textile-BKgaSzSN.js +1 -0
  210. package/dist/assets/{time-D8_flTb-.js → time-B0ljjE2H.js} +1 -1
  211. package/dist/assets/{timeline-definition-IT6M3QCI-CsLwsqls.js → timeline-definition-IT6M3QCI-D6rghgm9.js} +1 -1
  212. package/dist/assets/toml-BSOdv04W.js +1 -0
  213. package/dist/assets/{tracing-CtIjhfga.js → tracing-CgvMG0Rx.js} +1 -1
  214. package/dist/assets/{tracing-panel-BQQQ7QWv.js → tracing-panel-DsjOn32J.js} +2 -2
  215. package/dist/assets/{treemap-GDKQZRPO-BGBWZqyV.js → treemap-GDKQZRPO-BYezPI1Y.js} +1 -1
  216. package/dist/assets/troff-C0hD9kig.js +1 -0
  217. package/dist/assets/ttcn-DEqPxhoh.js +1 -0
  218. package/dist/assets/ttcn-cfg-B-7jSlUe.js +1 -0
  219. package/dist/assets/turtle-BTtgFsu8.js +1 -0
  220. package/dist/assets/{types-BSdeUIYH.js → types-DmqhedDv.js} +1 -1
  221. package/dist/assets/{useAddCell-CxVx0Nv2.js → useAddCell-fRfulMRu.js} +1 -1
  222. package/dist/assets/{useCellActionButton-QibVT_Q5.js → useCellActionButton-DLoBXBqS.js} +1 -1
  223. package/dist/assets/{useDeleteCell-8V08AJDo.js → useDeleteCell-fYxNdCgY.js} +1 -1
  224. package/dist/assets/{useDependencyPanelTab-0VcOLAUG.js → useDependencyPanelTab-D_riCjQR.js} +1 -1
  225. package/dist/assets/useInterval-C2RcswPt.js +1 -0
  226. package/dist/assets/useNotebookActions-P1v5BUET.js +1 -0
  227. package/dist/assets/{useSplitCell-Dcg7WwVF.js → useSplitCell-CNL377K-.js} +1 -1
  228. package/dist/assets/{utilities.esm-BqS8da1L.js → utilities.esm-BJLfUidT.js} +1 -1
  229. package/dist/assets/vb-DfRPk_ji.js +1 -0
  230. package/dist/assets/vbscript-C8D4uv5N.js +1 -0
  231. package/dist/assets/{vega-component-BZeFK2Gj.js → vega-component-CTzeKqN8.js} +1 -1
  232. package/dist/assets/velocity-DxKr2FFC.js +1 -0
  233. package/dist/assets/verilog-CxVhamiH.js +1 -0
  234. package/dist/assets/vhdl-B-IpBNOA.js +1 -0
  235. package/dist/assets/webidl-CBjKmBwO.js +1 -0
  236. package/dist/assets/xquery-ABGCbLv0.js +1 -0
  237. package/dist/assets/{xychartDiagram-PRI3JC2R-CvSP67JF.js → xychartDiagram-PRI3JC2R-BDYPhsMz.js} +1 -1
  238. package/dist/assets/yacas-Ckyxh7oh.js +1 -0
  239. package/dist/assets/z80-Dr5sQweg.js +1 -0
  240. package/dist/index.html +32 -32
  241. package/package.json +1 -1
  242. package/src/components/editor/actions/__tests__/pdf-export.test.ts +42 -0
  243. package/src/components/editor/actions/pdf-export.ts +26 -0
  244. package/src/components/editor/actions/useNotebookActions.tsx +86 -44
  245. package/src/components/editor/controls/notebook-menu-dropdown.tsx +32 -29
  246. package/src/core/network/__tests__/requests-network.test.ts +21 -0
  247. package/src/utils/__tests__/download.test.tsx +39 -0
  248. package/src/utils/download.ts +21 -1
  249. package/dist/assets/Inputs-gtU1AJKM.js +0 -1
  250. package/dist/assets/LazyAnyLanguageCodeMirror-BJLRV5Wa.js +0 -2
  251. package/dist/assets/apl-3xKEEmjQ.js +0 -1
  252. package/dist/assets/app-config-button-CCvZplfS.js +0 -1
  253. package/dist/assets/asciiarmor-BCugLX69.js +0 -1
  254. package/dist/assets/asn1-B8ndG_Ze.js +0 -1
  255. package/dist/assets/brainfuck-h1OIoSEo.js +0 -1
  256. package/dist/assets/cell-editor-DiiGbTNs.js +0 -23
  257. package/dist/assets/channel-BdIOfM17.js +0 -1
  258. package/dist/assets/chunk-55IACEB6-DPm6ES7n.js +0 -1
  259. package/dist/assets/classDiagram-2ON5EDUG-C8lxPHjc.js +0 -1
  260. package/dist/assets/classDiagram-v2-WZHVMYZB-C5kOgcAE.js +0 -1
  261. package/dist/assets/clojure-yGQavt_D.js +0 -1
  262. package/dist/assets/cmake-yLKyOybp.js +0 -1
  263. package/dist/assets/cobol-C5qkyUSJ.js +0 -1
  264. package/dist/assets/coffeescript-CtR3eWCa.js +0 -1
  265. package/dist/assets/commonlisp-D-heOGa1.js +0 -1
  266. package/dist/assets/crystal-PRx3aORZ.js +0 -1
  267. package/dist/assets/cypher-whf3KLcn.js +0 -1
  268. package/dist/assets/d-Rxavm_nZ.js +0 -1
  269. package/dist/assets/diff-BuBMfzxS.js +0 -1
  270. package/dist/assets/dist-BRjtiDLy.js +0 -1
  271. package/dist/assets/dist-DZhm7iRc.js +0 -1
  272. package/dist/assets/dist-OAWl1fS6.js +0 -1
  273. package/dist/assets/dist-x2aGlNO5.js +0 -1
  274. package/dist/assets/download-BdFtkLcU.js +0 -9
  275. package/dist/assets/dtd-Byyl3ADK.js +0 -1
  276. package/dist/assets/dylan-zE-fWZ95.js +0 -1
  277. package/dist/assets/ecl-oGqPqdsN.js +0 -1
  278. package/dist/assets/eiffel-C_tzASKk.js +0 -1
  279. package/dist/assets/elm-DowGsQrq.js +0 -1
  280. package/dist/assets/erlang-DXj5Mety.js +0 -1
  281. package/dist/assets/factor-BBRGvEpt.js +0 -1
  282. package/dist/assets/forth-ir5Q2myN.js +0 -1
  283. package/dist/assets/fortran-Ckvuc18T.js +0 -1
  284. package/dist/assets/gas-IcbZgopn.js +0 -1
  285. package/dist/assets/gherkin-BUQFbyhq.js +0 -1
  286. package/dist/assets/groovy-CPRpPrR6.js +0 -1
  287. package/dist/assets/haskell-BZ64_L1W.js +0 -1
  288. package/dist/assets/haxe-u0gVVSGf.js +0 -1
  289. package/dist/assets/home-page-CIBZds6Y.js +0 -4
  290. package/dist/assets/hooks-CL179DVG.js +0 -1
  291. package/dist/assets/idl-D6vrTcdT.js +0 -1
  292. package/dist/assets/index-CvffbdXo.css +0 -2
  293. package/dist/assets/javascript-DtGa6W6u.js +0 -1
  294. package/dist/assets/julia-ChDcWdzF.js +0 -1
  295. package/dist/assets/livescript-D3x57DP6.js +0 -1
  296. package/dist/assets/lua-CfeyF-5c.js +0 -1
  297. package/dist/assets/mathematica-CAUFFTVp.js +0 -1
  298. package/dist/assets/mbox-Duq1SQ_k.js +0 -1
  299. package/dist/assets/mermaid-4DMBBIKO-BRWsSysM.js +0 -1
  300. package/dist/assets/mirc-B8ay9N_G.js +0 -1
  301. package/dist/assets/mllike-Cdk-SxrR.js +0 -1
  302. package/dist/assets/modelica-cErGJ40J.js +0 -1
  303. package/dist/assets/mscgen-jRCec7TG.js +0 -1
  304. package/dist/assets/mumps-CPuZtknR.js +0 -1
  305. package/dist/assets/nsis-ggFWkoqT.js +0 -1
  306. package/dist/assets/ntriples-eQBrW6tI.js +0 -1
  307. package/dist/assets/octave-CcpumlkH.js +0 -1
  308. package/dist/assets/oz-D3u6XBI4.js +0 -1
  309. package/dist/assets/pascal-COvFIqNx.js +0 -1
  310. package/dist/assets/perl-BSxTN_bc.js +0 -1
  311. package/dist/assets/pig-B5SEJPfW.js +0 -1
  312. package/dist/assets/powershell-T0AiDBtK.js +0 -1
  313. package/dist/assets/properties-CEyxcWzr.js +0 -1
  314. package/dist/assets/protobuf-BgP8VdyX.js +0 -1
  315. package/dist/assets/pug-D1MIs29p.js +0 -1
  316. package/dist/assets/puppet-DQ0s94I4.js +0 -1
  317. package/dist/assets/python-jVWqyNLt.js +0 -1
  318. package/dist/assets/q-Ddp_9iFq.js +0 -1
  319. package/dist/assets/r-WnM9HAaQ.js +0 -1
  320. package/dist/assets/rpm-Cpb0cYbF.js +0 -1
  321. package/dist/assets/ruby-npoQJqOj.js +0 -1
  322. package/dist/assets/sas-D5R_hCoQ.js +0 -1
  323. package/dist/assets/scheme-oK64G5wG.js +0 -1
  324. package/dist/assets/scratchpad-panel-DWu26mkk.js +0 -1
  325. package/dist/assets/shell-D-C8eGy_.js +0 -1
  326. package/dist/assets/sieve-DPRpRdV2.js +0 -1
  327. package/dist/assets/smalltalk-bsl5ZJOd.js +0 -1
  328. package/dist/assets/sparql-CJUH6gR2.js +0 -1
  329. package/dist/assets/stateDiagram-v2-4FDKWEC3-CZBJocb3.js +0 -1
  330. package/dist/assets/stylus-Dz-M3k6z.js +0 -1
  331. package/dist/assets/swift-BZHzeogd.js +0 -1
  332. package/dist/assets/tcl-CjjnKQKi.js +0 -1
  333. package/dist/assets/textile-C6DxVHfN.js +0 -1
  334. package/dist/assets/toml-DTuUvOIE.js +0 -1
  335. package/dist/assets/troff-yA83BgDZ.js +0 -1
  336. package/dist/assets/ttcn-F0FnYTMB.js +0 -1
  337. package/dist/assets/ttcn-cfg-CSr0YVH7.js +0 -1
  338. package/dist/assets/turtle-DaAbI02L.js +0 -1
  339. package/dist/assets/useInterval-nTH-RAU5.js +0 -1
  340. package/dist/assets/useNotebookActions-CedCjOAV.js +0 -1
  341. package/dist/assets/vb-BYziWQVS.js +0 -1
  342. package/dist/assets/vbscript-CP_qFLQN.js +0 -1
  343. package/dist/assets/velocity-etCBW8YB.js +0 -1
  344. package/dist/assets/verilog-DO_FdUQ9.js +0 -1
  345. package/dist/assets/vhdl-CtT4O7WT.js +0 -1
  346. package/dist/assets/webidl-DUTo0zWa.js +0 -1
  347. package/dist/assets/xquery-B0wH9AmB.js +0 -1
  348. package/dist/assets/yacas-UtDKR_RQ.js +0 -1
  349. package/dist/assets/z80-gTLyuPxz.js +0 -1
  350. /package/dist/assets/{ImageComparisonComponent-Cclg_ESp.js → ImageComparisonComponent-LONRB2tR.js} +0 -0
  351. /package/dist/assets/{Plot-Br2dF8op.js → Plot-QylwdLbt.js} +0 -0
  352. /package/dist/assets/{apl-_OaVDIdj.js → apl-Byte72fT.js} +0 -0
  353. /package/dist/assets/{array-CEZNxKGf.js → array-CC7vZNGO.js} +0 -0
  354. /package/dist/assets/{asciiarmor-C9F03XGV.js → asciiarmor-BU-VnG1Y.js} +0 -0
  355. /package/dist/assets/{asn1-BnyFT2xh.js → asn1-hTvH3S4T.js} +0 -0
  356. /package/dist/assets/{asterisk-Dykb_Qas.js → asterisk-DmqsRS7E.js} +0 -0
  357. /package/dist/assets/{brainfuck-BDCj_8tQ.js → brainfuck-C-q1Rv8J.js} +0 -0
  358. /package/dist/assets/{chunk-4F5CHEZ2-svLgn8gR.js → chunk-4F5CHEZ2-q0s3KtY0.js} +0 -0
  359. /package/dist/assets/{chunk-B2363JML-BJ47tdQW.js → chunk-B2363JML-DNq9d-Rw.js} +0 -0
  360. /package/dist/assets/{chunk-DR5Q36YT-DOSR70sR.js → chunk-DR5Q36YT-DKTVLAfY.js} +0 -0
  361. /package/dist/assets/{chunk-FRFDVMJY-So4RW9Kg.js → chunk-FRFDVMJY-E_Y3X-kk.js} +0 -0
  362. /package/dist/assets/{chunk-PL6DKKU2-b96i0Xhv.js → chunk-PL6DKKU2-CqED6GUD.js} +0 -0
  363. /package/dist/assets/{chunk-SJTYNZTY-CYg6SbV7.js → chunk-SJTYNZTY-BxB-ve5T.js} +0 -0
  364. /package/dist/assets/{chunk-TQ3KTPDO-CAAKzMy7.js → chunk-TQ3KTPDO-ByS6n6tc.js} +0 -0
  365. /package/dist/assets/{chunk-UMXZTB3W-w6XObCtJ.js → chunk-UMXZTB3W-CADBdAHt.js} +0 -0
  366. /package/dist/assets/{click-outside-container-gHk0jCel.js → click-outside-container-C9uindjY.js} +0 -0
  367. /package/dist/assets/{clike-CoedqJfF.js → clike-BE-9Ct_H.js} +0 -0
  368. /package/dist/assets/{clojure-BEClvbJJ.js → clojure-Co-TLeNo.js} +0 -0
  369. /package/dist/assets/{cmake-CCoJFsI7.js → cmake-B-Nm_Opd.js} +0 -0
  370. /package/dist/assets/{cobol-CrncQb9J.js → cobol-BGdihAZT.js} +0 -0
  371. /package/dist/assets/{coffeescript-DwVkfncu.js → coffeescript-BUZXkMUO.js} +0 -0
  372. /package/dist/assets/{colors-Dm6L93c7.js → colors-BG8Z91CW.js} +0 -0
  373. /package/dist/assets/{common-keywords-sop6vXJR.js → common-keywords-Bf68gXm2.js} +0 -0
  374. /package/dist/assets/{commonlisp-CJ40YQuw.js → commonlisp-CFkPbxvX.js} +0 -0
  375. /package/dist/assets/{crystal-YUhScjFU.js → crystal-CqfqDl34.js} +0 -0
  376. /package/dist/assets/{css-BpYxrU6m.js → css-DPEtZWJi.js} +0 -0
  377. /package/dist/assets/{cypher-DtBx1FxP.js → cypher-B0t8FJvU.js} +0 -0
  378. /package/dist/assets/{cytoscape.esm-CuwfIk-V.js → cytoscape.esm-B7Zr-PlQ.js} +0 -0
  379. /package/dist/assets/{d-Dah-rTjO.js → d-DRa_XRSB.js} +0 -0
  380. /package/dist/assets/{diff-CbRoYxJw.js → diff-GLneonpD.js} +0 -0
  381. /package/dist/assets/{dist-CrRgfU8C.js → dist-B41xAwSI.js} +0 -0
  382. /package/dist/assets/{dist-DqGTdKtw.js → dist-B4cgseU2.js} +0 -0
  383. /package/dist/assets/{dist-B3emHSjb.js → dist-BML9Do7x.js} +0 -0
  384. /package/dist/assets/{dist-DDs9pMUo.js → dist-CW4ZrmuX.js} +0 -0
  385. /package/dist/assets/{dist-BYbeMVLN.js → dist-CX4tr6LY.js} +0 -0
  386. /package/dist/assets/{dist-BMae4pFN.js → dist-C_2WWLSA.js} +0 -0
  387. /package/dist/assets/{dist-0qXxt1VF.js → dist-Cr2srKZ5.js} +0 -0
  388. /package/dist/assets/{dist-BDJDjQTP.js → dist-DBYXupB9.js} +0 -0
  389. /package/dist/assets/{dist-BjCIGEdQ.js → dist-DQ3_8QJg.js} +0 -0
  390. /package/dist/assets/{dist-DpVoU5lF.js → dist-DWi0RsIc.js} +0 -0
  391. /package/dist/assets/{dist-C2QWw4Xo.js → dist-DesNQGlP.js} +0 -0
  392. /package/dist/assets/{dist-DnkvqAMq.js → dist-DkUBUEhC.js} +0 -0
  393. /package/dist/assets/{dist-C9Tymsam.js → dist-DrewQ3CS.js} +0 -0
  394. /package/dist/assets/{dist-CPbQEKNx.js → dist-DvNh3ph0.js} +0 -0
  395. /package/dist/assets/{dist-BUISUvVa.js → dist-K049ewAC.js} +0 -0
  396. /package/dist/assets/{dist-D4Jt2p6U.js → dist-pzEKEf2L.js} +0 -0
  397. /package/dist/assets/{dist-CncFhr17.js → dist-xJdARuDE.js} +0 -0
  398. /package/dist/assets/{dtd-DnxzgohM.js → dtd-uVrZNVF0.js} +0 -0
  399. /package/dist/assets/{duckdb-keywords-CEWQs1NJ.js → duckdb-keywords-BWKLsQSd.js} +0 -0
  400. /package/dist/assets/{dylan-DV-GV0Um.js → dylan-DkNeA4FZ.js} +0 -0
  401. /package/dist/assets/{ebnf-BoS8ZFT2.js → ebnf-dezZofVm.js} +0 -0
  402. /package/dist/assets/{ecl-D5jDMU68.js → ecl-CldUgvc9.js} +0 -0
  403. /package/dist/assets/{eiffel-DKJu2v1N.js → eiffel-CoMDRbRL.js} +0 -0
  404. /package/dist/assets/{elm-jc1dahX5.js → elm-Cb5XC6ev.js} +0 -0
  405. /package/dist/assets/{erlang-xV-AfkqS.js → erlang-8H3fTZ3L.js} +0 -0
  406. /package/dist/assets/{esm-DM72gy9Q.js → esm-C9WujutX.js} +0 -0
  407. /package/dist/assets/{fcl-JwfU5Rr4.js → fcl-D566gDVV.js} +0 -0
  408. /package/dist/assets/{forth-C9zvylLL.js → forth-B8kC4npz.js} +0 -0
  409. /package/dist/assets/{fortran-CyOyVtLP.js → fortran-CNWGEL3c.js} +0 -0
  410. /package/dist/assets/{gallery-page-JQHurhaG.js → gallery-page-C-yj0Eu7.js} +0 -0
  411. /package/dist/assets/{gas-B3PseLpk.js → gas-DnZQNTHK.js} +0 -0
  412. /package/dist/assets/{gherkin-BJegP8jG.js → gherkin-JfGcGvci.js} +0 -0
  413. /package/dist/assets/{groovy-B7OnG3ZU.js → groovy-D0FWiAVm.js} +0 -0
  414. /package/dist/assets/{haskell-BtINGz8b.js → haskell-wUB3uX-G.js} +0 -0
  415. /package/dist/assets/{haxe-DG3vLZ0S.js → haxe-g0JY6eL-.js} +0 -0
  416. /package/dist/assets/{http-BSf7msSy.js → http-Ms617AZI.js} +0 -0
  417. /package/dist/assets/{idl-ARaXQ5Lo.js → idl-CV2cLkPc.js} +0 -0
  418. /package/dist/assets/{init-BpLL1fe9.js → init-DsZRk2YA.js} +0 -0
  419. /package/dist/assets/{javascript-DbuC-gIm.js → javascript-CT6okXEZ.js} +0 -0
  420. /package/dist/assets/{julia-C2ly3uah.js → julia-CKC48ufo.js} +0 -0
  421. /package/dist/assets/{livescript-BHGtnzZk.js → livescript-C43pZ6Ue.js} +0 -0
  422. /package/dist/assets/{lua-0hHWC4O5.js → lua-Cs2mb10K.js} +0 -0
  423. /package/dist/assets/{math-CpvW-dlE.js → math-B-ZqhQTL.js} +0 -0
  424. /package/dist/assets/{mathematica-BeUaygJp.js → mathematica-B5FMK3ma.js} +0 -0
  425. /package/dist/assets/{mbox-CR4_Euk_.js → mbox-36Zrn5Bd.js} +0 -0
  426. /package/dist/assets/{mhchem-D0np7Nq0.js → mhchem-CZMI7ljY.js} +0 -0
  427. /package/dist/assets/{mirc-Cc0cHJWO.js → mirc-BKTAABSX.js} +0 -0
  428. /package/dist/assets/{mllike-D58Jm9uo.js → mllike-DbuClUqc.js} +0 -0
  429. /package/dist/assets/{modelica-CVUPArJj.js → modelica-CKRvBm7N.js} +0 -0
  430. /package/dist/assets/{mscgen-B_Av7U7x.js → mscgen-B4BRgnCi.js} +0 -0
  431. /package/dist/assets/{mumps-CSXER37P.js → mumps-BFiMcyFV.js} +0 -0
  432. /package/dist/assets/{nginx-CNcs7tVC.js → nginx-CNtYBWy9.js} +0 -0
  433. /package/dist/assets/{node-sql-parser-fWuidk6P.js → node-sql-parser-TdBo37ty.js} +0 -0
  434. /package/dist/assets/{ntriples-BH96LyUh.js → ntriples-QQAkJYAR.js} +0 -0
  435. /package/dist/assets/{octave-MtIOg8Xr.js → octave-DsTphmGZ.js} +0 -0
  436. /package/dist/assets/{oz-CQSW4u2r.js → oz-CD9rr5Iz.js} +0 -0
  437. /package/dist/assets/{pascal-kJIfJeBL.js → pascal-DdHEIlJE.js} +0 -0
  438. /package/dist/assets/{path-DtYs9Dst.js → path-DvTahePH.js} +0 -0
  439. /package/dist/assets/{perl-DDhi21z2.js → perl-DHPJBQ1u.js} +0 -0
  440. /package/dist/assets/{pig-BdUzMo_O.js → pig-Yz7ERgca.js} +0 -0
  441. /package/dist/assets/{powershell-D_qEipPM.js → powershell-CHPZ_bsU.js} +0 -0
  442. /package/dist/assets/{properties-CS6vA6nt.js → properties-CI9nc7K4.js} +0 -0
  443. /package/dist/assets/{protobuf-COtqlKri.js → protobuf-BYSIv2pY.js} +0 -0
  444. /package/dist/assets/{puppet-Ctozq3R1.js → puppet-CEpLafZX.js} +0 -0
  445. /package/dist/assets/{python-D9pCSume.js → python-BndVuwG1.js} +0 -0
  446. /package/dist/assets/{q-CKhLXEtL.js → q-L_cetpiW.js} +0 -0
  447. /package/dist/assets/{r-BvAfMHMS.js → r-Dd37AKWk.js} +0 -0
  448. /package/dist/assets/{request-registry-CbsOZIpY.js → request-registry-CZFU9UKb.js} +0 -0
  449. /package/dist/assets/{rpm-CUTjLkz_.js → rpm-CHrvhtlN.js} +0 -0
  450. /package/dist/assets/{ruby-jDDZwg5-.js → ruby-BPOowfX6.js} +0 -0
  451. /package/dist/assets/{runs-BMpRKQKC.js → runs-DkRl4kcc.js} +0 -0
  452. /package/dist/assets/{sas-mA9119dU.js → sas-BsEFSvEP.js} +0 -0
  453. /package/dist/assets/{scheme-Bw6sYvQh.js → scheme-B42INBu7.js} +0 -0
  454. /package/dist/assets/{shell-BSG_6EVv.js → shell-BPea12OI.js} +0 -0
  455. /package/dist/assets/{sieve-BvqlFANQ.js → sieve-C-yPcLw5.js} +0 -0
  456. /package/dist/assets/{simple-mode-C0eLpHUg.js → simple-mode-CFlvn0Mm.js} +0 -0
  457. /package/dist/assets/{slides-component-Bjat3BTE.js → slides-component-C9jK_EsY.js} +0 -0
  458. /package/dist/assets/{smalltalk-CarfjYvX.js → smalltalk-e7OO1ATb.js} +0 -0
  459. /package/dist/assets/{solr-B928KjNx.js → solr-DndbfGC6.js} +0 -0
  460. /package/dist/assets/{sparql-DpdbGHkw.js → sparql-B4I2Ledx.js} +0 -0
  461. /package/dist/assets/{spreadsheet-CAG48M_e.js → spreadsheet-DHoeoJHd.js} +0 -0
  462. /package/dist/assets/{sql-nk70rjN1.js → sql-DzyjqiRG.js} +0 -0
  463. /package/dist/assets/{src-BRLtyMKi.js → src-D57-7XBB.js} +0 -0
  464. /package/dist/assets/{stylus-DwqF5JX3.js → stylus-CBRbZwhN.js} +0 -0
  465. /package/dist/assets/{swift-XQW_3Dnq.js → swift-B2hnU7ha.js} +0 -0
  466. /package/dist/assets/{tcl-DSytfKxX.js → tcl-BtyamtaZ.js} +0 -0
  467. /package/dist/assets/{terminal-BJynXdg_.js → terminal-DGowUZf5.js} +0 -0
  468. /package/dist/assets/{textile-C0sJ895O.js → textile-M9mhyNE9.js} +0 -0
  469. /package/dist/assets/{tiddlywiki-BiHxc-2_.js → tiddlywiki-Laz7iVQn.js} +0 -0
  470. /package/dist/assets/{tiki-Cwip62d7.js → tiki-Dd2_LAYu.js} +0 -0
  471. /package/dist/assets/{toml-Bduwr9FD.js → toml-YxyxhyRy.js} +0 -0
  472. /package/dist/assets/{treemap-qinQgXo1.js → treemap-DeGcO9km.js} +0 -0
  473. /package/dist/assets/{troff-DhuvYLXE.js → troff-C7xpi05X.js} +0 -0
  474. /package/dist/assets/{ttcn-C2K9hXYD.js → ttcn-D3YytrJU.js} +0 -0
  475. /package/dist/assets/{ttcn-cfg-DWjJYHn-.js → ttcn-cfg-DlZ5vA9E.js} +0 -0
  476. /package/dist/assets/{turtle-q-WiynB8.js → turtle-BSHvAsUe.js} +0 -0
  477. /package/dist/assets/{types-Myu7G9iV.js → types-D4wsSrXa.js} +0 -0
  478. /package/dist/assets/{Inputs-CuKU-ENz.css → useInterval-CuKU-ENz.css} +0 -0
  479. /package/dist/assets/{vb-BzUPMIAg.js → vb-DdkIDLlO.js} +0 -0
  480. /package/dist/assets/{vbscript-CUBxk5hi.js → vbscript-DhYGmk_p.js} +0 -0
  481. /package/dist/assets/{velocity-CFrdKnJ-.js → velocity-DAXJNEw4.js} +0 -0
  482. /package/dist/assets/{verilog-uIU1FX2_.js → verilog-jmuT_L3b.js} +0 -0
  483. /package/dist/assets/{vhdl-Ca2_GOin.js → vhdl-DcVQ97RU.js} +0 -0
  484. /package/dist/assets/{web-vitals-CJ8ovao_.js → web-vitals-CBsQ2DM_.js} +0 -0
  485. /package/dist/assets/{webidl-Fd2zBPO0.js → webidl-B-YB_4OQ.js} +0 -0
  486. /package/dist/assets/{write-secret-modal-lM40RNrZ.js → write-secret-modal-BBozIFM7.js} +0 -0
  487. /package/dist/assets/{xquery-S8ffVcwS.js → xquery-DOmY3Oe8.js} +0 -0
  488. /package/dist/assets/{yacas-BFgZPXn6.js → yacas-pL3kJRXV.js} +0 -0
  489. /package/dist/assets/{z80-P5o2E6_C.js → z80-VwVuI_MT.js} +0 -0
@@ -1,4 +1,4 @@
1
- var j,Q,K,Z,q,J,tt,it,et,st;import"./purify.es-DFAhPV1y.js";import{t as zt}from"./linear-DG7yljSg.js";import{n as ui}from"./ordinal-CIVqSC4M.js";import{t as xi}from"./range-Dk7lXDev.js";import"./defaultLocale-DPBdGRrH.js";import"./src-lcGySDV2.js";import{t as Ot}from"./line-BKm-YkCh.js";import{i as Wt}from"./chunk-S3R3BYOJ-BHcv1C2j.js";import{n as di}from"./init-BpLL1fe9.js";import{n,r as Ft}from"./src-BRLtyMKi.js";import{B as pi,C as Xt,I as fi,T as mi,U as yi,_ as bi,a as Ai,c as Ci,d as wi,v as Si,y as mt,z as ki}from"./chunk-ABZYJK2D-BoImiTgT.js";import{t as _i}from"./chunk-EXTU4WIE-BbRAciH8.js";import"./dist-BjCIGEdQ.js";import{t as Ti}from"./chunk-JA3XYJ7Z-BnMJV1nD.js";function yt(){var e=ui().unknown(void 0),t=e.domain,i=e.range,s=0,a=1,l,g,f=!1,p=0,_=0,L=.5;delete e.unknown;function w(){var b=t().length,v=a<s,D=v?a:s,P=v?s:a;l=(P-D)/Math.max(1,b-p+_*2),f&&(l=Math.floor(l)),D+=(P-D-l*(b-p))*L,g=l*(1-p),f&&(D=Math.round(D),g=Math.round(g));var E=xi(b).map(function(m){return D+l*m});return i(v?E.reverse():E)}return e.domain=function(b){return arguments.length?(t(b),w()):t()},e.range=function(b){return arguments.length?([s,a]=b,s=+s,a=+a,w()):[s,a]},e.rangeRound=function(b){return[s,a]=b,s=+s,a=+a,f=!0,w()},e.bandwidth=function(){return g},e.step=function(){return l},e.round=function(b){return arguments.length?(f=!!b,w()):f},e.padding=function(b){return arguments.length?(p=Math.min(1,_=+b),w()):p},e.paddingInner=function(b){return arguments.length?(p=Math.min(1,b),w()):p},e.paddingOuter=function(b){return arguments.length?(_=+b,w()):_},e.align=function(b){return arguments.length?(L=Math.max(0,Math.min(1,b)),w()):L},e.copy=function(){return yt(t(),[s,a]).round(f).paddingInner(p).paddingOuter(_).align(L)},di.apply(w(),arguments)}var bt=(function(){var e=n(function(h,A,x,u){for(x||(x={}),u=h.length;u--;x[h[u]]=A);return x},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],a=[1,5],l=[1,6],g=[1,7],f=[1,5,10,12,14,16,18,19,21,23,34,35,36],p=[1,25],_=[1,26],L=[1,28],w=[1,29],b=[1,30],v=[1,31],D=[1,32],P=[1,33],E=[1,34],m=[1,35],T=[1,36],r=[1,37],z=[1,43],O=[1,42],V=[1,47],S=[1,50],c=[1,10,12,14,16,18,19,21,23,34,35,36],M=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],y=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],Y=[1,64],U={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:n(function(h,A,x,u,k,o,at){var d=o.length-1;switch(k){case 5:u.setOrientation(o[d]);break;case 9:u.setDiagramTitle(o[d].text.trim());break;case 12:u.setLineData({text:"",type:"text"},o[d]);break;case 13:u.setLineData(o[d-1],o[d]);break;case 14:u.setBarData({text:"",type:"text"},o[d]);break;case 15:u.setBarData(o[d-1],o[d]);break;case 16:this.$=o[d].trim(),u.setAccTitle(this.$);break;case 17:case 18:this.$=o[d].trim(),u.setAccDescription(this.$);break;case 19:this.$=o[d-1];break;case 20:this.$=[Number(o[d-2]),...o[d]];break;case 21:this.$=[Number(o[d])];break;case 22:u.setXAxisTitle(o[d]);break;case 23:u.setXAxisTitle(o[d-1]);break;case 24:u.setXAxisTitle({type:"text",text:""});break;case 25:u.setXAxisBand(o[d]);break;case 26:u.setXAxisRangeData(Number(o[d-2]),Number(o[d]));break;case 27:this.$=o[d-1];break;case 28:this.$=[o[d-2],...o[d]];break;case 29:this.$=[o[d]];break;case 30:u.setYAxisTitle(o[d]);break;case 31:u.setYAxisTitle(o[d-1]);break;case 32:u.setYAxisTitle({type:"text",text:""});break;case 33:u.setYAxisRangeData(Number(o[d-2]),Number(o[d]));break;case 37:this.$={text:o[d],type:"text"};break;case 38:this.$={text:o[d],type:"text"};break;case 39:this.$={text:o[d],type:"markdown"};break;case 40:this.$=o[d];break;case 41:this.$=o[d-1]+""+o[d];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:a,35:l,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:a,35:l,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:a,35:l,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(f,[2,34]),e(f,[2,35]),e(f,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:a,35:l,36:g}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,34:a,35:l,36:g}),{11:23,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:39,13:38,24:z,27:O,29:40,30:41,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:45,15:44,27:V,33:46,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:49,17:48,24:S,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:52,17:51,24:S,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{20:[1,53]},{22:[1,54]},e(c,[2,18]),{1:[2,2]},e(c,[2,8]),e(c,[2,9]),e(M,[2,37],{40:55,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r}),e(M,[2,38]),e(M,[2,39]),e(y,[2,40]),e(y,[2,42]),e(y,[2,43]),e(y,[2,44]),e(y,[2,45]),e(y,[2,46]),e(y,[2,47]),e(y,[2,48]),e(y,[2,49]),e(y,[2,50]),e(y,[2,51]),e(c,[2,10]),e(c,[2,22],{30:41,29:56,24:z,27:O}),e(c,[2,24]),e(c,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},e(c,[2,11]),e(c,[2,30],{33:60,27:V}),e(c,[2,32]),{31:[1,61]},e(c,[2,12]),{17:62,24:S},{25:63,27:Y},e(c,[2,14]),{17:65,24:S},e(c,[2,16]),e(c,[2,17]),e(y,[2,41]),e(c,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(c,[2,31]),{27:[1,69]},e(c,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(c,[2,15]),e(c,[2,26]),e(c,[2,27]),{11:59,32:72,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},e(c,[2,33]),e(c,[2,19]),{25:73,27:Y},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:n(function(h,A){if(A.recoverable)this.trace(h);else{var x=Error(h);throw x.hash=A,x}},"parseError"),parse:n(function(h){var A=this,x=[0],u=[],k=[null],o=[],at=this.table,d="",rt=0,vt=0,Et=0,ri=2,Mt=1,li=o.slice.call(arguments,1),R=Object.create(this.lexer),X={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(X.yy[xt]=this.yy[xt]);R.setInput(h,X.yy),X.yy.lexer=R,X.yy.parser=this,R.yylloc===void 0&&(R.yylloc={});var dt=R.yylloc;o.push(dt);var ci=R.options&&R.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(B){x.length-=2*B,k.length-=B,o.length-=B}n(gi,"popStack");function It(){var B=u.pop()||R.lex()||Mt;return typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=A.symbols_[B]||B),B}n(It,"lex");for(var I,pt,N,$,ft,H={},lt,W,$t,ct;;){if(N=x[x.length-1],this.defaultActions[N]?$=this.defaultActions[N]:(I??(I=It()),$=at[N]&&at[N][I]),$===void 0||!$.length||!$[0]){var Bt="";for(lt in ct=[],at[N])this.terminals_[lt]&&lt>ri&&ct.push("'"+this.terminals_[lt]+"'");Bt=R.showPosition?"Parse error on line "+(rt+1)+`:
1
+ var j,Q,K,Z,q,J,tt,it,et,st;import"./purify.es-DFAhPV1y.js";import{t as zt}from"./linear-14muAAYR.js";import{n as ui}from"./ordinal-bISkqI45.js";import{t as xi}from"./range-Dk7lXDev.js";import"./defaultLocale-DPBdGRrH.js";import"./src-lcGySDV2.js";import{t as Ot}from"./line-x4bpd_8D.js";import{i as Wt}from"./chunk-S3R3BYOJ-Be_w8zeK.js";import{n as di}from"./init-DsZRk2YA.js";import{n,r as Ft}from"./src-D57-7XBB.js";import{B as pi,C as Xt,I as fi,T as mi,U as yi,_ as bi,a as Ai,c as Ci,d as wi,v as Si,y as mt,z as ki}from"./chunk-ABZYJK2D-rCmXyFGD.js";import{t as _i}from"./chunk-EXTU4WIE-o13o_Qxz.js";import"./dist-DQ3_8QJg.js";import{t as Ti}from"./chunk-JA3XYJ7Z-CF2I5JvU.js";function yt(){var e=ui().unknown(void 0),t=e.domain,i=e.range,s=0,a=1,l,g,f=!1,p=0,_=0,L=.5;delete e.unknown;function w(){var b=t().length,v=a<s,D=v?a:s,P=v?s:a;l=(P-D)/Math.max(1,b-p+_*2),f&&(l=Math.floor(l)),D+=(P-D-l*(b-p))*L,g=l*(1-p),f&&(D=Math.round(D),g=Math.round(g));var E=xi(b).map(function(m){return D+l*m});return i(v?E.reverse():E)}return e.domain=function(b){return arguments.length?(t(b),w()):t()},e.range=function(b){return arguments.length?([s,a]=b,s=+s,a=+a,w()):[s,a]},e.rangeRound=function(b){return[s,a]=b,s=+s,a=+a,f=!0,w()},e.bandwidth=function(){return g},e.step=function(){return l},e.round=function(b){return arguments.length?(f=!!b,w()):f},e.padding=function(b){return arguments.length?(p=Math.min(1,_=+b),w()):p},e.paddingInner=function(b){return arguments.length?(p=Math.min(1,b),w()):p},e.paddingOuter=function(b){return arguments.length?(_=+b,w()):_},e.align=function(b){return arguments.length?(L=Math.max(0,Math.min(1,b)),w()):L},e.copy=function(){return yt(t(),[s,a]).round(f).paddingInner(p).paddingOuter(_).align(L)},di.apply(w(),arguments)}var bt=(function(){var e=n(function(h,A,x,u){for(x||(x={}),u=h.length;u--;x[h[u]]=A);return x},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],a=[1,5],l=[1,6],g=[1,7],f=[1,5,10,12,14,16,18,19,21,23,34,35,36],p=[1,25],_=[1,26],L=[1,28],w=[1,29],b=[1,30],v=[1,31],D=[1,32],P=[1,33],E=[1,34],m=[1,35],T=[1,36],r=[1,37],z=[1,43],O=[1,42],V=[1,47],S=[1,50],c=[1,10,12,14,16,18,19,21,23,34,35,36],M=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],y=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],Y=[1,64],U={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:n(function(h,A,x,u,k,o,at){var d=o.length-1;switch(k){case 5:u.setOrientation(o[d]);break;case 9:u.setDiagramTitle(o[d].text.trim());break;case 12:u.setLineData({text:"",type:"text"},o[d]);break;case 13:u.setLineData(o[d-1],o[d]);break;case 14:u.setBarData({text:"",type:"text"},o[d]);break;case 15:u.setBarData(o[d-1],o[d]);break;case 16:this.$=o[d].trim(),u.setAccTitle(this.$);break;case 17:case 18:this.$=o[d].trim(),u.setAccDescription(this.$);break;case 19:this.$=o[d-1];break;case 20:this.$=[Number(o[d-2]),...o[d]];break;case 21:this.$=[Number(o[d])];break;case 22:u.setXAxisTitle(o[d]);break;case 23:u.setXAxisTitle(o[d-1]);break;case 24:u.setXAxisTitle({type:"text",text:""});break;case 25:u.setXAxisBand(o[d]);break;case 26:u.setXAxisRangeData(Number(o[d-2]),Number(o[d]));break;case 27:this.$=o[d-1];break;case 28:this.$=[o[d-2],...o[d]];break;case 29:this.$=[o[d]];break;case 30:u.setYAxisTitle(o[d]);break;case 31:u.setYAxisTitle(o[d-1]);break;case 32:u.setYAxisTitle({type:"text",text:""});break;case 33:u.setYAxisRangeData(Number(o[d-2]),Number(o[d]));break;case 37:this.$={text:o[d],type:"text"};break;case 38:this.$={text:o[d],type:"text"};break;case 39:this.$={text:o[d],type:"markdown"};break;case 40:this.$=o[d];break;case 41:this.$=o[d-1]+""+o[d];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:a,35:l,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:a,35:l,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:a,35:l,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(f,[2,34]),e(f,[2,35]),e(f,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:a,35:l,36:g}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,34:a,35:l,36:g}),{11:23,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:39,13:38,24:z,27:O,29:40,30:41,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:45,15:44,27:V,33:46,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:49,17:48,24:S,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{11:52,17:51,24:S,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},{20:[1,53]},{22:[1,54]},e(c,[2,18]),{1:[2,2]},e(c,[2,8]),e(c,[2,9]),e(M,[2,37],{40:55,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r}),e(M,[2,38]),e(M,[2,39]),e(y,[2,40]),e(y,[2,42]),e(y,[2,43]),e(y,[2,44]),e(y,[2,45]),e(y,[2,46]),e(y,[2,47]),e(y,[2,48]),e(y,[2,49]),e(y,[2,50]),e(y,[2,51]),e(c,[2,10]),e(c,[2,22],{30:41,29:56,24:z,27:O}),e(c,[2,24]),e(c,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},e(c,[2,11]),e(c,[2,30],{33:60,27:V}),e(c,[2,32]),{31:[1,61]},e(c,[2,12]),{17:62,24:S},{25:63,27:Y},e(c,[2,14]),{17:65,24:S},e(c,[2,16]),e(c,[2,17]),e(y,[2,41]),e(c,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(c,[2,31]),{27:[1,69]},e(c,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(c,[2,15]),e(c,[2,26]),e(c,[2,27]),{11:59,32:72,37:24,38:p,39:_,40:27,41:L,42:w,43:b,44:v,45:D,46:P,47:E,48:m,49:T,50:r},e(c,[2,33]),e(c,[2,19]),{25:73,27:Y},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:n(function(h,A){if(A.recoverable)this.trace(h);else{var x=Error(h);throw x.hash=A,x}},"parseError"),parse:n(function(h){var A=this,x=[0],u=[],k=[null],o=[],at=this.table,d="",rt=0,vt=0,Et=0,ri=2,Mt=1,li=o.slice.call(arguments,1),R=Object.create(this.lexer),X={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(X.yy[xt]=this.yy[xt]);R.setInput(h,X.yy),X.yy.lexer=R,X.yy.parser=this,R.yylloc===void 0&&(R.yylloc={});var dt=R.yylloc;o.push(dt);var ci=R.options&&R.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(B){x.length-=2*B,k.length-=B,o.length-=B}n(gi,"popStack");function It(){var B=u.pop()||R.lex()||Mt;return typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=A.symbols_[B]||B),B}n(It,"lex");for(var I,pt,N,$,ft,H={},lt,W,$t,ct;;){if(N=x[x.length-1],this.defaultActions[N]?$=this.defaultActions[N]:(I??(I=It()),$=at[N]&&at[N][I]),$===void 0||!$.length||!$[0]){var Bt="";for(lt in ct=[],at[N])this.terminals_[lt]&&lt>ri&&ct.push("'"+this.terminals_[lt]+"'");Bt=R.showPosition?"Parse error on line "+(rt+1)+`:
2
2
  `+R.showPosition()+`
3
3
  Expecting `+ct.join(", ")+", got '"+(this.terminals_[I]||I)+"'":"Parse error on line "+(rt+1)+": Unexpected "+(I==Mt?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Bt,{text:R.match,token:this.terminals_[I]||I,line:R.yylineno,loc:dt,expected:ct})}if($[0]instanceof Array&&$.length>1)throw Error("Parse Error: multiple actions possible at state: "+N+", token: "+I);switch($[0]){case 1:x.push(I),k.push(R.yytext),o.push(R.yylloc),x.push($[1]),I=null,pt?(I=pt,pt=null):(vt=R.yyleng,d=R.yytext,rt=R.yylineno,dt=R.yylloc,Et>0&&Et--);break;case 2:if(W=this.productions_[$[1]][1],H.$=k[k.length-W],H._$={first_line:o[o.length-(W||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(W||1)].first_column,last_column:o[o.length-1].last_column},ci&&(H._$.range=[o[o.length-(W||1)].range[0],o[o.length-1].range[1]]),ft=this.performAction.apply(H,[d,vt,rt,X.yy,$[1],k,o].concat(li)),ft!==void 0)return ft;W&&(x=x.slice(0,-1*W*2),k=k.slice(0,-1*W),o=o.slice(0,-1*W)),x.push(this.productions_[$[1]][0]),k.push(H.$),o.push(H._$),$t=at[x[x.length-2]][x[x.length-1]],x.push($t);break;case 3:return!0}}return!0},"parse")};U.lexer=(function(){return{EOF:1,parseError:n(function(h,A){if(this.yy.parser)this.yy.parser.parseError(h,A);else throw Error(h)},"parseError"),setInput:n(function(h,A){return this.yy=A||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var h=this._input[0];return this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h,h.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:n(function(h){var A=h.length,x=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===u.length?this.yylloc.first_column:0)+u[u.length-x.length].length-x[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(h){this.unput(this.match.slice(h))},"less"),pastInput:n(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var h=this.pastInput(),A=Array(h.length+1).join("-");return h+this.upcomingInput()+`
@@ -0,0 +1 @@
1
+ import{t as a}from"./yacas-pL3kJRXV.js";export{a as yacas};
@@ -0,0 +1 @@
1
+ import{n as a,t as e}from"./z80-VwVuI_MT.js";export{e as ez80,a as z80};
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-BoyzQq0I.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-DjgAZHA2.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-y72bE5iF.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/clsx-A78R3nYl.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/cn-d_A4rA-x.js">
@@ -135,7 +135,7 @@
135
135
  <link rel="modulepreload" crossorigin href="./assets/toInteger-Cl1doThW.js">
136
136
  <link rel="modulepreload" crossorigin href="./assets/database-zap-B3efE3T2.js">
137
137
  <link rel="modulepreload" crossorigin href="./assets/main-Cmx6WhDY.js">
138
- <link rel="modulepreload" crossorigin href="./assets/cells-FF1g1Mh-.js">
138
+ <link rel="modulepreload" crossorigin href="./assets/cells-DVXjWBHI.js">
139
139
  <link rel="modulepreload" crossorigin href="./assets/spinner-Cg6xI4rq.js">
140
140
  <link rel="modulepreload" crossorigin href="./assets/chevron-right-_z3dkNFy.js">
141
141
  <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-CYyWUG65.js">
@@ -149,7 +149,7 @@
149
149
  <link rel="modulepreload" crossorigin href="./assets/dist-CYxfO26e.js">
150
150
  <link rel="modulepreload" crossorigin href="./assets/label-CGS9p44y.js">
151
151
  <link rel="modulepreload" crossorigin href="./assets/useDebounce-PhGkOHyw.js">
152
- <link rel="modulepreload" crossorigin href="./assets/textarea-Bh-JbFt9.js">
152
+ <link rel="modulepreload" crossorigin href="./assets/textarea-BUCOcONS.js">
153
153
  <link rel="modulepreload" crossorigin href="./assets/numbers-DD2lH3f-.js">
154
154
  <link rel="modulepreload" crossorigin href="./assets/SSRProvider-BkypbMcb.js">
155
155
  <link rel="modulepreload" crossorigin href="./assets/context-DAH8i0ik.js">
@@ -158,7 +158,7 @@
158
158
  <link rel="modulepreload" crossorigin href="./assets/input-CRB-lq4Q.js">
159
159
  <link rel="modulepreload" crossorigin href="./assets/links-DhyyPCG4.js">
160
160
  <link rel="modulepreload" crossorigin href="./assets/popover-2GpKY98n.js">
161
- <link rel="modulepreload" crossorigin href="./assets/switch-CvXNrFdd.js">
161
+ <link rel="modulepreload" crossorigin href="./assets/switch-BQaT8a2B.js">
162
162
  <link rel="modulepreload" crossorigin href="./assets/table-BhRziAuf.js">
163
163
  <link rel="modulepreload" crossorigin href="./assets/useAsyncData-D89z7Kpl.js">
164
164
  <link rel="modulepreload" crossorigin href="./assets/errors-iwK4b4VF.js">
@@ -172,7 +172,7 @@
172
172
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-6vegZcuZ.js">
173
173
  <link rel="modulepreload" crossorigin href="./assets/trash-2-B00-wGoJ.js">
174
174
  <link rel="modulepreload" crossorigin href="./assets/azure-B1scLE4v.js">
175
- <link rel="modulepreload" crossorigin href="./assets/ai-model-dropdown-C9Rf0otx.js">
175
+ <link rel="modulepreload" crossorigin href="./assets/ai-model-dropdown-D0ZKojfQ.js">
176
176
  <link rel="modulepreload" crossorigin href="./assets/defaultLocale-DPBdGRrH.js">
177
177
  <link rel="modulepreload" crossorigin href="./assets/precisionRound-NX56vp6K.js">
178
178
  <link rel="modulepreload" crossorigin href="./assets/defaultLocale-Lfi0pexn.js">
@@ -181,20 +181,20 @@
181
181
  <link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-dVj6GVNE.js">
182
182
  <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-z6g4hGCr.js">
183
183
  <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-Upm6NvJ2.js">
184
- <link rel="modulepreload" crossorigin href="./assets/cell-link-CAT3x2v4.js">
185
- <link rel="modulepreload" crossorigin href="./assets/datasource-C5iY_kH6.js">
186
- <link rel="modulepreload" crossorigin href="./assets/state-C1dI2xM8.js">
187
- <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-Bc9QVsMT.js">
184
+ <link rel="modulepreload" crossorigin href="./assets/cell-link-zwx6SduJ.js">
185
+ <link rel="modulepreload" crossorigin href="./assets/datasource-BN9tktls.js">
186
+ <link rel="modulepreload" crossorigin href="./assets/state-ejdaxMKR.js">
187
+ <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-BZVbz6Ov.js">
188
188
  <link rel="modulepreload" crossorigin href="./assets/copy-icon-Cg5270DP.js">
189
- <link rel="modulepreload" crossorigin href="./assets/html-to-image-CrvxeCGx.js">
190
- <link rel="modulepreload" crossorigin href="./assets/focus-E9cdlDyd.js">
191
- <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BJLRV5Wa.js">
192
- <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-DuVTi23h.js">
189
+ <link rel="modulepreload" crossorigin href="./assets/html-to-image-Din4blht.js">
190
+ <link rel="modulepreload" crossorigin href="./assets/focus-C2gi0jxY.js">
191
+ <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BuxbbXY6.js">
192
+ <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-C3tg8qpb.js">
193
193
  <link rel="modulepreload" crossorigin href="./assets/katex-0Z75JF53.js">
194
- <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-CiOnsDJo.js">
195
- <link rel="modulepreload" crossorigin href="./assets/command-W0aMBKpO.js">
196
- <link rel="modulepreload" crossorigin href="./assets/download-BdFtkLcU.js">
197
- <link rel="modulepreload" crossorigin href="./assets/RenderHTML-pHm9Hij5.js">
194
+ <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-BF7gphWI.js">
195
+ <link rel="modulepreload" crossorigin href="./assets/command-COYC8fga.js">
196
+ <link rel="modulepreload" crossorigin href="./assets/download-CNypwy8-.js">
197
+ <link rel="modulepreload" crossorigin href="./assets/RenderHTML-CzOWRFSs.js">
198
198
  <link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-DDClcvJ3.js">
199
199
  <link rel="modulepreload" crossorigin href="./assets/formats-Bd3u9VU8.js">
200
200
  <link rel="modulepreload" crossorigin href="./assets/en-US-6llqATF7.js">
@@ -206,39 +206,39 @@
206
206
  <link rel="modulepreload" crossorigin href="./assets/useDateFormatter-Dm6WIEWp.js">
207
207
  <link rel="modulepreload" crossorigin href="./assets/range-BGa3qZre.js">
208
208
  <link rel="modulepreload" crossorigin href="./assets/table-CeILsq6V.js">
209
- <link rel="modulepreload" crossorigin href="./assets/JsonOutput-BY6AF2rC.js">
210
- <link rel="modulepreload" crossorigin href="./assets/useDeleteCell-8V08AJDo.js">
209
+ <link rel="modulepreload" crossorigin href="./assets/JsonOutput-DgTX3wDl.js">
210
+ <link rel="modulepreload" crossorigin href="./assets/useDeleteCell-fYxNdCgY.js">
211
211
  <link rel="modulepreload" crossorigin href="./assets/icons-CHolxgW2.js">
212
- <link rel="modulepreload" crossorigin href="./assets/process-output-CG4dqRHK.js">
212
+ <link rel="modulepreload" crossorigin href="./assets/process-output-DIDEm33D.js">
213
213
  <link rel="modulepreload" crossorigin href="./assets/blob-C3EfaMOb.js">
214
214
  <link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-BkUn3I0-.js">
215
215
  <link rel="modulepreload" crossorigin href="./assets/esm-DYDEu0Nq.js">
216
216
  <link rel="modulepreload" crossorigin href="./assets/file-DVwc11C3.js">
217
217
  <link rel="modulepreload" crossorigin href="./assets/image-DJi6ovcV.js">
218
218
  <link rel="modulepreload" crossorigin href="./assets/play-Cb6tYyv-.js">
219
- <link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-BEj4NWn-.js">
219
+ <link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-YgztdOJ9.js">
220
220
  <link rel="modulepreload" crossorigin href="./assets/isEmpty-9KlyX4nB.js">
221
221
  <link rel="modulepreload" crossorigin href="./assets/bot-message-square-BzawfL5p.js">
222
- <link rel="modulepreload" crossorigin href="./assets/chat-display-Cb1PiLxN.js">
222
+ <link rel="modulepreload" crossorigin href="./assets/chat-display-C40mAvmZ.js">
223
223
  <link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-F2DZENgf.js">
224
224
  <link rel="modulepreload" crossorigin href="./assets/square-function-DVqP0HiQ.js">
225
225
  <link rel="modulepreload" crossorigin href="./assets/spec-HU4WDTN0.js">
226
- <link rel="modulepreload" crossorigin href="./assets/components-BLWMb_FO.js">
227
- <link rel="modulepreload" crossorigin href="./assets/column-preview-UqWtgk7m.js">
226
+ <link rel="modulepreload" crossorigin href="./assets/components-W1WrEQth.js">
227
+ <link rel="modulepreload" crossorigin href="./assets/column-preview-BVNt_bhU.js">
228
228
  <link rel="modulepreload" crossorigin href="./assets/toggle-B6rNJdxn.js">
229
- <link rel="modulepreload" crossorigin href="./assets/globals-Ce6X5cHF.js">
229
+ <link rel="modulepreload" crossorigin href="./assets/globals-BAAGjaoU.js">
230
230
  <link rel="modulepreload" crossorigin href="./assets/share-XjNIMk98.js">
231
231
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-BEHvSeoM.js">
232
232
  <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-RgA6v8U3.js">
233
- <link rel="modulepreload" crossorigin href="./assets/utilities.esm-BqS8da1L.js">
234
- <link rel="modulepreload" crossorigin href="./assets/floating-outline-R_VWqURd.js">
235
- <link rel="modulepreload" crossorigin href="./assets/useAddCell-CxVx0Nv2.js">
233
+ <link rel="modulepreload" crossorigin href="./assets/utilities.esm-BJLfUidT.js">
234
+ <link rel="modulepreload" crossorigin href="./assets/floating-outline-CuK2jvVB.js">
235
+ <link rel="modulepreload" crossorigin href="./assets/useAddCell-fRfulMRu.js">
236
236
  <link rel="modulepreload" crossorigin href="./assets/eye-off-DgTL09j7.js">
237
- <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-B5GInwZp.js">
237
+ <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-BNPO_MG8.js">
238
238
  <link rel="modulepreload" crossorigin href="./assets/file-video-camera-Fa5c_iPb.js">
239
- <link rel="modulepreload" crossorigin href="./assets/types-BSdeUIYH.js">
239
+ <link rel="modulepreload" crossorigin href="./assets/types-DmqhedDv.js">
240
240
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-fkpyyW4C.js">
241
- <link rel="modulepreload" crossorigin href="./assets/form-DbXf0B9X.js">
241
+ <link rel="modulepreload" crossorigin href="./assets/form-Il1IxPi6.js">
242
242
  <link rel="modulepreload" crossorigin href="./assets/field-DVVr5TG5.js">
243
243
  <link rel="modulepreload" crossorigin href="./assets/useBoolean-CM4hA6rT.js">
244
244
  <link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-D1hTncYV.js">
@@ -258,7 +258,7 @@
258
258
  <link rel="stylesheet" crossorigin href="./assets/cells-jmgGt1lS.css">
259
259
  <link rel="stylesheet" crossorigin href="./assets/markdown-renderer-DdDKmWlR.css">
260
260
  <link rel="stylesheet" crossorigin href="./assets/JsonOutput-B7vuddcd.css">
261
- <link rel="stylesheet" crossorigin href="./assets/index-CvffbdXo.css">
261
+ <link rel="stylesheet" crossorigin href="./assets/index-jvqQ7cxf.css">
262
262
  </head>
263
263
  <body>
264
264
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.20.3-dev76",
3
+ "version": "0.20.3-dev78",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -0,0 +1,42 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { describe, expect, it, vi } from "vitest";
4
+ import { runServerSidePDFDownload } from "../pdf-export";
5
+
6
+ describe("runServerSidePDFDownload", () => {
7
+ it("downloads document preset via backend PDF endpoint", async () => {
8
+ const downloadPDF = vi.fn().mockResolvedValue(undefined);
9
+
10
+ await runServerSidePDFDownload({
11
+ filename: "slides.py",
12
+ preset: "document",
13
+ downloadPDF,
14
+ });
15
+
16
+ expect(downloadPDF).toHaveBeenCalledWith({
17
+ filename: "slides.py",
18
+ webpdf: true,
19
+ preset: "document",
20
+ includeInputs: false,
21
+ rasterServer: "live",
22
+ });
23
+ });
24
+
25
+ it("downloads slides preset via backend PDF endpoint", async () => {
26
+ const downloadPDF = vi.fn().mockResolvedValue(undefined);
27
+
28
+ await runServerSidePDFDownload({
29
+ filename: "slides.py",
30
+ preset: "slides",
31
+ downloadPDF,
32
+ });
33
+
34
+ expect(downloadPDF).toHaveBeenCalledWith({
35
+ filename: "slides.py",
36
+ webpdf: true,
37
+ preset: "slides",
38
+ includeInputs: false,
39
+ rasterServer: "live",
40
+ });
41
+ });
42
+ });
@@ -0,0 +1,26 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ type Preset = "document" | "slides";
4
+ type DownloadPDF = (opts: {
5
+ filename: string;
6
+ webpdf: boolean;
7
+ preset: Preset;
8
+ includeInputs: boolean;
9
+ rasterServer: "live" | "static";
10
+ }) => Promise<void>;
11
+
12
+ export async function runServerSidePDFDownload(opts: {
13
+ filename: string;
14
+ preset: Preset;
15
+ downloadPDF: DownloadPDF;
16
+ }): Promise<void> {
17
+ const { filename, preset, downloadPDF } = opts;
18
+
19
+ await downloadPDF({
20
+ filename,
21
+ webpdf: true,
22
+ preset,
23
+ includeInputs: false,
24
+ rasterServer: "live",
25
+ });
26
+ }
@@ -56,10 +56,6 @@ import { disabledCellIds } from "@/core/cells/utils";
56
56
  import { useResolvedMarimoConfig } from "@/core/config/config";
57
57
  import { getFeatureFlag } from "@/core/config/feature-flag";
58
58
  import { Constants } from "@/core/constants";
59
- import {
60
- updateCellOutputsWithScreenshots,
61
- useEnrichCellOutputs,
62
- } from "@/core/export/hooks";
63
59
  import { useLayoutActions, useLayoutState } from "@/core/layout/layout";
64
60
  import { useTogglePresenting } from "@/core/layout/useTogglePresenting";
65
61
  import { kioskModeAtom, viewStateAtom } from "@/core/mode";
@@ -78,7 +74,6 @@ import {
78
74
  } from "@/utils/download";
79
75
  import { Filenames } from "@/utils/filenames";
80
76
  import { Objects } from "@/utils/objects";
81
- import type { ProgressState } from "@/utils/progress";
82
77
  import { newNotebookURL } from "@/utils/urls";
83
78
  import { useRunAllCells } from "../cell/useRunCells";
84
79
  import { useChromeActions, useChromeState } from "../chrome/state";
@@ -88,6 +83,7 @@ import { commandPaletteAtom } from "../controls/state";
88
83
  import { AddDatabaseDialogContent } from "../database/add-database-form";
89
84
  import { displayLayoutName, getLayoutIcon } from "../renderers/layout-select";
90
85
  import { LAYOUT_TYPES } from "../renderers/types";
86
+ import { runServerSidePDFDownload } from "./pdf-export";
91
87
  import type { ActionButton } from "./types";
92
88
  import { useCopyNotebook } from "./useCopyNotebook";
93
89
  import { useHideAllMarkdownCode } from "./useHideAllMarkdownCode";
@@ -122,16 +118,13 @@ export function useNotebookActions() {
122
118
  const setCommandPaletteOpen = useSetAtom(commandPaletteAtom);
123
119
  const setSettingsDialogOpen = useSetAtom(settingDialogAtom);
124
120
  const setKeyboardShortcutsOpen = useSetAtom(keyboardShortcutsAtom);
125
- const { exportAsMarkdown, readCode, saveCellConfig, updateCellOutputs } =
126
- useRequestClient();
121
+ const { exportAsMarkdown, readCode, saveCellConfig } = useRequestClient();
127
122
 
128
123
  const hasDisabledCells = useAtomValue(hasDisabledCellsAtom);
129
124
  const canUndoDeletes = useAtomValue(canUndoDeletesAtom);
130
125
  const { selectedLayout } = useLayoutState();
131
126
  const { setLayoutView } = useLayoutActions();
132
127
  const togglePresenting = useTogglePresenting();
133
- const takeScreenshots = useEnrichCellOutputs();
134
-
135
128
  // Fallback: if sharing is undefined, both are enabled by default
136
129
  const sharingHtmlEnabled = resolvedConfig.sharing?.html ?? true;
137
130
  const sharingWasmEnabled = resolvedConfig.sharing?.wasm ?? true;
@@ -141,6 +134,7 @@ export function useNotebookActions() {
141
134
  // Default export uses browser print, which is better in present mode
142
135
  const pdfDownloadEnabled =
143
136
  isServerSidePdfExportEnabled || viewState.mode === "present";
137
+ const isSlidesLayout = selectedLayout === "slides";
144
138
 
145
139
  const renderCheckboxElement = (checked: boolean) => (
146
140
  <div className="w-8 flex justify-end">
@@ -148,6 +142,39 @@ export function useNotebookActions() {
148
142
  </div>
149
143
  );
150
144
 
145
+ const renderRecommendedElement = (recommended: boolean) => {
146
+ if (!recommended) {
147
+ return null;
148
+ }
149
+ return (
150
+ <span className="ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700">
151
+ Recommended
152
+ </span>
153
+ );
154
+ };
155
+
156
+ const downloadServerSidePDF = async ({
157
+ preset,
158
+ title,
159
+ }: {
160
+ preset: "document" | "slides";
161
+ title: string;
162
+ }) => {
163
+ if (!filename) {
164
+ toastNotebookMustBeNamed();
165
+ return;
166
+ }
167
+
168
+ const runDownload = async () => {
169
+ await runServerSidePDFDownload({
170
+ filename,
171
+ preset,
172
+ downloadPDF: downloadAsPDF,
173
+ });
174
+ };
175
+ await withLoadingToast(title, runDownload);
176
+ };
177
+
151
178
  const actions: ActionButton[] = [
152
179
  {
153
180
  icon: <DownloadIcon size={14} strokeWidth={1.5} />,
@@ -226,45 +253,60 @@ export function useNotebookActions() {
226
253
  },
227
254
  },
228
255
  {
256
+ divider: true,
229
257
  icon: <FileIcon size={14} strokeWidth={1.5} />,
230
258
  label: "Download as PDF",
231
- disabled: !pdfDownloadEnabled,
232
- tooltip: pdfDownloadEnabled ? undefined : (
233
- <span>
234
- Only available in app view. <br />
235
- Toggle with: {renderShortcut("global.hideCode", false)}
236
- </span>
237
- ),
238
- handle: async () => {
239
- if (isServerSidePdfExportEnabled) {
240
- if (!filename) {
241
- toastNotebookMustBeNamed();
242
- return;
243
- }
259
+ handle: NOOP_HANDLER,
260
+ disabled: !pdfDownloadEnabled && !isServerSidePdfExportEnabled,
261
+ dropdown: [
262
+ {
263
+ icon: <FileIcon size={14} strokeWidth={1.5} />,
264
+ label: "Document Layout",
265
+ rightElement: renderRecommendedElement(!isSlidesLayout),
266
+ disabled: !pdfDownloadEnabled,
267
+ tooltip: pdfDownloadEnabled ? undefined : (
268
+ <span>
269
+ Only available in app view. <br />
270
+ Toggle with: {renderShortcut("global.hideCode", false)}
271
+ </span>
272
+ ),
273
+ handle: async () => {
274
+ if (isServerSidePdfExportEnabled) {
275
+ await downloadServerSidePDF({
276
+ preset: "document",
277
+ title: "Downloading Document PDF...",
278
+ });
279
+ return;
280
+ }
244
281
 
245
- const downloadPDF = async (progress: ProgressState) => {
246
- await updateCellOutputsWithScreenshots({
247
- takeScreenshots: () => takeScreenshots({ progress }),
248
- updateCellOutputs,
249
- });
250
- await downloadAsPDF({
251
- filename: filename,
252
- webpdf: false,
282
+ const beforeprint = new Event("export-beforeprint");
283
+ const afterprint = new Event("export-afterprint");
284
+ function print() {
285
+ window.dispatchEvent(beforeprint);
286
+ setTimeout(() => window.print(), 0);
287
+ setTimeout(() => window.dispatchEvent(afterprint), 0);
288
+ }
289
+ print();
290
+ },
291
+ },
292
+ {
293
+ icon: <FileIcon size={14} strokeWidth={1.5} />,
294
+ label: "Slides Layout",
295
+ rightElement: renderRecommendedElement(isSlidesLayout),
296
+ disabled: !isServerSidePdfExportEnabled,
297
+ tooltip: isServerSidePdfExportEnabled ? undefined : (
298
+ <span>
299
+ Requires Better PDF Export in Settings &gt; Experimental.
300
+ </span>
301
+ ),
302
+ handle: async () => {
303
+ await downloadServerSidePDF({
304
+ preset: "slides",
305
+ title: "Downloading Slides PDF...",
253
306
  });
254
- };
255
- await withLoadingToast("Downloading PDF...", downloadPDF);
256
- return;
257
- }
258
-
259
- const beforeprint = new Event("export-beforeprint");
260
- const afterprint = new Event("export-afterprint");
261
- function print() {
262
- window.dispatchEvent(beforeprint);
263
- setTimeout(() => window.print(), 0);
264
- setTimeout(() => window.dispatchEvent(afterprint), 0);
265
- }
266
- print();
267
- },
307
+ },
308
+ },
309
+ ],
268
310
  },
269
311
  ],
270
312
  },
@@ -106,6 +106,37 @@ export const NotebookMenuDropdown: React.FC<Props> = ({
106
106
  return item;
107
107
  };
108
108
 
109
+ const renderAction = (action: ActionButton) => {
110
+ if (action.hidden || action.redundant) {
111
+ return null;
112
+ }
113
+
114
+ if (action.dropdown) {
115
+ return (
116
+ <DropdownMenuSub key={action.label}>
117
+ <DropdownMenuSubTrigger
118
+ data-testid={`notebook-menu-dropdown-${action.label}`}
119
+ disabled={action.disabled}
120
+ >
121
+ {renderLabel(action)}
122
+ </DropdownMenuSubTrigger>
123
+ <DropdownMenuPortal>
124
+ <DropdownMenuSubContent>
125
+ {action.dropdown.map((childAction) => (
126
+ <React.Fragment key={childAction.label}>
127
+ {childAction.divider && <DropdownMenuSeparator />}
128
+ {renderAction(childAction)}
129
+ </React.Fragment>
130
+ ))}
131
+ </DropdownMenuSubContent>
132
+ </DropdownMenuPortal>
133
+ </DropdownMenuSub>
134
+ );
135
+ }
136
+
137
+ return renderLeafAction(action);
138
+ };
139
+
109
140
  return (
110
141
  <DropdownMenu modal={false}>
111
142
  <DropdownMenuTrigger asChild={true} disabled={disabled}>
@@ -113,38 +144,10 @@ export const NotebookMenuDropdown: React.FC<Props> = ({
113
144
  </DropdownMenuTrigger>
114
145
  <DropdownMenuContent align="end" className="print:hidden w-[240px]">
115
146
  {actions.map((action) => {
116
- if (action.hidden || action.redundant) {
117
- return null;
118
- }
119
-
120
- if (action.dropdown) {
121
- return (
122
- <DropdownMenuSub key={action.label}>
123
- <DropdownMenuSubTrigger
124
- data-testid={`notebook-menu-dropdown-${action.label}`}
125
- >
126
- {renderLabel(action)}
127
- </DropdownMenuSubTrigger>
128
- <DropdownMenuPortal>
129
- <DropdownMenuSubContent>
130
- {action.dropdown.map((action) => {
131
- return (
132
- <React.Fragment key={action.label}>
133
- {action.divider && <DropdownMenuSeparator />}
134
- {renderLeafAction(action)}
135
- </React.Fragment>
136
- );
137
- })}
138
- </DropdownMenuSubContent>
139
- </DropdownMenuPortal>
140
- </DropdownMenuSub>
141
- );
142
- }
143
-
144
147
  return (
145
148
  <React.Fragment key={action.label}>
146
149
  {action.divider && <DropdownMenuSeparator />}
147
- {renderLeafAction(action)}
150
+ {renderAction(action)}
148
151
  </React.Fragment>
149
152
  );
150
153
  })}
@@ -92,5 +92,26 @@ describe("createNetworkRequests", () => {
92
92
 
93
93
  process.env.NODE_ENV = originalEnv;
94
94
  });
95
+
96
+ it("exportAsPDF should pass preset through to the API", async () => {
97
+ const requests = createNetworkRequests();
98
+ await requests.exportAsPDF({
99
+ webpdf: false,
100
+ preset: "slides",
101
+ includeInputs: false,
102
+ } as any);
103
+
104
+ expect(mockClient.POST).toHaveBeenCalledWith(
105
+ "/api/export/pdf",
106
+ expect.objectContaining({
107
+ body: expect.objectContaining({
108
+ webpdf: false,
109
+ preset: "slides",
110
+ includeInputs: false,
111
+ }),
112
+ parseAs: "blob",
113
+ }),
114
+ );
115
+ });
95
116
  });
96
117
  });
@@ -3,6 +3,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
3
  import type { CellId } from "@/core/cells/ids";
4
4
  import { CellOutputId } from "@/core/cells/ids";
5
5
  import {
6
+ downloadAsPDF,
6
7
  downloadByURL,
7
8
  downloadCellOutputAsImage,
8
9
  downloadHTMLAsImage,
@@ -10,11 +11,21 @@ import {
10
11
  withLoadingToast,
11
12
  } from "../download";
12
13
 
14
+ const { mockExportAsPDF } = vi.hoisted(() => ({
15
+ mockExportAsPDF: vi.fn(),
16
+ }));
17
+
13
18
  // Mock html-to-image
14
19
  vi.mock("html-to-image", () => ({
15
20
  toPng: vi.fn(),
16
21
  }));
17
22
 
23
+ vi.mock("@/core/network/requests", () => ({
24
+ getRequestClient: () => ({
25
+ exportAsPDF: mockExportAsPDF,
26
+ }),
27
+ }));
28
+
18
29
  // Mock the toast module
19
30
  const mockDismiss = vi.fn();
20
31
  const mockUpdate = vi.fn();
@@ -41,6 +52,7 @@ vi.mock("@/utils/Logger", () => ({
41
52
  vi.mock("@/utils/filenames", () => ({
42
53
  Filenames: {
43
54
  toPNG: (name: string) => `${name}.png`,
55
+ toPDF: (name: string) => `${name}.pdf`,
44
56
  },
45
57
  }));
46
58
 
@@ -174,6 +186,33 @@ describe("withLoadingToast", () => {
174
186
  });
175
187
  });
176
188
 
189
+ describe("downloadAsPDF", () => {
190
+ beforeEach(() => {
191
+ vi.clearAllMocks();
192
+ });
193
+
194
+ it("should send the preset in export request payload", async () => {
195
+ mockExportAsPDF.mockRejectedValue(new Error("network"));
196
+
197
+ await expect(
198
+ downloadAsPDF({
199
+ filename: "path/to/notebook.py",
200
+ webpdf: false,
201
+ preset: "slides",
202
+ }),
203
+ ).rejects.toThrow("network");
204
+
205
+ expect(mockExportAsPDF).toHaveBeenCalledWith({
206
+ webpdf: false,
207
+ preset: "slides",
208
+ includeInputs: false,
209
+ rasterizeOutputs: true,
210
+ rasterScale: 4,
211
+ rasterServer: "static",
212
+ });
213
+ });
214
+ });
215
+
177
216
  describe("getImageDataUrlForCell", () => {
178
217
  const mockDataUrl = "data:image/png;base64,mockbase64data";
179
218
  let mockElement: HTMLElement;